@mapgis/mapbox-gl 16.0.1 → 16.2.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.
Files changed (434) hide show
  1. package/dist/mapbox-gl.js +3 -3
  2. package/dist/mapbox-gl.js.map +1 -1
  3. package/package.json +1 -1
  4. package/.flowconfig +0 -61
  5. package/LICENSE.txt +0 -84
  6. package/README.md +0 -34
  7. package/build/banner.js +0 -4
  8. package/build/check-bundle-size.js +0 -140
  9. package/build/generate-access-token-script.js +0 -11
  10. package/build/generate-flow-typed-style-spec.js +0 -188
  11. package/build/generate-release-list.js +0 -21
  12. package/build/generate-struct-arrays.js +0 -237
  13. package/build/generate-style-code.js +0 -159
  14. package/build/mapbox-gl.js.flow +0 -3
  15. package/build/print-release-url.js +0 -6
  16. package/build/rollup_plugin_minify_style_spec.js +0 -20
  17. package/build/rollup_plugins.js +0 -80
  18. package/build/run-node +0 -3
  19. package/build/run-tap +0 -8
  20. package/build/test/build-tape.js +0 -19
  21. package/flow-typed/gl.js +0 -5
  22. package/flow-typed/jsdom.js +0 -18
  23. package/flow-typed/mapbox-gl-supported.js +0 -9
  24. package/flow-typed/mapbox-unitbezier.js +0 -14
  25. package/flow-typed/offscreen-canvas.js +0 -9
  26. package/flow-typed/pbf.js +0 -25
  27. package/flow-typed/point-geometry.js +0 -44
  28. package/flow-typed/potpack.js +0 -12
  29. package/flow-typed/sinon.js +0 -28
  30. package/flow-typed/vector-tile.js +0 -41
  31. package/src/css/mapbox-gl.css +0 -798
  32. package/src/css/svg/mapboxgl-ctrl-attrib.svg +0 -3
  33. package/src/css/svg/mapboxgl-ctrl-compass.svg +0 -4
  34. package/src/css/svg/mapboxgl-ctrl-fullscreen.svg +0 -3
  35. package/src/css/svg/mapboxgl-ctrl-geolocate.svg +0 -5
  36. package/src/css/svg/mapboxgl-ctrl-logo.svg +0 -20
  37. package/src/css/svg/mapboxgl-ctrl-shrink.svg +0 -3
  38. package/src/css/svg/mapboxgl-ctrl-zoom-in.svg +0 -3
  39. package/src/css/svg/mapboxgl-ctrl-zoom-out.svg +0 -3
  40. package/src/data/array_types.js +0 -1095
  41. package/src/data/bucket/circle_attributes.js +0 -9
  42. package/src/data/bucket/circle_bucket.js +0 -204
  43. package/src/data/bucket/fill_attributes.js +0 -9
  44. package/src/data/bucket/fill_bucket.js +0 -233
  45. package/src/data/bucket/fill_extrusion_attributes.js +0 -10
  46. package/src/data/bucket/fill_extrusion_bucket.js +0 -289
  47. package/src/data/bucket/heatmap_bucket.js +0 -17
  48. package/src/data/bucket/line_attributes.js +0 -10
  49. package/src/data/bucket/line_bucket.js +0 -556
  50. package/src/data/bucket/pattern_attributes.js +0 -10
  51. package/src/data/bucket/pattern_bucket_features.js +0 -60
  52. package/src/data/bucket/symbol_attributes.js +0 -117
  53. package/src/data/bucket/symbol_bucket.js +0 -972
  54. package/src/data/bucket.js +0 -123
  55. package/src/data/dem_data.js +0 -125
  56. package/src/data/extent.js +0 -18
  57. package/src/data/feature_index.js +0 -321
  58. package/src/data/feature_position_map.js +0 -125
  59. package/src/data/index_array_type.js +0 -16
  60. package/src/data/load_geometry.js +0 -48
  61. package/src/data/pos_attributes.js +0 -6
  62. package/src/data/program_configuration.js +0 -687
  63. package/src/data/raster_bounds_attributes.js +0 -7
  64. package/src/data/segment.js +0 -76
  65. package/src/geo/edge_insets.js +0 -102
  66. package/src/geo/lng_lat.js +0 -165
  67. package/src/geo/lng_lat_bounds.js +0 -267
  68. package/src/geo/mercator_coordinate.js +0 -153
  69. package/src/geo/transform.js +0 -864
  70. package/src/gl/color_mode.js +0 -34
  71. package/src/gl/context.js +0 -298
  72. package/src/gl/cull_face_mode.js +0 -26
  73. package/src/gl/depth_mode.js +0 -29
  74. package/src/gl/framebuffer.js +0 -44
  75. package/src/gl/index_buffer.js +0 -55
  76. package/src/gl/stencil_mode.js +0 -30
  77. package/src/gl/types.js +0 -84
  78. package/src/gl/value.js +0 -520
  79. package/src/gl/vertex_buffer.js +0 -119
  80. package/src/index.js +0 -201
  81. package/src/render/draw_background.js +0 -57
  82. package/src/render/draw_circle.js +0 -113
  83. package/src/render/draw_collision_debug.js +0 -49
  84. package/src/render/draw_custom.js +0 -49
  85. package/src/render/draw_debug.js +0 -127
  86. package/src/render/draw_fill.js +0 -126
  87. package/src/render/draw_fill_extrusion.js +0 -96
  88. package/src/render/draw_heatmap.js +0 -140
  89. package/src/render/draw_hillshade.js +0 -108
  90. package/src/render/draw_line.js +0 -98
  91. package/src/render/draw_raster.js +0 -125
  92. package/src/render/draw_symbol.js +0 -394
  93. package/src/render/glyph_atlas.js +0 -71
  94. package/src/render/glyph_manager.js +0 -182
  95. package/src/render/image_atlas.js +0 -149
  96. package/src/render/image_manager.js +0 -306
  97. package/src/render/line_atlas.js +0 -210
  98. package/src/render/painter.js +0 -653
  99. package/src/render/program/background_program.js +0 -103
  100. package/src/render/program/circle_program.js +0 -69
  101. package/src/render/program/clipping_mask_program.js +0 -20
  102. package/src/render/program/collision_program.js +0 -49
  103. package/src/render/program/debug_program.js +0 -35
  104. package/src/render/program/fill_extrusion_program.js +0 -122
  105. package/src/render/program/fill_program.js +0 -126
  106. package/src/render/program/heatmap_program.js +0 -83
  107. package/src/render/program/hillshade_program.js +0 -122
  108. package/src/render/program/line_program.js +0 -207
  109. package/src/render/program/pattern.js +0 -102
  110. package/src/render/program/program_uniforms.js +0 -42
  111. package/src/render/program/raster_program.js +0 -92
  112. package/src/render/program/symbol_program.js +0 -224
  113. package/src/render/program.js +0 -168
  114. package/src/render/texture.js +0 -122
  115. package/src/render/uniform_binding.js +0 -147
  116. package/src/render/vertex_array_object.js +0 -163
  117. package/src/shaders/README.md +0 -42
  118. package/src/shaders/_prelude.fragment.glsl +0 -17
  119. package/src/shaders/_prelude.vertex.glsl +0 -73
  120. package/src/shaders/background.fragment.glsl +0 -10
  121. package/src/shaders/background.vertex.glsl +0 -7
  122. package/src/shaders/background_pattern.fragment.glsl +0 -28
  123. package/src/shaders/background_pattern.vertex.glsl +0 -20
  124. package/src/shaders/circle.fragment.glsl +0 -39
  125. package/src/shaders/circle.vertex.glsl +0 -64
  126. package/src/shaders/clipping_mask.fragment.glsl +0 -3
  127. package/src/shaders/clipping_mask.vertex.glsl +0 -7
  128. package/src/shaders/collision_box.fragment.glsl +0 -21
  129. package/src/shaders/collision_box.vertex.glsl +0 -27
  130. package/src/shaders/collision_circle.fragment.glsl +0 -34
  131. package/src/shaders/collision_circle.vertex.glsl +0 -36
  132. package/src/shaders/debug.fragment.glsl +0 -9
  133. package/src/shaders/debug.vertex.glsl +0 -12
  134. package/src/shaders/encode_attribute.js +0 -17
  135. package/src/shaders/fill.fragment.glsl +0 -13
  136. package/src/shaders/fill.vertex.glsl +0 -13
  137. package/src/shaders/fill_extrusion.fragment.glsl +0 -9
  138. package/src/shaders/fill_extrusion.vertex.glsl +0 -66
  139. package/src/shaders/fill_extrusion_pattern.fragment.glsl +0 -45
  140. package/src/shaders/fill_extrusion_pattern.vertex.glsl +0 -79
  141. package/src/shaders/fill_outline.fragment.glsl +0 -17
  142. package/src/shaders/fill_outline.vertex.glsl +0 -17
  143. package/src/shaders/fill_outline_pattern.fragment.glsl +0 -43
  144. package/src/shaders/fill_outline_pattern.vertex.glsl +0 -44
  145. package/src/shaders/fill_pattern.fragment.glsl +0 -36
  146. package/src/shaders/fill_pattern.vertex.glsl +0 -39
  147. package/src/shaders/heatmap.fragment.glsl +0 -22
  148. package/src/shaders/heatmap.vertex.glsl +0 -54
  149. package/src/shaders/heatmap_texture.fragment.glsl +0 -14
  150. package/src/shaders/heatmap_texture.vertex.glsl +0 -11
  151. package/src/shaders/hillshade.fragment.glsl +0 -52
  152. package/src/shaders/hillshade.vertex.glsl +0 -11
  153. package/src/shaders/hillshade_prepare.fragment.glsl +0 -74
  154. package/src/shaders/hillshade_prepare.vertex.glsl +0 -15
  155. package/src/shaders/index.js +0 -20
  156. package/src/shaders/line.fragment.glsl +0 -30
  157. package/src/shaders/line.vertex.glsl +0 -85
  158. package/src/shaders/line_gradient.fragment.glsl +0 -34
  159. package/src/shaders/line_gradient.vertex.glsl +0 -87
  160. package/src/shaders/line_pattern.fragment.glsl +0 -74
  161. package/src/shaders/line_pattern.vertex.glsl +0 -99
  162. package/src/shaders/line_sdf.fragment.glsl +0 -45
  163. package/src/shaders/line_sdf.vertex.glsl +0 -98
  164. package/src/shaders/raster.fragment.glsl +0 -52
  165. package/src/shaders/raster.vertex.glsl +0 -21
  166. package/src/shaders/shaders.js +0 -180
  167. package/src/shaders/symbol_icon.fragment.glsl +0 -17
  168. package/src/shaders/symbol_icon.vertex.glsl +0 -94
  169. package/src/shaders/symbol_sdf.fragment.glsl +0 -52
  170. package/src/shaders/symbol_sdf.vertex.glsl +0 -115
  171. package/src/shaders/symbol_text_and_icon.fragment.glsl +0 -68
  172. package/src/shaders/symbol_text_and_icon.vertex.glsl +0 -116
  173. package/src/source/canvas_source.js +0 -238
  174. package/src/source/geojson_helper.js +0 -92
  175. package/src/source/geojson_source.js +0 -374
  176. package/src/source/geojson_worker_source.js +0 -357
  177. package/src/source/geojson_wrapper.js +0 -94
  178. package/src/source/image_source.js +0 -307
  179. package/src/source/load_tilejson.js +0 -39
  180. package/src/source/mbtiles_source.js +0 -115
  181. package/src/source/offline_database.js +0 -61
  182. package/src/source/offline_database_root.js +0 -62
  183. package/src/source/pixels_to_tile_units.js +0 -21
  184. package/src/source/query_features.js +0 -208
  185. package/src/source/raster_dem_tile_source.js +0 -138
  186. package/src/source/raster_dem_tile_worker_source.js +0 -62
  187. package/src/source/raster_tile_offline_source.js +0 -136
  188. package/src/source/raster_tile_source.js +0 -177
  189. package/src/source/rtl_text_plugin.js +0 -138
  190. package/src/source/source.js +0 -137
  191. package/src/source/source_cache.js +0 -957
  192. package/src/source/source_state.js +0 -159
  193. package/src/source/tile.js +0 -465
  194. package/src/source/tile_bounds.js +0 -38
  195. package/src/source/tile_cache.js +0 -212
  196. package/src/source/tile_id.js +0 -402
  197. package/src/source/vector_tile_source.js +0 -192
  198. package/src/source/vector_tile_worker_source.js +0 -216
  199. package/src/source/video_source.js +0 -203
  200. package/src/source/worker.js +0 -237
  201. package/src/source/worker_source.js +0 -106
  202. package/src/source/worker_tile.js +0 -224
  203. package/src/style/create_style_layer.js +0 -36
  204. package/src/style/evaluation_parameters.js +0 -62
  205. package/src/style/light.js +0 -130
  206. package/src/style/load_glyph_range.js +0 -38
  207. package/src/style/load_sprite.js +0 -67
  208. package/src/style/parse_glyph_pbf.js +0 -44
  209. package/src/style/pauseable_placement.js +0 -132
  210. package/src/style/properties.js +0 -753
  211. package/src/style/query_utils.js +0 -43
  212. package/src/style/style.js +0 -1361
  213. package/src/style/style_glyph.js +0 -17
  214. package/src/style/style_image.js +0 -137
  215. package/src/style/style_layer/background_style_layer.js +0 -21
  216. package/src/style/style_layer/background_style_layer_properties.js +0 -40
  217. package/src/style/style_layer/circle_style_layer.js +0 -98
  218. package/src/style/style_layer/circle_style_layer_properties.js +0 -63
  219. package/src/style/style_layer/custom_style_layer.js +0 -223
  220. package/src/style/style_layer/fill_extrusion_style_layer.js +0 -224
  221. package/src/style/style_layer/fill_extrusion_style_layer_properties.js +0 -50
  222. package/src/style/style_layer/fill_style_layer.js +0 -67
  223. package/src/style/style_layer/fill_style_layer_properties.js +0 -55
  224. package/src/style/style_layer/heatmap_style_layer.js +0 -69
  225. package/src/style/style_layer/heatmap_style_layer_properties.js +0 -44
  226. package/src/style/style_layer/hillshade_style_layer.js +0 -25
  227. package/src/style/style_layer/hillshade_style_layer_properties.js +0 -46
  228. package/src/style/style_layer/layer_properties.js.ejs +0 -69
  229. package/src/style/style_layer/line_style_layer.js +0 -151
  230. package/src/style/style_layer/line_style_layer_properties.js +0 -71
  231. package/src/style/style_layer/raster_style_layer.js +0 -21
  232. package/src/style/style_layer/raster_style_layer_properties.js +0 -50
  233. package/src/style/style_layer/symbol_style_layer.js +0 -190
  234. package/src/style/style_layer/symbol_style_layer_properties.js +0 -153
  235. package/src/style/style_layer/typed_style_layer.js +0 -17
  236. package/src/style/style_layer.js +0 -281
  237. package/src/style/style_layer_index.js +0 -80
  238. package/src/style/validate_style.js +0 -42
  239. package/src/style/zoom_history.js +0 -44
  240. package/src/style-spec/.eslintrc +0 -5
  241. package/src/style-spec/CHANGELOG.md +0 -438
  242. package/src/style-spec/README.md +0 -59
  243. package/src/style-spec/bin/gl-style-composite +0 -9
  244. package/src/style-spec/bin/gl-style-format +0 -22
  245. package/src/style-spec/bin/gl-style-migrate +0 -9
  246. package/src/style-spec/bin/gl-style-validate +0 -50
  247. package/src/style-spec/composite.js +0 -50
  248. package/src/style-spec/declass.js +0 -42
  249. package/src/style-spec/deref.js +0 -52
  250. package/src/style-spec/diff.js +0 -393
  251. package/src/style-spec/dist/.gitkeep +0 -0
  252. package/src/style-spec/empty.js +0 -29
  253. package/src/style-spec/error/parsing_error.js +0 -16
  254. package/src/style-spec/error/validation_error.js +0 -18
  255. package/src/style-spec/expression/compound_expression.js +0 -162
  256. package/src/style-spec/expression/definitions/assertion.js +0 -130
  257. package/src/style-spec/expression/definitions/at.js +0 -70
  258. package/src/style-spec/expression/definitions/case.js +0 -85
  259. package/src/style-spec/expression/definitions/coalesce.js +0 -93
  260. package/src/style-spec/expression/definitions/coercion.js +0 -133
  261. package/src/style-spec/expression/definitions/collator.js +0 -78
  262. package/src/style-spec/expression/definitions/comparison.js +0 -184
  263. package/src/style-spec/expression/definitions/format.js +0 -144
  264. package/src/style-spec/expression/definitions/format_section_override.js +0 -54
  265. package/src/style-spec/expression/definitions/image.js +0 -52
  266. package/src/style-spec/expression/definitions/in.js +0 -92
  267. package/src/style-spec/expression/definitions/index.js +0 -561
  268. package/src/style-spec/expression/definitions/interpolate.js +0 -267
  269. package/src/style-spec/expression/definitions/length.js +0 -61
  270. package/src/style-spec/expression/definitions/let.js +0 -72
  271. package/src/style-spec/expression/definitions/literal.js +0 -77
  272. package/src/style-spec/expression/definitions/match.js +0 -158
  273. package/src/style-spec/expression/definitions/number_format.js +0 -142
  274. package/src/style-spec/expression/definitions/step.js +0 -120
  275. package/src/style-spec/expression/definitions/var.js +0 -46
  276. package/src/style-spec/expression/definitions/within.js +0 -333
  277. package/src/style-spec/expression/evaluation_context.js +0 -59
  278. package/src/style-spec/expression/expression.js +0 -27
  279. package/src/style-spec/expression/index.js +0 -392
  280. package/src/style-spec/expression/is_constant.js +0 -59
  281. package/src/style-spec/expression/parsing_context.js +0 -233
  282. package/src/style-spec/expression/parsing_error.js +0 -13
  283. package/src/style-spec/expression/runtime_error.js +0 -17
  284. package/src/style-spec/expression/scope.js +0 -36
  285. package/src/style-spec/expression/stops.js +0 -39
  286. package/src/style-spec/expression/types/collator.js +0 -61
  287. package/src/style-spec/expression/types/formatted.js +0 -73
  288. package/src/style-spec/expression/types/resolved_image.js +0 -29
  289. package/src/style-spec/expression/types.js +0 -106
  290. package/src/style-spec/expression/values.js +0 -123
  291. package/src/style-spec/feature_filter/README.md +0 -55
  292. package/src/style-spec/feature_filter/convert.js +0 -208
  293. package/src/style-spec/feature_filter/index.js +0 -165
  294. package/src/style-spec/format.js +0 -51
  295. package/src/style-spec/function/convert.js +0 -254
  296. package/src/style-spec/function/index.js +0 -262
  297. package/src/style-spec/group_by_layout.js +0 -75
  298. package/src/style-spec/migrate/expressions.js +0 -39
  299. package/src/style-spec/migrate/v8.js +0 -203
  300. package/src/style-spec/migrate/v9.js +0 -26
  301. package/src/style-spec/migrate.js +0 -36
  302. package/src/style-spec/package.json +0 -41
  303. package/src/style-spec/read_style.js +0 -14
  304. package/src/style-spec/reference/latest.js +0 -3
  305. package/src/style-spec/reference/v8.json +0 -5808
  306. package/src/style-spec/rollup.config.js +0 -45
  307. package/src/style-spec/style-spec.js +0 -122
  308. package/src/style-spec/types.js +0 -438
  309. package/src/style-spec/util/color.js +0 -95
  310. package/src/style-spec/util/color_spaces.js +0 -139
  311. package/src/style-spec/util/deep_equal.js +0 -28
  312. package/src/style-spec/util/extend.js +0 -10
  313. package/src/style-spec/util/get_type.js +0 -17
  314. package/src/style-spec/util/interpolate.js +0 -22
  315. package/src/style-spec/util/properties.js +0 -15
  316. package/src/style-spec/util/ref_properties.js +0 -2
  317. package/src/style-spec/util/result.js +0 -19
  318. package/src/style-spec/util/unbundle_jsonlint.js +0 -24
  319. package/src/style-spec/validate/latest.js +0 -11
  320. package/src/style-spec/validate/validate.js +0 -75
  321. package/src/style-spec/validate/validate_array.js +0 -52
  322. package/src/style-spec/validate/validate_boolean.js +0 -15
  323. package/src/style-spec/validate/validate_color.js +0 -20
  324. package/src/style-spec/validate/validate_constants.js +0 -13
  325. package/src/style-spec/validate/validate_enum.js +0 -21
  326. package/src/style-spec/validate/validate_expression.js +0 -43
  327. package/src/style-spec/validate/validate_filter.js +0 -111
  328. package/src/style-spec/validate/validate_formatted.js +0 -11
  329. package/src/style-spec/validate/validate_function.js +0 -207
  330. package/src/style-spec/validate/validate_glyphs_url.js +0 -21
  331. package/src/style-spec/validate/validate_image.js +0 -11
  332. package/src/style-spec/validate/validate_layer.js +0 -134
  333. package/src/style-spec/validate/validate_layout_property.js +0 -6
  334. package/src/style-spec/validate/validate_light.js +0 -47
  335. package/src/style-spec/validate/validate_number.js +0 -29
  336. package/src/style-spec/validate/validate_object.js +0 -61
  337. package/src/style-spec/validate/validate_paint_property.js +0 -6
  338. package/src/style-spec/validate/validate_property.js +0 -64
  339. package/src/style-spec/validate/validate_source.js +0 -111
  340. package/src/style-spec/validate/validate_string.js +0 -15
  341. package/src/style-spec/validate_mapbox_api_supported.js +0 -171
  342. package/src/style-spec/validate_style.js +0 -39
  343. package/src/style-spec/validate_style.min.js +0 -78
  344. package/src/style-spec/visit.js +0 -77
  345. package/src/symbol/anchor.js +0 -26
  346. package/src/symbol/check_max_angle.js +0 -81
  347. package/src/symbol/clip_line.js +0 -71
  348. package/src/symbol/collision_feature.js +0 -217
  349. package/src/symbol/collision_index.js +0 -372
  350. package/src/symbol/cross_tile_symbol_index.js +0 -301
  351. package/src/symbol/get_anchors.js +0 -167
  352. package/src/symbol/grid_index.js +0 -335
  353. package/src/symbol/mergelines.js +0 -82
  354. package/src/symbol/one_em.js +0 -4
  355. package/src/symbol/opacity_state.js +0 -27
  356. package/src/symbol/placement.js +0 -1062
  357. package/src/symbol/projection.js +0 -450
  358. package/src/symbol/quads.js +0 -334
  359. package/src/symbol/shaping.js +0 -816
  360. package/src/symbol/symbol_layout.js +0 -772
  361. package/src/symbol/symbol_size.js +0 -113
  362. package/src/symbol/transform_text.js +0 -29
  363. package/src/types/callback.js +0 -17
  364. package/src/types/cancelable.js +0 -3
  365. package/src/types/tilejson.js +0 -17
  366. package/src/types/transferable.js +0 -3
  367. package/src/types/window.js +0 -172
  368. package/src/ui/anchor.js +0 -32
  369. package/src/ui/bind_handlers.js +0 -202
  370. package/src/ui/camera.js +0 -1152
  371. package/src/ui/control/attribution_control.js +0 -189
  372. package/src/ui/control/fps_control.js +0 -185
  373. package/src/ui/control/fullscreen_control.js +0 -147
  374. package/src/ui/control/geolocate_control.js +0 -594
  375. package/src/ui/control/logo_control.js +0 -92
  376. package/src/ui/control/navigation_control.js +0 -148
  377. package/src/ui/control/scale_control.js +0 -142
  378. package/src/ui/crs.js +0 -64
  379. package/src/ui/default_locale.js +0 -20
  380. package/src/ui/events.js +0 -806
  381. package/src/ui/handler/box_zoom.js +0 -175
  382. package/src/ui/handler/dblclick_zoom.js +0 -139
  383. package/src/ui/handler/drag_pan.js +0 -416
  384. package/src/ui/handler/drag_rotate.js +0 -378
  385. package/src/ui/handler/keyboard.js +0 -161
  386. package/src/ui/handler/scroll_zoom.js +0 -333
  387. package/src/ui/handler/touch_zoom_rotate.js +0 -293
  388. package/src/ui/hash.js +0 -147
  389. package/src/ui/map.js +0 -2883
  390. package/src/ui/marker.js +0 -607
  391. package/src/ui/offline_map.js +0 -91
  392. package/src/ui/popup.js +0 -530
  393. package/src/util/actor.js +0 -212
  394. package/src/util/ajax.js +0 -371
  395. package/src/util/browser/web_worker.js +0 -10
  396. package/src/util/browser/window.js +0 -5
  397. package/src/util/browser.js +0 -70
  398. package/src/util/classify_rings.js +0 -52
  399. package/src/util/color_ramp.js +0 -28
  400. package/src/util/config.js +0 -30
  401. package/src/util/debug.js +0 -12
  402. package/src/util/dictionary_coder.js +0 -30
  403. package/src/util/dispatcher.js +0 -70
  404. package/src/util/dom.js +0 -144
  405. package/src/util/evented.js +0 -174
  406. package/src/util/find_pole_of_inaccessibility.js +0 -129
  407. package/src/util/global_worker_pool.js +0 -17
  408. package/src/util/image.js +0 -142
  409. package/src/util/intersection_tests.js +0 -208
  410. package/src/util/is_char_in_unicode_block.js +0 -311
  411. package/src/util/mapbox.js +0 -486
  412. package/src/util/offscreen_canvas_supported.js +0 -14
  413. package/src/util/performance.js +0 -112
  414. package/src/util/primitives.js +0 -145
  415. package/src/util/resolve_tokens.js +0 -16
  416. package/src/util/script_detection.js +0 -328
  417. package/src/util/sku_token.js +0 -42
  418. package/src/util/smart_wrap.js +0 -55
  419. package/src/util/struct_array.js +0 -243
  420. package/src/util/struct_array.js.ejs +0 -112
  421. package/src/util/struct_array_layout.js.ejs +0 -98
  422. package/src/util/task_queue.js +0 -68
  423. package/src/util/throttle.js +0 -28
  424. package/src/util/throttled_invoker.js +0 -46
  425. package/src/util/tile_cover.js +0 -101
  426. package/src/util/tile_request_cache.js +0 -172
  427. package/src/util/util.js +0 -504
  428. package/src/util/vectortile_to_geojson.js +0 -54
  429. package/src/util/verticalize_punctuation.js +0 -114
  430. package/src/util/web_worker.js +0 -91
  431. package/src/util/web_worker_transfer.js +0 -266
  432. package/src/util/webp_supported.js +0 -69
  433. package/src/util/window.js +0 -102
  434. package/src/util/worker_pool.js +0 -47
