Case

class Case<T>(val branches: List<MvtExpression.Case.Branch<T>>, val default: MvtExpression<T>) : MvtExpression<T>

["case", cond1, val1, cond2, val2, …, default] — first true condition wins. Both sides of each branch are evaluated lazily — non-matching value-side expressions never run.

Constructors

Link copied to clipboard
constructor(branches: List<MvtExpression.Case.Branch<T>>, default: MvtExpression<T>)

Types

Link copied to clipboard
class Branch<T>(val condition: MvtExpression<Boolean>, val value: MvtExpression<T>)

Properties

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open override fun evaluate(ctx: MvtExpression.EvalContext): T?
Link copied to clipboard

True when this expression (or any sub-expression) reads per-feature data — i.e. its result can differ between two features in the same tile at the same zoom. That means a reference to a feature property (Get / Has), the feature's dynamic state (FeatureState), its geometry type (GeometryType), or its line-progress parameter (LineProgress).