maplibre-gl 2.1.1 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/{banner.js → banner.ts} +1 -1
- package/build/generate-query-test-fixtures.ts +123 -0
- package/build/generate-shaders.ts +35 -0
- package/build/generate-struct-arrays.ts +7 -7
- package/build/generate-style-code.ts +8 -8
- package/build/generate-style-spec.ts +5 -4
- package/build/generate-typings.ts +16 -0
- package/build/readme.md +8 -18
- package/build/release-notes.js +9 -13
- package/build/{rollup_plugin_minify_style_spec.js → rollup_plugin_minify_style_spec.ts} +4 -3
- package/build/{rollup_plugins.js → rollup_plugins.ts} +11 -26
- package/dist/maplibre-gl-dev.js +522 -226
- package/dist/maplibre-gl.css +1 -1
- package/dist/maplibre-gl.d.ts +1536 -1010
- package/dist/maplibre-gl.js +3 -3
- package/dist/maplibre-gl.js.map +1 -1
- package/package.json +40 -61
- package/src/data/{array_types.ts → array_types.g.ts} +0 -0
- package/src/data/bucket/circle_bucket.ts +1 -1
- package/src/data/bucket/fill_bucket.test.ts +1 -1
- package/src/data/bucket/fill_bucket.ts +4 -4
- package/src/data/bucket/fill_extrusion_bucket.ts +1 -1
- package/src/data/bucket/line_bucket.test.ts +1 -1
- package/src/data/bucket/line_bucket.ts +6 -6
- package/src/data/bucket/symbol_bucket.test.ts +16 -16
- package/src/data/bucket/symbol_bucket.ts +53 -53
- package/src/data/bucket.ts +43 -43
- package/src/data/dem_data.ts +12 -12
- package/src/data/evaluation_feature.ts +10 -10
- package/src/data/feature_index.ts +37 -37
- package/src/data/feature_position_map.ts +5 -5
- package/src/data/index_array_type.ts +1 -1
- package/src/data/load_geometry.test.ts +1 -1
- package/src/data/program_configuration.ts +46 -46
- package/src/data/segment.ts +14 -14
- package/src/geo/edge_insets.ts +2 -2
- package/src/geo/lng_lat.ts +4 -4
- package/src/geo/lng_lat_bounds.ts +35 -35
- package/src/geo/mercator_coordinate.ts +5 -5
- package/src/geo/transform.test.ts +1 -1
- package/src/geo/transform.ts +14 -14
- package/src/gl/context.ts +3 -3
- package/src/gl/types.ts +19 -19
- package/src/gl/value.ts +6 -6
- package/src/gl/vertex_buffer.test.ts +1 -1
- package/src/index.ts +24 -9
- package/src/render/draw_circle.ts +8 -8
- package/src/render/draw_collision_debug.ts +5 -5
- package/src/render/draw_line.ts +4 -4
- package/src/render/draw_symbol.ts +21 -21
- package/src/render/glyph_atlas.ts +12 -12
- package/src/render/glyph_manager.test.ts +10 -21
- package/src/render/glyph_manager.ts +33 -32
- package/src/render/image_manager.ts +4 -4
- package/src/render/painter.ts +11 -11
- package/src/render/program/background_program.ts +29 -29
- package/src/render/program/circle_program.ts +10 -10
- package/src/render/program/clipping_mask_program.ts +1 -1
- package/src/render/program/collision_program.ts +9 -9
- package/src/render/program/debug_program.ts +4 -4
- package/src/render/program/fill_extrusion_program.ts +31 -31
- package/src/render/program/fill_program.ts +29 -29
- package/src/render/program/heatmap_program.ts +12 -12
- package/src/render/program/hillshade_program.ts +12 -12
- package/src/render/program/line_program.ts +38 -38
- package/src/render/program/pattern.ts +28 -28
- package/src/render/program/raster_program.ts +21 -21
- package/src/render/program/symbol_program.ts +96 -96
- package/src/render/program.ts +25 -25
- package/src/render/texture.ts +9 -9
- package/src/render/uniform_binding.ts +1 -1
- package/src/render/vertex_array_object.ts +13 -13
- package/src/shaders/_prelude.fragment.glsl.g.ts +2 -0
- package/src/shaders/_prelude.vertex.glsl.g.ts +2 -0
- package/src/shaders/background.fragment.glsl.g.ts +2 -0
- package/src/shaders/background.vertex.glsl.g.ts +2 -0
- package/src/shaders/background_pattern.fragment.glsl.g.ts +2 -0
- package/src/shaders/background_pattern.vertex.glsl.g.ts +2 -0
- package/src/shaders/circle.fragment.glsl.g.ts +2 -0
- package/src/shaders/circle.vertex.glsl.g.ts +2 -0
- package/src/shaders/clipping_mask.fragment.glsl.g.ts +2 -0
- package/src/shaders/clipping_mask.vertex.glsl.g.ts +2 -0
- package/src/shaders/collision_box.fragment.glsl.g.ts +2 -0
- package/src/shaders/collision_box.vertex.glsl.g.ts +2 -0
- package/src/shaders/collision_circle.fragment.glsl.g.ts +2 -0
- package/src/shaders/collision_circle.vertex.glsl.g.ts +2 -0
- package/src/shaders/debug.fragment.glsl.g.ts +2 -0
- package/src/shaders/debug.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill_extrusion.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill_extrusion.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill_extrusion_pattern.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill_extrusion_pattern.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill_outline.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill_outline.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill_outline_pattern.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill_outline_pattern.vertex.glsl.g.ts +2 -0
- package/src/shaders/fill_pattern.fragment.glsl.g.ts +2 -0
- package/src/shaders/fill_pattern.vertex.glsl.g.ts +2 -0
- package/src/shaders/heatmap.fragment.glsl.g.ts +2 -0
- package/src/shaders/heatmap.vertex.glsl.g.ts +2 -0
- package/src/shaders/heatmap_texture.fragment.glsl.g.ts +2 -0
- package/src/shaders/heatmap_texture.vertex.glsl.g.ts +2 -0
- package/src/shaders/hillshade.fragment.glsl.g.ts +2 -0
- package/src/shaders/hillshade.vertex.glsl.g.ts +2 -0
- package/src/shaders/hillshade_prepare.fragment.glsl.g.ts +2 -0
- package/src/shaders/hillshade_prepare.vertex.glsl.g.ts +2 -0
- package/src/shaders/line.fragment.glsl.g.ts +2 -0
- package/src/shaders/line.vertex.glsl.g.ts +2 -0
- package/src/shaders/line_gradient.fragment.glsl.g.ts +2 -0
- package/src/shaders/line_gradient.vertex.glsl.g.ts +2 -0
- package/src/shaders/line_pattern.fragment.glsl.g.ts +2 -0
- package/src/shaders/line_pattern.vertex.glsl.g.ts +2 -0
- package/src/shaders/line_sdf.fragment.glsl.g.ts +2 -0
- package/src/shaders/line_sdf.vertex.glsl.g.ts +2 -0
- package/src/shaders/raster.fragment.glsl.g.ts +2 -0
- package/src/shaders/raster.vertex.glsl.g.ts +2 -0
- package/src/shaders/shaders.ts +52 -55
- package/src/shaders/symbol_icon.fragment.glsl.g.ts +2 -0
- package/src/shaders/symbol_icon.vertex.glsl.g.ts +2 -0
- package/src/shaders/symbol_sdf.fragment.glsl.g.ts +2 -0
- package/src/shaders/symbol_sdf.vertex.glsl.g.ts +2 -0
- package/src/shaders/symbol_text_and_icon.fragment.glsl.g.ts +2 -0
- package/src/shaders/symbol_text_and_icon.vertex.glsl.g.ts +2 -0
- package/src/source/canvas_source.test.ts +11 -12
- package/src/source/canvas_source.ts +4 -4
- package/src/source/geojson_worker_source.ts +23 -23
- package/src/source/geojson_wrapper.ts +8 -8
- package/src/source/image_source.test.ts +2 -2
- package/src/source/image_source.ts +6 -6
- package/src/source/pixels_to_tile_units.ts +6 -6
- package/src/source/query_features.ts +20 -20
- package/src/source/raster_dem_tile_source.test.ts +2 -2
- package/src/source/raster_tile_source.test.ts +2 -2
- package/src/source/rtl_text_plugin.ts +10 -10
- package/src/source/source.ts +29 -29
- package/src/source/source_cache.test.ts +32 -0
- package/src/source/source_cache.ts +7 -5
- package/src/source/source_state.ts +1 -1
- package/src/source/tile.test.ts +3 -3
- package/src/source/tile.ts +15 -15
- package/src/source/tile_cache.ts +6 -6
- package/src/source/tile_id.test.ts +0 -1
- package/src/source/vector_tile_source.test.ts +3 -3
- package/src/source/vector_tile_source.ts +1 -1
- package/src/source/vector_tile_worker_source.test.ts +4 -4
- package/src/source/vector_tile_worker_source.ts +5 -5
- package/src/source/worker.test.ts +1 -1
- package/src/source/worker.ts +22 -22
- package/src/source/worker_source.ts +56 -56
- package/src/source/worker_tile.ts +4 -4
- package/src/style/evaluation_parameters.ts +3 -3
- package/src/style/format_section_override.test.ts +1 -1
- package/src/style/light.ts +10 -10
- package/src/style/load_glyph_range.test.ts +3 -3
- package/src/style/load_glyph_range.ts +6 -6
- package/src/style/load_sprite.ts +4 -4
- package/src/style/pauseable_placement.ts +1 -1
- package/src/style/properties.ts +69 -69
- package/src/style/query_utils.ts +7 -7
- package/src/style/style.test.ts +2 -2
- package/src/style/style.ts +29 -29
- package/src/style/style_glyph.ts +8 -8
- package/src/style/style_image.ts +58 -58
- package/src/style/style_layer/background_style_layer.ts +2 -2
- package/src/style/style_layer/{background_style_layer_properties.ts → background_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/circle_style_layer.ts +10 -10
- package/src/style/style_layer/{circle_style_layer_properties.ts → circle_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/custom_style_layer.ts +17 -17
- package/src/style/style_layer/fill_extrusion_style_layer.ts +10 -10
- package/src/style/style_layer/{fill_extrusion_style_layer_properties.ts → fill_extrusion_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/fill_style_layer.ts +9 -9
- package/src/style/style_layer/{fill_style_layer_properties.ts → fill_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/heatmap_style_layer.ts +2 -2
- package/src/style/style_layer/{heatmap_style_layer_properties.ts → heatmap_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/hillshade_style_layer.ts +2 -2
- package/src/style/style_layer/{hillshade_style_layer_properties.ts → hillshade_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/line_style_layer.ts +9 -9
- package/src/style/style_layer/{line_style_layer_properties.ts → line_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/raster_style_layer.ts +2 -2
- package/src/style/style_layer/{raster_style_layer_properties.ts → raster_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer/symbol_style_layer.ts +7 -7
- package/src/style/style_layer/{symbol_style_layer_properties.ts → symbol_style_layer_properties.g.ts} +0 -0
- package/src/style/style_layer.ts +10 -10
- package/src/style/style_layer_index.ts +3 -3
- package/src/style/validate_style.ts +15 -15
- package/src/style-spec/error/validation_error.ts +1 -1
- package/src/style-spec/expression/compound_expression.ts +3 -3
- package/src/style-spec/expression/definitions/format.ts +11 -11
- package/src/style-spec/expression/definitions/interpolate.ts +5 -5
- package/src/style-spec/expression/definitions/match.ts +2 -2
- package/src/style-spec/expression/definitions/number_format.ts +11 -11
- package/src/style-spec/expression/expression.ts +8 -8
- package/src/style-spec/expression/index.ts +97 -97
- package/src/style-spec/expression/parsing_context.ts +11 -11
- package/src/style-spec/expression/types/collator.ts +9 -9
- package/src/style-spec/expression/types/resolved_image.ts +2 -2
- package/src/style-spec/expression/types.ts +14 -14
- package/src/style-spec/expression/values.ts +1 -1
- package/src/style-spec/feature_filter/index.ts +66 -66
- package/src/style-spec/function/convert.ts +3 -3
- package/src/style-spec/style-spec.ts +44 -44
- package/src/style-spec/util/color_spaces.ts +8 -8
- package/src/style-spec/util/result.ts +4 -4
- package/src/style-spec/validate/validate_filter.ts +58 -58
- package/src/style-spec/validate/validate_source.ts +63 -63
- package/src/style-spec/visit.ts +11 -11
- package/src/symbol/collision_feature.test.ts +1 -1
- package/src/symbol/collision_feature.ts +10 -10
- package/src/symbol/collision_index.ts +26 -26
- package/src/symbol/cross_tile_symbol_index.ts +17 -17
- package/src/symbol/get_anchors.ts +16 -16
- package/src/symbol/grid_index.ts +7 -7
- package/src/symbol/placement.ts +72 -72
- package/src/symbol/projection.ts +30 -30
- package/src/symbol/quads.ts +30 -30
- package/src/symbol/shaping.ts +160 -160
- package/src/symbol/symbol_layout.ts +119 -119
- package/src/symbol/symbol_size.ts +29 -29
- package/src/symbol/symbol_style_layer.test.ts +1 -1
- package/src/types/cancelable.ts +1 -1
- package/src/types/tilejson.ts +13 -13
- package/src/ui/anchor.ts +1 -1
- package/src/ui/camera.test.ts +5 -5
- package/src/ui/camera.ts +18 -18
- package/src/ui/control/attribution_control.test.ts +51 -16
- package/src/ui/control/attribution_control.ts +35 -16
- package/src/ui/control/control.ts +40 -40
- package/src/ui/control/fullscreen_control.ts +1 -1
- package/src/ui/control/geolocate_control.test.ts +1 -1
- package/src/ui/control/geolocate_control.ts +102 -102
- package/src/ui/control/logo_control.test.ts +4 -4
- package/src/ui/control/navigation_control.ts +3 -3
- package/src/ui/control/scale_control.test.ts +2 -2
- package/src/ui/control/scale_control.ts +5 -5
- package/src/ui/events.ts +289 -200
- package/src/ui/handler/box_zoom.test.ts +1 -1
- package/src/ui/handler/box_zoom.ts +1 -1
- package/src/ui/handler/dblclick_zoom.test.ts +1 -1
- package/src/ui/handler/drag_pan.test.ts +1 -1
- package/src/ui/handler/drag_rotate.test.ts +1 -1
- package/src/ui/handler/keyboard.test.ts +1 -1
- package/src/ui/handler/keyboard.ts +51 -51
- package/src/ui/handler/map_event.test.ts +1 -1
- package/src/ui/handler/map_event.ts +1 -1
- package/src/ui/handler/mouse.ts +1 -1
- package/src/ui/handler/mouse_rotate.test.ts +1 -1
- package/src/ui/handler/scroll_zoom.test.ts +1 -1
- package/src/ui/handler/scroll_zoom.ts +9 -9
- package/src/ui/handler/shim/drag_pan.ts +4 -4
- package/src/ui/handler/shim/drag_rotate.ts +1 -1
- package/src/ui/handler/shim/touch_zoom_rotate.ts +1 -1
- package/src/ui/handler/tap_recognizer.ts +4 -4
- package/src/ui/handler/touch_pan.ts +2 -2
- package/src/ui/handler/touch_zoom_rotate.test.ts +1 -1
- package/src/ui/handler/touch_zoom_rotate.ts +1 -1
- package/src/ui/handler_inertia.ts +6 -6
- package/src/ui/handler_manager.ts +44 -44
- package/src/ui/map/isMoving.test.ts +1 -1
- package/src/ui/map/isRotating.test.ts +1 -1
- package/src/ui/map/isZooming.test.ts +1 -1
- package/src/ui/map.test.ts +10 -4
- package/src/ui/map.ts +106 -101
- package/src/ui/map_events.test.ts +1 -1
- package/src/ui/marker.test.ts +12 -12
- package/src/ui/marker.ts +37 -37
- package/src/ui/popup.test.ts +7 -7
- package/src/ui/popup.ts +9 -9
- package/src/util/actor.test.ts +41 -10
- package/src/util/actor.ts +8 -8
- package/src/util/ajax.test.ts +29 -21
- package/src/util/ajax.ts +51 -30
- package/src/util/browser.ts +1 -1
- package/src/util/classify_rings.test.ts +1 -1
- package/src/util/color_ramp.ts +5 -5
- package/src/util/config.ts +2 -2
- package/src/util/dispatcher.ts +1 -1
- package/src/util/dom.ts +2 -2
- package/src/util/evented.ts +1 -1
- package/src/util/find_pole_of_inaccessibility.ts +3 -3
- package/src/util/image.ts +5 -5
- package/src/util/performance.ts +7 -7
- package/src/util/request_manager.ts +4 -4
- package/src/util/resolve_tokens.ts +4 -4
- package/src/util/struct_array.test.ts +1 -1
- package/src/util/struct_array.ts +15 -15
- package/src/util/task_queue.ts +3 -3
- package/src/util/tile_request_cache.ts +3 -3
- package/src/util/transferable_grid_index.ts +4 -4
- package/src/util/util.ts +8 -8
- package/src/util/web_worker.ts +4 -68
- package/src/util/web_worker_transfer.test.ts +3 -0
- package/src/util/web_worker_transfer.ts +21 -17
- package/src/util/worker_pool.ts +1 -1
- package/build/.eslintrc +0 -21
- package/build/glsl_to_js.js +0 -12
- package/build/post-ts-build.js +0 -43
- package/build/release-notes.md.ejs +0 -8
- package/build/test/build-tape.js +0 -17
- package/build/web_worker_replacement.js +0 -5
- package/dist/package.json +0 -1
- package/src/style-spec/validate_spec.test.ts +0 -29
- package/src/symbol/shaping.test.ts +0 -392
- package/src/types/glsl.d.ts +0 -4
package/src/util/web_worker.ts
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
38
|
-
|
|
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
|
-
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
32
|
-
|
|
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
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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) ||
|
package/src/util/worker_pool.ts
CHANGED
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
|
-
}
|
package/build/glsl_to_js.js
DELETED
|
@@ -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
|
-
}
|
package/build/post-ts-build.js
DELETED
|
@@ -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
|
-
<% } -%>
|
package/build/test/build-tape.js
DELETED
|
@@ -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
|
-
}
|
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
|
-
});
|