@mapbox/mapbox-gl-style-spec 14.15.0-beta.2 → 14.15.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/deref.ts +3 -0
- package/diff.ts +63 -0
- package/dist/index.cjs +722 -47
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +85 -6
- package/dist/index.es.js +722 -47
- package/dist/index.es.js.map +1 -1
- package/expression/compound_expression.ts +4 -0
- package/expression/definitions/assertion.ts +7 -0
- package/expression/definitions/case.ts +2 -1
- package/expression/definitions/coalesce.ts +4 -0
- package/expression/definitions/coercion.ts +12 -0
- package/expression/definitions/collator.ts +8 -5
- package/expression/definitions/comparison.ts +12 -5
- package/expression/definitions/config.ts +12 -0
- package/expression/definitions/distance.ts +13 -2
- package/expression/definitions/format.ts +10 -0
- package/expression/definitions/image.ts +3 -0
- package/expression/definitions/in.ts +5 -0
- package/expression/definitions/index.ts +62 -10
- package/expression/definitions/index_of.ts +6 -0
- package/expression/definitions/interpolate.ts +5 -1
- package/expression/definitions/length.ts +2 -0
- package/expression/definitions/let.ts +1 -0
- package/expression/definitions/match.ts +5 -0
- package/expression/definitions/number_format.ts +7 -0
- package/expression/definitions/slice.ts +4 -0
- package/expression/definitions/within.ts +1 -0
- package/expression/index.ts +28 -19
- package/expression/parsing_context.ts +2 -0
- package/expression/types/image_variant.ts +3 -0
- package/expression/types.ts +1 -2
- package/expression/values.ts +1 -0
- package/feature_filter/convert.ts +9 -1
- package/feature_filter/index.ts +41 -1
- package/format.ts +5 -0
- package/function/convert.ts +5 -0
- package/function/index.ts +79 -25
- package/group_by_layout.ts +4 -5
- package/migrate/v8.ts +42 -3
- package/migrate/v9.ts +5 -0
- package/migrate.ts +1 -0
- package/package.json +1 -1
- package/read_style.ts +2 -0
- package/reference/v8.json +457 -12
- package/rollup.config.js +1 -0
- package/test.js +4 -0
- package/types.ts +74 -5
- package/util/geometry_util.ts +4 -0
- package/validate/validate.ts +1 -0
- package/validate/validate_appearance.ts +101 -0
- package/validate/validate_array.ts +1 -0
- package/validate/validate_expression.ts +48 -3
- package/validate/validate_filter.ts +5 -3
- package/validate/validate_fog.ts +6 -0
- package/validate/validate_function.ts +2 -0
- package/validate/validate_iconset.ts +1 -0
- package/validate/validate_import.ts +2 -2
- package/validate/validate_layer.ts +37 -4
- package/validate/validate_light.ts +6 -0
- package/validate/validate_lights.ts +9 -0
- package/validate/validate_model.ts +1 -2
- package/validate/validate_number.ts +2 -0
- package/validate/validate_object.ts +7 -0
- package/validate/validate_projection.ts +2 -0
- package/validate/validate_property.ts +15 -4
- package/validate/validate_rain.ts +5 -0
- package/validate/validate_snow.ts +5 -0
- package/validate/validate_source.ts +12 -0
- package/validate/validate_style.ts +1 -0
- package/validate/validate_terrain.ts +6 -0
- package/validate_mapbox_api_supported.ts +1 -0
- package/visit.ts +2 -0
- package/util/extend.ts +0 -9
package/dist/index.es.js
CHANGED
|
@@ -1269,6 +1269,125 @@ var source_image = {
|
|
|
1269
1269
|
}
|
|
1270
1270
|
}
|
|
1271
1271
|
};
|
|
1272
|
+
var modelNodeOverride = {
|
|
1273
|
+
orientation: {
|
|
1274
|
+
type: "array",
|
|
1275
|
+
value: "number",
|
|
1276
|
+
length: 3,
|
|
1277
|
+
"default": [
|
|
1278
|
+
0,
|
|
1279
|
+
0,
|
|
1280
|
+
0
|
|
1281
|
+
],
|
|
1282
|
+
period: 360,
|
|
1283
|
+
units: "degrees",
|
|
1284
|
+
doc: "Override the orientation of the model node in euler angles [x, y, z]."
|
|
1285
|
+
}
|
|
1286
|
+
};
|
|
1287
|
+
var modelNodeOverrides = {
|
|
1288
|
+
"*": {
|
|
1289
|
+
type: "modelNodeOverride",
|
|
1290
|
+
doc: "An object defining model node properties to override. Object key is the node name as defined in the model."
|
|
1291
|
+
}
|
|
1292
|
+
};
|
|
1293
|
+
var modelMaterialOverride = {
|
|
1294
|
+
"model-color": {
|
|
1295
|
+
type: "color",
|
|
1296
|
+
doc: "Override the tint color of the material."
|
|
1297
|
+
},
|
|
1298
|
+
"model-color-mix-intensity": {
|
|
1299
|
+
type: "number",
|
|
1300
|
+
doc: "Override the intensity of model-color (on a scale from 0 to 1) in color mix with original 3D model's colors."
|
|
1301
|
+
},
|
|
1302
|
+
"model-opacity": {
|
|
1303
|
+
type: "number",
|
|
1304
|
+
doc: "Override the opacity of the material."
|
|
1305
|
+
},
|
|
1306
|
+
"model-emissive-strength": {
|
|
1307
|
+
type: "number",
|
|
1308
|
+
units: "intensity",
|
|
1309
|
+
doc: "Override strength of the emission of material."
|
|
1310
|
+
}
|
|
1311
|
+
};
|
|
1312
|
+
var modelMaterialOverrides = {
|
|
1313
|
+
"*": {
|
|
1314
|
+
type: "modelMaterialOverride",
|
|
1315
|
+
doc: "An object defining material properties to override. Object key is the material name as defined in the model."
|
|
1316
|
+
}
|
|
1317
|
+
};
|
|
1318
|
+
var modelSourceModel = {
|
|
1319
|
+
uri: {
|
|
1320
|
+
type: "string",
|
|
1321
|
+
required: true,
|
|
1322
|
+
doc: "A URL to a model resource. Supported protocols are `http:`, `https:`, and `mapbox://<Model ID>`."
|
|
1323
|
+
},
|
|
1324
|
+
position: {
|
|
1325
|
+
type: "array",
|
|
1326
|
+
value: "number",
|
|
1327
|
+
length: 2,
|
|
1328
|
+
required: false,
|
|
1329
|
+
"default": [
|
|
1330
|
+
0,
|
|
1331
|
+
0
|
|
1332
|
+
],
|
|
1333
|
+
minimum: [
|
|
1334
|
+
-180,
|
|
1335
|
+
-90
|
|
1336
|
+
],
|
|
1337
|
+
maximum: [
|
|
1338
|
+
180,
|
|
1339
|
+
90
|
|
1340
|
+
],
|
|
1341
|
+
doc: "Position of the model in longitude and latitude [lng, lat]."
|
|
1342
|
+
},
|
|
1343
|
+
orientation: {
|
|
1344
|
+
type: "array",
|
|
1345
|
+
value: "number",
|
|
1346
|
+
length: 3,
|
|
1347
|
+
required: false,
|
|
1348
|
+
"default": [
|
|
1349
|
+
0,
|
|
1350
|
+
0,
|
|
1351
|
+
0
|
|
1352
|
+
],
|
|
1353
|
+
period: 360,
|
|
1354
|
+
units: "degrees",
|
|
1355
|
+
doc: "Orientation of the model in euler angles [x, y, z]."
|
|
1356
|
+
},
|
|
1357
|
+
nodeOverrides: {
|
|
1358
|
+
type: "modelNodeOverrides",
|
|
1359
|
+
required: false,
|
|
1360
|
+
doc: "A collection of node overrides."
|
|
1361
|
+
},
|
|
1362
|
+
materialOverrides: {
|
|
1363
|
+
type: "modelMaterialOverrides",
|
|
1364
|
+
required: false,
|
|
1365
|
+
doc: "A collection of material overrides."
|
|
1366
|
+
},
|
|
1367
|
+
nodeOverrideNames: {
|
|
1368
|
+
type: "array",
|
|
1369
|
+
value: "string",
|
|
1370
|
+
doc: "An array of one or more model node names whose transform will be overridden from model layer paint properties.",
|
|
1371
|
+
required: false
|
|
1372
|
+
},
|
|
1373
|
+
materialOverrideNames: {
|
|
1374
|
+
type: "array",
|
|
1375
|
+
value: "string",
|
|
1376
|
+
doc: "An array of one or more model material names whose properties will be overridden from model layer paint properties.",
|
|
1377
|
+
required: false
|
|
1378
|
+
},
|
|
1379
|
+
featureProperties: {
|
|
1380
|
+
type: "*",
|
|
1381
|
+
doc: "An object defining custom properties of the model. Properties are accessible as feature properties in expressions.",
|
|
1382
|
+
required: false
|
|
1383
|
+
}
|
|
1384
|
+
};
|
|
1385
|
+
var modelSourceModels = {
|
|
1386
|
+
"*": {
|
|
1387
|
+
type: "modelSourceModel",
|
|
1388
|
+
doc: "A 3D model and its properties."
|
|
1389
|
+
}
|
|
1390
|
+
};
|
|
1272
1391
|
var source_model = {
|
|
1273
1392
|
type: {
|
|
1274
1393
|
required: true,
|
|
@@ -1296,7 +1415,11 @@ var source_model = {
|
|
|
1296
1415
|
tiles: {
|
|
1297
1416
|
type: "array",
|
|
1298
1417
|
value: "string",
|
|
1299
|
-
doc: "An array of one or more tile source URLs, as in the TileJSON spec."
|
|
1418
|
+
doc: "An array of one or more tile source URLs, as in the TileJSON spec. Requires `batched-model` source type."
|
|
1419
|
+
},
|
|
1420
|
+
models: {
|
|
1421
|
+
type: "modelSourceModels",
|
|
1422
|
+
doc: "Defines properties of 3D models in collection. Requires `model` source type."
|
|
1300
1423
|
}
|
|
1301
1424
|
};
|
|
1302
1425
|
var layer = {
|
|
@@ -1371,6 +1494,9 @@ var layer = {
|
|
|
1371
1494
|
building: {
|
|
1372
1495
|
doc: "A procedural 3D building.",
|
|
1373
1496
|
"sdk-support": {
|
|
1497
|
+
js: "3.16.0",
|
|
1498
|
+
android: "11.16.0",
|
|
1499
|
+
ios: "11.16.0"
|
|
1374
1500
|
},
|
|
1375
1501
|
experimental: true,
|
|
1376
1502
|
"private": true
|
|
@@ -1520,12 +1646,25 @@ var layer = {
|
|
|
1520
1646
|
};
|
|
1521
1647
|
var appearance = {
|
|
1522
1648
|
condition: {
|
|
1523
|
-
type: "
|
|
1524
|
-
doc: "A boolean expression that determines when this appearance should be applied."
|
|
1649
|
+
type: "boolean",
|
|
1650
|
+
doc: "A boolean expression that determines when this appearance should be applied.",
|
|
1651
|
+
expression: {
|
|
1652
|
+
interpolated: false,
|
|
1653
|
+
parameters: [
|
|
1654
|
+
"zoom",
|
|
1655
|
+
"pitch",
|
|
1656
|
+
"feature",
|
|
1657
|
+
"feature-state",
|
|
1658
|
+
"measure-light",
|
|
1659
|
+
"distance-from-center"
|
|
1660
|
+
]
|
|
1661
|
+
},
|
|
1662
|
+
"property-type": "data-driven"
|
|
1525
1663
|
},
|
|
1526
1664
|
name: {
|
|
1527
1665
|
type: "string",
|
|
1528
|
-
doc: "Optional name for this appearance. Non-empty names should be unique within a layer."
|
|
1666
|
+
doc: "Optional name for this appearance. Non-empty names should be unique within a layer.",
|
|
1667
|
+
"property-type": "constant"
|
|
1529
1668
|
},
|
|
1530
1669
|
properties: {
|
|
1531
1670
|
type: "*",
|
|
@@ -1955,6 +2094,9 @@ var layout_building = {
|
|
|
1955
2094
|
doc: "Whether this layer is displayed.",
|
|
1956
2095
|
"sdk-support": {
|
|
1957
2096
|
"basic functionality": {
|
|
2097
|
+
js: "3.16.0",
|
|
2098
|
+
android: "11.16.0",
|
|
2099
|
+
ios: "11.16.0"
|
|
1958
2100
|
}
|
|
1959
2101
|
},
|
|
1960
2102
|
expression: {
|
|
@@ -1970,8 +2112,14 @@ var layout_building = {
|
|
|
1970
2112
|
"private": true,
|
|
1971
2113
|
"sdk-support": {
|
|
1972
2114
|
"basic functionality": {
|
|
2115
|
+
js: "3.16.0",
|
|
2116
|
+
android: "11.16.0",
|
|
2117
|
+
ios: "11.16.0"
|
|
1973
2118
|
},
|
|
1974
2119
|
"data-driven styling": {
|
|
2120
|
+
js: "3.16.0",
|
|
2121
|
+
android: "11.16.0",
|
|
2122
|
+
ios: "11.16.0"
|
|
1975
2123
|
}
|
|
1976
2124
|
},
|
|
1977
2125
|
expression: {
|
|
@@ -1992,8 +2140,44 @@ var layout_building = {
|
|
|
1992
2140
|
"property-type": "data-driven",
|
|
1993
2141
|
"sdk-support": {
|
|
1994
2142
|
"basic functionality": {
|
|
2143
|
+
js: "3.16.0",
|
|
2144
|
+
android: "11.16.0",
|
|
2145
|
+
ios: "11.16.0"
|
|
2146
|
+
},
|
|
2147
|
+
"data-driven styling": {
|
|
2148
|
+
js: "3.16.0",
|
|
2149
|
+
android: "11.16.0",
|
|
2150
|
+
ios: "11.16.0"
|
|
2151
|
+
}
|
|
2152
|
+
},
|
|
2153
|
+
expression: {
|
|
2154
|
+
interpolated: false,
|
|
2155
|
+
parameters: [
|
|
2156
|
+
"feature"
|
|
2157
|
+
]
|
|
2158
|
+
},
|
|
2159
|
+
requires: [
|
|
2160
|
+
"building-facade"
|
|
2161
|
+
]
|
|
2162
|
+
},
|
|
2163
|
+
"building-facade-unit-width": {
|
|
2164
|
+
type: "number",
|
|
2165
|
+
minimum: 1,
|
|
2166
|
+
maximum: 20,
|
|
2167
|
+
"default": 3.1,
|
|
2168
|
+
doc: "Width of a floor. Think of this as measure how wide each unit should be. This effectively determines the number of units per each floor. Note that this does not affect the ground level facades (i.e. number of windows).",
|
|
2169
|
+
experimental: true,
|
|
2170
|
+
"property-type": "data-driven",
|
|
2171
|
+
"sdk-support": {
|
|
2172
|
+
"basic functionality": {
|
|
2173
|
+
js: "3.16.0",
|
|
2174
|
+
android: "11.16.0",
|
|
2175
|
+
ios: "11.16.0"
|
|
1995
2176
|
},
|
|
1996
2177
|
"data-driven styling": {
|
|
2178
|
+
js: "3.16.0",
|
|
2179
|
+
android: "11.16.0",
|
|
2180
|
+
ios: "11.16.0"
|
|
1997
2181
|
}
|
|
1998
2182
|
},
|
|
1999
2183
|
expression: {
|
|
@@ -2016,13 +2200,19 @@ var layout_building = {
|
|
|
2016
2200
|
0.9,
|
|
2017
2201
|
0.9
|
|
2018
2202
|
],
|
|
2019
|
-
doc: "Given as fractions, specifies the percentage of
|
|
2203
|
+
doc: "Given as fractions, specifies the percentage of unit area covered by windows when building-facade is enabled. Note that the area of a unit is ultimately determined by `building-facade-unit-width` and `building-facade-floors`.",
|
|
2020
2204
|
experimental: true,
|
|
2021
2205
|
"property-type": "data-driven",
|
|
2022
2206
|
"sdk-support": {
|
|
2023
2207
|
"basic functionality": {
|
|
2208
|
+
js: "3.16.0",
|
|
2209
|
+
android: "11.16.0",
|
|
2210
|
+
ios: "11.16.0"
|
|
2024
2211
|
},
|
|
2025
2212
|
"data-driven styling": {
|
|
2213
|
+
js: "3.16.0",
|
|
2214
|
+
android: "11.16.0",
|
|
2215
|
+
ios: "11.16.0"
|
|
2026
2216
|
}
|
|
2027
2217
|
},
|
|
2028
2218
|
expression: {
|
|
@@ -2066,8 +2256,14 @@ var layout_building = {
|
|
|
2066
2256
|
"private": true,
|
|
2067
2257
|
"sdk-support": {
|
|
2068
2258
|
"basic functionality": {
|
|
2259
|
+
js: "3.16.0",
|
|
2260
|
+
android: "11.16.0",
|
|
2261
|
+
ios: "11.16.0"
|
|
2069
2262
|
},
|
|
2070
2263
|
"data-driven styling": {
|
|
2264
|
+
js: "3.16.0",
|
|
2265
|
+
android: "11.16.0",
|
|
2266
|
+
ios: "11.16.0"
|
|
2071
2267
|
}
|
|
2072
2268
|
},
|
|
2073
2269
|
expression: {
|
|
@@ -2089,8 +2285,14 @@ var layout_building = {
|
|
|
2089
2285
|
"private": true,
|
|
2090
2286
|
"sdk-support": {
|
|
2091
2287
|
"basic functionality": {
|
|
2288
|
+
js: "3.16.0",
|
|
2289
|
+
android: "11.16.0",
|
|
2290
|
+
ios: "11.16.0"
|
|
2092
2291
|
},
|
|
2093
2292
|
"data-driven styling": {
|
|
2293
|
+
js: "3.16.0",
|
|
2294
|
+
android: "11.16.0",
|
|
2295
|
+
ios: "11.16.0"
|
|
2094
2296
|
}
|
|
2095
2297
|
},
|
|
2096
2298
|
expression: {
|
|
@@ -2112,14 +2314,114 @@ var layout_building = {
|
|
|
2112
2314
|
"private": true,
|
|
2113
2315
|
"sdk-support": {
|
|
2114
2316
|
"basic functionality": {
|
|
2317
|
+
js: "3.16.0",
|
|
2318
|
+
android: "11.16.0",
|
|
2319
|
+
ios: "11.16.0"
|
|
2115
2320
|
},
|
|
2116
2321
|
"data-driven styling": {
|
|
2322
|
+
js: "3.16.0",
|
|
2323
|
+
android: "11.16.0",
|
|
2324
|
+
ios: "11.16.0"
|
|
2117
2325
|
}
|
|
2118
2326
|
},
|
|
2119
2327
|
expression: {
|
|
2120
2328
|
interpolated: false
|
|
2121
2329
|
},
|
|
2122
2330
|
"property-type": "data-driven"
|
|
2331
|
+
},
|
|
2332
|
+
"building-flood-light-wall-radius": {
|
|
2333
|
+
"property-type": "data-driven",
|
|
2334
|
+
type: "number",
|
|
2335
|
+
experimental: true,
|
|
2336
|
+
units: "meters",
|
|
2337
|
+
"default": 0,
|
|
2338
|
+
minimum: 0,
|
|
2339
|
+
doc: "The extent of the flood light effect on the walls of the buildings in meters.",
|
|
2340
|
+
requires: [
|
|
2341
|
+
"lights"
|
|
2342
|
+
],
|
|
2343
|
+
transition: true,
|
|
2344
|
+
expression: {
|
|
2345
|
+
interpolated: true,
|
|
2346
|
+
parameters: [
|
|
2347
|
+
"feature",
|
|
2348
|
+
"feature-state"
|
|
2349
|
+
]
|
|
2350
|
+
},
|
|
2351
|
+
"sdk-support": {
|
|
2352
|
+
"basic functionality": {
|
|
2353
|
+
js: "3.16.0",
|
|
2354
|
+
android: "11.16.0",
|
|
2355
|
+
ios: "11.16.0"
|
|
2356
|
+
},
|
|
2357
|
+
"data-driven styling": {
|
|
2358
|
+
js: "3.16.0",
|
|
2359
|
+
android: "11.16.0",
|
|
2360
|
+
ios: "11.16.0"
|
|
2361
|
+
}
|
|
2362
|
+
}
|
|
2363
|
+
},
|
|
2364
|
+
"building-flood-light-ground-radius": {
|
|
2365
|
+
"property-type": "data-driven",
|
|
2366
|
+
type: "number",
|
|
2367
|
+
experimental: true,
|
|
2368
|
+
units: "meters",
|
|
2369
|
+
"default": 0,
|
|
2370
|
+
doc: "The extent of the flood light effect on the ground beneath the buildings in meters.",
|
|
2371
|
+
requires: [
|
|
2372
|
+
"lights"
|
|
2373
|
+
],
|
|
2374
|
+
transition: true,
|
|
2375
|
+
expression: {
|
|
2376
|
+
interpolated: true,
|
|
2377
|
+
parameters: [
|
|
2378
|
+
"feature",
|
|
2379
|
+
"feature-state"
|
|
2380
|
+
]
|
|
2381
|
+
},
|
|
2382
|
+
"sdk-support": {
|
|
2383
|
+
"basic functionality": {
|
|
2384
|
+
js: "3.16.0",
|
|
2385
|
+
android: "11.16.0",
|
|
2386
|
+
ios: "11.16.0"
|
|
2387
|
+
},
|
|
2388
|
+
"data-driven styling": {
|
|
2389
|
+
js: "3.16.0",
|
|
2390
|
+
android: "11.16.0",
|
|
2391
|
+
ios: "11.16.0"
|
|
2392
|
+
}
|
|
2393
|
+
}
|
|
2394
|
+
},
|
|
2395
|
+
"building-flip-roof-orientation": {
|
|
2396
|
+
"property-type": "data-driven",
|
|
2397
|
+
type: "boolean",
|
|
2398
|
+
experimental: true,
|
|
2399
|
+
units: "meters",
|
|
2400
|
+
"default": false,
|
|
2401
|
+
doc: "Flips the orientation of the roofs for the buildings. This only affects simple geometries. Namely buildings whose footprints form a quadrilateral. By default (false), the roof ridge takes the direction of the longer edge of the quadrilateral.",
|
|
2402
|
+
transition: true,
|
|
2403
|
+
requires: [
|
|
2404
|
+
"building-roof-shape"
|
|
2405
|
+
],
|
|
2406
|
+
expression: {
|
|
2407
|
+
interpolated: true,
|
|
2408
|
+
parameters: [
|
|
2409
|
+
"feature",
|
|
2410
|
+
"feature-state"
|
|
2411
|
+
]
|
|
2412
|
+
},
|
|
2413
|
+
"sdk-support": {
|
|
2414
|
+
"basic functionality": {
|
|
2415
|
+
js: "3.16.0",
|
|
2416
|
+
android: "11.16.0",
|
|
2417
|
+
ios: "11.16.0"
|
|
2418
|
+
},
|
|
2419
|
+
"data-driven styling": {
|
|
2420
|
+
js: "3.16.0",
|
|
2421
|
+
android: "11.16.0",
|
|
2422
|
+
ios: "11.16.0"
|
|
2423
|
+
}
|
|
2424
|
+
}
|
|
2123
2425
|
}
|
|
2124
2426
|
};
|
|
2125
2427
|
var layout_line = {
|
|
@@ -2602,6 +2904,11 @@ var layout_symbol = {
|
|
|
2602
2904
|
ios: "11.9.0"
|
|
2603
2905
|
}
|
|
2604
2906
|
},
|
|
2907
|
+
requires: [
|
|
2908
|
+
{
|
|
2909
|
+
"symbol-z-elevate": true
|
|
2910
|
+
}
|
|
2911
|
+
],
|
|
2605
2912
|
expression: {
|
|
2606
2913
|
interpolated: false,
|
|
2607
2914
|
parameters: [
|
|
@@ -6776,6 +7083,9 @@ var paint_building = {
|
|
|
6776
7083
|
"private": true,
|
|
6777
7084
|
"sdk-support": {
|
|
6778
7085
|
"basic functionality": {
|
|
7086
|
+
js: "3.16.0",
|
|
7087
|
+
android: "11.16.0",
|
|
7088
|
+
ios: "11.16.0"
|
|
6779
7089
|
}
|
|
6780
7090
|
},
|
|
6781
7091
|
expression: {
|
|
@@ -6803,6 +7113,9 @@ var paint_building = {
|
|
|
6803
7113
|
doc: "Controls the intensity of ambient occlusion when shading concave angles between walls and roof crevices and windows.",
|
|
6804
7114
|
"sdk-support": {
|
|
6805
7115
|
"basic functionality": {
|
|
7116
|
+
js: "3.16.0",
|
|
7117
|
+
android: "11.16.0",
|
|
7118
|
+
ios: "11.16.0"
|
|
6806
7119
|
}
|
|
6807
7120
|
}
|
|
6808
7121
|
},
|
|
@@ -6824,6 +7137,9 @@ var paint_building = {
|
|
|
6824
7137
|
doc: "Controls the intensity of shading near ground",
|
|
6825
7138
|
"sdk-support": {
|
|
6826
7139
|
"basic functionality": {
|
|
7140
|
+
js: "3.16.0",
|
|
7141
|
+
android: "11.16.0",
|
|
7142
|
+
ios: "11.16.0"
|
|
6827
7143
|
}
|
|
6828
7144
|
}
|
|
6829
7145
|
},
|
|
@@ -6844,6 +7160,9 @@ var paint_building = {
|
|
|
6844
7160
|
doc: "The extent of the ambient occlusion effect on the ground beneath the procedural buildings in meters.",
|
|
6845
7161
|
"sdk-support": {
|
|
6846
7162
|
"basic functionality": {
|
|
7163
|
+
js: "3.16.0",
|
|
7164
|
+
android: "11.16.0",
|
|
7165
|
+
ios: "11.16.0"
|
|
6847
7166
|
}
|
|
6848
7167
|
}
|
|
6849
7168
|
},
|
|
@@ -6865,6 +7184,9 @@ var paint_building = {
|
|
|
6865
7184
|
},
|
|
6866
7185
|
"sdk-support": {
|
|
6867
7186
|
"basic functionality": {
|
|
7187
|
+
js: "3.16.0",
|
|
7188
|
+
android: "11.16.0",
|
|
7189
|
+
ios: "11.16.0"
|
|
6868
7190
|
}
|
|
6869
7191
|
}
|
|
6870
7192
|
},
|
|
@@ -6885,6 +7207,9 @@ var paint_building = {
|
|
|
6885
7207
|
},
|
|
6886
7208
|
"sdk-support": {
|
|
6887
7209
|
"basic functionality": {
|
|
7210
|
+
js: "3.16.0",
|
|
7211
|
+
android: "11.16.0",
|
|
7212
|
+
ios: "11.16.0"
|
|
6888
7213
|
}
|
|
6889
7214
|
}
|
|
6890
7215
|
},
|
|
@@ -6897,6 +7222,9 @@ var paint_building = {
|
|
|
6897
7222
|
"private": true,
|
|
6898
7223
|
"sdk-support": {
|
|
6899
7224
|
"basic functionality": {
|
|
7225
|
+
js: "3.16.0",
|
|
7226
|
+
android: "11.16.0",
|
|
7227
|
+
ios: "11.16.0"
|
|
6900
7228
|
}
|
|
6901
7229
|
},
|
|
6902
7230
|
"property-type": "data-constant"
|
|
@@ -6911,8 +7239,14 @@ var paint_building = {
|
|
|
6911
7239
|
transition: false,
|
|
6912
7240
|
"sdk-support": {
|
|
6913
7241
|
"basic functionality": {
|
|
7242
|
+
js: "3.16.0",
|
|
7243
|
+
android: "11.16.0",
|
|
7244
|
+
ios: "11.16.0"
|
|
6914
7245
|
},
|
|
6915
7246
|
"data-driven styling": {
|
|
7247
|
+
js: "3.16.0",
|
|
7248
|
+
android: "11.16.0",
|
|
7249
|
+
ios: "11.16.0"
|
|
6916
7250
|
}
|
|
6917
7251
|
},
|
|
6918
7252
|
expression: {
|
|
@@ -6936,8 +7270,14 @@ var paint_building = {
|
|
|
6936
7270
|
"private": true,
|
|
6937
7271
|
"sdk-support": {
|
|
6938
7272
|
"basic functionality": {
|
|
7273
|
+
js: "3.16.0",
|
|
7274
|
+
android: "11.16.0",
|
|
7275
|
+
ios: "11.16.0"
|
|
6939
7276
|
},
|
|
6940
7277
|
"data-driven styling": {
|
|
7278
|
+
js: "3.16.0",
|
|
7279
|
+
android: "11.16.0",
|
|
7280
|
+
ios: "11.16.0"
|
|
6941
7281
|
}
|
|
6942
7282
|
},
|
|
6943
7283
|
expression: {
|
|
@@ -6960,6 +7300,9 @@ var paint_building = {
|
|
|
6960
7300
|
"property-type": "data-constant",
|
|
6961
7301
|
"sdk-support": {
|
|
6962
7302
|
"basic functionality": {
|
|
7303
|
+
js: "3.16.0",
|
|
7304
|
+
android: "11.16.0",
|
|
7305
|
+
ios: "11.16.0"
|
|
6963
7306
|
}
|
|
6964
7307
|
},
|
|
6965
7308
|
expression: {
|
|
@@ -6982,9 +7325,91 @@ var paint_building = {
|
|
|
6982
7325
|
},
|
|
6983
7326
|
"sdk-support": {
|
|
6984
7327
|
"basic functionality": {
|
|
7328
|
+
js: "3.16.0",
|
|
7329
|
+
android: "11.16.0",
|
|
7330
|
+
ios: "11.16.0"
|
|
6985
7331
|
}
|
|
6986
7332
|
},
|
|
6987
7333
|
"property-type": "data-constant"
|
|
7334
|
+
},
|
|
7335
|
+
"building-flood-light-color": {
|
|
7336
|
+
"property-type": "data-constant",
|
|
7337
|
+
type: "color",
|
|
7338
|
+
experimental: true,
|
|
7339
|
+
"default": "#ffffff",
|
|
7340
|
+
doc: "The color of the flood light effect on the walls of the buildings.",
|
|
7341
|
+
requires: [
|
|
7342
|
+
"lights"
|
|
7343
|
+
],
|
|
7344
|
+
"use-theme": true,
|
|
7345
|
+
transition: true,
|
|
7346
|
+
expression: {
|
|
7347
|
+
interpolated: true,
|
|
7348
|
+
parameters: [
|
|
7349
|
+
"zoom",
|
|
7350
|
+
"measure-light"
|
|
7351
|
+
]
|
|
7352
|
+
},
|
|
7353
|
+
"sdk-support": {
|
|
7354
|
+
"basic functionality": {
|
|
7355
|
+
js: "3.16.0",
|
|
7356
|
+
android: "11.16.0",
|
|
7357
|
+
ios: "11.16.0"
|
|
7358
|
+
}
|
|
7359
|
+
}
|
|
7360
|
+
},
|
|
7361
|
+
"building-flood-light-intensity": {
|
|
7362
|
+
"property-type": "data-constant",
|
|
7363
|
+
type: "number",
|
|
7364
|
+
experimental: true,
|
|
7365
|
+
"default": 0,
|
|
7366
|
+
minimum: 0,
|
|
7367
|
+
maximum: 1,
|
|
7368
|
+
doc: "The intensity of the flood light color.",
|
|
7369
|
+
requires: [
|
|
7370
|
+
"lights"
|
|
7371
|
+
],
|
|
7372
|
+
transition: true,
|
|
7373
|
+
expression: {
|
|
7374
|
+
interpolated: true,
|
|
7375
|
+
parameters: [
|
|
7376
|
+
"zoom",
|
|
7377
|
+
"measure-light"
|
|
7378
|
+
]
|
|
7379
|
+
},
|
|
7380
|
+
"sdk-support": {
|
|
7381
|
+
"basic functionality": {
|
|
7382
|
+
js: "3.16.0",
|
|
7383
|
+
android: "11.16.0",
|
|
7384
|
+
ios: "11.16.0"
|
|
7385
|
+
}
|
|
7386
|
+
}
|
|
7387
|
+
},
|
|
7388
|
+
"building-flood-light-ground-attenuation": {
|
|
7389
|
+
"property-type": "data-constant",
|
|
7390
|
+
type: "number",
|
|
7391
|
+
experimental: true,
|
|
7392
|
+
"default": 0.69,
|
|
7393
|
+
minimum: 0,
|
|
7394
|
+
maximum: 1,
|
|
7395
|
+
doc: "Provides a control to futher fine-tune the look of the flood light on the ground beneath the buildings. Lower values give the effect a more solid look while higher values make it smoother.",
|
|
7396
|
+
requires: [
|
|
7397
|
+
"lights"
|
|
7398
|
+
],
|
|
7399
|
+
transition: true,
|
|
7400
|
+
expression: {
|
|
7401
|
+
interpolated: true,
|
|
7402
|
+
parameters: [
|
|
7403
|
+
"zoom"
|
|
7404
|
+
]
|
|
7405
|
+
},
|
|
7406
|
+
"sdk-support": {
|
|
7407
|
+
"basic functionality": {
|
|
7408
|
+
js: "3.16.0",
|
|
7409
|
+
android: "11.16.0",
|
|
7410
|
+
ios: "11.16.0"
|
|
7411
|
+
}
|
|
7412
|
+
}
|
|
6988
7413
|
}
|
|
6989
7414
|
};
|
|
6990
7415
|
var paint_line = {
|
|
@@ -8770,6 +9195,11 @@ var paint_symbol = {
|
|
|
8770
9195
|
ios: "11.7.0"
|
|
8771
9196
|
}
|
|
8772
9197
|
},
|
|
9198
|
+
requires: [
|
|
9199
|
+
{
|
|
9200
|
+
"symbol-z-elevate": true
|
|
9201
|
+
}
|
|
9202
|
+
],
|
|
8773
9203
|
expression: {
|
|
8774
9204
|
interpolated: true,
|
|
8775
9205
|
parameters: [
|
|
@@ -10064,6 +10494,32 @@ var paint_model = {
|
|
|
10064
10494
|
js: "3.5.0"
|
|
10065
10495
|
}
|
|
10066
10496
|
}
|
|
10497
|
+
},
|
|
10498
|
+
"model-elevation-reference": {
|
|
10499
|
+
type: "enum",
|
|
10500
|
+
doc: "Selects the base of the model. Some modes might require precomputed elevation data in the tileset.",
|
|
10501
|
+
values: {
|
|
10502
|
+
sea: {
|
|
10503
|
+
doc: "Elevated rendering is enabled. Use this mode to elevate models relative to the sea level."
|
|
10504
|
+
},
|
|
10505
|
+
ground: {
|
|
10506
|
+
doc: "Elevated rendering is enabled. Use this mode to elevate models relative to the ground's height below them."
|
|
10507
|
+
},
|
|
10508
|
+
"hd-road-markup": {
|
|
10509
|
+
doc: "Elevated rendering is enabled. Use this mode to describe additive and stackable features that should exist only on top of road polygons."
|
|
10510
|
+
}
|
|
10511
|
+
},
|
|
10512
|
+
"default": "ground",
|
|
10513
|
+
transition: false,
|
|
10514
|
+
expression: {
|
|
10515
|
+
interpolated: false
|
|
10516
|
+
},
|
|
10517
|
+
"property-type": "data-constant",
|
|
10518
|
+
experimental: true,
|
|
10519
|
+
"sdk-support": {
|
|
10520
|
+
"basic functionality": {
|
|
10521
|
+
}
|
|
10522
|
+
}
|
|
10067
10523
|
}
|
|
10068
10524
|
};
|
|
10069
10525
|
var transition = {
|
|
@@ -10208,6 +10664,12 @@ var v8 = {
|
|
|
10208
10664
|
source_geojson: source_geojson,
|
|
10209
10665
|
source_video: source_video,
|
|
10210
10666
|
source_image: source_image,
|
|
10667
|
+
modelNodeOverride: modelNodeOverride,
|
|
10668
|
+
modelNodeOverrides: modelNodeOverrides,
|
|
10669
|
+
modelMaterialOverride: modelMaterialOverride,
|
|
10670
|
+
modelMaterialOverrides: modelMaterialOverrides,
|
|
10671
|
+
modelSourceModel: modelSourceModel,
|
|
10672
|
+
modelSourceModels: modelSourceModels,
|
|
10211
10673
|
source_model: source_model,
|
|
10212
10674
|
layer: layer,
|
|
10213
10675
|
appearance: appearance,
|
|
@@ -11617,15 +12079,6 @@ function migrateToV8 (style) {
|
|
|
11617
12079
|
return style;
|
|
11618
12080
|
}
|
|
11619
12081
|
|
|
11620
|
-
function extend (output, ...inputs) {
|
|
11621
|
-
for (const input of inputs) {
|
|
11622
|
-
for (const k in input) {
|
|
11623
|
-
output[k] = input[k];
|
|
11624
|
-
}
|
|
11625
|
-
}
|
|
11626
|
-
return output;
|
|
11627
|
-
}
|
|
11628
|
-
|
|
11629
12082
|
let ParsingError$1 = class ParsingError extends Error {
|
|
11630
12083
|
constructor(key, message) {
|
|
11631
12084
|
super(message);
|
|
@@ -13638,7 +14091,11 @@ class FormatExpression {
|
|
|
13638
14091
|
if (typeEquals(typeOf(evaluatedContent), ResolvedImageType)) {
|
|
13639
14092
|
return new FormattedSection('', evaluatedContent, null, null, null);
|
|
13640
14093
|
}
|
|
13641
|
-
return new FormattedSection(
|
|
14094
|
+
return new FormattedSection(// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
14095
|
+
toString(evaluatedContent), null, // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
14096
|
+
section.scale ? section.scale.evaluate(ctx) : null, // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
14097
|
+
section.font ? section.font.evaluate(ctx).join(',') : null, // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
14098
|
+
section.textColor ? section.textColor.evaluate(ctx) : null);
|
|
13642
14099
|
};
|
|
13643
14100
|
return new Formatted(this.sections.map(evaluateSection));
|
|
13644
14101
|
}
|
|
@@ -13796,10 +14253,12 @@ class ImageExpression {
|
|
|
13796
14253
|
}
|
|
13797
14254
|
evaluate(ctx) {
|
|
13798
14255
|
const primaryId = {
|
|
14256
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
13799
14257
|
name: this.namePrimary.evaluate(ctx),
|
|
13800
14258
|
iconsetId: this.iconsetIdPrimary
|
|
13801
14259
|
};
|
|
13802
14260
|
const secondaryId = this.nameSecondary ? {
|
|
14261
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
13803
14262
|
name: this.nameSecondary.evaluate(ctx),
|
|
13804
14263
|
iconsetId: this.iconsetIdSecondary
|
|
13805
14264
|
} : void 0;
|
|
@@ -15944,7 +16403,8 @@ function linesToGeometryDistance(originGeometry, canonical, geometry) {
|
|
|
15944
16403
|
}
|
|
15945
16404
|
const ruler = new CheapRuler(lngLatLines[0][0][1], 'meters');
|
|
15946
16405
|
if (geometry.type === 'Point' || geometry.type === 'MultiPoint' || geometry.type === 'LineString') {
|
|
15947
|
-
return pointSetToLinesDistance(geometry.type === 'Point' ? [geometry.coordinates] : geometry.coordinates,
|
|
16406
|
+
return pointSetToLinesDistance(geometry.type === 'Point' ? [geometry.coordinates] : geometry.coordinates, // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
16407
|
+
geometry.type === 'LineString', lngLatLines, ruler);
|
|
15948
16408
|
}
|
|
15949
16409
|
if (geometry.type === 'MultiLineString') {
|
|
15950
16410
|
let dist = Infinity;
|
|
@@ -15981,7 +16441,8 @@ function polygonsToGeometryDistance(originGeometry, canonical, geometry) {
|
|
|
15981
16441
|
}
|
|
15982
16442
|
const ruler = new CheapRuler(lngLatPolygons[0][0][0][1], 'meters');
|
|
15983
16443
|
if (geometry.type === 'Point' || geometry.type === 'MultiPoint' || geometry.type === 'LineString') {
|
|
15984
|
-
return pointSetToPolygonsDistance(geometry.type === 'Point' ? [geometry.coordinates] : geometry.coordinates,
|
|
16444
|
+
return pointSetToPolygonsDistance(geometry.type === 'Point' ? [geometry.coordinates] : geometry.coordinates, // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
16445
|
+
geometry.type === 'LineString', lngLatPolygons, ruler);
|
|
15985
16446
|
}
|
|
15986
16447
|
if (geometry.type === 'MultiLineString') {
|
|
15987
16448
|
let dist = Infinity;
|
|
@@ -15995,7 +16456,8 @@ function polygonsToGeometryDistance(originGeometry, canonical, geometry) {
|
|
|
15995
16456
|
return dist;
|
|
15996
16457
|
}
|
|
15997
16458
|
if (geometry.type === 'Polygon' || geometry.type === 'MultiPolygon') {
|
|
15998
|
-
return polygonsToPolygonsDistance(geometry.type === 'Polygon' ? [geometry.coordinates] : geometry.coordinates,
|
|
16459
|
+
return polygonsToPolygonsDistance(geometry.type === 'Polygon' ? [geometry.coordinates] : geometry.coordinates, // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
16460
|
+
lngLatPolygons, ruler);
|
|
15999
16461
|
}
|
|
16000
16462
|
return null;
|
|
16001
16463
|
}
|
|
@@ -16147,12 +16609,14 @@ function makeConfigFQID(id, ownScope, contextScope) {
|
|
|
16147
16609
|
}
|
|
16148
16610
|
function coerceValue(type, value) {
|
|
16149
16611
|
switch (type) {
|
|
16612
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
16150
16613
|
case 'string':
|
|
16151
16614
|
return toString(value);
|
|
16152
16615
|
case 'number':
|
|
16153
16616
|
return +value;
|
|
16154
16617
|
case 'boolean':
|
|
16155
16618
|
return !!value;
|
|
16619
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
16156
16620
|
case 'color':
|
|
16157
16621
|
return Color.parse(value);
|
|
16158
16622
|
case 'formatted': {
|
|
@@ -16949,8 +17413,11 @@ class Coalesce {
|
|
|
16949
17413
|
outputType = outputType || parsed.type;
|
|
16950
17414
|
parsedArgs.push(parsed);
|
|
16951
17415
|
}
|
|
16952
|
-
const needsAnnotation = expectedType &&
|
|
16953
|
-
|
|
17416
|
+
const needsAnnotation = expectedType && // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
|
|
17417
|
+
parsedArgs.some(arg => checkSubtype(expectedType, arg.type));
|
|
17418
|
+
return needsAnnotation ? // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
17419
|
+
new Coalesce(ValueType, parsedArgs) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
17420
|
+
new Coalesce(outputType, parsedArgs);
|
|
16954
17421
|
}
|
|
16955
17422
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16956
17423
|
evaluate(ctx) {
|
|
@@ -17767,10 +18234,14 @@ class NumberFormat {
|
|
|
17767
18234
|
evaluate(ctx) {
|
|
17768
18235
|
return new Intl.NumberFormat(this.locale ? this.locale.evaluate(ctx) : [], {
|
|
17769
18236
|
style: this.currency && 'currency' || this.unit && 'unit' || 'decimal',
|
|
18237
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
17770
18238
|
currency: this.currency ? this.currency.evaluate(ctx) : void 0,
|
|
18239
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
17771
18240
|
unit: this.unit ? this.unit.evaluate(ctx) : void 0,
|
|
18241
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
17772
18242
|
minimumFractionDigits: this.minFractionDigits ? this.minFractionDigits.evaluate(ctx) : void 0,
|
|
17773
|
-
|
|
18243
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
18244
|
+
maximumFractionDigits: this.maxFractionDigits ? this.maxFractionDigits.evaluate(ctx) : void 0 // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
17774
18245
|
}).format(this.number.evaluate(ctx));
|
|
17775
18246
|
}
|
|
17776
18247
|
eachChild(fn) {
|
|
@@ -17973,6 +18444,7 @@ CompoundExpression.register(expressions, {
|
|
|
17973
18444
|
'error': [
|
|
17974
18445
|
ErrorType,
|
|
17975
18446
|
[StringType],
|
|
18447
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
17976
18448
|
(ctx, [v]) => {
|
|
17977
18449
|
throw new RuntimeError(v.evaluate(ctx));
|
|
17978
18450
|
}
|
|
@@ -17980,6 +18452,7 @@ CompoundExpression.register(expressions, {
|
|
|
17980
18452
|
'typeof': [
|
|
17981
18453
|
StringType,
|
|
17982
18454
|
[ValueType],
|
|
18455
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
17983
18456
|
(ctx, [v]) => toString$1(typeOf(v.evaluate(ctx)))
|
|
17984
18457
|
],
|
|
17985
18458
|
'to-rgba': [
|
|
@@ -18039,6 +18512,7 @@ CompoundExpression.register(expressions, {
|
|
|
18039
18512
|
overloads: [
|
|
18040
18513
|
[
|
|
18041
18514
|
[StringType],
|
|
18515
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18042
18516
|
(ctx, [key]) => has(key.evaluate(ctx), ctx.properties())
|
|
18043
18517
|
],
|
|
18044
18518
|
[
|
|
@@ -18046,6 +18520,7 @@ CompoundExpression.register(expressions, {
|
|
|
18046
18520
|
StringType,
|
|
18047
18521
|
ObjectType
|
|
18048
18522
|
],
|
|
18523
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18049
18524
|
(ctx, [key, obj]) => has(key.evaluate(ctx), obj.evaluate(ctx))
|
|
18050
18525
|
]
|
|
18051
18526
|
]
|
|
@@ -18055,6 +18530,7 @@ CompoundExpression.register(expressions, {
|
|
|
18055
18530
|
overloads: [
|
|
18056
18531
|
[
|
|
18057
18532
|
[StringType],
|
|
18533
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18058
18534
|
(ctx, [key]) => get(key.evaluate(ctx), ctx.properties())
|
|
18059
18535
|
],
|
|
18060
18536
|
[
|
|
@@ -18062,7 +18538,7 @@ CompoundExpression.register(expressions, {
|
|
|
18062
18538
|
StringType,
|
|
18063
18539
|
ObjectType
|
|
18064
18540
|
],
|
|
18065
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
18541
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-argument
|
|
18066
18542
|
(ctx, [key, obj]) => get(key.evaluate(ctx), obj.evaluate(ctx))
|
|
18067
18543
|
]
|
|
18068
18544
|
]
|
|
@@ -18070,6 +18546,7 @@ CompoundExpression.register(expressions, {
|
|
|
18070
18546
|
'feature-state': [
|
|
18071
18547
|
ValueType,
|
|
18072
18548
|
[StringType],
|
|
18549
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18073
18550
|
(ctx, [key]) => get(key.evaluate(ctx), ctx.featureState || {})
|
|
18074
18551
|
],
|
|
18075
18552
|
'properties': [
|
|
@@ -18110,6 +18587,7 @@ CompoundExpression.register(expressions, {
|
|
|
18110
18587
|
'measure-light': [
|
|
18111
18588
|
NumberType,
|
|
18112
18589
|
[StringType],
|
|
18590
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18113
18591
|
(ctx, [s]) => ctx.measureLight(s.evaluate(ctx))
|
|
18114
18592
|
],
|
|
18115
18593
|
'heatmap-density': [
|
|
@@ -18217,73 +18695,85 @@ CompoundExpression.register(expressions, {
|
|
|
18217
18695
|
NumberType,
|
|
18218
18696
|
NumberType
|
|
18219
18697
|
],
|
|
18698
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18220
18699
|
(ctx, [b, e]) => Math.pow(b.evaluate(ctx), e.evaluate(ctx))
|
|
18221
18700
|
],
|
|
18222
18701
|
'sqrt': [
|
|
18223
18702
|
NumberType,
|
|
18224
18703
|
[NumberType],
|
|
18704
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18225
18705
|
(ctx, [x]) => Math.sqrt(x.evaluate(ctx))
|
|
18226
18706
|
],
|
|
18227
18707
|
'log10': [
|
|
18228
18708
|
NumberType,
|
|
18229
18709
|
[NumberType],
|
|
18710
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18230
18711
|
(ctx, [n]) => Math.log(n.evaluate(ctx)) / Math.LN10
|
|
18231
18712
|
],
|
|
18232
18713
|
'ln': [
|
|
18233
18714
|
NumberType,
|
|
18234
18715
|
[NumberType],
|
|
18716
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18235
18717
|
(ctx, [n]) => Math.log(n.evaluate(ctx))
|
|
18236
18718
|
],
|
|
18237
18719
|
'log2': [
|
|
18238
18720
|
NumberType,
|
|
18239
18721
|
[NumberType],
|
|
18240
|
-
|
|
18722
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18723
|
+
(ctx, [n]) => Math.log2(n.evaluate(ctx))
|
|
18241
18724
|
],
|
|
18242
18725
|
'sin': [
|
|
18243
18726
|
NumberType,
|
|
18244
18727
|
[NumberType],
|
|
18728
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18245
18729
|
(ctx, [n]) => Math.sin(n.evaluate(ctx))
|
|
18246
18730
|
],
|
|
18247
18731
|
'cos': [
|
|
18248
18732
|
NumberType,
|
|
18249
18733
|
[NumberType],
|
|
18734
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18250
18735
|
(ctx, [n]) => Math.cos(n.evaluate(ctx))
|
|
18251
18736
|
],
|
|
18252
18737
|
'tan': [
|
|
18253
18738
|
NumberType,
|
|
18254
18739
|
[NumberType],
|
|
18740
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18255
18741
|
(ctx, [n]) => Math.tan(n.evaluate(ctx))
|
|
18256
18742
|
],
|
|
18257
18743
|
'asin': [
|
|
18258
18744
|
NumberType,
|
|
18259
18745
|
[NumberType],
|
|
18746
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18260
18747
|
(ctx, [n]) => Math.asin(n.evaluate(ctx))
|
|
18261
18748
|
],
|
|
18262
18749
|
'acos': [
|
|
18263
18750
|
NumberType,
|
|
18264
18751
|
[NumberType],
|
|
18752
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18265
18753
|
(ctx, [n]) => Math.acos(n.evaluate(ctx))
|
|
18266
18754
|
],
|
|
18267
18755
|
'atan': [
|
|
18268
18756
|
NumberType,
|
|
18269
18757
|
[NumberType],
|
|
18758
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18270
18759
|
(ctx, [n]) => Math.atan(n.evaluate(ctx))
|
|
18271
18760
|
],
|
|
18272
18761
|
'min': [
|
|
18273
18762
|
NumberType,
|
|
18274
18763
|
varargs(NumberType),
|
|
18275
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
18764
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-argument
|
|
18276
18765
|
(ctx, args) => Math.min(...args.map(arg => arg.evaluate(ctx)))
|
|
18277
18766
|
],
|
|
18278
18767
|
'max': [
|
|
18279
18768
|
NumberType,
|
|
18280
18769
|
varargs(NumberType),
|
|
18281
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
18770
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-argument
|
|
18282
18771
|
(ctx, args) => Math.max(...args.map(arg => arg.evaluate(ctx)))
|
|
18283
18772
|
],
|
|
18284
18773
|
'abs': [
|
|
18285
18774
|
NumberType,
|
|
18286
18775
|
[NumberType],
|
|
18776
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18287
18777
|
(ctx, [n]) => Math.abs(n.evaluate(ctx))
|
|
18288
18778
|
],
|
|
18289
18779
|
'round': [
|
|
@@ -18297,11 +18787,13 @@ CompoundExpression.register(expressions, {
|
|
|
18297
18787
|
'floor': [
|
|
18298
18788
|
NumberType,
|
|
18299
18789
|
[NumberType],
|
|
18790
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18300
18791
|
(ctx, [n]) => Math.floor(n.evaluate(ctx))
|
|
18301
18792
|
],
|
|
18302
18793
|
'ceil': [
|
|
18303
18794
|
NumberType,
|
|
18304
18795
|
[NumberType],
|
|
18796
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18305
18797
|
(ctx, [n]) => Math.ceil(n.evaluate(ctx))
|
|
18306
18798
|
],
|
|
18307
18799
|
'filter-==': [
|
|
@@ -18310,6 +18802,7 @@ CompoundExpression.register(expressions, {
|
|
|
18310
18802
|
StringType,
|
|
18311
18803
|
ValueType
|
|
18312
18804
|
],
|
|
18805
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
18313
18806
|
(ctx, [k, v]) => ctx.properties()[k.value] === v.value
|
|
18314
18807
|
],
|
|
18315
18808
|
'filter-id-==': [
|
|
@@ -18419,11 +18912,13 @@ CompoundExpression.register(expressions, {
|
|
|
18419
18912
|
'filter-type-in': [
|
|
18420
18913
|
BooleanType,
|
|
18421
18914
|
[array$1(StringType)],
|
|
18915
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
18422
18916
|
(ctx, [v]) => v.value.indexOf(ctx.geometryType()) >= 0
|
|
18423
18917
|
],
|
|
18424
18918
|
'filter-id-in': [
|
|
18425
18919
|
BooleanType,
|
|
18426
18920
|
[array$1(ValueType)],
|
|
18921
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
18427
18922
|
(ctx, [v]) => v.value.indexOf(ctx.id()) >= 0
|
|
18428
18923
|
],
|
|
18429
18924
|
'filter-in-small': [
|
|
@@ -18433,6 +18928,7 @@ CompoundExpression.register(expressions, {
|
|
|
18433
18928
|
array$1(ValueType)
|
|
18434
18929
|
],
|
|
18435
18930
|
// assumes v is an array literal
|
|
18931
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
18436
18932
|
(ctx, [k, v]) => v.value.indexOf(ctx.properties()[k.value]) >= 0
|
|
18437
18933
|
],
|
|
18438
18934
|
'filter-in-large': [
|
|
@@ -18442,6 +18938,7 @@ CompoundExpression.register(expressions, {
|
|
|
18442
18938
|
array$1(ValueType)
|
|
18443
18939
|
],
|
|
18444
18940
|
// assumes v is a array literal with values sorted in ascending order and of a single type
|
|
18941
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-argument
|
|
18445
18942
|
(ctx, [k, v]) => binarySearch(ctx.properties()[k.value], v.value, 0, v.value.length - 1)
|
|
18446
18943
|
],
|
|
18447
18944
|
'all': {
|
|
@@ -18510,24 +19007,25 @@ CompoundExpression.register(expressions, {
|
|
|
18510
19007
|
'upcase': [
|
|
18511
19008
|
StringType,
|
|
18512
19009
|
[StringType],
|
|
18513
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
19010
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
18514
19011
|
(ctx, [s]) => s.evaluate(ctx).toUpperCase()
|
|
18515
19012
|
],
|
|
18516
19013
|
'downcase': [
|
|
18517
19014
|
StringType,
|
|
18518
19015
|
[StringType],
|
|
18519
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
19016
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
18520
19017
|
(ctx, [s]) => s.evaluate(ctx).toLowerCase()
|
|
18521
19018
|
],
|
|
18522
19019
|
'concat': [
|
|
18523
19020
|
StringType,
|
|
18524
19021
|
varargs(ValueType),
|
|
19022
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
18525
19023
|
(ctx, args) => args.map(arg => toString(arg.evaluate(ctx))).join('')
|
|
18526
19024
|
],
|
|
18527
19025
|
'resolved-locale': [
|
|
18528
19026
|
StringType,
|
|
18529
19027
|
[CollatorType],
|
|
18530
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
19028
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
18531
19029
|
(ctx, [collator]) => collator.evaluate(ctx).resolvedLocale()
|
|
18532
19030
|
],
|
|
18533
19031
|
'random': [
|
|
@@ -18604,7 +19102,7 @@ function createFunction(parameters, propertySpec) {
|
|
|
18604
19102
|
const zoomDependent = zoomAndFeatureDependent || !featureDependent;
|
|
18605
19103
|
const type = parameters.type || (supportsInterpolation(propertySpec) ? 'exponential' : 'interval');
|
|
18606
19104
|
if (isColor) {
|
|
18607
|
-
parameters =
|
|
19105
|
+
parameters = Object.assign({}, parameters);
|
|
18608
19106
|
if (parameters.stops) {
|
|
18609
19107
|
parameters.stops = parameters.stops.map(stop => {
|
|
18610
19108
|
return [
|
|
@@ -18650,9 +19148,13 @@ function createFunction(parameters, propertySpec) {
|
|
|
18650
19148
|
const zoom = stop[0].zoom;
|
|
18651
19149
|
if (featureFunctions[zoom] === void 0) {
|
|
18652
19150
|
featureFunctions[zoom] = {
|
|
19151
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
18653
19152
|
zoom,
|
|
19153
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
18654
19154
|
type: parameters.type,
|
|
19155
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
18655
19156
|
property: parameters.property,
|
|
19157
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
18656
19158
|
default: parameters.default,
|
|
18657
19159
|
stops: []
|
|
18658
19160
|
};
|
|
@@ -18674,28 +19176,32 @@ function createFunction(parameters, propertySpec) {
|
|
|
18674
19176
|
return {
|
|
18675
19177
|
kind: 'composite',
|
|
18676
19178
|
interpolationType,
|
|
19179
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
18677
19180
|
interpolationFactor: Interpolate.interpolationFactor.bind(void 0, interpolationType),
|
|
18678
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
19181
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access
|
|
18679
19182
|
zoomStops: featureFunctionStops.map(s => s[0]),
|
|
18680
19183
|
evaluate({zoom}, properties) {
|
|
18681
19184
|
return evaluateExponentialFunction({
|
|
18682
19185
|
stops: featureFunctionStops,
|
|
19186
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
18683
19187
|
base: parameters.base
|
|
18684
19188
|
}, propertySpec, zoom).evaluate(zoom, properties);
|
|
18685
19189
|
}
|
|
18686
19190
|
};
|
|
18687
19191
|
} else if (zoomDependent) {
|
|
18688
|
-
const interpolationType = type === 'exponential' ?
|
|
19192
|
+
const interpolationType = type === 'exponential' ? // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
19193
|
+
{
|
|
18689
19194
|
name: 'exponential',
|
|
18690
19195
|
base: parameters.base !== void 0 ? parameters.base : 1
|
|
18691
19196
|
} : null;
|
|
18692
19197
|
return {
|
|
18693
19198
|
kind: 'camera',
|
|
18694
19199
|
interpolationType,
|
|
19200
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
18695
19201
|
interpolationFactor: Interpolate.interpolationFactor.bind(void 0, interpolationType),
|
|
18696
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
19202
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
18697
19203
|
zoomStops: parameters.stops.map(s => s[0]),
|
|
18698
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
19204
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call
|
|
18699
19205
|
evaluate: ({zoom}) => innerFun(parameters, propertySpec, zoom, hashedStops, categoricalKeyType)
|
|
18700
19206
|
};
|
|
18701
19207
|
} else {
|
|
@@ -18748,7 +19254,9 @@ function evaluateExponentialFunction(parameters, propertySpec, input) {
|
|
|
18748
19254
|
if (input >= parameters.stops[n - 1][0])
|
|
18749
19255
|
return parameters.stops[n - 1][1];
|
|
18750
19256
|
const index = findStopLessThanOrEqualTo(parameters.stops.map(stop => stop[0]), input);
|
|
18751
|
-
const t = interpolationFactor(input, base,
|
|
19257
|
+
const t = interpolationFactor(input, base, // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
19258
|
+
parameters.stops[index][0], // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
19259
|
+
parameters.stops[index + 1][0]);
|
|
18752
19260
|
const outputLower = parameters.stops[index][1];
|
|
18753
19261
|
const outputUpper = parameters.stops[index + 1][1];
|
|
18754
19262
|
let interp = interpolate$1[propertySpec.type] || identityFunction;
|
|
@@ -18932,16 +19440,20 @@ function createPropertyExpression(expression, propertySpec, scope, options, icon
|
|
|
18932
19440
|
return error([new ParsingError$1('', '"interpolate" expressions cannot be used with this property')]);
|
|
18933
19441
|
}
|
|
18934
19442
|
if (!zoomCurve) {
|
|
18935
|
-
return success(isFeatureConstant$1 && isLineProgressConstant ?
|
|
19443
|
+
return success(isFeatureConstant$1 && isLineProgressConstant ? // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
|
|
19444
|
+
new ZoomConstantExpression('constant', expression.value, isLightConstant, isLineProgressConstant) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
|
|
19445
|
+
new ZoomConstantExpression('source', expression.value, isLightConstant, isLineProgressConstant));
|
|
18936
19446
|
}
|
|
18937
19447
|
const interpolationType = zoomCurve instanceof Interpolate ? zoomCurve.interpolation : void 0;
|
|
18938
|
-
return success(isFeatureConstant$1 && isLineProgressConstant ?
|
|
19448
|
+
return success(isFeatureConstant$1 && isLineProgressConstant ? // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
|
|
19449
|
+
new ZoomDependentExpression('camera', expression.value, zoomCurve.labels, interpolationType, isLightConstant, isLineProgressConstant) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
|
|
19450
|
+
new ZoomDependentExpression('composite', expression.value, zoomCurve.labels, interpolationType, isLightConstant, isLineProgressConstant));
|
|
18939
19451
|
}
|
|
18940
19452
|
class StylePropertyFunction {
|
|
18941
19453
|
constructor(parameters, specification) {
|
|
18942
19454
|
this._parameters = parameters;
|
|
18943
19455
|
this._specification = specification;
|
|
18944
|
-
|
|
19456
|
+
Object.assign(this, createFunction(this._parameters, this._specification));
|
|
18945
19457
|
}
|
|
18946
19458
|
static deserialize(serialized) {
|
|
18947
19459
|
return new StylePropertyFunction(serialized._parameters, serialized._specification);
|
|
@@ -19431,7 +19943,9 @@ ${ JSON.stringify(filterExp, null, 2) }
|
|
|
19431
19943
|
filterFunc = filterFunc;
|
|
19432
19944
|
const needGeometry = geometryNeeded(staticFilter);
|
|
19433
19945
|
return {
|
|
19946
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
19434
19947
|
filter: filterFunc,
|
|
19948
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
19435
19949
|
dynamicFilter: dynamicFilterFunc ? dynamicFilterFunc : void 0,
|
|
19436
19950
|
needGeometry,
|
|
19437
19951
|
needFeature: !!needFeature
|
|
@@ -19546,9 +20060,17 @@ function convertFilter$1(filter) {
|
|
|
19546
20060
|
const op = filter[0];
|
|
19547
20061
|
if (filter.length <= 1)
|
|
19548
20062
|
return op !== 'any';
|
|
19549
|
-
const converted =
|
|
20063
|
+
const converted = // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
20064
|
+
op === '==' ? convertComparisonOp$1(filter[1], filter[2], '==') : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
20065
|
+
op === '!=' ? convertNegation(convertComparisonOp$1(filter[1], filter[2], '==')) : op === '<' || op === '>' || op === '<=' || // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
20066
|
+
op === '>=' ? convertComparisonOp$1(filter[1], filter[2], op) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
20067
|
+
op === 'any' ? convertDisjunctionOp(filter.slice(1)) : // @ts-expect-error - TS2769 - No overload matches this call.
|
|
19550
20068
|
op === 'all' ? ['all'].concat(filter.slice(1).map(convertFilter$1)) : // @ts-expect-error - TS2769 - No overload matches this call.
|
|
19551
|
-
op === 'none' ? ['all'].concat(filter.slice(1).map(convertFilter$1).map(convertNegation)) :
|
|
20069
|
+
op === 'none' ? ['all'].concat(filter.slice(1).map(convertFilter$1).map(convertNegation)) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
20070
|
+
op === 'in' ? convertInOp$1(filter[1], filter.slice(2)) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
20071
|
+
op === '!in' ? convertNegation(convertInOp$1(filter[1], filter.slice(2))) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
20072
|
+
op === 'has' ? convertHasOp$1(filter[1]) : // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
20073
|
+
op === '!has' ? convertNegation(convertHasOp$1(filter[1])) : true;
|
|
19552
20074
|
return converted;
|
|
19553
20075
|
}
|
|
19554
20076
|
function convertComparisonOp$1(property, value, op) {
|
|
@@ -20634,8 +21156,9 @@ function validateImport(options) {
|
|
|
20634
21156
|
value: value.__line__,
|
|
20635
21157
|
enumerable: false
|
|
20636
21158
|
});
|
|
20637
|
-
let errors = validateObject(
|
|
21159
|
+
let errors = validateObject(Object.assign({}, options, {
|
|
20638
21160
|
value: importSpec,
|
|
21161
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
20639
21162
|
valueSpec: styleSpec.import
|
|
20640
21163
|
}));
|
|
20641
21164
|
if (unbundle(importSpec.id) === '') {
|
|
@@ -20683,6 +21206,7 @@ function validateArray(options) {
|
|
|
20683
21206
|
errors = errors.concat(validateArrayElement({
|
|
20684
21207
|
array,
|
|
20685
21208
|
arrayIndex: i,
|
|
21209
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
20686
21210
|
value: array[i],
|
|
20687
21211
|
valueSpec: arrayElementSpec,
|
|
20688
21212
|
style,
|
|
@@ -20748,6 +21272,7 @@ function validateFunction(options) {
|
|
|
20748
21272
|
const errors = validateObject({
|
|
20749
21273
|
key: options.key,
|
|
20750
21274
|
value: options.value,
|
|
21275
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
20751
21276
|
valueSpec: options.styleSpec.function,
|
|
20752
21277
|
style: options.style,
|
|
20753
21278
|
styleSpec: options.styleSpec,
|
|
@@ -20911,15 +21436,20 @@ function validateExpression(options) {
|
|
|
20911
21436
|
});
|
|
20912
21437
|
}
|
|
20913
21438
|
const expressionObj = expression.value.expression || expression.value._styleExpression.expression;
|
|
20914
|
-
if (options.expressionContext === 'property' && options.propertyKey === 'text-font' &&
|
|
21439
|
+
if (options.expressionContext === 'property' && options.propertyKey === 'text-font' && // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
21440
|
+
!expressionObj.outputDefined()) {
|
|
20915
21441
|
return [new ValidationError(options.key, options.value, `Invalid data expression for "${ options.propertyKey }". Output values must be contained as literals within the expression.`)];
|
|
20916
21442
|
}
|
|
20917
|
-
if (options.expressionContext === 'property' && options.propertyType === 'layout' &&
|
|
21443
|
+
if (options.expressionContext === 'property' && options.propertyType === 'layout' && // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
21444
|
+
!isStateConstant(expressionObj)) {
|
|
20918
21445
|
return [new ValidationError(options.key, options.value, '"feature-state" data expressions are not supported with layout properties.')];
|
|
20919
21446
|
}
|
|
20920
21447
|
if (options.expressionContext === 'filter') {
|
|
20921
21448
|
return disallowedFilterParameters(expressionObj, options);
|
|
20922
21449
|
}
|
|
21450
|
+
if (options.expressionContext === 'appearance') {
|
|
21451
|
+
return checkDisallowedParameters(expressionObj, options);
|
|
21452
|
+
}
|
|
20923
21453
|
if (options.expressionContext && options.expressionContext.indexOf('cluster') === 0) {
|
|
20924
21454
|
if (!isGlobalPropertyConstant(expressionObj, [
|
|
20925
21455
|
'zoom',
|
|
@@ -20960,6 +21490,28 @@ function disallowedFilterParameters(e, options) {
|
|
|
20960
21490
|
});
|
|
20961
21491
|
return errors;
|
|
20962
21492
|
}
|
|
21493
|
+
function checkDisallowedParameters(e, options) {
|
|
21494
|
+
const allowedParameters = /* @__PURE__ */
|
|
21495
|
+
new Set();
|
|
21496
|
+
if (options.valueSpec && options.valueSpec.expression) {
|
|
21497
|
+
for (const param of options.valueSpec.expression.parameters) {
|
|
21498
|
+
allowedParameters.add(param);
|
|
21499
|
+
}
|
|
21500
|
+
}
|
|
21501
|
+
if (allowedParameters.size === 0) {
|
|
21502
|
+
return [];
|
|
21503
|
+
}
|
|
21504
|
+
const errors = [];
|
|
21505
|
+
if (e instanceof CompoundExpression) {
|
|
21506
|
+
if (!allowedParameters.has(e.name)) {
|
|
21507
|
+
return [new ValidationError(options.key, options.value, `["${ e.name }"] is not an allowed parameter`)];
|
|
21508
|
+
}
|
|
21509
|
+
}
|
|
21510
|
+
e.eachChild(arg => {
|
|
21511
|
+
errors.push(...checkDisallowedParameters(arg, options));
|
|
21512
|
+
});
|
|
21513
|
+
return errors;
|
|
21514
|
+
}
|
|
20963
21515
|
|
|
20964
21516
|
function validateBoolean(options) {
|
|
20965
21517
|
const value = options.value;
|
|
@@ -21000,8 +21552,9 @@ function validateEnum(options) {
|
|
|
21000
21552
|
function validateFilter(options) {
|
|
21001
21553
|
if (isExpressionFilter(deepUnbundle(options.value))) {
|
|
21002
21554
|
const layerType = options.layerType || 'fill';
|
|
21003
|
-
return validateExpression(
|
|
21555
|
+
return validateExpression(Object.assign({}, options, {
|
|
21004
21556
|
expressionContext: 'filter',
|
|
21557
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21005
21558
|
valueSpec: options.styleSpec[`filter_${ layerType }`]
|
|
21006
21559
|
}));
|
|
21007
21560
|
} else {
|
|
@@ -21021,6 +21574,7 @@ function validateNonExpressionFilter(options) {
|
|
|
21021
21574
|
let errors = validateEnum({
|
|
21022
21575
|
key: `${ key }[0]`,
|
|
21023
21576
|
value: value[0],
|
|
21577
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21024
21578
|
valueSpec: styleSpec.filter_operator
|
|
21025
21579
|
});
|
|
21026
21580
|
switch (unbundle(value[0])) {
|
|
@@ -21052,6 +21606,7 @@ function validateNonExpressionFilter(options) {
|
|
|
21052
21606
|
errors = errors.concat(validateEnum({
|
|
21053
21607
|
key: `${ key }[${ i }]`,
|
|
21054
21608
|
value: value[i],
|
|
21609
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21055
21610
|
valueSpec: styleSpec.geometry_type
|
|
21056
21611
|
}));
|
|
21057
21612
|
} else if (!isString(value[i]) && !isNumber(value[i]) && !isBoolean(value[i])) {
|
|
@@ -21131,6 +21686,7 @@ function validateProperty(options, propertyType) {
|
|
|
21131
21686
|
return validate({
|
|
21132
21687
|
key,
|
|
21133
21688
|
value,
|
|
21689
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21134
21690
|
valueSpec: styleSpec.transition,
|
|
21135
21691
|
style,
|
|
21136
21692
|
styleSpec
|
|
@@ -21168,6 +21724,7 @@ Use an identity property function instead: ${ example }.`)];
|
|
|
21168
21724
|
return errors.concat(validate({
|
|
21169
21725
|
key: options.key,
|
|
21170
21726
|
value,
|
|
21727
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21171
21728
|
valueSpec,
|
|
21172
21729
|
style,
|
|
21173
21730
|
styleSpec,
|
|
@@ -21177,6 +21734,73 @@ Use an identity property function instead: ${ example }.`)];
|
|
|
21177
21734
|
}));
|
|
21178
21735
|
}
|
|
21179
21736
|
|
|
21737
|
+
function validateAppearance(options) {
|
|
21738
|
+
const {key, layer, layerType} = options;
|
|
21739
|
+
const value = unbundle(options.value);
|
|
21740
|
+
const name = unbundle(value.name);
|
|
21741
|
+
const condition = unbundle(value.condition);
|
|
21742
|
+
const errors = validateObject({
|
|
21743
|
+
key,
|
|
21744
|
+
value,
|
|
21745
|
+
valueSpec: options.styleSpec.appearance,
|
|
21746
|
+
style: options.style,
|
|
21747
|
+
styleSpec: options.styleSpec,
|
|
21748
|
+
objectElementValidators: {
|
|
21749
|
+
condition: options2 => validateCondition(Object.assign({
|
|
21750
|
+
layer,
|
|
21751
|
+
layerType
|
|
21752
|
+
}, options2)),
|
|
21753
|
+
properties: options2 => validateProperties(Object.assign({
|
|
21754
|
+
layer,
|
|
21755
|
+
layerType
|
|
21756
|
+
}, options2))
|
|
21757
|
+
}
|
|
21758
|
+
});
|
|
21759
|
+
if (name !== 'hidden' && !condition) {
|
|
21760
|
+
errors.push(new ValidationError(options.key, 'name', `Appearance with name different than "hidden" must have a condition`));
|
|
21761
|
+
}
|
|
21762
|
+
return errors;
|
|
21763
|
+
}
|
|
21764
|
+
function validateProperties(options) {
|
|
21765
|
+
const errors = [];
|
|
21766
|
+
const {styleSpec, layer, layerType} = options;
|
|
21767
|
+
const paintProperties = styleSpec[`paint_${ layerType }`];
|
|
21768
|
+
const layoutProperties = styleSpec[`layout_${ layerType }`];
|
|
21769
|
+
const properties = options.object[options.objectKey];
|
|
21770
|
+
for (const propertyKey in properties) {
|
|
21771
|
+
const propertyType = propertyKey in paintProperties ? 'paint' : propertyKey in layoutProperties ? 'layout' : void 0;
|
|
21772
|
+
if (!propertyType) {
|
|
21773
|
+
errors.push(new ValidationError(options.key, propertyKey, `unknown property "${ propertyKey }" for layer type "${ layerType }"`));
|
|
21774
|
+
continue;
|
|
21775
|
+
}
|
|
21776
|
+
const propertyValidationOptions = Object.assign({}, options, {
|
|
21777
|
+
key: `${ options.key }.${ propertyKey }`,
|
|
21778
|
+
object: properties,
|
|
21779
|
+
objectKey: propertyKey,
|
|
21780
|
+
layer,
|
|
21781
|
+
layerType,
|
|
21782
|
+
value: properties[propertyKey],
|
|
21783
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
21784
|
+
valueSpec: propertyType === 'paint' ? paintProperties[propertyKey] : layoutProperties[propertyKey]
|
|
21785
|
+
});
|
|
21786
|
+
errors.push(...validateProperty(propertyValidationOptions, propertyType));
|
|
21787
|
+
}
|
|
21788
|
+
return errors;
|
|
21789
|
+
}
|
|
21790
|
+
function validateCondition(options) {
|
|
21791
|
+
const errors = [];
|
|
21792
|
+
const appearance = options.object;
|
|
21793
|
+
const condition = appearance.condition;
|
|
21794
|
+
errors.push(...validateExpression({
|
|
21795
|
+
key: options.key,
|
|
21796
|
+
value: condition,
|
|
21797
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
21798
|
+
valueSpec: v8['appearance']['condition'],
|
|
21799
|
+
expressionContext: 'appearance'
|
|
21800
|
+
}));
|
|
21801
|
+
return errors;
|
|
21802
|
+
}
|
|
21803
|
+
|
|
21180
21804
|
function validatePaintProperty(options) {
|
|
21181
21805
|
return validateProperty(options, 'paint');
|
|
21182
21806
|
}
|
|
@@ -21266,6 +21890,7 @@ function validateLayer(options) {
|
|
|
21266
21890
|
errors = errors.concat(validateObject({
|
|
21267
21891
|
key,
|
|
21268
21892
|
value: layer,
|
|
21893
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21269
21894
|
valueSpec: styleSpec.layer,
|
|
21270
21895
|
style: options.style,
|
|
21271
21896
|
styleSpec: options.styleSpec,
|
|
@@ -21279,6 +21904,7 @@ function validateLayer(options) {
|
|
|
21279
21904
|
return validate({
|
|
21280
21905
|
key: `${ key }.type`,
|
|
21281
21906
|
value: layer.type,
|
|
21907
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
21282
21908
|
valueSpec: styleSpec.layer.type,
|
|
21283
21909
|
style: options.style,
|
|
21284
21910
|
styleSpec: options.styleSpec,
|
|
@@ -21287,7 +21913,7 @@ function validateLayer(options) {
|
|
|
21287
21913
|
});
|
|
21288
21914
|
},
|
|
21289
21915
|
filter(options2) {
|
|
21290
|
-
return validateFilter(
|
|
21916
|
+
return validateFilter(Object.assign({ layerType: type }, options2));
|
|
21291
21917
|
},
|
|
21292
21918
|
layout(options2) {
|
|
21293
21919
|
return validateObject({
|
|
@@ -21299,7 +21925,7 @@ function validateLayer(options) {
|
|
|
21299
21925
|
styleSpec: options2.styleSpec,
|
|
21300
21926
|
objectElementValidators: {
|
|
21301
21927
|
'*'(options3) {
|
|
21302
|
-
return validateLayoutProperty(
|
|
21928
|
+
return validateLayoutProperty(Object.assign({ layerType: type }, options3));
|
|
21303
21929
|
}
|
|
21304
21930
|
}
|
|
21305
21931
|
});
|
|
@@ -21314,13 +21940,42 @@ function validateLayer(options) {
|
|
|
21314
21940
|
styleSpec: options2.styleSpec,
|
|
21315
21941
|
objectElementValidators: {
|
|
21316
21942
|
'*'(options3) {
|
|
21317
|
-
return validatePaintProperty(
|
|
21943
|
+
return validatePaintProperty(Object.assign({
|
|
21318
21944
|
layerType: type,
|
|
21319
21945
|
layer
|
|
21320
21946
|
}, options3));
|
|
21321
21947
|
}
|
|
21322
21948
|
}
|
|
21323
21949
|
});
|
|
21950
|
+
},
|
|
21951
|
+
appearances(options2) {
|
|
21952
|
+
const validationErrors = validateArray({
|
|
21953
|
+
key: options2.key,
|
|
21954
|
+
value: options2.value,
|
|
21955
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21956
|
+
valueSpec: options2.valueSpec,
|
|
21957
|
+
style: options2.style,
|
|
21958
|
+
styleSpec: options2.styleSpec,
|
|
21959
|
+
arrayElementValidator: options3 => validateAppearance(Object.assign({
|
|
21960
|
+
layerType: type,
|
|
21961
|
+
layer
|
|
21962
|
+
}, options3))
|
|
21963
|
+
});
|
|
21964
|
+
const appearances = Array.isArray(options2.value) ? options2.value : [];
|
|
21965
|
+
const dedupedNames = /* @__PURE__ */
|
|
21966
|
+
new Set();
|
|
21967
|
+
appearances.forEach((a, index) => {
|
|
21968
|
+
const name = unbundle(a.name);
|
|
21969
|
+
if (name) {
|
|
21970
|
+
if (dedupedNames.has(name)) {
|
|
21971
|
+
const layerId = unbundle(layer.id);
|
|
21972
|
+
validationErrors.push(new ValidationError(options2.key, name, `Duplicated appearance name "${ name }" for layer "${ layerId }"`));
|
|
21973
|
+
} else {
|
|
21974
|
+
dedupedNames.add(name);
|
|
21975
|
+
}
|
|
21976
|
+
}
|
|
21977
|
+
});
|
|
21978
|
+
return validationErrors;
|
|
21324
21979
|
}
|
|
21325
21980
|
}
|
|
21326
21981
|
}));
|
|
@@ -21366,6 +22021,7 @@ function validateSource(options) {
|
|
|
21366
22021
|
errors = errors.concat(validateObject({
|
|
21367
22022
|
key,
|
|
21368
22023
|
value,
|
|
22024
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21369
22025
|
valueSpec: styleSpec[`source_${ type.replace('-', '_') }`],
|
|
21370
22026
|
style: options.style,
|
|
21371
22027
|
styleSpec,
|
|
@@ -21376,6 +22032,7 @@ function validateSource(options) {
|
|
|
21376
22032
|
errors = validateObject({
|
|
21377
22033
|
key,
|
|
21378
22034
|
value,
|
|
22035
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21379
22036
|
valueSpec: styleSpec.source_geojson,
|
|
21380
22037
|
style,
|
|
21381
22038
|
styleSpec,
|
|
@@ -21416,6 +22073,7 @@ function validateSource(options) {
|
|
|
21416
22073
|
return validateObject({
|
|
21417
22074
|
key,
|
|
21418
22075
|
value,
|
|
22076
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21419
22077
|
valueSpec: styleSpec.source_video,
|
|
21420
22078
|
style,
|
|
21421
22079
|
styleSpec
|
|
@@ -21424,6 +22082,7 @@ function validateSource(options) {
|
|
|
21424
22082
|
return validateObject({
|
|
21425
22083
|
key,
|
|
21426
22084
|
value,
|
|
22085
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21427
22086
|
valueSpec: styleSpec.source_image,
|
|
21428
22087
|
style,
|
|
21429
22088
|
styleSpec
|
|
@@ -21544,6 +22203,7 @@ function validateLight(options) {
|
|
|
21544
22203
|
errors = errors.concat(validate({
|
|
21545
22204
|
key,
|
|
21546
22205
|
value: light[key],
|
|
22206
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21547
22207
|
valueSpec: styleSpec.transition,
|
|
21548
22208
|
style,
|
|
21549
22209
|
styleSpec
|
|
@@ -21552,6 +22212,7 @@ function validateLight(options) {
|
|
|
21552
22212
|
errors = errors.concat(validate({
|
|
21553
22213
|
key,
|
|
21554
22214
|
value: light[key],
|
|
22215
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
21555
22216
|
valueSpec: lightSpec[key],
|
|
21556
22217
|
style,
|
|
21557
22218
|
styleSpec
|
|
@@ -21627,6 +22288,7 @@ function validateLights(options) {
|
|
|
21627
22288
|
errors = errors.concat(validate({
|
|
21628
22289
|
key: key2,
|
|
21629
22290
|
value: light[key2],
|
|
22291
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21630
22292
|
valueSpec: styleSpec.transition,
|
|
21631
22293
|
style,
|
|
21632
22294
|
styleSpec
|
|
@@ -21637,6 +22299,7 @@ function validateLights(options) {
|
|
|
21637
22299
|
errors = errors.concat(validate({
|
|
21638
22300
|
key: propertyKey,
|
|
21639
22301
|
value: properties[propertyKey],
|
|
22302
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
21640
22303
|
valueSpec: lightPropertySpec[propertyKey],
|
|
21641
22304
|
style,
|
|
21642
22305
|
styleSpec
|
|
@@ -21648,6 +22311,7 @@ function validateLights(options) {
|
|
|
21648
22311
|
errors = errors.concat(validate({
|
|
21649
22312
|
key: key2,
|
|
21650
22313
|
value: light[key2],
|
|
22314
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
21651
22315
|
valueSpec: lightSpec[key2],
|
|
21652
22316
|
style,
|
|
21653
22317
|
styleSpec
|
|
@@ -21688,6 +22352,7 @@ function validateTerrain(options) {
|
|
|
21688
22352
|
errors = errors.concat(validate({
|
|
21689
22353
|
key: key2,
|
|
21690
22354
|
value: terrain[key2],
|
|
22355
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21691
22356
|
valueSpec: styleSpec.transition,
|
|
21692
22357
|
style,
|
|
21693
22358
|
styleSpec
|
|
@@ -21696,6 +22361,7 @@ function validateTerrain(options) {
|
|
|
21696
22361
|
errors = errors.concat(validate({
|
|
21697
22362
|
key: key2,
|
|
21698
22363
|
value: terrain[key2],
|
|
22364
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
21699
22365
|
valueSpec: terrainSpec[key2],
|
|
21700
22366
|
style,
|
|
21701
22367
|
styleSpec
|
|
@@ -21747,6 +22413,7 @@ function validateFog(options) {
|
|
|
21747
22413
|
errors = errors.concat(validate({
|
|
21748
22414
|
key,
|
|
21749
22415
|
value: fog[key],
|
|
22416
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21750
22417
|
valueSpec: styleSpec.transition,
|
|
21751
22418
|
style,
|
|
21752
22419
|
styleSpec
|
|
@@ -21755,6 +22422,7 @@ function validateFog(options) {
|
|
|
21755
22422
|
errors = errors.concat(validate({
|
|
21756
22423
|
key,
|
|
21757
22424
|
value: fog[key],
|
|
22425
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
21758
22426
|
valueSpec: fogSpec[key],
|
|
21759
22427
|
style,
|
|
21760
22428
|
styleSpec
|
|
@@ -21793,6 +22461,7 @@ function validateProjection(options) {
|
|
|
21793
22461
|
errors = errors.concat(validate({
|
|
21794
22462
|
key,
|
|
21795
22463
|
value: projection[key],
|
|
22464
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
|
|
21796
22465
|
valueSpec: projectionSpec[key],
|
|
21797
22466
|
style,
|
|
21798
22467
|
styleSpec
|
|
@@ -21825,6 +22494,7 @@ function validateIconset(options) {
|
|
|
21825
22494
|
errors = errors.concat(validateObject({
|
|
21826
22495
|
key,
|
|
21827
22496
|
value: iconset,
|
|
22497
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21828
22498
|
valueSpec: styleSpec[`iconset_${ type }`],
|
|
21829
22499
|
style,
|
|
21830
22500
|
styleSpec
|
|
@@ -21882,7 +22552,10 @@ function validate(options, arrayAsExpression = false) {
|
|
|
21882
22552
|
}
|
|
21883
22553
|
return errors2;
|
|
21884
22554
|
}
|
|
21885
|
-
const errors = validateObject(Object.assign({}, options, {
|
|
22555
|
+
const errors = validateObject(Object.assign({}, options, {
|
|
22556
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
22557
|
+
valueSpec: valueSpec.type ? styleSpec[valueSpec.type] : valueSpec
|
|
22558
|
+
}));
|
|
21886
22559
|
return errors;
|
|
21887
22560
|
}
|
|
21888
22561
|
|
|
@@ -21917,6 +22590,7 @@ function validateObject(options) {
|
|
|
21917
22590
|
errors = errors.concat(validateElement({
|
|
21918
22591
|
key: (key ? `${ key }.` : key) + objectKey,
|
|
21919
22592
|
value: object[objectKey],
|
|
22593
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21920
22594
|
valueSpec: elementSpec,
|
|
21921
22595
|
style,
|
|
21922
22596
|
styleSpec,
|
|
@@ -21956,6 +22630,7 @@ function validateStyle$2(style, styleSpec = v8, options = {}) {
|
|
|
21956
22630
|
const errors = validateObject({
|
|
21957
22631
|
key: options.key || '',
|
|
21958
22632
|
value: style,
|
|
22633
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
21959
22634
|
valueSpec: Object.assign(styleSpec.$root, // Skip validation of the root properties that are not defined in the style spec (e.g. 'owner').
|
|
21960
22635
|
{ '*': { type: '*' } }),
|
|
21961
22636
|
styleSpec,
|