Mapbox Style Specification—Type system

4210 ワード

Type system
式の入力パラメータとその結果値は、boolean、string、number、colr、arraysのセットを使用します.さらに、式はtypeで安全です.各式には決定された結果typeと必要なパラメータtypesがあり、sdkは式の結果typeがコンテキストに適していることを証明しました.たとえば、filterプロパティの式の結果タイプはbooleanで、+演算子のパラメータは数値でなければなりません.
フィーチャデータを処理する場合、フィーチャセット属性値のタイプSDKは通常、事前に知ることができない.タイプのセキュリティを保証するために、式を計算すると、sdkは属性値がコンテキスト環境に適しているかどうかを確認します.たとえば、circle-colorプロパティで式[get]、[feature-color]を使用すると、sdkは各要素のfeature-color値が色を表す値であるかどうかを検証します.チェックに失敗した場合は、エラーが表示され、デフォルト値が使用されます.
ほとんどの場合、チェック検証は必要に応じて自動的に実行されます.しかし、いくつかの決定されたシーンでは、sdkはコンテキストに基づいて結果値のタイプを自動的に決定できない場合があります.例えば、式[]
式は1つの自動変換のみです.data式が色表現に使用されると、色を表す文字列が自動的に色の値に変換されます.残りのいずれかの場合、2つのタイプを変換するには、変換オペレータを使用して実現する必要があります.  to-booleanto-numberto-string , or  to-color。 : , , ["to-number", ["get", "property-name"]].
Expression reference
Types
この章の式は主にstring、numbers、booleanなどの2つの異なるデータ型をテストし、変換するために使用されます.
通常、これらのテストと変換は必要ありませんが、式の結果があいまいな場合には必要です.要素セットのデータ型が不確定な場合に重要です.たとえば、to-numberを使用して、「1.5」のようなデータが数値タイプとして使用されることを確認できます.
array
アサーション入力は数列(またはより具体的なサブタイプまたは長さ)であり、入力式が変化し、アサーションのタイプではない場合、このアサーションはこの式を失敗させます.
["array", value]: array
["array", type: "string" | "number" | "boolean", value]: array
["array",
    type: "string" | "number" | "boolean",
    N: number (literal),
    value
]: array

boolean
入力値はブールタイプであると断言し、複数の値が指定されている場合はブール値が取得されるまで各値を順次計算し、入力値にブールタイプがない場合はエラーを報告します.
["boolean", value]: boolean
["boolean", value, fallback: value, fallback: value, ...]: boolean

collator
format
混合使用txtテキストにコメントを含むフォーマットtxtテキストを返します.設定した場合、text-fontパラメータはlayout属性のルート値を使用してフォントを上書きし、font-scaleパラメータはtext-sizeに関連する範囲要素を指定します.
["format",
    input_1: string, options_1: { "font-scale": number, "text-font": array },
    ...,
    input_n: string, options_n: { "font-scale": number, "text-font": array }
]: formatted

literal
元のオブジェクトグループまたは配列を指定します.
["literal", [...] (JSON array literal)]: array
["literal", {...} (JSON object literal)]: Object

number
入力値は1つの数値であると断言し、複数の値が指定されている場合、それぞれが1つの数値を取得できるまで計算し、入力値に数値がない場合はエラーを報告します.
["number", value]: number
["number", value, fallback: value, fallback: value, ...]: number

object
入力値が1つのオブジェクトであると断言し、複数の入力が指定されている場合、各オブジェクトは1つのオブジェクトを取得するまで計算され、入力値にオブジェクトがない場合、式はエラーを報告します.
["object", value]: object
["object", value, fallback: value, fallback: value, ...]: object

string
同様に、断言は1つの文字列であり、複数の入力が指定されている場合、各文字列は1つの文字列を取得するまで計算され、入力値に文字列がない場合、式はエラーを報告します.
["string", value]: string
["string", value, fallback: value, fallback: value, ...]: string

to-boolean
入力値をブール値に変換し、空の文字列、0、false、null、またはNANと入力した場合、falseを返します.そうでなければtrueを返します.
["to-boolean", value]: boolean

to-color
入力値を色に変換します.複数の値を入力すると、各入力は1つの色に変換され、変換が色を取得できない場合は、式が間違っています.
["to-color", value, fallback: value, fallback: value, ...]: color

to-number
入力値を数値に変換し、できればnullまたはfalseの値を入力すると0になります.trueの場合は1になります.文字列が数値を表す場合は対応する数値に変換します.複数の値が指定されている場合はnumber値が取得されるまで各値を変換し、入力がなければnumberに変換できます.表達式エラー.
["to-number", value, fallback: value, fallback: value, ...]: number

to-string
入力値を文字列に変換し、nullと入力した場合は「」となります.ブール値と入力した場合は「true」または「false」となります.数値と入力した場合は対応する数値文字列に変換します.1色の場合はrgbaの文字列に変換します.それ以外はJson形式の場合はjson文字列となります.
["to-string", value]: string

typeof
指定したパラメータのタイプを返します.
["typeof", value]: string