maplibre-gl 2.1.0 → 2.1.4

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 (308) hide show
  1. package/build/{banner.js → banner.ts} +1 -1
  2. package/build/generate-query-test-fixtures.ts +123 -0
  3. package/build/generate-shaders.ts +35 -0
  4. package/build/generate-struct-arrays.ts +7 -7
  5. package/build/generate-style-code.ts +8 -8
  6. package/build/generate-style-spec.ts +5 -4
  7. package/build/generate-typings.ts +16 -0
  8. package/build/readme.md +8 -18
  9. package/build/release-notes.js +9 -13
  10. package/build/{rollup_plugin_minify_style_spec.js → rollup_plugin_minify_style_spec.ts} +4 -3
  11. package/build/{rollup_plugins.js → rollup_plugins.ts} +12 -26
  12. package/dist/maplibre-gl-dev.js +54885 -0
  13. package/dist/maplibre-gl.css +1 -1
  14. package/dist/maplibre-gl.d.ts +1537 -1011
  15. package/dist/maplibre-gl.js +3 -3
  16. package/dist/maplibre-gl.js.map +1 -1
  17. package/package.json +83 -107
  18. package/postinstall.js +5 -0
  19. package/src/css/maplibre-gl.css +28 -28
  20. package/src/data/{array_types.ts → array_types.g.ts} +0 -0
  21. package/src/data/bucket/circle_bucket.ts +1 -1
  22. package/src/data/bucket/fill_bucket.test.ts +1 -1
  23. package/src/data/bucket/fill_bucket.ts +4 -4
  24. package/src/data/bucket/fill_extrusion_bucket.ts +1 -1
  25. package/src/data/bucket/line_bucket.test.ts +1 -1
  26. package/src/data/bucket/line_bucket.ts +6 -6
  27. package/src/data/bucket/symbol_bucket.test.ts +16 -16
  28. package/src/data/bucket/symbol_bucket.ts +53 -53
  29. package/src/data/bucket.ts +43 -43
  30. package/src/data/dem_data.ts +12 -12
  31. package/src/data/evaluation_feature.ts +10 -10
  32. package/src/data/feature_index.ts +37 -37
  33. package/src/data/feature_position_map.ts +5 -5
  34. package/src/data/index_array_type.ts +1 -1
  35. package/src/data/load_geometry.test.ts +1 -1
  36. package/src/data/program_configuration.ts +46 -46
  37. package/src/data/segment.ts +14 -14
  38. package/src/geo/edge_insets.ts +2 -2
  39. package/src/geo/lng_lat.ts +4 -4
  40. package/src/geo/lng_lat_bounds.ts +35 -35
  41. package/src/geo/mercator_coordinate.ts +5 -5
  42. package/src/geo/transform.test.ts +1 -1
  43. package/src/geo/transform.ts +14 -14
  44. package/src/gl/context.ts +3 -3
  45. package/src/gl/types.ts +19 -19
  46. package/src/gl/value.ts +6 -6
  47. package/src/gl/vertex_buffer.test.ts +1 -1
  48. package/src/index.ts +24 -9
  49. package/src/render/draw_circle.ts +8 -8
  50. package/src/render/draw_collision_debug.ts +5 -5
  51. package/src/render/draw_line.ts +4 -4
  52. package/src/render/draw_symbol.ts +21 -21
  53. package/src/render/glyph_atlas.ts +12 -12
  54. package/src/render/glyph_manager.test.ts +10 -21
  55. package/src/render/glyph_manager.ts +33 -32
  56. package/src/render/image_manager.ts +4 -4
  57. package/src/render/painter.ts +11 -11
  58. package/src/render/program/background_program.ts +29 -29
  59. package/src/render/program/circle_program.ts +10 -10
  60. package/src/render/program/clipping_mask_program.ts +1 -1
  61. package/src/render/program/collision_program.ts +9 -9
  62. package/src/render/program/debug_program.ts +4 -4
  63. package/src/render/program/fill_extrusion_program.ts +31 -31
  64. package/src/render/program/fill_program.ts +29 -29
  65. package/src/render/program/heatmap_program.ts +12 -12
  66. package/src/render/program/hillshade_program.ts +12 -12
  67. package/src/render/program/line_program.ts +38 -38
  68. package/src/render/program/pattern.ts +28 -28
  69. package/src/render/program/raster_program.ts +21 -21
  70. package/src/render/program/symbol_program.ts +96 -96
  71. package/src/render/program.ts +25 -25
  72. package/src/render/texture.ts +9 -9
  73. package/src/render/uniform_binding.ts +1 -1
  74. package/src/render/vertex_array_object.ts +13 -13
  75. package/src/shaders/_prelude.fragment.glsl.g.ts +2 -0
  76. package/src/shaders/_prelude.vertex.glsl.g.ts +2 -0
  77. package/src/shaders/background.fragment.glsl.g.ts +2 -0
  78. package/src/shaders/background.vertex.glsl.g.ts +2 -0
  79. package/src/shaders/background_pattern.fragment.glsl.g.ts +2 -0
  80. package/src/shaders/background_pattern.vertex.glsl.g.ts +2 -0
  81. package/src/shaders/circle.fragment.glsl.g.ts +2 -0
  82. package/src/shaders/circle.vertex.glsl.g.ts +2 -0
  83. package/src/shaders/clipping_mask.fragment.glsl.g.ts +2 -0
  84. package/src/shaders/clipping_mask.vertex.glsl.g.ts +2 -0
  85. package/src/shaders/collision_box.fragment.glsl.g.ts +2 -0
  86. package/src/shaders/collision_box.vertex.glsl.g.ts +2 -0
  87. package/src/shaders/collision_circle.fragment.glsl.g.ts +2 -0
  88. package/src/shaders/collision_circle.vertex.glsl.g.ts +2 -0
  89. package/src/shaders/debug.fragment.glsl.g.ts +2 -0
  90. package/src/shaders/debug.vertex.glsl.g.ts +2 -0
  91. package/src/shaders/fill.fragment.glsl.g.ts +2 -0
  92. package/src/shaders/fill.vertex.glsl.g.ts +2 -0
  93. package/src/shaders/fill_extrusion.fragment.glsl.g.ts +2 -0
  94. package/src/shaders/fill_extrusion.vertex.glsl.g.ts +2 -0
  95. package/src/shaders/fill_extrusion_pattern.fragment.glsl.g.ts +2 -0
  96. package/src/shaders/fill_extrusion_pattern.vertex.glsl.g.ts +2 -0
  97. package/src/shaders/fill_outline.fragment.glsl.g.ts +2 -0
  98. package/src/shaders/fill_outline.vertex.glsl.g.ts +2 -0
  99. package/src/shaders/fill_outline_pattern.fragment.glsl.g.ts +2 -0
  100. package/src/shaders/fill_outline_pattern.vertex.glsl.g.ts +2 -0
  101. package/src/shaders/fill_pattern.fragment.glsl.g.ts +2 -0
  102. package/src/shaders/fill_pattern.vertex.glsl.g.ts +2 -0
  103. package/src/shaders/heatmap.fragment.glsl.g.ts +2 -0
  104. package/src/shaders/heatmap.vertex.glsl.g.ts +2 -0
  105. package/src/shaders/heatmap_texture.fragment.glsl.g.ts +2 -0
  106. package/src/shaders/heatmap_texture.vertex.glsl.g.ts +2 -0
  107. package/src/shaders/hillshade.fragment.glsl.g.ts +2 -0
  108. package/src/shaders/hillshade.vertex.glsl.g.ts +2 -0
  109. package/src/shaders/hillshade_prepare.fragment.glsl.g.ts +2 -0
  110. package/src/shaders/hillshade_prepare.vertex.glsl.g.ts +2 -0
  111. package/src/shaders/line.fragment.glsl.g.ts +2 -0
  112. package/src/shaders/line.vertex.glsl.g.ts +2 -0
  113. package/src/shaders/line_gradient.fragment.glsl.g.ts +2 -0
  114. package/src/shaders/line_gradient.vertex.glsl.g.ts +2 -0
  115. package/src/shaders/line_pattern.fragment.glsl.g.ts +2 -0
  116. package/src/shaders/line_pattern.vertex.glsl.g.ts +2 -0
  117. package/src/shaders/line_sdf.fragment.glsl.g.ts +2 -0
  118. package/src/shaders/line_sdf.vertex.glsl.g.ts +2 -0
  119. package/src/shaders/raster.fragment.glsl.g.ts +2 -0
  120. package/src/shaders/raster.vertex.glsl.g.ts +2 -0
  121. package/src/shaders/shaders.ts +52 -55
  122. package/src/shaders/symbol_icon.fragment.glsl.g.ts +2 -0
  123. package/src/shaders/symbol_icon.vertex.glsl.g.ts +2 -0
  124. package/src/shaders/symbol_sdf.fragment.glsl.g.ts +2 -0
  125. package/src/shaders/symbol_sdf.vertex.glsl.g.ts +2 -0
  126. package/src/shaders/symbol_text_and_icon.fragment.glsl.g.ts +2 -0
  127. package/src/shaders/symbol_text_and_icon.vertex.glsl.g.ts +2 -0
  128. package/src/source/canvas_source.test.ts +11 -12
  129. package/src/source/canvas_source.ts +4 -4
  130. package/src/source/geojson_worker_source.ts +23 -23
  131. package/src/source/geojson_wrapper.ts +8 -8
  132. package/src/source/image_source.test.ts +2 -2
  133. package/src/source/image_source.ts +6 -6
  134. package/src/source/pixels_to_tile_units.ts +6 -6
  135. package/src/source/query_features.ts +20 -20
  136. package/src/source/raster_dem_tile_source.test.ts +2 -2
  137. package/src/source/raster_tile_source.test.ts +2 -2
  138. package/src/source/rtl_text_plugin.ts +10 -10
  139. package/src/source/source.ts +29 -29
  140. package/src/source/source_cache.test.ts +32 -0
  141. package/src/source/source_cache.ts +7 -5
  142. package/src/source/source_state.ts +1 -1
  143. package/src/source/tile.test.ts +3 -3
  144. package/src/source/tile.ts +15 -15
  145. package/src/source/tile_cache.test.ts +6 -4
  146. package/src/source/tile_cache.ts +6 -6
  147. package/src/source/tile_id.test.ts +0 -1
  148. package/src/source/vector_tile_source.test.ts +16 -5
  149. package/src/source/vector_tile_source.ts +2 -3
  150. package/src/source/vector_tile_worker_source.test.ts +4 -4
  151. package/src/source/vector_tile_worker_source.ts +5 -5
  152. package/src/source/worker.test.ts +1 -1
  153. package/src/source/worker.ts +22 -22
  154. package/src/source/worker_source.ts +56 -56
  155. package/src/source/worker_tile.ts +4 -4
  156. package/src/style/evaluation_parameters.ts +3 -3
  157. package/src/style/format_section_override.test.ts +1 -1
  158. package/src/style/light.ts +10 -10
  159. package/src/style/load_glyph_range.test.ts +3 -5
  160. package/src/style/load_glyph_range.ts +6 -6
  161. package/src/style/load_sprite.ts +4 -4
  162. package/src/style/pauseable_placement.ts +1 -1
  163. package/src/style/properties.ts +69 -69
  164. package/src/style/query_utils.ts +7 -7
  165. package/src/style/style.test.ts +22 -15
  166. package/src/style/style.ts +29 -29
  167. package/src/style/style_glyph.ts +8 -8
  168. package/src/style/style_image.ts +58 -58
  169. package/src/style/style_layer/background_style_layer.ts +2 -2
  170. package/src/style/style_layer/{background_style_layer_properties.ts → background_style_layer_properties.g.ts} +0 -0
  171. package/src/style/style_layer/circle_style_layer.ts +10 -10
  172. package/src/style/style_layer/{circle_style_layer_properties.ts → circle_style_layer_properties.g.ts} +0 -0
  173. package/src/style/style_layer/custom_style_layer.ts +17 -17
  174. package/src/style/style_layer/fill_extrusion_style_layer.ts +10 -10
  175. package/src/style/style_layer/{fill_extrusion_style_layer_properties.ts → fill_extrusion_style_layer_properties.g.ts} +0 -0
  176. package/src/style/style_layer/fill_style_layer.ts +9 -9
  177. package/src/style/style_layer/{fill_style_layer_properties.ts → fill_style_layer_properties.g.ts} +0 -0
  178. package/src/style/style_layer/heatmap_style_layer.ts +2 -2
  179. package/src/style/style_layer/{heatmap_style_layer_properties.ts → heatmap_style_layer_properties.g.ts} +0 -0
  180. package/src/style/style_layer/hillshade_style_layer.ts +2 -2
  181. package/src/style/style_layer/{hillshade_style_layer_properties.ts → hillshade_style_layer_properties.g.ts} +0 -0
  182. package/src/style/style_layer/line_style_layer.ts +9 -9
  183. package/src/style/style_layer/{line_style_layer_properties.ts → line_style_layer_properties.g.ts} +0 -0
  184. package/src/style/style_layer/raster_style_layer.ts +2 -2
  185. package/src/style/style_layer/{raster_style_layer_properties.ts → raster_style_layer_properties.g.ts} +0 -0
  186. package/src/style/style_layer/symbol_style_layer.ts +7 -7
  187. package/src/style/style_layer/{symbol_style_layer_properties.ts → symbol_style_layer_properties.g.ts} +0 -0
  188. package/src/style/style_layer.ts +10 -10
  189. package/src/style/style_layer_index.ts +3 -3
  190. package/src/style/validate_style.ts +15 -15
  191. package/src/style-spec/error/validation_error.ts +1 -1
  192. package/src/style-spec/expression/compound_expression.ts +3 -3
  193. package/src/style-spec/expression/definitions/format.ts +11 -11
  194. package/src/style-spec/expression/definitions/interpolate.ts +5 -5
  195. package/src/style-spec/expression/definitions/match.ts +2 -2
  196. package/src/style-spec/expression/definitions/number_format.ts +11 -11
  197. package/src/style-spec/expression/expression.ts +8 -8
  198. package/src/style-spec/expression/index.ts +97 -97
  199. package/src/style-spec/expression/parsing_context.ts +11 -11
  200. package/src/style-spec/expression/types/collator.ts +9 -9
  201. package/src/style-spec/expression/types/resolved_image.ts +2 -2
  202. package/src/style-spec/expression/types.ts +14 -14
  203. package/src/style-spec/expression/values.ts +1 -1
  204. package/src/style-spec/feature_filter/index.ts +66 -66
  205. package/src/style-spec/function/convert.ts +3 -3
  206. package/src/style-spec/style-spec.ts +44 -44
  207. package/src/style-spec/util/color_spaces.ts +8 -8
  208. package/src/style-spec/util/result.ts +4 -4
  209. package/src/style-spec/validate/validate_filter.ts +58 -58
  210. package/src/style-spec/validate/validate_source.ts +63 -63
  211. package/src/style-spec/visit.ts +11 -11
  212. package/src/symbol/collision_feature.test.ts +1 -1
  213. package/src/symbol/collision_feature.ts +10 -10
  214. package/src/symbol/collision_index.ts +26 -26
  215. package/src/symbol/cross_tile_symbol_index.ts +17 -17
  216. package/src/symbol/get_anchors.ts +16 -16
  217. package/src/symbol/grid_index.ts +7 -7
  218. package/src/symbol/placement.ts +72 -72
  219. package/src/symbol/projection.ts +30 -30
  220. package/src/symbol/quads.ts +30 -30
  221. package/src/symbol/shaping.ts +160 -160
  222. package/src/symbol/symbol_layout.ts +119 -119
  223. package/src/symbol/symbol_size.ts +29 -29
  224. package/src/symbol/symbol_style_layer.test.ts +1 -1
  225. package/src/types/cancelable.ts +1 -1
  226. package/src/types/tilejson.ts +13 -13
  227. package/src/ui/anchor.ts +1 -1
  228. package/src/ui/camera.test.ts +9 -9
  229. package/src/ui/camera.ts +18 -18
  230. package/src/ui/control/attribution_control.test.ts +51 -16
  231. package/src/ui/control/attribution_control.ts +35 -16
  232. package/src/ui/control/control.ts +40 -40
  233. package/src/ui/control/fullscreen_control.ts +1 -1
  234. package/src/ui/control/geolocate_control.test.ts +1 -1
  235. package/src/ui/control/geolocate_control.ts +102 -102
  236. package/src/ui/control/logo_control.test.ts +5 -4
  237. package/src/ui/control/navigation_control.ts +3 -3
  238. package/src/ui/control/scale_control.test.ts +2 -2
  239. package/src/ui/control/scale_control.ts +5 -5
  240. package/src/ui/events.ts +289 -200
  241. package/src/ui/handler/box_zoom.test.ts +1 -1
  242. package/src/ui/handler/box_zoom.ts +1 -1
  243. package/src/ui/handler/dblclick_zoom.test.ts +1 -1
  244. package/src/ui/handler/drag_pan.test.ts +1 -1
  245. package/src/ui/handler/drag_rotate.test.ts +1 -1
  246. package/src/ui/handler/keyboard.test.ts +1 -1
  247. package/src/ui/handler/keyboard.ts +51 -51
  248. package/src/ui/handler/map_event.test.ts +1 -1
  249. package/src/ui/handler/map_event.ts +1 -1
  250. package/src/ui/handler/mouse.ts +1 -1
  251. package/src/ui/handler/mouse_rotate.test.ts +1 -1
  252. package/src/ui/handler/scroll_zoom.test.ts +3 -2
  253. package/src/ui/handler/scroll_zoom.ts +9 -9
  254. package/src/ui/handler/shim/drag_pan.ts +4 -4
  255. package/src/ui/handler/shim/drag_rotate.ts +1 -1
  256. package/src/ui/handler/shim/touch_zoom_rotate.ts +1 -1
  257. package/src/ui/handler/tap_recognizer.ts +4 -4
  258. package/src/ui/handler/touch_pan.ts +2 -2
  259. package/src/ui/handler/touch_zoom_rotate.test.ts +1 -1
  260. package/src/ui/handler/touch_zoom_rotate.ts +1 -1
  261. package/src/ui/handler_inertia.ts +6 -6
  262. package/src/ui/handler_manager.ts +44 -44
  263. package/src/ui/map/isMoving.test.ts +1 -1
  264. package/src/ui/map/isRotating.test.ts +1 -1
  265. package/src/ui/map/isZooming.test.ts +1 -1
  266. package/src/ui/map.test.ts +26 -14
  267. package/src/ui/map.ts +107 -102
  268. package/src/ui/map_events.test.ts +1 -1
  269. package/src/ui/marker.test.ts +12 -12
  270. package/src/ui/marker.ts +37 -37
  271. package/src/ui/popup.test.ts +7 -7
  272. package/src/ui/popup.ts +9 -9
  273. package/src/util/actor.test.ts +41 -10
  274. package/src/util/actor.ts +8 -8
  275. package/src/util/ajax.test.ts +29 -21
  276. package/src/util/ajax.ts +51 -30
  277. package/src/util/browser.ts +1 -1
  278. package/src/util/classify_rings.test.ts +1 -1
  279. package/src/util/color_ramp.ts +5 -5
  280. package/src/util/config.ts +2 -2
  281. package/src/util/dispatcher.ts +1 -1
  282. package/src/util/dom.ts +2 -2
  283. package/src/util/evented.ts +1 -1
  284. package/src/util/find_pole_of_inaccessibility.ts +3 -3
  285. package/src/util/image.ts +5 -5
  286. package/src/util/performance.ts +7 -7
  287. package/src/util/request_manager.ts +4 -4
  288. package/src/util/resolve_tokens.ts +4 -4
  289. package/src/util/struct_array.test.ts +1 -1
  290. package/src/util/struct_array.ts +15 -15
  291. package/src/util/task_queue.ts +3 -3
  292. package/src/util/tile_request_cache.ts +3 -3
  293. package/src/util/transferable_grid_index.ts +4 -4
  294. package/src/util/util.ts +8 -8
  295. package/src/util/web_worker.ts +4 -68
  296. package/src/util/web_worker_transfer.test.ts +3 -0
  297. package/src/util/web_worker_transfer.ts +21 -17
  298. package/src/util/worker_pool.ts +1 -1
  299. package/build/.eslintrc +0 -21
  300. package/build/glsl_to_js.js +0 -12
  301. package/build/post-ts-build.js +0 -43
  302. package/build/release-notes.md.ejs +0 -8
  303. package/build/test/build-tape.js +0 -17
  304. package/build/web_worker_replacement.js +0 -5
  305. package/dist/package.json +0 -1
  306. package/src/style-spec/validate_spec.test.ts +0 -29
  307. package/src/symbol/shaping.test.ts +0 -392
  308. package/src/types/glsl.d.ts +0 -4
