@mapbox/mapbox-gl-style-spec 14.20.0 → 14.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +199 -25
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +28 -0
- package/dist/index.es.js +199 -25
- package/dist/index.es.js.map +1 -1
- package/expression/compound_expression.ts +1 -8
- package/expression/definitions/assertion.ts +1 -3
- package/expression/definitions/case.ts +9 -8
- package/expression/definitions/coalesce.ts +3 -4
- package/expression/definitions/collator.ts +8 -6
- package/expression/definitions/in.ts +4 -4
- package/expression/definitions/index_of.ts +4 -4
- package/expression/definitions/length.ts +9 -8
- package/expression/definitions/slice.ts +4 -4
- package/expression/types/image_id.ts +1 -1
- package/feature_filter/index.ts +3 -6
- package/package.json +1 -1
- package/reference/v8.json +126 -3
- package/types.ts +23 -3
- package/validate/validate_source.ts +1 -3
package/dist/index.d.ts
CHANGED
|
@@ -926,6 +926,10 @@ export type LineLayerSpecification = {
|
|
|
926
926
|
"line-border-color-use-theme"?: PropertyValueSpecification<string>;
|
|
927
927
|
"line-occlusion-opacity"?: PropertyValueSpecification<number>;
|
|
928
928
|
"line-occlusion-opacity-transition"?: TransitionSpecification;
|
|
929
|
+
/**
|
|
930
|
+
* @experimental This property is experimental and subject to change in future versions.
|
|
931
|
+
*/
|
|
932
|
+
"line-blend-mode"?: PropertyValueSpecification<"default" | "multiply" | "additive">;
|
|
929
933
|
};
|
|
930
934
|
/**
|
|
931
935
|
* @experimental This property is experimental and subject to change in future versions.
|
|
@@ -1206,6 +1210,10 @@ export type FillExtrusionLayerSpecification = {
|
|
|
1206
1210
|
* @experimental This property is experimental and subject to change in future versions.
|
|
1207
1211
|
*/
|
|
1208
1212
|
"fill-extrusion-edge-radius"?: number | ExpressionSpecification;
|
|
1213
|
+
/**
|
|
1214
|
+
* @experimental This property is experimental and subject to change in future versions.
|
|
1215
|
+
*/
|
|
1216
|
+
"source-max-zoom"?: number;
|
|
1209
1217
|
};
|
|
1210
1218
|
"paint"?: {
|
|
1211
1219
|
"fill-extrusion-opacity"?: PropertyValueSpecification<number>;
|
|
@@ -1289,6 +1297,14 @@ export type FillExtrusionLayerSpecification = {
|
|
|
1289
1297
|
*/
|
|
1290
1298
|
"fill-extrusion-rounded-roof"?: PropertyValueSpecification<boolean>;
|
|
1291
1299
|
"fill-extrusion-cutoff-fade-range"?: number | ExpressionSpecification;
|
|
1300
|
+
/**
|
|
1301
|
+
* @experimental This property is experimental and subject to change in future versions.
|
|
1302
|
+
*/
|
|
1303
|
+
"fill-extrusion-front-cutoff"?: PropertyValueSpecification<[
|
|
1304
|
+
number,
|
|
1305
|
+
number,
|
|
1306
|
+
number
|
|
1307
|
+
]>;
|
|
1292
1308
|
"fill-extrusion-emissive-strength"?: DataDrivenPropertyValueSpecification<number>;
|
|
1293
1309
|
"fill-extrusion-emissive-strength-transition"?: TransitionSpecification;
|
|
1294
1310
|
/**
|
|
@@ -1361,6 +1377,14 @@ export type BuildingLayerSpecification = {
|
|
|
1361
1377
|
"building-emissive-strength"?: DataDrivenPropertyValueSpecification<number>;
|
|
1362
1378
|
"building-facade-emissive-chance"?: PropertyValueSpecification<number>;
|
|
1363
1379
|
"building-cutoff-fade-range"?: number | ExpressionSpecification;
|
|
1380
|
+
/**
|
|
1381
|
+
* @experimental This property is experimental and subject to change in future versions.
|
|
1382
|
+
*/
|
|
1383
|
+
"building-front-cutoff"?: PropertyValueSpecification<[
|
|
1384
|
+
number,
|
|
1385
|
+
number,
|
|
1386
|
+
number
|
|
1387
|
+
]>;
|
|
1364
1388
|
"building-flood-light-color"?: PropertyValueSpecification<ColorSpecification>;
|
|
1365
1389
|
"building-flood-light-color-transition"?: TransitionSpecification;
|
|
1366
1390
|
"building-flood-light-color-use-theme"?: PropertyValueSpecification<string>;
|
|
@@ -1604,6 +1628,10 @@ export type ModelLayerSpecification = {
|
|
|
1604
1628
|
number
|
|
1605
1629
|
]>;
|
|
1606
1630
|
"model-elevation-reference"?: "sea" | "ground" | "hd-road-markup" | ExpressionSpecification;
|
|
1631
|
+
/**
|
|
1632
|
+
* @experimental This property is experimental and subject to change in future versions.
|
|
1633
|
+
*/
|
|
1634
|
+
"model-ignore-line-cutout"?: boolean | ExpressionSpecification;
|
|
1607
1635
|
};
|
|
1608
1636
|
/**
|
|
1609
1637
|
* @experimental This property is experimental and subject to change in future versions.
|
package/dist/index.es.js
CHANGED
|
@@ -7433,6 +7433,44 @@ var paint_building = {
|
|
|
7433
7433
|
},
|
|
7434
7434
|
"property-type": "data-constant"
|
|
7435
7435
|
},
|
|
7436
|
+
"building-front-cutoff": {
|
|
7437
|
+
type: "array",
|
|
7438
|
+
"private": true,
|
|
7439
|
+
experimental: true,
|
|
7440
|
+
value: "number",
|
|
7441
|
+
"property-type": "data-constant",
|
|
7442
|
+
transition: false,
|
|
7443
|
+
expression: {
|
|
7444
|
+
interpolated: true,
|
|
7445
|
+
parameters: [
|
|
7446
|
+
"zoom"
|
|
7447
|
+
]
|
|
7448
|
+
},
|
|
7449
|
+
length: 3,
|
|
7450
|
+
"default": [
|
|
7451
|
+
0,
|
|
7452
|
+
0,
|
|
7453
|
+
1
|
|
7454
|
+
],
|
|
7455
|
+
minimum: [
|
|
7456
|
+
0,
|
|
7457
|
+
0,
|
|
7458
|
+
0
|
|
7459
|
+
],
|
|
7460
|
+
maximum: [
|
|
7461
|
+
1,
|
|
7462
|
+
1,
|
|
7463
|
+
1
|
|
7464
|
+
],
|
|
7465
|
+
doc: "An array for configuring the fade-out effect for the front cutoff of content on pitched map views. It contains three values: start, range and final opacity. The start parameter defines the point at which the fade-out effect begins, with smaller values causing the effect to start earlier. The range parameter specifies how long the fade-out effect will last. A value of 0.0 for range makes content disappear immediately without a fade-out effect. The final opacity determines content opacity at the end of the fade-out effect. A value of 1.0 for final opacity means that the cutoff is completely disabled. Note: The property has no effect on the map if terrain or globe projection is enabled.",
|
|
7466
|
+
"sdk-support": {
|
|
7467
|
+
"basic functionality": {
|
|
7468
|
+
js: "3.21.0",
|
|
7469
|
+
android: "11.21.0",
|
|
7470
|
+
ios: "11.21.0"
|
|
7471
|
+
}
|
|
7472
|
+
}
|
|
7473
|
+
},
|
|
7436
7474
|
"building-flood-light-color": {
|
|
7437
7475
|
"property-type": "data-constant",
|
|
7438
7476
|
type: "color",
|
|
@@ -8110,6 +8148,36 @@ var paint_line = {
|
|
|
8110
8148
|
},
|
|
8111
8149
|
transition: true,
|
|
8112
8150
|
"property-type": "data-constant"
|
|
8151
|
+
},
|
|
8152
|
+
"line-blend-mode": {
|
|
8153
|
+
type: "enum",
|
|
8154
|
+
values: {
|
|
8155
|
+
"default": {
|
|
8156
|
+
doc: "Normal non-blended rendering mode."
|
|
8157
|
+
},
|
|
8158
|
+
multiply: {
|
|
8159
|
+
doc: "Line features are composited using multiply blending."
|
|
8160
|
+
},
|
|
8161
|
+
additive: {
|
|
8162
|
+
doc: "Line features are composited using additive density accumulation with tone mapping."
|
|
8163
|
+
}
|
|
8164
|
+
},
|
|
8165
|
+
doc: "Controls the blend mode used for rendering line features.",
|
|
8166
|
+
"default": "default",
|
|
8167
|
+
experimental: true,
|
|
8168
|
+
"private": true,
|
|
8169
|
+
"sdk-support": {
|
|
8170
|
+
"basic functionality": {
|
|
8171
|
+
js: "3.21.0"
|
|
8172
|
+
}
|
|
8173
|
+
},
|
|
8174
|
+
expression: {
|
|
8175
|
+
interpolated: false,
|
|
8176
|
+
parameters: [
|
|
8177
|
+
"zoom"
|
|
8178
|
+
]
|
|
8179
|
+
},
|
|
8180
|
+
"property-type": "data-constant"
|
|
8113
8181
|
}
|
|
8114
8182
|
};
|
|
8115
8183
|
var paint_circle = {
|
|
@@ -8635,6 +8703,7 @@ var paint_symbol = {
|
|
|
8635
8703
|
"measure-light"
|
|
8636
8704
|
]
|
|
8637
8705
|
},
|
|
8706
|
+
appearance: true,
|
|
8638
8707
|
"property-type": "data-driven"
|
|
8639
8708
|
},
|
|
8640
8709
|
"icon-occlusion-opacity": {
|
|
@@ -8668,6 +8737,7 @@ var paint_symbol = {
|
|
|
8668
8737
|
"measure-light"
|
|
8669
8738
|
]
|
|
8670
8739
|
},
|
|
8740
|
+
appearance: true,
|
|
8671
8741
|
"property-type": "data-driven"
|
|
8672
8742
|
},
|
|
8673
8743
|
"icon-emissive-strength": {
|
|
@@ -8700,6 +8770,7 @@ var paint_symbol = {
|
|
|
8700
8770
|
"feature-state"
|
|
8701
8771
|
]
|
|
8702
8772
|
},
|
|
8773
|
+
appearance: true,
|
|
8703
8774
|
"property-type": "data-driven"
|
|
8704
8775
|
},
|
|
8705
8776
|
"text-emissive-strength": {
|
|
@@ -8732,6 +8803,7 @@ var paint_symbol = {
|
|
|
8732
8803
|
"feature-state"
|
|
8733
8804
|
]
|
|
8734
8805
|
},
|
|
8806
|
+
appearance: true,
|
|
8735
8807
|
"property-type": "data-driven"
|
|
8736
8808
|
},
|
|
8737
8809
|
"icon-color": {
|
|
@@ -8764,6 +8836,7 @@ var paint_symbol = {
|
|
|
8764
8836
|
"measure-light"
|
|
8765
8837
|
]
|
|
8766
8838
|
},
|
|
8839
|
+
appearance: true,
|
|
8767
8840
|
"property-type": "data-driven"
|
|
8768
8841
|
},
|
|
8769
8842
|
"icon-halo-color": {
|
|
@@ -8796,6 +8869,7 @@ var paint_symbol = {
|
|
|
8796
8869
|
"measure-light"
|
|
8797
8870
|
]
|
|
8798
8871
|
},
|
|
8872
|
+
appearance: true,
|
|
8799
8873
|
"property-type": "data-driven"
|
|
8800
8874
|
},
|
|
8801
8875
|
"icon-halo-width": {
|
|
@@ -8829,6 +8903,7 @@ var paint_symbol = {
|
|
|
8829
8903
|
"measure-light"
|
|
8830
8904
|
]
|
|
8831
8905
|
},
|
|
8906
|
+
appearance: true,
|
|
8832
8907
|
"property-type": "data-driven"
|
|
8833
8908
|
},
|
|
8834
8909
|
"icon-halo-blur": {
|
|
@@ -8862,6 +8937,7 @@ var paint_symbol = {
|
|
|
8862
8937
|
"measure-light"
|
|
8863
8938
|
]
|
|
8864
8939
|
},
|
|
8940
|
+
appearance: true,
|
|
8865
8941
|
"property-type": "data-driven"
|
|
8866
8942
|
},
|
|
8867
8943
|
"icon-translate": {
|
|
@@ -8873,6 +8949,7 @@ var paint_symbol = {
|
|
|
8873
8949
|
0
|
|
8874
8950
|
],
|
|
8875
8951
|
transition: true,
|
|
8952
|
+
appearance: true,
|
|
8876
8953
|
units: "pixels",
|
|
8877
8954
|
doc: "Distance that the icon's anchor is moved from its original placement. Positive values indicate right and down, while negative values indicate left and up.",
|
|
8878
8955
|
requires: [
|
|
@@ -8980,6 +9057,7 @@ var paint_symbol = {
|
|
|
8980
9057
|
"measure-light"
|
|
8981
9058
|
]
|
|
8982
9059
|
},
|
|
9060
|
+
appearance: true,
|
|
8983
9061
|
"property-type": "data-driven"
|
|
8984
9062
|
},
|
|
8985
9063
|
"text-occlusion-opacity": {
|
|
@@ -9013,6 +9091,7 @@ var paint_symbol = {
|
|
|
9013
9091
|
"measure-light"
|
|
9014
9092
|
]
|
|
9015
9093
|
},
|
|
9094
|
+
appearance: true,
|
|
9016
9095
|
"property-type": "data-driven"
|
|
9017
9096
|
},
|
|
9018
9097
|
"text-color": {
|
|
@@ -9046,6 +9125,7 @@ var paint_symbol = {
|
|
|
9046
9125
|
"measure-light"
|
|
9047
9126
|
]
|
|
9048
9127
|
},
|
|
9128
|
+
appearance: true,
|
|
9049
9129
|
"property-type": "data-driven"
|
|
9050
9130
|
},
|
|
9051
9131
|
"text-halo-color": {
|
|
@@ -9078,6 +9158,7 @@ var paint_symbol = {
|
|
|
9078
9158
|
"measure-light"
|
|
9079
9159
|
]
|
|
9080
9160
|
},
|
|
9161
|
+
appearance: true,
|
|
9081
9162
|
"property-type": "data-driven"
|
|
9082
9163
|
},
|
|
9083
9164
|
"text-halo-width": {
|
|
@@ -9111,6 +9192,7 @@ var paint_symbol = {
|
|
|
9111
9192
|
"measure-light"
|
|
9112
9193
|
]
|
|
9113
9194
|
},
|
|
9195
|
+
appearance: true,
|
|
9114
9196
|
"property-type": "data-driven"
|
|
9115
9197
|
},
|
|
9116
9198
|
"text-halo-blur": {
|
|
@@ -9144,6 +9226,7 @@ var paint_symbol = {
|
|
|
9144
9226
|
"measure-light"
|
|
9145
9227
|
]
|
|
9146
9228
|
},
|
|
9229
|
+
appearance: true,
|
|
9147
9230
|
"property-type": "data-driven"
|
|
9148
9231
|
},
|
|
9149
9232
|
"text-translate": {
|
|
@@ -9155,6 +9238,7 @@ var paint_symbol = {
|
|
|
9155
9238
|
0
|
|
9156
9239
|
],
|
|
9157
9240
|
transition: true,
|
|
9241
|
+
appearance: true,
|
|
9158
9242
|
units: "pixels",
|
|
9159
9243
|
doc: "Distance that the text's anchor is moved from its original placement. Positive values indicate right and down, while negative values indicate left and up.",
|
|
9160
9244
|
requires: [
|
|
@@ -9289,6 +9373,7 @@ var paint_symbol = {
|
|
|
9289
9373
|
minimum: 0,
|
|
9290
9374
|
transition: true,
|
|
9291
9375
|
experimental: true,
|
|
9376
|
+
appearance: true,
|
|
9292
9377
|
"sdk-support": {
|
|
9293
9378
|
"basic functionality": {
|
|
9294
9379
|
js: "3.7.0",
|
|
@@ -10621,7 +10706,7 @@ var paint_model = {
|
|
|
10621
10706
|
1,
|
|
10622
10707
|
1
|
|
10623
10708
|
],
|
|
10624
|
-
doc: "An array for configuring the fade-out effect for the front cutoff of content on pitched map views. It contains three values: start, range and final opacity. The start parameter defines the point at which the fade-out effect begins, with smaller values causing the effect to start earlier. The range parameter specifies how long the fade-out effect will last. A value of 0.0 for range makes content disappear immediately without a fade-out effect. The final opacity determines content opacity at the end of the fade-out effect. A value of 1.0 for final opacity means that the cutoff is completely disabled.",
|
|
10709
|
+
doc: "An array for configuring the fade-out effect for the front cutoff of content on pitched map views. It contains three values: start, range and final opacity. The start parameter defines the point at which the fade-out effect begins, with smaller values causing the effect to start earlier. The range parameter specifies how long the fade-out effect will last. A value of 0.0 for range makes content disappear immediately without a fade-out effect. The final opacity determines content opacity at the end of the fade-out effect. A value of 1.0 for final opacity means that the cutoff is completely disabled. Note: The property has no effect on the map if terrain or globe projection is enabled.",
|
|
10625
10710
|
"sdk-support": {
|
|
10626
10711
|
"basic functionality": {
|
|
10627
10712
|
js: "3.5.0"
|
|
@@ -10655,6 +10740,24 @@ var paint_model = {
|
|
|
10655
10740
|
ios: "11.10.0"
|
|
10656
10741
|
}
|
|
10657
10742
|
}
|
|
10743
|
+
},
|
|
10744
|
+
"model-ignore-line-cutout": {
|
|
10745
|
+
type: "boolean",
|
|
10746
|
+
doc: "When set to true, the layer is not going to be affected by the line cutout effect.",
|
|
10747
|
+
"default": false,
|
|
10748
|
+
transition: false,
|
|
10749
|
+
expression: {
|
|
10750
|
+
interpolated: false
|
|
10751
|
+
},
|
|
10752
|
+
"property-type": "data-constant",
|
|
10753
|
+
experimental: true,
|
|
10754
|
+
"private": true,
|
|
10755
|
+
"sdk-support": {
|
|
10756
|
+
"basic functionality": {
|
|
10757
|
+
android: "11.21.0",
|
|
10758
|
+
ios: "11.21.0"
|
|
10759
|
+
}
|
|
10760
|
+
}
|
|
10658
10761
|
}
|
|
10659
10762
|
};
|
|
10660
10763
|
var transition = {
|
|
@@ -10869,6 +10972,22 @@ var v8 = {
|
|
|
10869
10972
|
interpolated: false
|
|
10870
10973
|
},
|
|
10871
10974
|
"property-type": "constant"
|
|
10975
|
+
},
|
|
10976
|
+
"source-max-zoom": {
|
|
10977
|
+
type: "number",
|
|
10978
|
+
minimum: 0,
|
|
10979
|
+
maximum: 24,
|
|
10980
|
+
"private": true,
|
|
10981
|
+
experimental: true,
|
|
10982
|
+
doc: "The maximum zoom level at which to load and parse source tiles for this layer. When set, tiles are never loaded or re-parsed above this zoom level. At higher zoom levels, the renderer reuses tiles from this zoom level without creating overscaled variants. This reduces the number of tiles parsed and prevents tile-border artifacts for layers like fill-extrusion.",
|
|
10983
|
+
"sdk-support": {
|
|
10984
|
+
"basic functionality": {
|
|
10985
|
+
js: "3.21.0",
|
|
10986
|
+
android: "11.21.0",
|
|
10987
|
+
ios: "11.21.0"
|
|
10988
|
+
}
|
|
10989
|
+
},
|
|
10990
|
+
"property-type": "constant"
|
|
10872
10991
|
}
|
|
10873
10992
|
},
|
|
10874
10993
|
layout_building: layout_building,
|
|
@@ -11649,6 +11768,44 @@ var v8 = {
|
|
|
11649
11768
|
},
|
|
11650
11769
|
"property-type": "data-constant"
|
|
11651
11770
|
},
|
|
11771
|
+
"fill-extrusion-front-cutoff": {
|
|
11772
|
+
type: "array",
|
|
11773
|
+
"private": true,
|
|
11774
|
+
experimental: true,
|
|
11775
|
+
value: "number",
|
|
11776
|
+
"property-type": "data-constant",
|
|
11777
|
+
transition: false,
|
|
11778
|
+
expression: {
|
|
11779
|
+
interpolated: true,
|
|
11780
|
+
parameters: [
|
|
11781
|
+
"zoom"
|
|
11782
|
+
]
|
|
11783
|
+
},
|
|
11784
|
+
length: 3,
|
|
11785
|
+
"default": [
|
|
11786
|
+
0,
|
|
11787
|
+
0,
|
|
11788
|
+
1
|
|
11789
|
+
],
|
|
11790
|
+
minimum: [
|
|
11791
|
+
0,
|
|
11792
|
+
0,
|
|
11793
|
+
0
|
|
11794
|
+
],
|
|
11795
|
+
maximum: [
|
|
11796
|
+
1,
|
|
11797
|
+
1,
|
|
11798
|
+
1
|
|
11799
|
+
],
|
|
11800
|
+
doc: "An array for configuring the fade-out effect for the front cutoff of content on pitched map views. It contains three values: start, range and final opacity. The start parameter defines the point at which the fade-out effect begins, with smaller values causing the effect to start earlier. The range parameter specifies how long the fade-out effect will last. A value of 0.0 for range makes content disappear immediately without a fade-out effect. The final opacity determines content opacity at the end of the fade-out effect. A value of 1.0 for final opacity means that the cutoff is completely disabled. Note: The property has no effect on the map if terrain or globe projection is enabled.",
|
|
11801
|
+
"sdk-support": {
|
|
11802
|
+
"basic functionality": {
|
|
11803
|
+
js: "3.21.0",
|
|
11804
|
+
android: "11.21.0",
|
|
11805
|
+
ios: "11.21.0"
|
|
11806
|
+
}
|
|
11807
|
+
}
|
|
11808
|
+
},
|
|
11652
11809
|
"fill-extrusion-emissive-strength": {
|
|
11653
11810
|
type: "number",
|
|
11654
11811
|
"default": 0,
|
|
@@ -14722,8 +14879,7 @@ class CompoundExpression {
|
|
|
14722
14879
|
let argParseFailed = false;
|
|
14723
14880
|
for (let i = 1; i < args.length; i++) {
|
|
14724
14881
|
const arg = args[i];
|
|
14725
|
-
const expectedType = Array.isArray(params) ? params[i - 1] :
|
|
14726
|
-
params.type;
|
|
14882
|
+
const expectedType = Array.isArray(params) ? params[i - 1] : params.type;
|
|
14727
14883
|
const parsed = signatureContext.parse(arg, 1 + parsedArgs.length, expectedType);
|
|
14728
14884
|
if (!parsed) {
|
|
14729
14885
|
argParseFailed = true;
|
|
@@ -14788,11 +14944,15 @@ class CollatorExpression {
|
|
|
14788
14944
|
this.diacriticSensitive = diacriticSensitive;
|
|
14789
14945
|
}
|
|
14790
14946
|
static parse(args, context) {
|
|
14791
|
-
if (args.length !== 2)
|
|
14792
|
-
|
|
14947
|
+
if (args.length !== 2) {
|
|
14948
|
+
context.error(`Expected one argument.`);
|
|
14949
|
+
return null;
|
|
14950
|
+
}
|
|
14793
14951
|
const options = args[1];
|
|
14794
|
-
if (typeof options !== 'object' || Array.isArray(options))
|
|
14795
|
-
|
|
14952
|
+
if (typeof options !== 'object' || Array.isArray(options)) {
|
|
14953
|
+
context.error(`Collator options argument must be an object.`);
|
|
14954
|
+
return null;
|
|
14955
|
+
}
|
|
14796
14956
|
const caseSensitive = options['case-sensitive'] === void 0 ? context.parse(false, 1, BooleanType) : context.parseObjectValue(options['case-sensitive'], 1, 'case-sensitive', BooleanType);
|
|
14797
14957
|
if (!caseSensitive)
|
|
14798
14958
|
return null;
|
|
@@ -17473,7 +17633,8 @@ class Coalesce {
|
|
|
17473
17633
|
}
|
|
17474
17634
|
static parse(args, context) {
|
|
17475
17635
|
if (args.length < 2) {
|
|
17476
|
-
|
|
17636
|
+
context.error('Expectected at least one argument.');
|
|
17637
|
+
return null;
|
|
17477
17638
|
}
|
|
17478
17639
|
let outputType = null;
|
|
17479
17640
|
const expectedType = context.expectedType;
|
|
@@ -17690,7 +17851,8 @@ class In {
|
|
|
17690
17851
|
}
|
|
17691
17852
|
static parse(args, context) {
|
|
17692
17853
|
if (args.length !== 3) {
|
|
17693
|
-
|
|
17854
|
+
context.error(`Expected 2 arguments, but found ${ args.length - 1 } instead.`);
|
|
17855
|
+
return null;
|
|
17694
17856
|
}
|
|
17695
17857
|
const needle = context.parse(args[1], 1, ValueType);
|
|
17696
17858
|
const haystack = context.parse(args[2], 2, ValueType);
|
|
@@ -17703,7 +17865,8 @@ class In {
|
|
|
17703
17865
|
NullType,
|
|
17704
17866
|
ValueType
|
|
17705
17867
|
])) {
|
|
17706
|
-
|
|
17868
|
+
context.error(`Expected first argument to be of type boolean, string, number or null, but found ${ toString$1(needle.type) } instead`);
|
|
17869
|
+
return null;
|
|
17707
17870
|
}
|
|
17708
17871
|
return new In(needle, haystack);
|
|
17709
17872
|
}
|
|
@@ -17753,7 +17916,8 @@ class IndexOf {
|
|
|
17753
17916
|
}
|
|
17754
17917
|
static parse(args, context) {
|
|
17755
17918
|
if (args.length <= 2 || args.length >= 5) {
|
|
17756
|
-
|
|
17919
|
+
context.error(`Expected 3 or 4 arguments, but found ${ args.length - 1 } instead.`);
|
|
17920
|
+
return null;
|
|
17757
17921
|
}
|
|
17758
17922
|
const needle = context.parse(args[1], 1, ValueType);
|
|
17759
17923
|
const haystack = context.parse(args[2], 2, ValueType);
|
|
@@ -17766,7 +17930,8 @@ class IndexOf {
|
|
|
17766
17930
|
NullType,
|
|
17767
17931
|
ValueType
|
|
17768
17932
|
])) {
|
|
17769
|
-
|
|
17933
|
+
context.error(`Expected first argument to be of type boolean, string, number or null, but found ${ toString$1(needle.type) } instead`);
|
|
17934
|
+
return null;
|
|
17770
17935
|
}
|
|
17771
17936
|
if (args.length === 4) {
|
|
17772
17937
|
const fromIndex = context.parse(args[3], 3, NumberType);
|
|
@@ -17949,10 +18114,14 @@ class Case {
|
|
|
17949
18114
|
this.otherwise = otherwise;
|
|
17950
18115
|
}
|
|
17951
18116
|
static parse(args, context) {
|
|
17952
|
-
if (args.length < 4)
|
|
17953
|
-
|
|
17954
|
-
|
|
17955
|
-
|
|
18117
|
+
if (args.length < 4) {
|
|
18118
|
+
context.error(`Expected at least 3 arguments, but found only ${ args.length - 1 }.`);
|
|
18119
|
+
return null;
|
|
18120
|
+
}
|
|
18121
|
+
if (args.length % 2 !== 0) {
|
|
18122
|
+
context.error(`Expected an odd number of arguments.`);
|
|
18123
|
+
return null;
|
|
18124
|
+
}
|
|
17956
18125
|
let outputType;
|
|
17957
18126
|
if (context.expectedType && context.expectedType.kind !== 'value') {
|
|
17958
18127
|
outputType = context.expectedType;
|
|
@@ -18013,7 +18182,8 @@ class Slice {
|
|
|
18013
18182
|
}
|
|
18014
18183
|
static parse(args, context) {
|
|
18015
18184
|
if (args.length <= 2 || args.length >= 5) {
|
|
18016
|
-
|
|
18185
|
+
context.error(`Expected 3 or 4 arguments, but found ${ args.length - 1 } instead.`);
|
|
18186
|
+
return null;
|
|
18017
18187
|
}
|
|
18018
18188
|
const input = context.parse(args[1], 1, ValueType);
|
|
18019
18189
|
const beginIndex = context.parse(args[2], 2, NumberType);
|
|
@@ -18024,7 +18194,8 @@ class Slice {
|
|
|
18024
18194
|
StringType,
|
|
18025
18195
|
ValueType
|
|
18026
18196
|
])) {
|
|
18027
|
-
|
|
18197
|
+
context.error(`Expected first argument to be of type array or string, but found ${ toString$1(input.type) } instead`);
|
|
18198
|
+
return null;
|
|
18028
18199
|
}
|
|
18029
18200
|
if (args.length === 4) {
|
|
18030
18201
|
const endIndex = context.parse(args[3], 3, NumberType);
|
|
@@ -18368,13 +18539,17 @@ class Length {
|
|
|
18368
18539
|
this.input = input;
|
|
18369
18540
|
}
|
|
18370
18541
|
static parse(args, context) {
|
|
18371
|
-
if (args.length !== 2)
|
|
18372
|
-
|
|
18542
|
+
if (args.length !== 2) {
|
|
18543
|
+
context.error(`Expected 1 argument, but found ${ args.length - 1 } instead.`);
|
|
18544
|
+
return null;
|
|
18545
|
+
}
|
|
18373
18546
|
const input = context.parse(args[1], 1);
|
|
18374
18547
|
if (!input)
|
|
18375
18548
|
return null;
|
|
18376
|
-
if (input.type.kind !== 'array' && input.type.kind !== 'string' && input.type.kind !== 'value')
|
|
18377
|
-
|
|
18549
|
+
if (input.type.kind !== 'array' && input.type.kind !== 'string' && input.type.kind !== 'value') {
|
|
18550
|
+
context.error(`Expected argument of type string or array, but found ${ toString$1(input.type) } instead.`);
|
|
18551
|
+
return null;
|
|
18552
|
+
}
|
|
18378
18553
|
return new Length(input);
|
|
18379
18554
|
}
|
|
18380
18555
|
evaluate(ctx) {
|
|
@@ -20193,9 +20368,7 @@ function convertFilter$1(filter) {
|
|
|
20193
20368
|
op === '==' ? convertComparisonOp$1(filter[1], filter[2], '==') : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
20194
20369
|
op === '!=' ? convertNegation(convertComparisonOp$1(filter[1], filter[2], '==')) : op === '<' || op === '>' || op === '<=' || // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
20195
20370
|
op === '>=' ? convertComparisonOp$1(filter[1], filter[2], op) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
20196
|
-
op === 'any' ? convertDisjunctionOp(filter.slice(1)) :
|
|
20197
|
-
op === 'all' ? ['all'].concat(filter.slice(1).map(convertFilter$1)) : // @ts-expect-error - TS2769 - No overload matches this call.
|
|
20198
|
-
op === 'none' ? ['all'].concat(filter.slice(1).map(convertFilter$1).map(convertNegation)) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
20371
|
+
op === 'any' ? convertDisjunctionOp(filter.slice(1)) : op === 'all' ? ['all'].concat(filter.slice(1).map(convertFilter$1)) : op === 'none' ? ['all'].concat(filter.slice(1).map(convertFilter$1).map(convertNegation)) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
20199
20372
|
op === 'in' ? convertInOp$1(filter[1], filter.slice(2)) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
20200
20373
|
op === '!in' ? convertNegation(convertInOp$1(filter[1], filter.slice(2))) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
20201
20374
|
op === 'has' ? convertHasOp$1(filter[1]) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
@@ -22254,6 +22427,7 @@ function validatePromoteId({key, value}) {
|
|
|
22254
22427
|
expression.value.forEach(err => {
|
|
22255
22428
|
errors2.push(new ValidationError(`${ key }${ err.key }`, null, `${ err.message }`));
|
|
22256
22429
|
});
|
|
22430
|
+
return errors2;
|
|
22257
22431
|
}
|
|
22258
22432
|
const parsed = expression.value.expression;
|
|
22259
22433
|
const onlyFeatureDependent = isGlobalPropertyConstant(parsed, [
|