@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,76 +0,0 @@
1
- // @flow
2
-
3
- import {warnOnce} from '../util/util';
4
-
5
- import {register} from '../util/web_worker_transfer';
6
-
7
- import type VertexArrayObject from '../render/vertex_array_object';
8
- import type {StructArray} from '../util/struct_array';
9
-
10
- export type Segment = {
11
- sortKey: number | void,
12
- vertexOffset: number,
13
- primitiveOffset: number,
14
- vertexLength: number,
15
- primitiveLength: number,
16
- vaos: {[_: string]: VertexArrayObject}
17
- }
18
-
19
- class SegmentVector {
20
- static MAX_VERTEX_ARRAY_LENGTH: number;
21
- segments: Array<Segment>;
22
-
23
- constructor(segments?: Array<Segment> = []) {
24
- this.segments = segments;
25
- }
26
-
27
- prepareSegment(numVertices: number, layoutVertexArray: StructArray, indexArray: StructArray, sortKey?: number): Segment {
28
- let segment: Segment = this.segments[this.segments.length - 1];
29
- if (numVertices > SegmentVector.MAX_VERTEX_ARRAY_LENGTH) warnOnce(`Max vertices per segment is ${SegmentVector.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${numVertices}`);
30
- if (!segment || segment.vertexLength + numVertices > SegmentVector.MAX_VERTEX_ARRAY_LENGTH || segment.sortKey !== sortKey) {
31
- segment = ({
32
- vertexOffset: layoutVertexArray.length,
33
- primitiveOffset: indexArray.length,
34
- vertexLength: 0,
35
- primitiveLength: 0
36
- }: any);
37
- if (sortKey !== undefined) segment.sortKey = sortKey;
38
- this.segments.push(segment);
39
- }
40
- return segment;
41
- }
42
-
43
- get() {
44
- return this.segments;
45
- }
46
-
47
- destroy() {
48
- for (const segment of this.segments) {
49
- for (const k in segment.vaos) {
50
- segment.vaos[k].destroy();
51
- }
52
- }
53
- }
54
-
55
- static simpleSegment(vertexOffset: number, primitiveOffset: number, vertexLength: number, primitiveLength: number): SegmentVector {
56
- return new SegmentVector([{
57
- vertexOffset,
58
- primitiveOffset,
59
- vertexLength,
60
- primitiveLength,
61
- vaos: {},
62
- sortKey: 0
63
- }]);
64
- }
65
- }
66
-
67
- /*
68
- * The maximum size of a vertex array. This limit is imposed by WebGL's 16 bit
69
- * addressing of vertex buffers.
70
- * @private
71
- * @readonly
72
- */
73
- SegmentVector.MAX_VERTEX_ARRAY_LENGTH = Math.pow(2, 16) - 1;
74
-
75
- register('SegmentVector', SegmentVector);
76
- export default SegmentVector;
@@ -1,102 +0,0 @@
1
- // @flow
2
- import {number} from "../style-spec/util/interpolate";
3
- import Point from "@mapbox/point-geometry";
4
- import {clamp} from "../util/util";
5
-
6
- /**
7
- * An `EdgeInset` object represents screen space padding applied to the edges of the viewport.
8
- * This shifts the apprent center or the vanishing point of the map. This is useful for adding floating UI elements
9
- * on top of the map and having the vanishing point shift as UI elements resize.
10
- *
11
- * @param {number} [top=0]
12
- * @param {number} [bottom=0]
13
- * @param {number} [left=0]
14
- * @param {number} [right=0]
15
- */
16
- class EdgeInsets {
17
- top: number;
18
- bottom: number;
19
- left: number;
20
- right: number;
21
-
22
- constructor(top: number = 0, bottom: number = 0, left: number = 0, right: number = 0) {
23
- if (isNaN(top) || top < 0 ||
24
- isNaN(bottom) || bottom < 0 ||
25
- isNaN(left) || left < 0 ||
26
- isNaN(right) || right < 0
27
- ) {
28
- throw new Error('Invalid value for edge-insets, top, bottom, left and right must all be numbers');
29
- }
30
-
31
- this.top = top;
32
- this.bottom = bottom;
33
- this.left = left;
34
- this.right = right;
35
- }
36
-
37
- /**
38
- * Interpolates the inset in-place.
39
- * This maintains the current inset value for any inset not present in `target`.
40
- *
41
- * @param {PaddingOptions} target
42
- * @param {number} t
43
- * @returns {EdgeInsets}
44
- * @memberof EdgeInsets
45
- */
46
- interpolate(start: PaddingOptions | EdgeInsets, target: PaddingOptions, t: number): EdgeInsets {
47
- if (target.top != null && start.top != null) this.top = number(start.top, target.top, t);
48
- if (target.bottom != null && start.bottom != null) this.bottom = number(start.bottom, target.bottom, t);
49
- if (target.left != null && start.left != null) this.left = number(start.left, target.left, t);
50
- if (target.right != null && start.right != null) this.right = number(start.right, target.right, t);
51
-
52
- return this;
53
- }
54
-
55
- /**
56
- * Utility method that computes the new apprent center or vanishing point after applying insets.
57
- * This is in pixels and with the top left being (0.0) and +y being downwards.
58
- *
59
- * @param {number} width
60
- * @param {number} height
61
- * @returns {Point}
62
- * @memberof EdgeInsets
63
- */
64
- getCenter(width: number, height: number): Point {
65
- // Clamp insets so they never overflow width/height and always calculate a valid center
66
- const x = clamp((this.left + width - this.right) / 2, 0, width);
67
- const y = clamp((this.top + height - this.bottom) / 2, 0, height);
68
-
69
- return new Point(x, y);
70
- }
71
-
72
- equals(other: PaddingOptions): boolean {
73
- return this.top === other.top &&
74
- this.bottom === other.bottom &&
75
- this.left === other.left &&
76
- this.right === other.right;
77
- }
78
-
79
- clone(): EdgeInsets {
80
- return new EdgeInsets(this.top, this.bottom, this.left, this.right);
81
- }
82
-
83
- /**
84
- * Returns the current sdtate as json, useful when you want to have a
85
- * read-only representation of the inset.
86
- *
87
- * @returns {PaddingOptions}
88
- * @memberof EdgeInsets
89
- */
90
- toJSON(): PaddingOptions {
91
- return {
92
- top: this.top,
93
- bottom: this.bottom,
94
- left: this.left,
95
- right: this.right
96
- };
97
- }
98
- }
99
-
100
- export type PaddingOptions = {top: ?number, bottom: ?number, right: ?number, left: ?number};
101
-
102
- export default EdgeInsets;
@@ -1,165 +0,0 @@
1
- // @flow
2
-
3
- import {wrap} from '../util/util';
4
- import LngLatBounds from './lng_lat_bounds';
5
-
6
- /*
7
- * Approximate radius of the earth in meters.
8
- * Uses the WGS-84 approximation. The radius at the equator is ~6378137 and at the poles is ~6356752. https://en.wikipedia.org/wiki/World_Geodetic_System#WGS84
9
- * 6371008.8 is one published "average radius" see https://en.wikipedia.org/wiki/Earth_radius#Mean_radius, or ftp://athena.fsv.cvut.cz/ZFG/grs80-Moritz.pdf p.4
10
- */
11
- export const earthRadius = 6371008.8;
12
-
13
- /**
14
- * A `LngLat` object represents a given longitude and latitude coordinate, measured in degrees.
15
- *
16
- * Mapbox GL uses longitude, latitude coordinate order (as opposed to latitude, longitude) to match GeoJSON.
17
- *
18
- * Note that any Mapbox GL method that accepts a `LngLat` object as an argument or option
19
- * can also accept an `Array` of two numbers and will perform an implicit conversion.
20
- * This flexible type is documented as {@link LngLatLike}.
21
- *
22
- * @param {number} lng Longitude, measured in degrees.
23
- * @param {number} lat Latitude, measured in degrees.
24
- * @example
25
- * var ll = new mapboxgl.LngLat(-73.9749, 40.7736);
26
- * @see [Get coordinates of the mouse pointer](https://www.mapbox.com/mapbox-gl-js/example/mouse-position/)
27
- * @see [Display a popup](https://www.mapbox.com/mapbox-gl-js/example/popup/)
28
- * @see [Highlight features within a bounding box](https://www.mapbox.com/mapbox-gl-js/example/using-box-queryrenderedfeatures/)
29
- * @see [Create a timeline animation](https://www.mapbox.com/mapbox-gl-js/example/timeline-animation/)
30
- */
31
- class LngLat {
32
- lng: number;
33
- lat: number;
34
-
35
- constructor(lng: number, lat: number) {
36
- if (isNaN(lng) || isNaN(lat)) {
37
- throw new Error(`Invalid LngLat object: (${lng}, ${lat})`);
38
- }
39
- this.lng = +lng;
40
- this.lat = +lat;
41
- if (this.lat > 90 || this.lat < -90) {
42
- throw new Error('Invalid LngLat latitude value: must be between -90 and 90');
43
- }
44
- }
45
-
46
- /**
47
- * Returns a new `LngLat` object whose longitude is wrapped to the range (-180, 180).
48
- *
49
- * @returns {LngLat} The wrapped `LngLat` object.
50
- * @example
51
- * var ll = new mapboxgl.LngLat(286.0251, 40.7736);
52
- * var wrapped = ll.wrap();
53
- * wrapped.lng; // = -73.9749
54
- */
55
- wrap() {
56
- return new LngLat(wrap(this.lng, -180, 180), this.lat);
57
- }
58
-
59
- /**
60
- * Returns the coordinates represented as an array of two numbers.
61
- *
62
- * @returns {Array<number>} The coordinates represeted as an array of longitude and latitude.
63
- * @example
64
- * var ll = new mapboxgl.LngLat(-73.9749, 40.7736);
65
- * ll.toArray(); // = [-73.9749, 40.7736]
66
- */
67
- toArray() {
68
- return [this.lng, this.lat];
69
- }
70
-
71
- /**
72
- * Returns the coordinates represent as a string.
73
- *
74
- * @returns {string} The coordinates represented as a string of the format `'LngLat(lng, lat)'`.
75
- * @example
76
- * var ll = new mapboxgl.LngLat(-73.9749, 40.7736);
77
- * ll.toString(); // = "LngLat(-73.9749, 40.7736)"
78
- */
79
- toString() {
80
- return `LngLat(${this.lng}, ${this.lat})`;
81
- }
82
-
83
- /**
84
- * Returns the approximate distance between a pair of coordinates in meters
85
- * Uses the Haversine Formula (from R.W. Sinnott, "Virtues of the Haversine", Sky and Telescope, vol. 68, no. 2, 1984, p. 159)
86
- *
87
- * @param {LngLat} lngLat coordinates to compute the distance to
88
- * @returns {number} Distance in meters between the two coordinates.
89
- * @example
90
- * var new_york = new mapboxgl.LngLat(-74.0060, 40.7128);
91
- * var los_angeles = new mapboxgl.LngLat(-118.2437, 34.0522);
92
- * new_york.distanceTo(los_angeles); // = 3935751.690893987, "true distance" using a non-spherical approximation is ~3966km
93
- */
94
- distanceTo(lngLat: LngLat) {
95
- const rad = Math.PI / 180;
96
- const lat1 = this.lat * rad;
97
- const lat2 = lngLat.lat * rad;
98
- const a = Math.sin(lat1) * Math.sin(lat2) + Math.cos(lat1) * Math.cos(lat2) * Math.cos((lngLat.lng - this.lng) * rad);
99
-
100
- const maxMeters = earthRadius * Math.acos(Math.min(a, 1));
101
- return maxMeters;
102
- }
103
-
104
- /**
105
- * Returns a `LngLatBounds` from the coordinates extended by a given `radius`. The returned `LngLatBounds` completely contains the `radius`.
106
- *
107
- * @param {number} [radius=0] Distance in meters from the coordinates to extend the bounds.
108
- * @returns {LngLatBounds} A new `LngLatBounds` object representing the coordinates extended by the `radius`.
109
- * @example
110
- * var ll = new mapboxgl.LngLat(-73.9749, 40.7736);
111
- * ll.toBounds(100).toArray(); // = [[-73.97501862141328, 40.77351016847229], [-73.97478137858673, 40.77368983152771]]
112
- */
113
- toBounds(radius?: number = 0) {
114
- const earthCircumferenceInMetersAtEquator = 40075017;
115
- const latAccuracy = 360 * radius / earthCircumferenceInMetersAtEquator,
116
- lngAccuracy = latAccuracy / Math.cos((Math.PI / 180) * this.lat);
117
-
118
- return new LngLatBounds(new LngLat(this.lng - lngAccuracy, this.lat - latAccuracy),
119
- new LngLat(this.lng + lngAccuracy, this.lat + latAccuracy));
120
- }
121
-
122
- /**
123
- * Converts an array of two numbers or an object with `lng` and `lat` or `lon` and `lat` properties
124
- * to a `LngLat` object.
125
- *
126
- * If a `LngLat` object is passed in, the function returns it unchanged.
127
- *
128
- * @param {LngLatLike} input An array of two numbers or object to convert, or a `LngLat` object to return.
129
- * @returns {LngLat} A new `LngLat` object, if a conversion occurred, or the original `LngLat` object.
130
- * @example
131
- * var arr = [-73.9749, 40.7736];
132
- * var ll = mapboxgl.LngLat.convert(arr);
133
- * ll; // = LngLat {lng: -73.9749, lat: 40.7736}
134
- */
135
- static convert(input: LngLatLike): LngLat {
136
- if (input instanceof LngLat) {
137
- return input;
138
- }
139
- if (Array.isArray(input) && (input.length === 2 || input.length === 3)) {
140
- return new LngLat(Number(input[0]), Number(input[1]));
141
- }
142
- if (!Array.isArray(input) && typeof input === 'object' && input !== null) {
143
- return new LngLat(
144
- // flow can't refine this to have one of lng or lat, so we have to cast to any
145
- Number('lng' in input ? (input: any).lng : (input: any).lon),
146
- Number(input.lat)
147
- );
148
- }
149
- throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]");
150
- }
151
- }
152
-
153
- /**
154
- * A {@link LngLat} object, an array of two numbers representing longitude and latitude,
155
- * or an object with `lng` and `lat` or `lon` and `lat` properties.
156
- *
157
- * @typedef {LngLat | {lng: number, lat: number} | {lon: number, lat: number} | [number, number]} LngLatLike
158
- * @example
159
- * var v1 = new mapboxgl.LngLat(-122.420679, 37.772537);
160
- * var v2 = [-122.420679, 37.772537];
161
- * var v3 = {lon: -122.420679, lat: 37.772537};
162
- */
163
- export type LngLatLike = LngLat | {lng: number, lat: number} | {lon: number, lat: number} | [number, number];
164
-
165
- export default LngLat;
@@ -1,267 +0,0 @@
1
- // @flow
2
-
3
- import LngLat from './lng_lat';
4
-
5
- import type {LngLatLike} from './lng_lat';
6
-
7
- /**
8
- * A `LngLatBounds` object represents a geographical bounding box,
9
- * defined by its southwest and northeast points in longitude and latitude.
10
- *
11
- * If no arguments are provided to the constructor, a `null` bounding box is created.
12
- *
13
- * Note that any Mapbox GL method that accepts a `LngLatBounds` object as an argument or option
14
- * can also accept an `Array` of two {@link LngLatLike} constructs and will perform an implicit conversion.
15
- * This flexible type is documented as {@link LngLatBoundsLike}.
16
- *
17
- * @param {LngLatLike} [sw] The southwest corner of the bounding box.
18
- * @param {LngLatLike} [ne] The northeast corner of the bounding box.
19
- * @example
20
- * var sw = new mapboxgl.LngLat(-73.9876, 40.7661);
21
- * var ne = new mapboxgl.LngLat(-73.9397, 40.8002);
22
- * var llb = new mapboxgl.LngLatBounds(sw, ne);
23
- */
24
- class LngLatBounds {
25
- _ne: LngLat;
26
- _sw: LngLat;
27
-
28
- // This constructor is too flexible to type. It should not be so flexible.
29
- constructor(sw: any, ne: any) {
30
- if (!sw) {
31
- // noop
32
- } else if (ne) {
33
- this.setSouthWest(sw).setNorthEast(ne);
34
- } else if (sw.length === 4) {
35
- this.setSouthWest([sw[0], sw[1]]).setNorthEast([sw[2], sw[3]]);
36
- } else {
37
- this.setSouthWest(sw[0]).setNorthEast(sw[1]);
38
- }
39
- }
40
-
41
- /**
42
- * Set the northeast corner of the bounding box
43
- *
44
- * @param {LngLatLike} ne a {@link LngLatLike} object describing the northeast corner of the bounding box.
45
- * @returns {LngLatBounds} `this`
46
- */
47
- setNorthEast(ne: LngLatLike) {
48
- this._ne = ne instanceof LngLat ? new LngLat(ne.lng, ne.lat) : LngLat.convert(ne);
49
- return this;
50
- }
51
-
52
- /**
53
- * Set the southwest corner of the bounding box
54
- *
55
- * @param {LngLatLike} sw a {@link LngLatLike} object describing the southwest corner of the bounding box.
56
- * @returns {LngLatBounds} `this`
57
- */
58
- setSouthWest(sw: LngLatLike) {
59
- this._sw = sw instanceof LngLat ? new LngLat(sw.lng, sw.lat) : LngLat.convert(sw);
60
- return this;
61
- }
62
-
63
- /**
64
- * Extend the bounds to include a given LngLatLike or LngLatBoundsLike.
65
- *
66
- * @param {LngLatLike|LngLatBoundsLike} obj object to extend to
67
- * @returns {LngLatBounds} `this`
68
- */
69
- extend(obj: LngLatLike | LngLatBoundsLike) {
70
- const sw = this._sw,
71
- ne = this._ne;
72
- let sw2, ne2;
73
-
74
- if (obj instanceof LngLat) {
75
- sw2 = obj;
76
- ne2 = obj;
77
-
78
- } else if (obj instanceof LngLatBounds) {
79
- sw2 = obj._sw;
80
- ne2 = obj._ne;
81
-
82
- if (!sw2 || !ne2) return this;
83
-
84
- } else {
85
- if (Array.isArray(obj)) {
86
- if (obj.length === 4 || obj.every(Array.isArray)) {
87
- const lngLatBoundsObj = ((obj: any): LngLatBoundsLike);
88
- return this.extend(LngLatBounds.convert(lngLatBoundsObj));
89
- } else {
90
- const lngLatObj = ((obj: any): LngLatLike);
91
- return this.extend(LngLat.convert(lngLatObj));
92
- }
93
- }
94
- return this;
95
- }
96
-
97
- if (!sw && !ne) {
98
- this._sw = new LngLat(sw2.lng, sw2.lat);
99
- this._ne = new LngLat(ne2.lng, ne2.lat);
100
-
101
- } else {
102
- sw.lng = Math.min(sw2.lng, sw.lng);
103
- sw.lat = Math.min(sw2.lat, sw.lat);
104
- ne.lng = Math.max(ne2.lng, ne.lng);
105
- ne.lat = Math.max(ne2.lat, ne.lat);
106
- }
107
-
108
- return this;
109
- }
110
-
111
- /**
112
- * Returns the geographical coordinate equidistant from the bounding box's corners.
113
- *
114
- * @returns {LngLat} The bounding box's center.
115
- * @example
116
- * var llb = new mapboxgl.LngLatBounds([-73.9876, 40.7661], [-73.9397, 40.8002]);
117
- * llb.getCenter(); // = LngLat {lng: -73.96365, lat: 40.78315}
118
- */
119
- getCenter(): LngLat {
120
- return new LngLat((this._sw.lng + this._ne.lng) / 2, (this._sw.lat + this._ne.lat) / 2);
121
- }
122
-
123
- /**
124
- * Returns the southwest corner of the bounding box.
125
- *
126
- * @returns {LngLat} The southwest corner of the bounding box.
127
- */
128
- getSouthWest(): LngLat { return this._sw; }
129
-
130
- /**
131
- * Returns the northeast corner of the bounding box.
132
- *
133
- * @returns {LngLat} The northeast corner of the bounding box.
134
- */
135
- getNorthEast(): LngLat { return this._ne; }
136
-
137
- /**
138
- * Returns the northwest corner of the bounding box.
139
- *
140
- * @returns {LngLat} The northwest corner of the bounding box.
141
- */
142
- getNorthWest(): LngLat { return new LngLat(this.getWest(), this.getNorth()); }
143
-
144
- /**
145
- * Returns the southeast corner of the bounding box.
146
- *
147
- * @returns {LngLat} The southeast corner of the bounding box.
148
- */
149
- getSouthEast(): LngLat { return new LngLat(this.getEast(), this.getSouth()); }
150
-
151
- /**
152
- * Returns the west edge of the bounding box.
153
- *
154
- * @returns {number} The west edge of the bounding box.
155
- */
156
- getWest(): number { return this._sw.lng; }
157
-
158
- /**
159
- * Returns the south edge of the bounding box.
160
- *
161
- * @returns {number} The south edge of the bounding box.
162
- */
163
- getSouth(): number { return this._sw.lat; }
164
-
165
- /**
166
- * Returns the east edge of the bounding box.
167
- *
168
- * @returns {number} The east edge of the bounding box.
169
- */
170
- getEast(): number { return this._ne.lng; }
171
-
172
- /**
173
- * Returns the north edge of the bounding box.
174
- *
175
- * @returns {number} The north edge of the bounding box.
176
- */
177
- getNorth(): number { return this._ne.lat; }
178
-
179
- /**
180
- * Returns the bounding box represented as an array.
181
- *
182
- * @returns {Array<Array<number>>} The bounding box represented as an array, consisting of the
183
- * southwest and northeast coordinates of the bounding represented as arrays of numbers.
184
- * @example
185
- * var llb = new mapboxgl.LngLatBounds([-73.9876, 40.7661], [-73.9397, 40.8002]);
186
- * llb.toArray(); // = [[-73.9876, 40.7661], [-73.9397, 40.8002]]
187
- */
188
- toArray() {
189
- return [this._sw.toArray(), this._ne.toArray()];
190
- }
191
-
192
- /**
193
- * Return the bounding box represented as a string.
194
- *
195
- * @returns {string} The bounding box represents as a string of the format
196
- * `'LngLatBounds(LngLat(lng, lat), LngLat(lng, lat))'`.
197
- * @example
198
- * var llb = new mapboxgl.LngLatBounds([-73.9876, 40.7661], [-73.9397, 40.8002]);
199
- * llb.toString(); // = "LngLatBounds(LngLat(-73.9876, 40.7661), LngLat(-73.9397, 40.8002))"
200
- */
201
- toString() {
202
- return `LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`;
203
- }
204
-
205
- /**
206
- * Check if the bounding box is an empty/`null`-type box.
207
- *
208
- * @returns {boolean} True if bounds have been defined, otherwise false.
209
- */
210
- isEmpty() {
211
- return !(this._sw && this._ne);
212
- }
213
-
214
- /**
215
- * Check if the point is within the bounding box.
216
- *
217
- * @param {LngLatLike} lnglat geographic point to check against.
218
- * @returns {boolean} True if the point is within the bounding box.
219
- */
220
- contains(lnglat: LngLatLike) {
221
- const {lng, lat} = LngLat.convert(lnglat);
222
-
223
- const containsLatitude = this._sw.lat <= lat && lat <= this._ne.lat;
224
- let containsLongitude = this._sw.lng <= lng && lng <= this._ne.lng;
225
- if (this._sw.lng > this._ne.lng) { // wrapped coordinates
226
- containsLongitude = this._sw.lng >= lng && lng >= this._ne.lng;
227
- }
228
-
229
- return containsLatitude && containsLongitude;
230
- }
231
-
232
- /**
233
- * Converts an array to a `LngLatBounds` object.
234
- *
235
- * If a `LngLatBounds` object is passed in, the function returns it unchanged.
236
- *
237
- * Internally, the function calls `LngLat#convert` to convert arrays to `LngLat` values.
238
- *
239
- * @param {LngLatBoundsLike} input An array of two coordinates to convert, or a `LngLatBounds` object to return.
240
- * @returns {LngLatBounds} A new `LngLatBounds` object, if a conversion occurred, or the original `LngLatBounds` object.
241
- * @example
242
- * var arr = [[-73.9876, 40.7661], [-73.9397, 40.8002]];
243
- * var llb = mapboxgl.LngLatBounds.convert(arr);
244
- * llb; // = LngLatBounds {_sw: LngLat {lng: -73.9876, lat: 40.7661}, _ne: LngLat {lng: -73.9397, lat: 40.8002}}
245
- */
246
- static convert(input: LngLatBoundsLike): LngLatBounds {
247
- if (!input || input instanceof LngLatBounds) return input;
248
- return new LngLatBounds(input);
249
- }
250
- }
251
-
252
- /**
253
- * A {@link LngLatBounds} object, an array of {@link LngLatLike} objects in [sw, ne] order,
254
- * or an array of numbers in [west, south, east, north] order.
255
- *
256
- * @typedef {LngLatBounds | [LngLatLike, LngLatLike] | [number, number, number, number]} LngLatBoundsLike
257
- * @example
258
- * var v1 = new mapboxgl.LngLatBounds(
259
- * new mapboxgl.LngLat(-73.9876, 40.7661),
260
- * new mapboxgl.LngLat(-73.9397, 40.8002)
261
- * );
262
- * var v2 = new mapboxgl.LngLatBounds([-73.9876, 40.7661], [-73.9397, 40.8002])
263
- * var v3 = [[-73.9876, 40.7661], [-73.9397, 40.8002]];
264
- */
265
- export type LngLatBoundsLike = LngLatBounds | [LngLatLike, LngLatLike] | [number, number, number, number];
266
-
267
- export default LngLatBounds;