On this page

Type Alias ExpressionSpecification

ExpressionSpecification:
    | ["array", ExpressionSpecification]
    | ["array", "string" | "number" | "boolean", ExpressionSpecification]
    | [
        "array",
        "string"
        | "number"
        | "boolean",
        number,
        ExpressionSpecification,
    ]
    | [
        "boolean",
        unknown
        | ExpressionSpecification,
        ...(unknown | ExpressionSpecification)[],
    ]
    | CollatorExpressionSpecification
    | [
        "format",
        ...(
            | string
            | ["image", ExpressionSpecification]
            | ExpressionSpecification
            | {
                "font-scale"?: number | ExpressionSpecification;
                "text-color"?: ColorSpecification | ExpressionSpecification;
                "text-font"?: ExpressionSpecification;
                "vertical-align"?: "bottom" | "center" | "top";
            }
        )[],
    ]
    | ["image", string | ExpressionSpecification]
    | ["literal", unknown]
    | [
        "number",
        unknown
        | ExpressionSpecification,
        ...(unknown | ExpressionSpecification)[],
    ]
    | [
        "number-format",
        number
        | ExpressionSpecification,
        {
            currency?: string | ExpressionSpecification;
            locale?: string | ExpressionSpecification;
            "max-fraction-digits"?: number | ExpressionSpecification;
            "min-fraction-digits"?: number | ExpressionSpecification;
        },
    ]
    | [
        "number-format",
        number
        | ExpressionSpecification,
        {
            locale?: string | ExpressionSpecification;
            "max-fraction-digits"?: number | ExpressionSpecification;
            "min-fraction-digits"?: number | ExpressionSpecification;
            unit?: string | ExpressionSpecification;
        },
    ]
    | [
        "object",
        unknown
        | ExpressionSpecification,
        ...(unknown | ExpressionSpecification)[],
    ]
    | [
        "string",
        unknown
        | ExpressionSpecification,
        ...(unknown | ExpressionSpecification)[],
    ]
    | ["to-boolean", unknown | ExpressionSpecification]
    | [
        "to-color",
        unknown
        | ExpressionSpecification,
        ...(unknown | ExpressionSpecification)[],
    ]
    | [
        "to-number",
        unknown
        | ExpressionSpecification,
        ...(unknown | ExpressionSpecification)[],
    ]
    | ["to-string", unknown | ExpressionSpecification]
    | ["typeof", unknown | ExpressionSpecification]
    | ["accumulated"]
    | ["feature-state", string | ExpressionSpecification]
    | ["geometry-type"]
    | ["id"]
    | ["line-progress"]
    | ["properties"]
    | ["at", number | ExpressionSpecification, ExpressionSpecification]
    | ["get", string | ExpressionSpecification, ExpressionSpecification?]
    | ["global-state", string]
    | ["has", string | ExpressionSpecification, ExpressionSpecification?]
    | [
        "in",
        null
        | ExpressionInputType
        | ExpressionSpecification,
        string | ExpressionSpecification,
    ]
    | [
        "index-of",
        null
        | ExpressionInputType
        | ExpressionSpecification,
        string | ExpressionSpecification,
        (number | ExpressionSpecification)?,
    ]
    | ["length", string | ExpressionSpecification]
    | [
        "slice",
        string
        | ExpressionSpecification,
        number | ExpressionSpecification,
        (number | ExpressionSpecification)?,
    ]
    | ["!", boolean | ExpressionSpecification]
    | [
        "!=",
        null
        | ExpressionInputType
        | ExpressionSpecification,
        null | ExpressionInputType | ExpressionSpecification,
        (CollatorExpressionSpecification | VariableExpressionSpecification)?,
    ]
    | [
        "<",
        string
        | number
        | ExpressionSpecification,
        string | number | ExpressionSpecification,
        (CollatorExpressionSpecification | VariableExpressionSpecification)?,
    ]
    | [
        "<=",
        string
        | number
        | ExpressionSpecification,
        string | number | ExpressionSpecification,
        (CollatorExpressionSpecification | VariableExpressionSpecification)?,
    ]
    | [
        "==",
        null
        | ExpressionInputType
        | ExpressionSpecification,
        null | ExpressionInputType | ExpressionSpecification,
        (CollatorExpressionSpecification | VariableExpressionSpecification)?,
    ]
    | [
        ">",
        string
        | number
        | ExpressionSpecification,
        string | number | ExpressionSpecification,
        (CollatorExpressionSpecification | VariableExpressionSpecification)?,
    ]
    | [
        ">=",
        string
        | number
        | ExpressionSpecification,
        string | number | ExpressionSpecification,
        (CollatorExpressionSpecification | VariableExpressionSpecification)?,
    ]
    | ["all", ...(boolean | ExpressionSpecification)[]]
    | ["any", ...(boolean | ExpressionSpecification)[]]
    | [
        "case",
        boolean
        | ExpressionSpecification,
        null | ExpressionInputType | ExpressionSpecification,
        ...(boolean | null | ExpressionInputType | ExpressionSpecification)[],
        null | ExpressionInputType | ExpressionSpecification,
    ]
    | ["coalesce", ...(ExpressionInputType | ExpressionSpecification)[]]
    | [
        "match",
        string
        | number
        | ExpressionSpecification,
        string | number | string[] | number[],
        null | ExpressionInputType | ExpressionSpecification,
        ...(
            | string
            | number
            | string[]
            | number[]
            | null
            | ExpressionInputType
            | ExpressionSpecification
        )[],
        null
        | ExpressionInputType
        | ExpressionSpecification,
    ]
    | ["within", GeoJSON]
    | [
        "interpolate",
        InterpolationSpecification,
        number
        | ExpressionSpecification,
        ...(
            | number
            | ColorSpecification
            | ExpressionSpecification
            | ProjectionDefinitionSpecification
        )[],
    ]
    | [
        "interpolate-hcl",
        InterpolationSpecification,
        number
        | ExpressionSpecification,
        ...(number | ColorSpecification | ExpressionSpecification)[],
    ]
    | [
        "interpolate-lab",
        InterpolationSpecification,
        number
        | ExpressionSpecification,
        ...(number | ColorSpecification | ExpressionSpecification)[],
    ]
    | [
        "step",
        number
        | ExpressionSpecification,
        ExpressionInputType | ExpressionSpecification,
        ...(number | ExpressionInputType | ExpressionSpecification)[],
    ]
    | [
        "let",
        string,
        ExpressionInputType
        | ExpressionSpecification,
        ...(string | ExpressionInputType | ExpressionSpecification)[],
    ]
    | VariableExpressionSpecification
    | ["concat", ...(ExpressionInputType | ExpressionSpecification)[]]
    | ["downcase", string | ExpressionSpecification]
    | ["is-supported-script", string | ExpressionSpecification]
    | [
        "join",
        string[]
        | ExpressionSpecification,
        string | ExpressionSpecification,
    ]
    | ["resolved-locale", CollatorExpressionSpecification]
    | [
        "split",
        string
        | ExpressionSpecification,
        string | ExpressionSpecification,
    ]
    | ["upcase", string | ExpressionSpecification]
    | [
        "rgb",
        number
        | ExpressionSpecification,
        number | ExpressionSpecification,
        number | ExpressionSpecification,
    ]
    | [
        "rgba",
        number
        | ExpressionSpecification,
        number | ExpressionSpecification,
        number | ExpressionSpecification,
        number | ExpressionSpecification,
    ]
    | ["to-rgba", ColorSpecification | ExpressionSpecification]
    | [
        "-",
        number
        | ExpressionSpecification,
        (number | ExpressionSpecification)?,
    ]
    | [
        "*",
        number
        | ExpressionSpecification,
        number | ExpressionSpecification,
        ...(number | ExpressionSpecification)[],
    ]
    | ["/", number | ExpressionSpecification, number | ExpressionSpecification]
    | ["%", number | ExpressionSpecification, number | ExpressionSpecification]
    | ["^", number | ExpressionSpecification, number | ExpressionSpecification]
    | ["+", ...(number | ExpressionSpecification)[]]
    | ["abs", number | ExpressionSpecification]
    | ["acos", number | ExpressionSpecification]
    | ["asin", number | ExpressionSpecification]
    | ["atan", number | ExpressionSpecification]
    | ["ceil", number | ExpressionSpecification]
    | ["cos", number | ExpressionSpecification]
    | ["distance", GeoJSON]
    | ["e"]
    | ["floor", number | ExpressionSpecification]
    | ["ln", number | ExpressionSpecification]
    | ["ln2"]
    | ["log10", number | ExpressionSpecification]
    | ["log2", number | ExpressionSpecification]
    | [
        "max",
        number
        | ExpressionSpecification,
        ...(number | ExpressionSpecification)[],
    ]
    | [
        "min",
        number
        | ExpressionSpecification,
        ...(number | ExpressionSpecification)[],
    ]
    | ["pi"]
    | ["round", number | ExpressionSpecification]
    | ["sin", number | ExpressionSpecification]
    | ["sqrt", number | ExpressionSpecification]
    | ["tan", number | ExpressionSpecification]
    | ["zoom"]
    | ["heatmap-density"]
    | ["elevation"]
    | ["global-state", string]
Was this helpful?
SDK JS
Reference
ExpressionSpecification