@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,233 +0,0 @@
1
- // @flow
2
-
3
- import Scope from './scope';
4
- import {checkSubtype} from './types';
5
- import ParsingError from './parsing_error';
6
- import Literal from './definitions/literal';
7
- import Assertion from './definitions/assertion';
8
- import Coercion from './definitions/coercion';
9
- import EvaluationContext from './evaluation_context';
10
- import CompoundExpression from './compound_expression';
11
- import CollatorExpression from './definitions/collator';
12
- import Within from './definitions/within';
13
- import {isGlobalPropertyConstant, isFeatureConstant} from './is_constant';
14
- import Var from './definitions/var';
15
-
16
- import type {Expression, ExpressionRegistry} from './expression';
17
- import type {Type} from './types';
18
-
19
- /**
20
- * State associated parsing at a given point in an expression tree.
21
- * @private
22
- */
23
- class ParsingContext {
24
- registry: ExpressionRegistry;
25
- path: Array<number>;
26
- key: string;
27
- scope: Scope;
28
- errors: Array<ParsingError>;
29
-
30
- // The expected type of this expression. Provided only to allow Expression
31
- // implementations to infer argument types: Expression#parse() need not
32
- // check that the output type of the parsed expression matches
33
- // `expectedType`.
34
- expectedType: ?Type;
35
-
36
- constructor(
37
- registry: ExpressionRegistry,
38
- path: Array<number> = [],
39
- expectedType: ?Type,
40
- scope: Scope = new Scope(),
41
- errors: Array<ParsingError> = []
42
- ) {
43
- this.registry = registry;
44
- this.path = path;
45
- this.key = path.map(part => `[${part}]`).join('');
46
- this.scope = scope;
47
- this.errors = errors;
48
- this.expectedType = expectedType;
49
- }
50
-
51
- /**
52
- * @param expr the JSON expression to parse
53
- * @param index the optional argument index if this expression is an argument of a parent expression that's being parsed
54
- * @param options
55
- * @param options.omitTypeAnnotations set true to omit inferred type annotations. Caller beware: with this option set, the parsed expression's type will NOT satisfy `expectedType` if it would normally be wrapped in an inferred annotation.
56
- * @private
57
- */
58
- parse(
59
- expr: mixed,
60
- index?: number,
61
- expectedType?: ?Type,
62
- bindings?: Array<[string, Expression]>,
63
- options: {typeAnnotation?: 'assert' | 'coerce' | 'omit'} = {}
64
- ): ?Expression {
65
- if (index) {
66
- return this.concat(index, expectedType, bindings)._parse(expr, options);
67
- }
68
- return this._parse(expr, options);
69
- }
70
-
71
- _parse(expr: mixed, options: {typeAnnotation?: 'assert' | 'coerce' | 'omit'}): ?Expression {
72
- if (expr === null || typeof expr === 'string' || typeof expr === 'boolean' || typeof expr === 'number') {
73
- expr = ['literal', expr];
74
- }
75
-
76
- function annotate(parsed, type, typeAnnotation: 'assert' | 'coerce' | 'omit') {
77
- if (typeAnnotation === 'assert') {
78
- return new Assertion(type, [parsed]);
79
- } else if (typeAnnotation === 'coerce') {
80
- return new Coercion(type, [parsed]);
81
- } else {
82
- return parsed;
83
- }
84
- }
85
-
86
- if (Array.isArray(expr)) {
87
- if (expr.length === 0) {
88
- return this.error(`Expected an array with at least one element. If you wanted a literal array, use ["literal", []].`);
89
- }
90
-
91
- const op = expr[0];
92
- if (typeof op !== 'string') {
93
- this.error(`Expression name must be a string, but found ${typeof op} instead. If you wanted a literal array, use ["literal", [...]].`, 0);
94
- return null;
95
- }
96
-
97
- const Expr = this.registry[op];
98
- if (Expr) {
99
- let parsed = Expr.parse(expr, this);
100
- if (!parsed) return null;
101
-
102
- if (this.expectedType) {
103
- const expected = this.expectedType;
104
- const actual = parsed.type;
105
-
106
- // When we expect a number, string, boolean, or array but have a value, wrap it in an assertion.
107
- // When we expect a color or formatted string, but have a string or value, wrap it in a coercion.
108
- // Otherwise, we do static type-checking.
109
- //
110
- // These behaviors are overridable for:
111
- // * The "coalesce" operator, which needs to omit type annotations.
112
- // * String-valued properties (e.g. `text-field`), where coercion is more convenient than assertion.
113
- //
114
- if ((expected.kind === 'string' || expected.kind === 'number' || expected.kind === 'boolean' || expected.kind === 'object' || expected.kind === 'array') && actual.kind === 'value') {
115
- parsed = annotate(parsed, expected, options.typeAnnotation || 'assert');
116
- } else if ((expected.kind === 'color' || expected.kind === 'formatted' || expected.kind === 'resolvedImage') && (actual.kind === 'value' || actual.kind === 'string')) {
117
- parsed = annotate(parsed, expected, options.typeAnnotation || 'coerce');
118
- } else if (this.checkSubtype(expected, actual)) {
119
- return null;
120
- }
121
- }
122
-
123
- // If an expression's arguments are all literals, we can evaluate
124
- // it immediately and replace it with a literal value in the
125
- // parsed/compiled result. Expressions that expect an image should
126
- // not be resolved here so we can later get the available images.
127
- if (!(parsed instanceof Literal) && (parsed.type.kind !== 'resolvedImage') && isConstant(parsed)) {
128
- const ec = new EvaluationContext();
129
- try {
130
- parsed = new Literal(parsed.type, parsed.evaluate(ec));
131
- } catch (e) {
132
- this.error(e.message);
133
- return null;
134
- }
135
- }
136
-
137
- return parsed;
138
- }
139
-
140
- return this.error(`Unknown expression "${op}". If you wanted a literal array, use ["literal", [...]].`, 0);
141
- } else if (typeof expr === 'undefined') {
142
- return this.error(`'undefined' value invalid. Use null instead.`);
143
- } else if (typeof expr === 'object') {
144
- return this.error(`Bare objects invalid. Use ["literal", {...}] instead.`);
145
- } else {
146
- return this.error(`Expected an array, but found ${typeof expr} instead.`);
147
- }
148
- }
149
-
150
- /**
151
- * Returns a copy of this context suitable for parsing the subexpression at
152
- * index `index`, optionally appending to 'let' binding map.
153
- *
154
- * Note that `errors` property, intended for collecting errors while
155
- * parsing, is copied by reference rather than cloned.
156
- * @private
157
- */
158
- concat(index: number, expectedType?: ?Type, bindings?: Array<[string, Expression]>) {
159
- const path = typeof index === 'number' ? this.path.concat(index) : this.path;
160
- const scope = bindings ? this.scope.concat(bindings) : this.scope;
161
- return new ParsingContext(
162
- this.registry,
163
- path,
164
- expectedType || null,
165
- scope,
166
- this.errors
167
- );
168
- }
169
-
170
- /**
171
- * Push a parsing (or type checking) error into the `this.errors`
172
- * @param error The message
173
- * @param keys Optionally specify the source of the error at a child
174
- * of the current expression at `this.key`.
175
- * @private
176
- */
177
- error(error: string, ...keys: Array<number>) {
178
- const key = `${this.key}${keys.map(k => `[${k}]`).join('')}`;
179
- this.errors.push(new ParsingError(key, error));
180
- }
181
-
182
- /**
183
- * Returns null if `t` is a subtype of `expected`; otherwise returns an
184
- * error message and also pushes it to `this.errors`.
185
- */
186
- checkSubtype(expected: Type, t: Type): ?string {
187
- const error = checkSubtype(expected, t);
188
- if (error) this.error(error);
189
- return error;
190
- }
191
- }
192
-
193
- export default ParsingContext;
194
-
195
- function isConstant(expression: Expression) {
196
- if (expression instanceof Var) {
197
- return isConstant(expression.boundExpression);
198
- } else if (expression instanceof CompoundExpression && expression.name === 'error') {
199
- return false;
200
- } else if (expression instanceof CollatorExpression) {
201
- // Although the results of a Collator expression with fixed arguments
202
- // generally shouldn't change between executions, we can't serialize them
203
- // as constant expressions because results change based on environment.
204
- return false;
205
- } else if (expression instanceof Within) {
206
- return false;
207
- }
208
-
209
- const isTypeAnnotation = expression instanceof Coercion ||
210
- expression instanceof Assertion;
211
-
212
- let childrenConstant = true;
213
- expression.eachChild(child => {
214
- // We can _almost_ assume that if `expressions` children are constant,
215
- // they would already have been evaluated to Literal values when they
216
- // were parsed. Type annotations are the exception, because they might
217
- // have been inferred and added after a child was parsed.
218
-
219
- // So we recurse into isConstant() for the children of type annotations,
220
- // but otherwise simply check whether they are Literals.
221
- if (isTypeAnnotation) {
222
- childrenConstant = childrenConstant && isConstant(child);
223
- } else {
224
- childrenConstant = childrenConstant && child instanceof Literal;
225
- }
226
- });
227
- if (!childrenConstant) {
228
- return false;
229
- }
230
-
231
- return isFeatureConstant(expression) &&
232
- isGlobalPropertyConstant(expression, ['zoom', 'heatmap-density', 'line-progress', 'accumulated', 'is-supported-script']);
233
- }
@@ -1,13 +0,0 @@
1
- // @flow
2
-
3
- class ParsingError extends Error {
4
- key: string;
5
- message: string;
6
- constructor(key: string, message: string) {
7
- super(message);
8
- this.message = message;
9
- this.key = key;
10
- }
11
- }
12
-
13
- export default ParsingError;
@@ -1,17 +0,0 @@
1
- // @flow
2
-
3
- class RuntimeError {
4
- name: string;
5
- message: string;
6
-
7
- constructor(message: string) {
8
- this.name = 'ExpressionEvaluationError';
9
- this.message = message;
10
- }
11
-
12
- toJSON() {
13
- return this.message;
14
- }
15
- }
16
-
17
- export default RuntimeError;
@@ -1,36 +0,0 @@
1
- // @flow
2
-
3
- import type {Expression} from './expression';
4
-
5
- /**
6
- * Tracks `let` bindings during expression parsing.
7
- * @private
8
- */
9
- class Scope {
10
- parent: ?Scope;
11
- bindings: {[_: string]: Expression};
12
- constructor(parent?: Scope, bindings: Array<[string, Expression]> = []) {
13
- this.parent = parent;
14
- this.bindings = {};
15
- for (const [name, expression] of bindings) {
16
- this.bindings[name] = expression;
17
- }
18
- }
19
-
20
- concat(bindings: Array<[string, Expression]>) {
21
- return new Scope(this, bindings);
22
- }
23
-
24
- get(name: string): Expression {
25
- if (this.bindings[name]) { return this.bindings[name]; }
26
- if (this.parent) { return this.parent.get(name); }
27
- throw new Error(`${name} not found in scope.`);
28
- }
29
-
30
- has(name: string): boolean {
31
- if (this.bindings[name]) return true;
32
- return this.parent ? this.parent.has(name) : false;
33
- }
34
- }
35
-
36
- export default Scope;
@@ -1,39 +0,0 @@
1
- // @flow
2
-
3
- import RuntimeError from './runtime_error';
4
-
5
- import type {Expression} from './expression';
6
-
7
- export type Stops = Array<[number, Expression]>;
8
-
9
- /**
10
- * Returns the index of the last stop <= input, or 0 if it doesn't exist.
11
- * @private
12
- */
13
- export function findStopLessThanOrEqualTo(stops: Array<number>, input: number) {
14
- const lastIndex = stops.length - 1;
15
- let lowerIndex = 0;
16
- let upperIndex = lastIndex;
17
- let currentIndex = 0;
18
- let currentValue, nextValue;
19
-
20
- while (lowerIndex <= upperIndex) {
21
- currentIndex = Math.floor((lowerIndex + upperIndex) / 2);
22
- currentValue = stops[currentIndex];
23
- nextValue = stops[currentIndex + 1];
24
-
25
- if (currentValue <= input) {
26
- if (currentIndex === lastIndex || input < nextValue) { // Search complete
27
- return currentIndex;
28
- }
29
-
30
- lowerIndex = currentIndex + 1;
31
- } else if (currentValue > input) {
32
- upperIndex = currentIndex - 1;
33
- } else {
34
- throw new RuntimeError('Input is not a number.');
35
- }
36
- }
37
-
38
- return 0;
39
- }
@@ -1,61 +0,0 @@
1
- // @flow
2
-
3
- // Flow type declarations for Intl cribbed from
4
- // https://github.com/facebook/flow/issues/1270
5
-
6
- declare var Intl: {
7
- Collator: Class<Intl$Collator>
8
- };
9
-
10
- declare class Intl$Collator {
11
- constructor (
12
- locales?: string | string[],
13
- options?: CollatorOptions
14
- ): Intl$Collator;
15
-
16
- static (
17
- locales?: string | string[],
18
- options?: CollatorOptions
19
- ): Intl$Collator;
20
-
21
- compare (a: string, b: string): number;
22
-
23
- resolvedOptions(): any;
24
- }
25
-
26
- type CollatorOptions = {
27
- localeMatcher?: 'lookup' | 'best fit',
28
- usage?: 'sort' | 'search',
29
- sensitivity?: 'base' | 'accent' | 'case' | 'variant',
30
- ignorePunctuation?: boolean,
31
- numeric?: boolean,
32
- caseFirst?: 'upper' | 'lower' | 'false'
33
- }
34
-
35
- export default class Collator {
36
- locale: string | null;
37
- sensitivity: 'base' | 'accent' | 'case' | 'variant';
38
- collator: Intl$Collator;
39
-
40
- constructor(caseSensitive: boolean, diacriticSensitive: boolean, locale: string | null) {
41
- if (caseSensitive)
42
- this.sensitivity = diacriticSensitive ? 'variant' : 'case';
43
- else
44
- this.sensitivity = diacriticSensitive ? 'accent' : 'base';
45
-
46
- this.locale = locale;
47
- this.collator = new Intl.Collator(this.locale ? this.locale : [],
48
- {sensitivity: this.sensitivity, usage: 'search'});
49
- }
50
-
51
- compare(lhs: string, rhs: string): number {
52
- return this.collator.compare(lhs, rhs);
53
- }
54
-
55
- resolvedLocale(): string {
56
- // We create a Collator without "usage: search" because we don't want
57
- // the search options encoded in our result (e.g. "en-u-co-search")
58
- return new Intl.Collator(this.locale ? this.locale : [])
59
- .resolvedOptions().locale;
60
- }
61
- }
@@ -1,73 +0,0 @@
1
- // @flow
2
- import type Color from '../../util/color';
3
- import type ResolvedImage from '../types/resolved_image';
4
-
5
- export class FormattedSection {
6
- text: string;
7
- image: ResolvedImage | null;
8
- scale: number | null;
9
- fontStack: string | null;
10
- textColor: Color | null;
11
-
12
- constructor(text: string, image: ResolvedImage | null, scale: number | null, fontStack: string | null, textColor: Color | null) {
13
- this.text = text;
14
- this.image = image;
15
- this.scale = scale;
16
- this.fontStack = fontStack;
17
- this.textColor = textColor;
18
- }
19
- }
20
-
21
- export default class Formatted {
22
- sections: Array<FormattedSection>;
23
-
24
- constructor(sections: Array<FormattedSection>) {
25
- this.sections = sections;
26
- }
27
-
28
- static fromString(unformatted: string): Formatted {
29
- return new Formatted([new FormattedSection(unformatted, null, null, null, null)]);
30
- }
31
-
32
- isEmpty(): boolean {
33
- if (this.sections.length === 0) return true;
34
- return !this.sections.some(section => section.text.length !== 0 ||
35
- (section.image && section.image.name.length !== 0));
36
- }
37
-
38
- static factory(text: Formatted | string): Formatted {
39
- if (text instanceof Formatted) {
40
- return text;
41
- } else {
42
- return Formatted.fromString(text);
43
- }
44
- }
45
-
46
- toString(): string {
47
- if (this.sections.length === 0) return '';
48
- return this.sections.map(section => section.text).join('');
49
- }
50
-
51
- serialize(): Array<mixed> {
52
- const serialized: Array<mixed> = ["format"];
53
- for (const section of this.sections) {
54
- if (section.image) {
55
- serialized.push(["image", section.image.name]);
56
- continue;
57
- }
58
- serialized.push(section.text);
59
- const options: { [key: string]: mixed } = {};
60
- if (section.fontStack) {
61
- options["text-font"] = ["literal", section.fontStack.split(',')];
62
- }
63
- if (section.scale) {
64
- options["font-scale"] = section.scale;
65
- }
66
- if (section.textColor) {
67
- options["text-color"] = (["rgba"]: Array<mixed>).concat(section.textColor.toArray());
68
- }
69
- serialized.push(options);
70
- }
71
- return serialized;
72
- }
73
- }
@@ -1,29 +0,0 @@
1
- // @flow
2
-
3
- export type ResolvedImageOptions = {
4
- name: string,
5
- available: boolean
6
- };
7
-
8
- export default class ResolvedImage {
9
- name: string;
10
- available: boolean;
11
-
12
- constructor(options: ResolvedImageOptions) {
13
- this.name = options.name;
14
- this.available = options.available;
15
- }
16
-
17
- toString(): string {
18
- return this.name;
19
- }
20
-
21
- static fromString(name: string): ResolvedImage | null {
22
- if (!name) return null; // treat empty values as no image
23
- return new ResolvedImage({name, available: false});
24
- }
25
-
26
- serialize(): Array<string> {
27
- return ["image", this.name];
28
- }
29
- }
@@ -1,106 +0,0 @@
1
- // @flow
2
-
3
- export type NullTypeT = { kind: 'null' };
4
- export type NumberTypeT = { kind: 'number' };
5
- export type StringTypeT = { kind: 'string' };
6
- export type BooleanTypeT = { kind: 'boolean' };
7
- export type ColorTypeT = { kind: 'color' };
8
- export type ObjectTypeT = { kind: 'object' };
9
- export type ValueTypeT = { kind: 'value' };
10
- export type ErrorTypeT = { kind: 'error' };
11
- export type CollatorTypeT = { kind: 'collator' };
12
- export type FormattedTypeT = { kind: 'formatted' };
13
- export type ResolvedImageTypeT = { kind: 'resolvedImage' };
14
-
15
- export type EvaluationKind = 'constant' | 'source' | 'camera' | 'composite';
16
-
17
- export type Type =
18
- NullTypeT |
19
- NumberTypeT |
20
- StringTypeT |
21
- BooleanTypeT |
22
- ColorTypeT |
23
- ObjectTypeT |
24
- ValueTypeT |
25
- ArrayType | // eslint-disable-line no-use-before-define
26
- ErrorTypeT |
27
- CollatorTypeT |
28
- FormattedTypeT |
29
- ResolvedImageTypeT
30
-
31
- export type ArrayType = {
32
- kind: 'array',
33
- itemType: Type,
34
- N: ?number
35
- }
36
-
37
- export const NullType = {kind: 'null'};
38
- export const NumberType = {kind: 'number'};
39
- export const StringType = {kind: 'string'};
40
- export const BooleanType = {kind: 'boolean'};
41
- export const ColorType = {kind: 'color'};
42
- export const ObjectType = {kind: 'object'};
43
- export const ValueType = {kind: 'value'};
44
- export const ErrorType = {kind: 'error'};
45
- export const CollatorType = {kind: 'collator'};
46
- export const FormattedType = {kind: 'formatted'};
47
- export const ResolvedImageType = {kind: 'resolvedImage'};
48
-
49
- export function array(itemType: Type, N: ?number): ArrayType {
50
- return {
51
- kind: 'array',
52
- itemType,
53
- N
54
- };
55
- }
56
-
57
- export function toString(type: Type): string {
58
- if (type.kind === 'array') {
59
- const itemType = toString(type.itemType);
60
- return typeof type.N === 'number' ?
61
- `array<${itemType}, ${type.N}>` :
62
- type.itemType.kind === 'value' ? 'array' : `array<${itemType}>`;
63
- } else {
64
- return type.kind;
65
- }
66
- }
67
-
68
- const valueMemberTypes = [
69
- NullType,
70
- NumberType,
71
- StringType,
72
- BooleanType,
73
- ColorType,
74
- FormattedType,
75
- ObjectType,
76
- array(ValueType),
77
- ResolvedImageType
78
- ];
79
-
80
- /**
81
- * Returns null if `t` is a subtype of `expected`; otherwise returns an
82
- * error message.
83
- * @private
84
- */
85
- export function checkSubtype(expected: Type, t: Type): ?string {
86
- if (t.kind === 'error') {
87
- // Error is a subtype of every type
88
- return null;
89
- } else if (expected.kind === 'array') {
90
- if (t.kind === 'array' &&
91
- ((t.N === 0 && t.itemType.kind === 'value') || !checkSubtype(expected.itemType, t.itemType)) &&
92
- (typeof expected.N !== 'number' || expected.N === t.N)) {
93
- return null;
94
- }
95
- } else if (expected.kind === t.kind) {
96
- return null;
97
- } else if (expected.kind === 'value') {
98
- for (const memberType of valueMemberTypes) {
99
- if (!checkSubtype(memberType, t)) {
100
- return null;
101
- }
102
- }
103
- }
104
-
105
- return `Expected ${toString(expected)} but found ${toString(t)} instead.`;
106
- }