@@ -1,13 +1,8 @@
1
- // When Rollup builds the main bundle this file is replaced with ./build/web_worker_replacement.js
2
- // See package.json 'browser' field and rollup documentation.
3
- // This file is intended for use in the GL-JS test suite when they run on node since node doesn't support workers.
4
- // It implements a MessageBus main thread interface
5
-
6
- import MaplibreWorker from '../source/worker';
1
+ import maplibregl from '../index';
7
2
 
8
3
  import type {WorkerSource} from '../source/worker_source';
9
4
 
10
- type MessageListener = (
5
+ export type MessageListener = (
11
6
  a: {
12
7
  data: any;
13
8
  target: any;
@@ -15,7 +10,6 @@ type MessageListener = (
15
10
  ) => unknown;
16
11
 
17
12
  // The main thread interface. Provided by Worker in a browser environment,
18
- // and MessageBus below in a node environment.
19
13
  export interface WorkerInterface {
20
14
  addEventListener(type: 'message', listener: MessageListener): void;
21
15
  removeEventListener(type: 'message', listener: MessageListener): void;
@@ -34,64 +28,6 @@ export interface WorkerGlobalScopeInterface {
34
28
  registerRTLTextPlugin: (_: any) => void;
35
29
  }
36
30
 
37
- class MessageBus implements WorkerInterface, WorkerGlobalScopeInterface {
38
- addListeners: Array<MessageListener>;
39
- postListeners: Array<MessageListener>;
40
- target: MessageBus;
41
- registerWorkerSource: any;
42
- registerRTLTextPlugin: any;
43
-
44
- constructor(addListeners: Array<MessageListener>, postListeners: Array<MessageListener>) {
45
- this.addListeners = addListeners;
46
- this.postListeners = postListeners;
47
- }
48
-
49
- addEventListener(event: 'message', callback: MessageListener) {
50
- if (event === 'message') {
51
- this.addListeners.push(callback);
52
- }
53
- }
54
-
55
- removeEventListener(event: 'message', callback: MessageListener) {
56
- const i = this.addListeners.indexOf(callback);
57
- if (i >= 0) {
58
- this.addListeners.splice(i, 1);
59
- }
60
- }
61
-
62
- postMessage(data: any) {
63
- setTimeout(() => {
64
- try {
65
- for (const listener of this.postListeners) {
66
- listener({data, target: this.target});
67
- }
68
- } catch (e) {
69
- console.error(e);
70
- }
71
- }, 0);
72
- }
73
-
74
- terminate() {
75
- this.addListeners.splice(0, this.addListeners.length);
76
- this.postListeners.splice(0, this.postListeners.length);
77
- }
78
-
79
- importScripts() { }
80
- }
81
-
82
- export default function workerFactory(): WorkerInterface {
83
- const parentListeners = [],
84
- workerListeners = [],
85
- parentBus = new MessageBus(workerListeners, parentListeners),
86
- workerBus = new MessageBus(parentListeners, workerListeners);
87
-
88
- parentBus.target = workerBus;
89
- workerBus.target = parentBus;
90
-
91
- new workerFactory.Worker(workerBus);
92
-
93
- return parentBus;
31
+ export default function workerFactory() {
32
+ return new Worker(maplibregl.workerUrl);
94
33
  }
95
-
96
- // expose to allow stubbing in unit tests
97
- workerFactory.Worker = MaplibreWorker;
@@ -5,11 +5,13 @@ describe('web worker transfer', () => {
5
5
  class SerializableMock {
6
6
  n;
7
7
  buffer;
8
+ blob;
8
9
  _cached;
9
10
 
10
11
  constructor(n) {
11
12
  this.n = n;
12
13
  this.buffer = new ArrayBuffer(100);
14
+ this.blob = new Blob();
13
15
  this.squared();
14
16
  }
15
17
 
@@ -33,6 +35,7 @@ describe('web worker transfer', () => {
33
35
  expect(deserialized.constructor === SerializableMock).toBeTruthy();
34
36
  expect(deserialized.n === 10).toBeTruthy();
35
37
  expect(deserialized.buffer === serializableMock.buffer).toBeTruthy();
38
+ expect(deserialized.blob === serializableMock.blob).toBeTruthy();
36
39
  expect(transferables[0] === serializableMock.buffer).toBeTruthy();
37
40
  expect(deserialized._cached === undefined).toBeTruthy();
38
41
  expect(deserialized.squared() === 100).toBeTruthy();
@@ -6,30 +6,31 @@ import {StylePropertyFunction, StyleExpression, ZoomDependentExpression, ZoomCon
6
6
  import CompoundExpression from '../style-spec/expression/compound_expression';
7
7
  import expressions from '../style-spec/expression/definitions';
8
8
  import ResolvedImage from '../style-spec/expression/types/resolved_image';
9
+ import {AJAXError} from './ajax';
9
10
 
10
11
  import type {Transferable} from '../types/transferable';
11
12
  import {isImageBitmap} from './util';
12
13
 
13
14
  type SerializedObject = {
14
- [_: string]: Serialized;
15
+ [_: string]: Serialized;
15
16
  }; // eslint-disable-line
16
17
 
17
- export type Serialized = null | void | boolean | number | string | Boolean | Number | String | Date | RegExp | ArrayBuffer | ArrayBufferView | ImageData | ImageBitmap | Array<Serialized> | SerializedObject;
18
+ export type Serialized = null | void | boolean | number | string | Boolean | Number | String | Date | RegExp | ArrayBuffer | ArrayBufferView | ImageData | ImageBitmap | Blob | Array<Serialized> | SerializedObject;
18
19
 
19
20
  type Registry = {
20
- [_: string]: {
21
- klass: {
22
- new (...args: any): any;
23
- deserialize?: (input: Serialized) => unknown;
21
+ [_: string]: {
22
+ klass: {
23
+ new (...args: any): any;
24
+ deserialize?: (input: Serialized) => unknown;
25
+ };
26
+ omit: ReadonlyArray<string>;
27
+ shallow: ReadonlyArray<string>;
24
28
  };
25
- omit: ReadonlyArray<string>;
26
- shallow: ReadonlyArray<string>;
27
- };
28
29
  };
29
30
 
30
31
  type RegisterOptions<T> = {
31
- omit?: ReadonlyArray<keyof T>;
32
- shallow?: ReadonlyArray<keyof T>;
32
+ omit?: ReadonlyArray<keyof T>;
33
+ shallow?: ReadonlyArray<keyof T>;
33
34
  };
34
35
 
35
36
  const registry: Registry = {};
@@ -44,11 +45,11 @@ const registry: Registry = {};
44
45
  * @private
45
46
  */
46
47
  export function register<T extends any>(
47
- name: string,
48
- klass: {
49
- new (...args: any): T;
50
- },
51
- options: RegisterOptions<T> = {}
48
+ name: string,
49
+ klass: {
50
+ new (...args: any): T;
51
+ },
52
+ options: RegisterOptions<T> = {}
52
53
  ) {
53
54
  assert(!registry[name], `${name} is already registered.`);
54
55
  ((Object.defineProperty as any))(klass, '_classRegistryKey', {
@@ -67,6 +68,7 @@ register('TransferableGridIndex', TransferableGridIndex);
67
68
 
68
69
  register('Color', Color);
69
70
  register('Error', Error);
71
+ register('AJAXError', AJAXError);
70
72
  register('ResolvedImage', ResolvedImage);
71
73
 
72
74
  register('StylePropertyFunction', StylePropertyFunction);
@@ -109,7 +111,8 @@ export function serialize(input: unknown, transferables?: Array<Transferable> |
109
111
  input instanceof Number ||
110
112
  input instanceof String ||
111
113
  input instanceof Date ||
112
- input instanceof RegExp) {
114
+ input instanceof RegExp ||
115
+ input instanceof Blob) {
113
116
  return input;
114
117
  }
115
118
 
@@ -210,6 +213,7 @@ export function deserialize(input: Serialized): unknown {
210
213
  input instanceof String ||
211
214
  input instanceof Date ||
212
215
  input instanceof RegExp ||
216
+ input instanceof Blob ||
213
217
  isArrayBuffer(input) ||
214
218
  isImageBitmap(input) ||
215
219
  ArrayBuffer.isView(input) ||
@@ -12,7 +12,7 @@ export default class WorkerPool {
12
12
  static workerCount: number;
13
13
 
14
14
  active: {
15
- [_ in number | string]: boolean;
15
+ [_ in number | string]: boolean;
16
16
  };
17
17
  workers: Array<WorkerInterface>;
18
18
 
package/build/.eslintrc DELETED
@@ -1,21 +0,0 @@
1
- {
2
- // TODO: most of these overrides should be removed,
3
- // but for now this documents the exceptions used by the code in this dir
4
- "rules": {
5
- "import/no-commonjs": "off",
6
- "flowtype/require-valid-file-annotation": [0],
7
- "prefer-arrow-callback": "off",
8
- "no-var": "off",
9
- "strict": "off",
10
- "no-restricted-properties": "off",
11
- "no-unused-vars": "off",
12
- "prefer-template": "off",
13
- "camelcase": "off",
14
- "prefer-const": "off",
15
- "indent": "off",
16
- "no-case-declarations": "off",
17
- "semi": "off",
18
- "object-curly-spacing": "off",
19
- "no-undef": "off"
20
- }
21
- }
@@ -1,12 +0,0 @@
1
- export default function glsl_to_js(code, minify) {
2
- if (minify) {
3
- code = code.trim() // strip whitespace at the start/end
4
- .replace(/\s*\/\/[^\n]*\n/g, '\n') // strip double-slash comments
5
- .replace(/\n+/g, '\n') // collapse multi line breaks
6
- .replace(/\n\s+/g, '\n') // strip identation
7
- .replace(/\s?([+-\/*=,])\s?/g, '$1') // strip whitespace around operators
8
- .replace(/([;\(\),\{\}])\n(?=[^#])/g, '$1'); // strip more line breaks
9
-
10
- }
11
- return `export default ${JSON.stringify(code)};`;
12
- }
@@ -1,43 +0,0 @@
1
- import fs from 'fs';
2
- import glob from 'glob';
3
- import child_process from 'child_process';
4
- import glsl_to_js from './glsl_to_js.js';
5
-
6
- let args = process.argv.slice(2);
7
- let outputBaseDir = args[0];
8
- let minify = args[1];
9
-
10
- console.log(`Copying glsl files to ${outputBaseDir}, minify: ${minify}`);
11
-
12
- /**
13
- * This script is intended to copy the glsl file to the compilation output folder,
14
- * change their extension to .js and export the shaders as strings in javascript.
15
- * It will also minify them a bit if needed and change the extension to .js
16
- * After that it will create a combined typescript definition file and manipulate it a bit
17
- * It will also create a simple package.json file to allow importing this package in webpack
18
- */
19
-
20
- glob("./src/**/*.glsl", null, (err, files) => {
21
- for (let file of files) {
22
- let code = fs.readFileSync(file, 'utf8');
23
- let content = glsl_to_js(code, minify);
24
- let fileName = outputBaseDir + '/' + file.split('/').splice(-1) + ".js";
25
- fs.writeFileSync(fileName, content);
26
- }
27
- console.log(`Finished converting ${files.length} glsl files`);
28
- });
29
-
30
- if (!fs.existsSync("dist")) {
31
- fs.mkdirSync("dist");
32
- }
33
-
34
- console.log(`Starting bundling types`);
35
- const outputFile = "./dist/maplibre-gl.d.ts";
36
- child_process.execSync(`dts-bundle-generator --no-check --umd-module-name=maplibregl -o ${outputFile} ./src/index.ts`);
37
- let types = fs.readFileSync(outputFile, 'utf8');
38
- // Classes are not exported but should be since this is exported as UMD - fixing...
39
- types = types.replace(/declare class/g, "export declare class");
40
- fs.writeFileSync(outputFile, types);
41
- console.log(`Finished bundling types`);
42
-
43
- fs.writeFileSync("./dist/package.json", '{ "type": "commonjs" }');
@@ -1,8 +0,0 @@
1
- https://github.com/maplibre/maplibre-gl-js
2
- [Changes](https://github.com/maplibre/maplibre-gl-js/compare/v<%-PREVIOUSVERSION%>...v<%-CURRENTVERSION%>) since [MapLibre GL JS v<%-PREVIOUSVERSION%>](https://github.com/maplibre/releases/tag/v<%-PREVIOUSVERSION%>):
3
-
4
- <%-CHANGELOG-%>
5
-
6
- <% if (isPrerelease) { %>
7
- Pre-release version
8
- <% } -%>
@@ -1,17 +0,0 @@
1
- import browserify from 'browserify';
2
- import fs from 'fs';
3
-
4
- export default function() {
5
- return new Promise((resolve, reject) => {
6
- browserify('./test/util/tape_config.js', { standalone: 'tape' })
7
- .transform('babelify', {presets: ['@babel/preset-env'], global: true})
8
- .bundle((err, buff) => {
9
- if (err) { throw err; }
10
-
11
- fs.writeFile('test/integration/dist/tape.js', buff, { encoding: 'utf8'}, (err) => {
12
- if (err) { reject(err); }
13
- resolve();
14
- });
15
- });
16
- });
17
- }
@@ -1,5 +0,0 @@
1
- import maplibregl from '../rollup/build/tsc/src/index'
2
-
3
- export default function () {
4
- return new Worker(maplibregl.workerUrl);
5
- }
package/dist/package.json DELETED
@@ -1 +0,0 @@
1
- { "type": "commonjs" }
@@ -1,29 +0,0 @@
1
- import glob from 'glob';
2
- import fs from 'fs';
3
- import path from 'path';
4
- import validate from '../style-spec/validate_style';
5
- import reference from './reference/latest';
6
-
7
- const UPDATE = !!process.env.UPDATE;
8
-
9
- describe('validate_spec', () => {
10
- glob.sync('test/unit/style-spec/fixture/*.input.json').forEach((file) => {
11
- test(path.basename(file), () => {
12
- const outputfile = file.replace('.input', '.output');
13
- const style = fs.readFileSync(file);
14
- const result = validate(style);
15
- if (UPDATE) fs.writeFileSync(outputfile, JSON.stringify(result, null, 2));
16
- const expectedOutput = JSON.parse(fs.readFileSync(outputfile).toString());
17
- expect(result).toEqual(expectedOutput);
18
- });
19
- });
20
-
21
- test('errors from validate do not contain line numbers', () => {
22
- const fixtures = glob.sync('test/unit/style-spec/fixture/*.input.json');
23
- const style = JSON.parse(fs.readFileSync(fixtures[0]).toString());
24
-
25
- const result = validate(style, reference);
26
- expect(result[0].line).toBeUndefined();
27
- });
28
-
29
- });