@@ -1,254 +0,0 @@
1
- // @flow
2
-
3
- import assert from 'assert';
4
- import type {StylePropertySpecification} from '../style-spec';
5
-
6
- export default convertFunction;
7
-
8
- function convertLiteral(value) {
9
- return typeof value === 'object' ? ['literal', value] : value;
10
- }
11
-
12
- function convertFunction(parameters: any, propertySpec: StylePropertySpecification) {
13
- let stops = parameters.stops;
14
- if (!stops) {
15
- // identity function
16
- return convertIdentityFunction(parameters, propertySpec);
17
- }
18
-
19
- const zoomAndFeatureDependent = stops && typeof stops[0][0] === 'object';
20
- const featureDependent = zoomAndFeatureDependent || parameters.property !== undefined;
21
- const zoomDependent = zoomAndFeatureDependent || !featureDependent;
22
-
23
- stops = stops.map((stop) => {
24
- if (!featureDependent && propertySpec.tokens && typeof stop[1] === 'string') {
25
- return [stop[0], convertTokenString(stop[1])];
26
- }
27
- return [stop[0], convertLiteral(stop[1])];
28
- });
29
-
30
- if (zoomAndFeatureDependent) {
31
- return convertZoomAndPropertyFunction(parameters, propertySpec, stops);
32
- } else if (zoomDependent) {
33
- return convertZoomFunction(parameters, propertySpec, stops);
34
- } else {
35
- return convertPropertyFunction(parameters, propertySpec, stops);
36
- }
37
- }
38
-
39
- function convertIdentityFunction(parameters, propertySpec): Array<mixed> {
40
- const get = ['get', parameters.property];
41
-
42
- if (parameters.default === undefined) {
43
- // By default, expressions for string-valued properties get coerced. To preserve
44
- // legacy function semantics, insert an explicit assertion instead.
45
- return propertySpec.type === 'string' ? ['string', get] : get;
46
- } else if (propertySpec.type === 'enum') {
47
- return [
48
- 'match',
49
- get,
50
- Object.keys(propertySpec.values),
51
- get,
52
- parameters.default
53
- ];
54
- } else {
55
- const expression = [propertySpec.type === 'color' ? 'to-color' : propertySpec.type, get, convertLiteral(parameters.default)];
56
- if (propertySpec.type === 'array') {
57
- expression.splice(1, 0, propertySpec.value, propertySpec.length || null);
58
- }
59
- return expression;
60
- }
61
- }
62
-
63
- function getInterpolateOperator(parameters) {
64
- switch (parameters.colorSpace) {
65
- case 'hcl': return 'interpolate-hcl';
66
- case 'lab': return 'interpolate-lab';
67
- default: return 'interpolate';
68
- }
69
- }
70
-
71
- function convertZoomAndPropertyFunction(parameters, propertySpec, stops) {
72
- const featureFunctionParameters = {};
73
- const featureFunctionStops = {};
74
- const zoomStops = [];
75
- for (let s = 0; s < stops.length; s++) {
76
- const stop = stops[s];
77
- const zoom = stop[0].zoom;
78
- if (featureFunctionParameters[zoom] === undefined) {
79
- featureFunctionParameters[zoom] = {
80
- zoom,
81
- type: parameters.type,
82
- property: parameters.property,
83
- default: parameters.default,
84
- };
85
- featureFunctionStops[zoom] = [];
86
- zoomStops.push(zoom);
87
- }
88
- featureFunctionStops[zoom].push([stop[0].value, stop[1]]);
89
- }
90
-
91
- // the interpolation type for the zoom dimension of a zoom-and-property
92
- // function is determined directly from the style property specification
93
- // for which it's being used: linear for interpolatable properties, step
94
- // otherwise.
95
- const functionType = getFunctionType({}, propertySpec);
96
- if (functionType === 'exponential') {
97
- const expression = [getInterpolateOperator(parameters), ['linear'], ['zoom']];
98
-
99
- for (const z of zoomStops) {
100
- const output = convertPropertyFunction(featureFunctionParameters[z], propertySpec, featureFunctionStops[z]);
101
- appendStopPair(expression, z, output, false);
102
- }
103
-
104
- return expression;
105
- } else {
106
- const expression = ['step', ['zoom']];
107
-
108
- for (const z of zoomStops) {
109
- const output = convertPropertyFunction(featureFunctionParameters[z], propertySpec, featureFunctionStops[z]);
110
- appendStopPair(expression, z, output, true);
111
- }
112
-
113
- fixupDegenerateStepCurve(expression);
114
-
115
- return expression;
116
- }
117
- }
118
-
119
- function coalesce(a, b) {
120
- if (a !== undefined) return a;
121
- if (b !== undefined) return b;
122
- }
123
-
124
- function convertPropertyFunction(parameters, propertySpec, stops) {
125
- const type = getFunctionType(parameters, propertySpec);
126
- const get = ['get', parameters.property];
127
- if (type === 'categorical' && typeof stops[0][0] === 'boolean') {
128
- assert(parameters.stops.length > 0 && parameters.stops.length <= 2);
129
- const expression = ['case'];
130
- for (const stop of stops) {
131
- expression.push(['==', get, stop[0]], stop[1]);
132
- }
133
- expression.push(convertLiteral(coalesce(parameters.default, propertySpec.default)));
134
- return expression;
135
- } else if (type === 'categorical') {
136
- const expression = ['match', get];
137
- for (const stop of stops) {
138
- appendStopPair(expression, stop[0], stop[1], false);
139
- }
140
- expression.push(convertLiteral(coalesce(parameters.default, propertySpec.default)));
141
- return expression;
142
- } else if (type === 'interval') {
143
- const expression = ['step', ['number', get]];
144
- for (const stop of stops) {
145
- appendStopPair(expression, stop[0], stop[1], true);
146
- }
147
- fixupDegenerateStepCurve(expression);
148
- return parameters.default === undefined ? expression : [
149
- 'case',
150
- ['==', ['typeof', get], 'number'],
151
- expression,
152
- convertLiteral(parameters.default)
153
- ];
154
- } else if (type === 'exponential') {
155
- const base = parameters.base !== undefined ? parameters.base : 1;
156
- const expression = [
157
- getInterpolateOperator(parameters),
158
- base === 1 ? ["linear"] : ["exponential", base],
159
- ["number", get]
160
- ];
161
-
162
- for (const stop of stops) {
163
- appendStopPair(expression, stop[0], stop[1], false);
164
- }
165
- return parameters.default === undefined ? expression : [
166
- 'case',
167
- ['==', ['typeof', get], 'number'],
168
- expression,
169
- convertLiteral(parameters.default)
170
- ];
171
- } else {
172
- throw new Error(`Unknown property function type ${type}`);
173
- }
174
- }
175
-
176
- function convertZoomFunction(parameters, propertySpec, stops, input = ['zoom']) {
177
- const type = getFunctionType(parameters, propertySpec);
178
- let expression;
179
- let isStep = false;
180
- if (type === 'interval') {
181
- expression = ['step', input];
182
- isStep = true;
183
- } else if (type === 'exponential') {
184
- const base = parameters.base !== undefined ? parameters.base : 1;
185
- expression = [getInterpolateOperator(parameters), base === 1 ? ["linear"] : ["exponential", base], input];
186
-
187
- } else {
188
- throw new Error(`Unknown zoom function type "${type}"`);
189
- }
190
-
191
- for (const stop of stops) {
192
- appendStopPair(expression, stop[0], stop[1], isStep);
193
- }
194
-
195
- fixupDegenerateStepCurve(expression);
196
-
197
- return expression;
198
- }
199
-
200
- function fixupDegenerateStepCurve(expression) {
201
- // degenerate step curve (i.e. a constant function): add a noop stop
202
- if (expression[0] === 'step' && expression.length === 3) {
203
- expression.push(0);
204
- expression.push(expression[3]);
205
- }
206
- }
207
-
208
- function appendStopPair(curve, input, output, isStep) {
209
- // Skip duplicate stop values. They were not validated for functions, but they are for expressions.
210
- // https://github.com/mapbox/mapbox-gl-js/issues/4107
211
- if (curve.length > 3 && input === curve[curve.length - 2]) {
212
- return;
213
- }
214
- // step curves don't get the first input value, as it is redundant.
215
- if (!(isStep && curve.length === 2)) {
216
- curve.push(input);
217
- }
218
- curve.push(output);
219
- }
220
-
221
- function getFunctionType(parameters, propertySpec) {
222
- if (parameters.type) {
223
- return parameters.type;
224
- } else {
225
- assert(propertySpec.expression);
226
- return (propertySpec.expression: any).interpolated ? 'exponential' : 'interval';
227
- }
228
- }
229
-
230
- // "String with {name} token" => ["concat", "String with ", ["get", "name"], " token"]
231
- export function convertTokenString(s: string) {
232
- const result = ['concat'];
233
- const re = /{([^{}]+)}/g;
234
- let pos = 0;
235
- for (let match = re.exec(s); match !== null; match = re.exec(s)) {
236
- const literal = s.slice(pos, re.lastIndex - match[0].length);
237
- pos = re.lastIndex;
238
- if (literal.length > 0) result.push(literal);
239
- result.push(['get', match[1]]);
240
- }
241
-
242
- if (result.length === 1) {
243
- return s;
244
- }
245
-
246
- if (pos < s.length) {
247
- result.push(s.slice(pos));
248
- } else if (result.length === 2) {
249
- return ['to-string', result[1]];
250
- }
251
-
252
- return result;
253
- }
254
-
@@ -1,262 +0,0 @@
1
-
2
- import * as colorSpaces from '../util/color_spaces';
3
- import Color from '../util/color';
4
- import extend from '../util/extend';
5
- import getType from '../util/get_type';
6
- import * as interpolate from '../util/interpolate';
7
- import Interpolate from '../expression/definitions/interpolate';
8
- import Formatted from '../expression/types/formatted';
9
- import ResolvedImage from '../expression/types/resolved_image';
10
- import {supportsInterpolation} from '../util/properties';
11
- import {findStopLessThanOrEqualTo} from '../expression/stops';
12
-
13
- export function isFunction(value) {
14
- return typeof value === 'object' && value !== null && !Array.isArray(value);
15
- }
16
-
17
- function identityFunction(x) {
18
- return x;
19
- }
20
-
21
- export function createFunction(parameters, propertySpec) {
22
- const isColor = propertySpec.type === 'color';
23
- const zoomAndFeatureDependent = parameters.stops && typeof parameters.stops[0][0] === 'object';
24
- const featureDependent = zoomAndFeatureDependent || parameters.property !== undefined;
25
- const zoomDependent = zoomAndFeatureDependent || !featureDependent;
26
- const type = parameters.type || (supportsInterpolation(propertySpec) ? 'exponential' : 'interval');
27
-
28
- if (isColor) {
29
- parameters = extend({}, parameters);
30
-
31
- if (parameters.stops) {
32
- parameters.stops = parameters.stops.map((stop) => {
33
- return [stop[0], Color.parse(stop[1])];
34
- });
35
- }
36
-
37
- if (parameters.default) {
38
- parameters.default = Color.parse(parameters.default);
39
- } else {
40
- parameters.default = Color.parse(propertySpec.default);
41
- }
42
- }
43
-
44
- if (parameters.colorSpace && parameters.colorSpace !== 'rgb' && !colorSpaces[parameters.colorSpace]) { // eslint-disable-line import/namespace
45
- throw new Error(`Unknown color space: ${parameters.colorSpace}`);
46
- }
47
-
48
- let innerFun;
49
- let hashedStops;
50
- let categoricalKeyType;
51
- if (type === 'exponential') {
52
- innerFun = evaluateExponentialFunction;
53
- } else if (type === 'interval') {
54
- innerFun = evaluateIntervalFunction;
55
- } else if (type === 'categorical') {
56
- innerFun = evaluateCategoricalFunction;
57
-
58
- // For categorical functions, generate an Object as a hashmap of the stops for fast searching
59
- hashedStops = Object.create(null);
60
- for (const stop of parameters.stops) {
61
- hashedStops[stop[0]] = stop[1];
62
- }
63
-
64
- // Infer key type based on first stop key-- used to encforce strict type checking later
65
- categoricalKeyType = typeof parameters.stops[0][0];
66
-
67
- } else if (type === 'identity') {
68
- innerFun = evaluateIdentityFunction;
69
- } else {
70
- throw new Error(`Unknown function type "${type}"`);
71
- }
72
-
73
- if (zoomAndFeatureDependent) {
74
- const featureFunctions = {};
75
- const zoomStops = [];
76
- for (let s = 0; s < parameters.stops.length; s++) {
77
- const stop = parameters.stops[s];
78
- const zoom = stop[0].zoom;
79
- if (featureFunctions[zoom] === undefined) {
80
- featureFunctions[zoom] = {
81
- zoom,
82
- type: parameters.type,
83
- property: parameters.property,
84
- default: parameters.default,
85
- stops: []
86
- };
87
- zoomStops.push(zoom);
88
- }
89
- featureFunctions[zoom].stops.push([stop[0].value, stop[1]]);
90
- }
91
-
92
- const featureFunctionStops = [];
93
- for (const z of zoomStops) {
94
- featureFunctionStops.push([featureFunctions[z].zoom, createFunction(featureFunctions[z], propertySpec)]);
95
- }
96
-
97
- const interpolationType = {name: 'linear'};
98
- return {
99
- kind: 'composite',
100
- interpolationType,
101
- interpolationFactor: Interpolate.interpolationFactor.bind(undefined, interpolationType),
102
- zoomStops: featureFunctionStops.map(s => s[0]),
103
- evaluate({zoom}, properties) {
104
- return evaluateExponentialFunction({
105
- stops: featureFunctionStops,
106
- base: parameters.base
107
- }, propertySpec, zoom).evaluate(zoom, properties);
108
- }
109
- };
110
- } else if (zoomDependent) {
111
- const interpolationType = type === 'exponential' ?
112
- {name: 'exponential', base: parameters.base !== undefined ? parameters.base : 1} : null;
113
- return {
114
- kind: 'camera',
115
- interpolationType,
116
- interpolationFactor: Interpolate.interpolationFactor.bind(undefined, interpolationType),
117
- zoomStops: parameters.stops.map(s => s[0]),
118
- evaluate: ({zoom}) => innerFun(parameters, propertySpec, zoom, hashedStops, categoricalKeyType)
119
- };
120
- } else {
121
- return {
122
- kind: 'source',
123
- evaluate(_, feature) {
124
- const value = feature && feature.properties ? feature.properties[parameters.property] : undefined;
125
- if (value === undefined) {
126
- return coalesce(parameters.default, propertySpec.default);
127
- }
128
- return innerFun(parameters, propertySpec, value, hashedStops, categoricalKeyType);
129
- }
130
- };
131
- }
132
- }
133
-
134
- function coalesce(a, b, c) {
135
- if (a !== undefined) return a;
136
- if (b !== undefined) return b;
137
- if (c !== undefined) return c;
138
- }
139
-
140
- function evaluateCategoricalFunction(parameters, propertySpec, input, hashedStops, keyType) {
141
- const evaluated = typeof input === keyType ? hashedStops[input] : undefined; // Enforce strict typing on input
142
- return coalesce(evaluated, parameters.default, propertySpec.default);
143
- }
144
-
145
- function evaluateIntervalFunction(parameters, propertySpec, input) {
146
- // Edge cases
147
- if (getType(input) !== 'number') return coalesce(parameters.default, propertySpec.default);
148
- const n = parameters.stops.length;
149
- if (n === 1) return parameters.stops[0][1];
150
- if (input <= parameters.stops[0][0]) return parameters.stops[0][1];
151
- if (input >= parameters.stops[n - 1][0]) return parameters.stops[n - 1][1];
152
-
153
- const index = findStopLessThanOrEqualTo(parameters.stops.map((stop) => stop[0]), input);
154
-
155
- return parameters.stops[index][1];
156
- }
157
-
158
- function evaluateExponentialFunction(parameters, propertySpec, input) {
159
- const base = parameters.base !== undefined ? parameters.base : 1;
160
-
161
- // Edge cases
162
- if (getType(input) !== 'number') return coalesce(parameters.default, propertySpec.default);
163
- const n = parameters.stops.length;
164
- if (n === 1) return parameters.stops[0][1];
165
- if (input <= parameters.stops[0][0]) return parameters.stops[0][1];
166
- if (input >= parameters.stops[n - 1][0]) return parameters.stops[n - 1][1];
167
-
168
- const index = findStopLessThanOrEqualTo(parameters.stops.map((stop) => stop[0]), input);
169
- const t = interpolationFactor(
170
- input, base,
171
- parameters.stops[index][0],
172
- parameters.stops[index + 1][0]);
173
-
174
- const outputLower = parameters.stops[index][1];
175
- const outputUpper = parameters.stops[index + 1][1];
176
- let interp = interpolate[propertySpec.type] || identityFunction; // eslint-disable-line import/namespace
177
-
178
- if (parameters.colorSpace && parameters.colorSpace !== 'rgb') {
179
- const colorspace = colorSpaces[parameters.colorSpace]; // eslint-disable-line import/namespace
180
- interp = (a, b) => colorspace.reverse(colorspace.interpolate(colorspace.forward(a), colorspace.forward(b), t));
181
- }
182
-
183
- if (typeof outputLower.evaluate === 'function') {
184
- return {
185
- evaluate(...args) {
186
- const evaluatedLower = outputLower.evaluate.apply(undefined, args);
187
- const evaluatedUpper = outputUpper.evaluate.apply(undefined, args);
188
- // Special case for fill-outline-color, which has no spec default.
189
- if (evaluatedLower === undefined || evaluatedUpper === undefined) {
190
- return undefined;
191
- }
192
- return interp(evaluatedLower, evaluatedUpper, t);
193
- }
194
- };
195
- }
196
-
197
- return interp(outputLower, outputUpper, t);
198
- }
199
-
200
- function evaluateIdentityFunction(parameters, propertySpec, input) {
201
- if (propertySpec.type === 'color') {
202
- input = Color.parse(input);
203
- } else if (propertySpec.type === 'formatted') {
204
- input = Formatted.fromString(input.toString());
205
- } else if (propertySpec.type === 'resolvedImage') {
206
- input = ResolvedImage.fromString(input.toString());
207
- } else if (getType(input) !== propertySpec.type && (propertySpec.type !== 'enum' || !propertySpec.values[input])) {
208
- input = undefined;
209
- }
210
- return coalesce(input, parameters.default, propertySpec.default);
211
- }
212
-
213
- /**
214
- * Returns a ratio that can be used to interpolate between exponential function
215
- * stops.
216
- *
217
- * How it works:
218
- * Two consecutive stop values define a (scaled and shifted) exponential
219
- * function `f(x) = a * base^x + b`, where `base` is the user-specified base,
220
- * and `a` and `b` are constants affording sufficient degrees of freedom to fit
221
- * the function to the given stops.
222
- *
223
- * Here's a bit of algebra that lets us compute `f(x)` directly from the stop
224
- * values without explicitly solving for `a` and `b`:
225
- *
226
- * First stop value: `f(x0) = y0 = a * base^x0 + b`
227
- * Second stop value: `f(x1) = y1 = a * base^x1 + b`
228
- * => `y1 - y0 = a(base^x1 - base^x0)`
229
- * => `a = (y1 - y0)/(base^x1 - base^x0)`
230
- *
231
- * Desired value: `f(x) = y = a * base^x + b`
232
- * => `f(x) = y0 + a * (base^x - base^x0)`
233
- *
234
- * From the above, we can replace the `a` in `a * (base^x - base^x0)` and do a
235
- * little algebra:
236
- * ```
237
- * a * (base^x - base^x0) = (y1 - y0)/(base^x1 - base^x0) * (base^x - base^x0)
238
- * = (y1 - y0) * (base^x - base^x0) / (base^x1 - base^x0)
239
- * ```
240
- *
241
- * If we let `(base^x - base^x0) / (base^x1 base^x0)`, then we have
242
- * `f(x) = y0 + (y1 - y0) * ratio`. In other words, `ratio` may be treated as
243
- * an interpolation factor between the two stops' output values.
244
- *
245
- * (Note: a slightly different form for `ratio`,
246
- * `(base^(x-x0) - 1) / (base^(x1-x0) - 1) `, is equivalent, but requires fewer
247
- * expensive `Math.pow()` operations.)
248
- *
249
- * @private
250
- */
251
- function interpolationFactor(input, base, lowerValue, upperValue) {
252
- const difference = upperValue - lowerValue;
253
- const progress = input - lowerValue;
254
-
255
- if (difference === 0) {
256
- return 0;
257
- } else if (base === 1) {
258
- return progress / difference;
259
- } else {
260
- return (Math.pow(base, progress) - 1) / (Math.pow(base, difference) - 1);
261
- }
262
- }
@@ -1,75 +0,0 @@
1
-
2
- import refProperties from './util/ref_properties';
3
-
4
- function stringify(obj) {
5
- const type = typeof obj;
6
- if (type === 'number' || type === 'boolean' || type === 'string' || obj === undefined || obj === null)
7
- return JSON.stringify(obj);
8
-
9
- if (Array.isArray(obj)) {
10
- let str = '[';
11
- for (const val of obj) {
12
- str += `${stringify(val)},`;
13
- }
14
- return `${str}]`;
15
- }
16
-
17
- const keys = Object.keys(obj).sort();
18
-
19
- let str = '{';
20
- for (let i = 0; i < keys.length; i++) {
21
- str += `${JSON.stringify(keys[i])}:${stringify(obj[keys[i]])},`;
22
- }
23
- return `${str}}`;
24
- }
25
-
26
- function getKey(layer) {
27
- let key = '';
28
- for (const k of refProperties) {
29
- key += `/${stringify(layer[k])}`;
30
- }
31
- return key;
32
- }
33
-
34
- export default groupByLayout;
35
-
36
- /**
37
- * Given an array of layers, return an array of arrays of layers where all
38
- * layers in each group have identical layout-affecting properties. These
39
- * are the properties that were formerly used by explicit `ref` mechanism
40
- * for layers: 'type', 'source', 'source-layer', 'minzoom', 'maxzoom',
41
- * 'filter', and 'layout'.
42
- *
43
- * The input is not modified. The output layers are references to the
44
- * input layers.
45
- *
46
- * @private
47
- * @param {Array<Layer>} layers
48
- * @param {Object} [cachedKeys] - an object to keep already calculated keys.
49
- * @returns {Array<Array<Layer>>}
50
- */
51
- function groupByLayout(layers, cachedKeys) {
52
- const groups = {};
53
-
54
- for (let i = 0; i < layers.length; i++) {
55
-
56
- const k = (cachedKeys && cachedKeys[layers[i].id]) || getKey(layers[i]);
57
- // update the cache if there is one
58
- if (cachedKeys)
59
- cachedKeys[layers[i].id] = k;
60
-
61
- let group = groups[k];
62
- if (!group) {
63
- group = groups[k] = [];
64
- }
65
- group.push(layers[i]);
66
- }
67
-
68
- const result = [];
69
-
70
- for (const k in groups) {
71
- result.push(groups[k]);
72
- }
73
-
74
- return result;
75
- }
@@ -1,39 +0,0 @@
1
- // @flow
2
-
3
- import {
4
- eachLayer,
5
- eachProperty
6
- } from '../visit';
7
- import {isExpression} from '../expression';
8
- import convertFunction, {convertTokenString} from '../function/convert';
9
- import convertFilter from '../feature_filter/convert';
10
-
11
- import type {StyleSpecification} from '../types';
12
-
13
- /**
14
- * Migrate the given style object in place to use expressions. Specifically,
15
- * this will convert (a) "stop" functions, and (b) legacy filters to their
16
- * expression equivalents.
17
- */
18
- export default function(style: StyleSpecification) {
19
- const converted = [];
20
-
21
- eachLayer(style, (layer) => {
22
- if (layer.filter) {
23
- layer.filter = (convertFilter(layer.filter): any);
24
- }
25
- });
26
-
27
- eachProperty(style, {paint: true, layout: true}, ({path, value, reference, set}) => {
28
- if (isExpression(value)) return;
29
- if (typeof value === 'object' && !Array.isArray(value)) {
30
- set(convertFunction(value, reference));
31
- converted.push(path.join('.'));
32
- } else if (reference.tokens && typeof value === 'string') {
33
- set(convertTokenString(value));
34
- }
35
- });
36
-
37
- return style;
38
- }
39
-