@tangram.gl/basemap-layers 0.0.0-stage → 0.0.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.
- package/README.md +34 -2
- package/THIRD-PARTY-NOTICES.md +205 -0
- package/dist/geojson-worker.js +2160 -0
- package/dist/geojson-worker.js.map +6 -0
- package/dist/index.cjs +11388 -0
- package/dist/index.cjs.map +6 -0
- package/dist/index.js +11369 -0
- package/dist/index.js.map +6 -0
- package/dist/map-style.cjs +445 -0
- package/dist/map-style.cjs.map +6 -0
- package/dist/map-style.js +431 -0
- package/dist/map-style.js.map +6 -0
- package/dist/types/arabic-shaping.d.ts +7 -0
- package/dist/types/atmosphere-layer.d.ts +10 -0
- package/dist/types/basemap-layer.d.ts +150 -0
- package/dist/types/bidi.d.ts +8 -0
- package/dist/types/circle-layer.d.ts +49 -0
- package/dist/types/fill-extrusion-lighting-extension.d.ts +49 -0
- package/dist/types/fill-outline-extension.d.ts +22 -0
- package/dist/types/fill-pattern.d.ts +99 -0
- package/dist/types/fill-style-extensions.d.ts +100 -0
- package/dist/types/geojson-source.d.ts +29 -0
- package/dist/types/geojson-tiler.d.ts +48 -0
- package/dist/types/geojson-worker.d.ts +40 -0
- package/dist/types/globe-horizon-extension.d.ts +61 -0
- package/dist/types/globe-layers.d.ts +239 -0
- package/dist/types/globe-line-angle-extension.d.ts +37 -0
- package/dist/types/glyph-font-renderer.d.ts +37 -0
- package/dist/types/glyph-pbf.d.ts +37 -0
- package/dist/types/glyph-store.d.ts +103 -0
- package/dist/types/grid-index.d.ts +47 -0
- package/dist/types/hillshade-layer.d.ts +154 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/is-globe-viewport.d.ts +2 -0
- package/dist/types/label-font-renderer.d.ts +18 -0
- package/dist/types/label-placement.d.ts +247 -0
- package/dist/types/label-text-layer.d.ts +231 -0
- package/dist/types/line-blur-extension.d.ts +73 -0
- package/dist/types/line-glyphs.d.ts +60 -0
- package/dist/types/line-placement.d.ts +93 -0
- package/dist/types/map-style-loader.d.ts +48 -0
- package/dist/types/map-style-schema.d.ts +72 -0
- package/dist/types/map-style.d.ts +6 -0
- package/dist/types/mapbox-style.d.ts +40 -0
- package/dist/types/mvt-label-layer.d.ts +923 -0
- package/dist/types/polylabel.d.ts +17 -0
- package/dist/types/raster-color-extension.d.ts +146 -0
- package/dist/types/shared-texture.d.ts +34 -0
- package/dist/types/sort-key.d.ts +10 -0
- package/dist/types/sprite.d.ts +82 -0
- package/dist/types/style-accessor.d.ts +45 -0
- package/dist/types/style-expression.d.ts +83 -0
- package/dist/types/style-resolver.d.ts +94 -0
- package/dist/types/text-font.d.ts +36 -0
- package/dist/types/text-halo-blur-extension.d.ts +55 -0
- package/dist/types/text-layout.d.ts +71 -0
- package/dist/types/util.d.ts +22 -0
- package/dist/types/zoom-paint-extension.d.ts +72 -0
- package/package.json +80 -3
- package/src/arabic-shaping.ts +366 -0
- package/src/atmosphere-layer.ts +19 -0
- package/src/basemap-layer.ts +533 -0
- package/src/bidi.ts +199 -0
- package/src/circle-layer.ts +191 -0
- package/src/fill-extrusion-lighting-extension.ts +206 -0
- package/src/fill-outline-extension.ts +70 -0
- package/src/fill-pattern.ts +400 -0
- package/src/fill-style-extensions.ts +177 -0
- package/src/geojson-source.ts +318 -0
- package/src/geojson-tiler.ts +185 -0
- package/src/geojson-worker.ts +98 -0
- package/src/globe-horizon-extension.ts +64 -0
- package/src/globe-layers.ts +3487 -0
- package/src/globe-line-angle-extension.ts +131 -0
- package/src/glyph-font-renderer.ts +173 -0
- package/src/glyph-pbf.ts +164 -0
- package/src/glyph-store.ts +326 -0
- package/src/grid-index.ts +177 -0
- package/src/hillshade-layer.ts +775 -0
- package/src/index.ts +18 -0
- package/src/is-globe-viewport.ts +24 -0
- package/src/label-font-renderer.ts +159 -0
- package/src/label-placement.ts +727 -0
- package/src/label-text-layer.ts +913 -0
- package/src/line-blur-extension.ts +237 -0
- package/src/line-glyphs.ts +364 -0
- package/src/line-placement.ts +446 -0
- package/src/map-style-loader.ts +56 -0
- package/src/map-style-schema.ts +83 -0
- package/src/map-style.ts +23 -0
- package/src/mapbox-style.ts +168 -0
- package/src/mvt-label-layer.ts +3744 -0
- package/src/polylabel.ts +312 -0
- package/src/raster-color-extension.ts +245 -0
- package/src/shared-texture.ts +153 -0
- package/src/sort-key.ts +63 -0
- package/src/sprite.ts +244 -0
- package/src/style-accessor.ts +95 -0
- package/src/style-expression.ts +327 -0
- package/src/style-resolver.ts +301 -0
- package/src/text-font.ts +150 -0
- package/src/text-halo-blur-extension.ts +115 -0
- package/src/text-layout.ts +441 -0
- package/src/util.ts +47 -0
- package/src/zoom-paint-extension.ts +207 -0
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/map-style.ts
|
|
21
|
+
var map_style_exports = {};
|
|
22
|
+
__export(map_style_exports, {
|
|
23
|
+
BasemapSourceSchema: () => BasemapSourceSchema,
|
|
24
|
+
BasemapStyleLayerSchema: () => BasemapStyleLayerSchema,
|
|
25
|
+
BasemapStyleSchema: () => BasemapStyleSchema,
|
|
26
|
+
MapStyleLoader: () => MapStyleLoader,
|
|
27
|
+
ResolvedBasemapStyleSchema: () => ResolvedBasemapStyleSchema,
|
|
28
|
+
filterFeatures: () => filterFeatures,
|
|
29
|
+
findFeaturesStyledByLayer: () => findFeaturesStyledByLayer,
|
|
30
|
+
parseProperties: () => parseProperties,
|
|
31
|
+
resolveBasemapStyle: () => resolveBasemapStyle
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(map_style_exports);
|
|
34
|
+
|
|
35
|
+
// src/style-expression.ts
|
|
36
|
+
var import_core = require("@deck.gl/core");
|
|
37
|
+
var import_maplibre_gl_style_spec = require("@maplibre/maplibre-gl-style-spec");
|
|
38
|
+
var GEOMETRY_TYPES = {
|
|
39
|
+
Point: 1,
|
|
40
|
+
MultiPoint: 1,
|
|
41
|
+
LineString: 2,
|
|
42
|
+
MultiLineString: 2,
|
|
43
|
+
Polygon: 3,
|
|
44
|
+
MultiPolygon: 3
|
|
45
|
+
};
|
|
46
|
+
var compiledPropertyCache = /* @__PURE__ */ new WeakMap();
|
|
47
|
+
var compiledFilterCache = /* @__PURE__ */ new WeakMap();
|
|
48
|
+
var warnedValues = /* @__PURE__ */ new Set();
|
|
49
|
+
function warnInvalidValue(propertyName, value, error) {
|
|
50
|
+
const key = `${propertyName}:${JSON.stringify(value)}`;
|
|
51
|
+
if (!warnedValues.has(key)) {
|
|
52
|
+
warnedValues.add(key);
|
|
53
|
+
import_core.log.warn(`Ignoring invalid style value for ${propertyName}: ${String(error)}`)();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function getStylePropertyType(propertyName) {
|
|
57
|
+
return import_maplibre_gl_style_spec.latest.layout.some((group) => import_maplibre_gl_style_spec.latest[group]?.[propertyName]) ? "layout" : "paint";
|
|
58
|
+
}
|
|
59
|
+
function getStylePropertyReference(propertyName) {
|
|
60
|
+
for (const group of [...import_maplibre_gl_style_spec.latest.layout, ...import_maplibre_gl_style_spec.latest.paint]) {
|
|
61
|
+
const reference = import_maplibre_gl_style_spec.latest[group]?.[propertyName];
|
|
62
|
+
if (reference) {
|
|
63
|
+
return reference;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
function getStyleGeometryType(feature) {
|
|
69
|
+
if (feature.type === 1 || feature.type === 2 || feature.type === 3) {
|
|
70
|
+
return feature.type;
|
|
71
|
+
}
|
|
72
|
+
return GEOMETRY_TYPES[feature.geometry?.type || ""];
|
|
73
|
+
}
|
|
74
|
+
function toEvaluationFeature(feature) {
|
|
75
|
+
if (!feature) {
|
|
76
|
+
return void 0;
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
type: getStyleGeometryType(feature),
|
|
80
|
+
id: feature.id,
|
|
81
|
+
properties: feature.properties || {}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
function colorToArray(color) {
|
|
85
|
+
const [r, g, b, a] = color.rgb;
|
|
86
|
+
return a === 0 ? [0, 0, 0, 0] : [r * 255, g * 255, b * 255, a];
|
|
87
|
+
}
|
|
88
|
+
function toPlainValue(value) {
|
|
89
|
+
if (value instanceof import_maplibre_gl_style_spec.Padding || value instanceof import_maplibre_gl_style_spec.NumberArray) {
|
|
90
|
+
return value.values;
|
|
91
|
+
}
|
|
92
|
+
if (value instanceof import_maplibre_gl_style_spec.ColorArray) {
|
|
93
|
+
return value.values.map(colorToArray);
|
|
94
|
+
}
|
|
95
|
+
if (value instanceof import_maplibre_gl_style_spec.VariableAnchorOffsetCollection) {
|
|
96
|
+
return value.values;
|
|
97
|
+
}
|
|
98
|
+
return value instanceof import_maplibre_gl_style_spec.Color ? colorToArray(value) : value;
|
|
99
|
+
}
|
|
100
|
+
function compileStylePropertyValue(propertyName, value) {
|
|
101
|
+
const reference = getStylePropertyReference(propertyName);
|
|
102
|
+
let compiled;
|
|
103
|
+
try {
|
|
104
|
+
const takesArray = reference?.type === "array" || reference?.type === "padding" || reference?.type === "numberArray" || reference?.type === "colorArray" || reference?.type === "variableAnchorOffsetCollection";
|
|
105
|
+
if (Array.isArray(value) && !takesArray && !import_maplibre_gl_style_spec.expression.isExpression(value)) {
|
|
106
|
+
throw new Error(`Unknown expression "${String(value[0])}"`);
|
|
107
|
+
}
|
|
108
|
+
compiled = import_maplibre_gl_style_spec.expression.normalizePropertyExpression(value, reference);
|
|
109
|
+
} catch (error) {
|
|
110
|
+
warnInvalidValue(propertyName, value, error);
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
const kind = compiled.kind;
|
|
114
|
+
return {
|
|
115
|
+
isZoomDependent: kind === "camera" || kind === "composite",
|
|
116
|
+
isFeatureDependent: kind === "source" || kind === "composite",
|
|
117
|
+
evaluate: (zoom, feature, availableImages) => toPlainValue(
|
|
118
|
+
compiled.evaluate(
|
|
119
|
+
{ zoom },
|
|
120
|
+
toEvaluationFeature(feature),
|
|
121
|
+
void 0,
|
|
122
|
+
void 0,
|
|
123
|
+
availableImages
|
|
124
|
+
)
|
|
125
|
+
),
|
|
126
|
+
evaluateWithGlobals: (globals, feature) => toPlainValue(compiled.evaluate(globals, toEvaluationFeature(feature)))
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
function getCompiledStyleProperty(styleLayer, propertyName) {
|
|
130
|
+
let layerCache = compiledPropertyCache.get(styleLayer);
|
|
131
|
+
if (!layerCache) {
|
|
132
|
+
layerCache = /* @__PURE__ */ new Map();
|
|
133
|
+
compiledPropertyCache.set(styleLayer, layerCache);
|
|
134
|
+
}
|
|
135
|
+
let entry = layerCache.get(propertyName);
|
|
136
|
+
const propertyType = entry?.propertyType ?? getStylePropertyType(propertyName);
|
|
137
|
+
const value = styleLayer[propertyType]?.[propertyName];
|
|
138
|
+
if (!entry || entry.value !== value) {
|
|
139
|
+
entry = {
|
|
140
|
+
propertyType,
|
|
141
|
+
value,
|
|
142
|
+
compiled: value === void 0 ? null : compileStylePropertyValue(propertyName, value)
|
|
143
|
+
};
|
|
144
|
+
layerCache.set(propertyName, entry);
|
|
145
|
+
}
|
|
146
|
+
return entry.compiled;
|
|
147
|
+
}
|
|
148
|
+
function compileStyleFilter(filter) {
|
|
149
|
+
const isCacheable = Boolean(filter) && typeof filter === "object";
|
|
150
|
+
const snapshot = isCacheable ? JSON.stringify(filter) : "";
|
|
151
|
+
const cached = isCacheable ? compiledFilterCache.get(filter) : void 0;
|
|
152
|
+
if (cached && cached.snapshot === snapshot) {
|
|
153
|
+
return cached.compiled;
|
|
154
|
+
}
|
|
155
|
+
let compiled;
|
|
156
|
+
try {
|
|
157
|
+
const filterFn = (0, import_maplibre_gl_style_spec.featureFilter)(filter).filter;
|
|
158
|
+
compiled = (globalProperties, feature) => filterFn(globalProperties, toEvaluationFeature(feature));
|
|
159
|
+
} catch (error) {
|
|
160
|
+
warnInvalidValue("filter", filter, error);
|
|
161
|
+
compiled = () => false;
|
|
162
|
+
}
|
|
163
|
+
if (isCacheable) {
|
|
164
|
+
compiledFilterCache.set(filter, { snapshot, compiled });
|
|
165
|
+
}
|
|
166
|
+
return compiled;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// src/mapbox-style.ts
|
|
170
|
+
function filterFeatures({
|
|
171
|
+
features,
|
|
172
|
+
filter,
|
|
173
|
+
globalProperties = {}
|
|
174
|
+
}) {
|
|
175
|
+
if (!features || features.length === 0) {
|
|
176
|
+
return [];
|
|
177
|
+
}
|
|
178
|
+
const filterFn = compileStyleFilter(filter);
|
|
179
|
+
return features.filter((feature) => filterFn(globalProperties, feature));
|
|
180
|
+
}
|
|
181
|
+
function findFeaturesStyledByLayer({
|
|
182
|
+
features,
|
|
183
|
+
layer,
|
|
184
|
+
globalProperties
|
|
185
|
+
}) {
|
|
186
|
+
const sourceLayerFeatures = features[layer.source || ""]?.[layer["source-layer"] || ""];
|
|
187
|
+
if (!sourceLayerFeatures) {
|
|
188
|
+
return [];
|
|
189
|
+
}
|
|
190
|
+
if (layer.filter && layer.filter.length > 0) {
|
|
191
|
+
return filterFeatures({
|
|
192
|
+
features: sourceLayerFeatures,
|
|
193
|
+
filter: layer.filter,
|
|
194
|
+
globalProperties
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
return sourceLayerFeatures;
|
|
198
|
+
}
|
|
199
|
+
function parseProperties(layer, globalProperties) {
|
|
200
|
+
const layerProperties = [];
|
|
201
|
+
visitProperties(layer, { paint: true }, (property) => {
|
|
202
|
+
layerProperties.push(parseProperty(property, globalProperties));
|
|
203
|
+
});
|
|
204
|
+
return layerProperties;
|
|
205
|
+
}
|
|
206
|
+
function visitProperties(layer, options, callback) {
|
|
207
|
+
function inner(targetLayer, propertyType) {
|
|
208
|
+
const properties = targetLayer[propertyType];
|
|
209
|
+
if (!properties) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
Object.keys(properties).forEach((key) => {
|
|
213
|
+
callback({
|
|
214
|
+
layer: targetLayer,
|
|
215
|
+
path: [targetLayer.id, propertyType, key],
|
|
216
|
+
key,
|
|
217
|
+
value: properties[key],
|
|
218
|
+
reference: getStylePropertyReference(key),
|
|
219
|
+
set(value) {
|
|
220
|
+
properties[key] = value;
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
if (options.paint) {
|
|
226
|
+
inner(layer, "paint");
|
|
227
|
+
}
|
|
228
|
+
if (options.layout) {
|
|
229
|
+
inner(layer, "layout");
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
function parseProperty(property, globalProperties) {
|
|
233
|
+
const compiled = getCompiledStyleProperty(property.layer, property.key);
|
|
234
|
+
return {
|
|
235
|
+
[property.key]: compiled?.evaluateWithGlobals({
|
|
236
|
+
...globalProperties,
|
|
237
|
+
zoom: globalProperties.zoom ?? 0
|
|
238
|
+
})
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
// src/map-style-schema.ts
|
|
243
|
+
var import_zod = require("zod");
|
|
244
|
+
var BasemapSourceSchema = import_zod.z.object({
|
|
245
|
+
type: import_zod.z.string().optional(),
|
|
246
|
+
url: import_zod.z.string().optional(),
|
|
247
|
+
tiles: import_zod.z.array(import_zod.z.string()).optional(),
|
|
248
|
+
minzoom: import_zod.z.number().optional(),
|
|
249
|
+
maxzoom: import_zod.z.number().optional(),
|
|
250
|
+
tileSize: import_zod.z.number().optional()
|
|
251
|
+
}).catchall(import_zod.z.unknown());
|
|
252
|
+
var BasemapStyleLayerSchema = import_zod.z.object({
|
|
253
|
+
id: import_zod.z.string(),
|
|
254
|
+
type: import_zod.z.string().optional(),
|
|
255
|
+
ref: import_zod.z.string().optional(),
|
|
256
|
+
source: import_zod.z.string().optional(),
|
|
257
|
+
"source-layer": import_zod.z.string().optional(),
|
|
258
|
+
minzoom: import_zod.z.number().optional(),
|
|
259
|
+
maxzoom: import_zod.z.number().optional(),
|
|
260
|
+
filter: import_zod.z.array(import_zod.z.unknown()).optional(),
|
|
261
|
+
paint: import_zod.z.record(import_zod.z.string(), import_zod.z.unknown()).optional(),
|
|
262
|
+
layout: import_zod.z.record(import_zod.z.string(), import_zod.z.unknown()).optional()
|
|
263
|
+
}).catchall(import_zod.z.unknown()).superRefine((layer, context) => {
|
|
264
|
+
if (!layer.type && !layer.ref) {
|
|
265
|
+
context.addIssue({
|
|
266
|
+
code: import_zod.z.ZodIssueCode.custom,
|
|
267
|
+
message: 'Style layers must define either "type" or "ref".',
|
|
268
|
+
path: ["type"]
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
var ResolvedBasemapStyleLayerSchema = import_zod.z.object({
|
|
273
|
+
id: import_zod.z.string(),
|
|
274
|
+
type: import_zod.z.string(),
|
|
275
|
+
source: import_zod.z.string().optional(),
|
|
276
|
+
"source-layer": import_zod.z.string().optional(),
|
|
277
|
+
minzoom: import_zod.z.number().optional(),
|
|
278
|
+
maxzoom: import_zod.z.number().optional(),
|
|
279
|
+
filter: import_zod.z.array(import_zod.z.unknown()).optional(),
|
|
280
|
+
paint: import_zod.z.record(import_zod.z.string(), import_zod.z.unknown()).optional(),
|
|
281
|
+
layout: import_zod.z.record(import_zod.z.string(), import_zod.z.unknown()).optional()
|
|
282
|
+
}).catchall(import_zod.z.unknown());
|
|
283
|
+
var BasemapStyleSchema = import_zod.z.object({
|
|
284
|
+
version: import_zod.z.number().optional(),
|
|
285
|
+
metadata: import_zod.z.record(import_zod.z.string(), import_zod.z.unknown()).optional(),
|
|
286
|
+
sources: import_zod.z.record(import_zod.z.string(), BasemapSourceSchema).optional(),
|
|
287
|
+
layers: import_zod.z.array(BasemapStyleLayerSchema).optional()
|
|
288
|
+
}).catchall(import_zod.z.unknown());
|
|
289
|
+
var ResolvedBasemapStyleSchema = import_zod.z.object({
|
|
290
|
+
version: import_zod.z.number().optional(),
|
|
291
|
+
metadata: import_zod.z.record(import_zod.z.string(), import_zod.z.unknown()).optional(),
|
|
292
|
+
sources: import_zod.z.record(import_zod.z.string(), BasemapSourceSchema),
|
|
293
|
+
layers: import_zod.z.array(ResolvedBasemapStyleLayerSchema)
|
|
294
|
+
}).catchall(import_zod.z.unknown());
|
|
295
|
+
|
|
296
|
+
// src/style-resolver.ts
|
|
297
|
+
var import_core2 = require("@deck.gl/core");
|
|
298
|
+
var import_maplibre_gl_style_spec2 = require("@maplibre/maplibre-gl-style-spec");
|
|
299
|
+
function normalizeUrl(url, baseUrl) {
|
|
300
|
+
if (!url) {
|
|
301
|
+
return url;
|
|
302
|
+
}
|
|
303
|
+
try {
|
|
304
|
+
return decodeURI(new URL(url, baseUrl).toString());
|
|
305
|
+
} catch {
|
|
306
|
+
return url;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
function normalizeTiles(tiles, baseUrl) {
|
|
310
|
+
return Array.isArray(tiles) ? tiles.map((tile) => normalizeUrl(tile, baseUrl) || tile) : tiles;
|
|
311
|
+
}
|
|
312
|
+
async function fetchJson(url, loadOptions) {
|
|
313
|
+
const fetchFn = loadOptions?.fetch || fetch;
|
|
314
|
+
const response = await fetchFn(url, loadOptions?.fetchOptions);
|
|
315
|
+
if (!response.ok) {
|
|
316
|
+
throw new Error(`Failed to load basemap resource: ${url} (${response.status})`);
|
|
317
|
+
}
|
|
318
|
+
return await response.json();
|
|
319
|
+
}
|
|
320
|
+
var TILEJSON_SOURCE_TYPES = /* @__PURE__ */ new Set(["vector", "raster", "raster-dem"]);
|
|
321
|
+
var TILEJSON_SOURCE_KEYS = [
|
|
322
|
+
"tiles",
|
|
323
|
+
"minzoom",
|
|
324
|
+
"maxzoom",
|
|
325
|
+
"attribution",
|
|
326
|
+
"bounds",
|
|
327
|
+
"scheme",
|
|
328
|
+
"tileSize",
|
|
329
|
+
"encoding"
|
|
330
|
+
];
|
|
331
|
+
function pickTileJsonFields(tileJson) {
|
|
332
|
+
const fields = {};
|
|
333
|
+
if (!tileJson || typeof tileJson !== "object" || Array.isArray(tileJson)) {
|
|
334
|
+
return fields;
|
|
335
|
+
}
|
|
336
|
+
for (const key of TILEJSON_SOURCE_KEYS) {
|
|
337
|
+
if (Object.prototype.hasOwnProperty.call(tileJson, key)) {
|
|
338
|
+
fields[key] = tileJson[key];
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
return fields;
|
|
342
|
+
}
|
|
343
|
+
async function resolveGeoJsonSource(source, baseUrl, loadOptions) {
|
|
344
|
+
if (typeof source.data !== "string") {
|
|
345
|
+
return { ...source };
|
|
346
|
+
}
|
|
347
|
+
const dataUrl = normalizeUrl(source.data, baseUrl) || source.data;
|
|
348
|
+
const data = await fetchJson(dataUrl, loadOptions);
|
|
349
|
+
if (!data || typeof data !== "object" || Array.isArray(data)) {
|
|
350
|
+
throw new Error(`Invalid GeoJSON: ${dataUrl}`);
|
|
351
|
+
}
|
|
352
|
+
return { ...source, data };
|
|
353
|
+
}
|
|
354
|
+
async function resolveSource(source, baseUrl, loadOptions) {
|
|
355
|
+
if (!source) {
|
|
356
|
+
return source;
|
|
357
|
+
}
|
|
358
|
+
if (source.type === "geojson") {
|
|
359
|
+
return await resolveGeoJsonSource(source, baseUrl, loadOptions);
|
|
360
|
+
}
|
|
361
|
+
if (!source.url || !TILEJSON_SOURCE_TYPES.has(String(source.type))) {
|
|
362
|
+
return source.tiles ? { ...source, tiles: normalizeTiles(source.tiles, baseUrl) } : { ...source };
|
|
363
|
+
}
|
|
364
|
+
const tileJsonUrl = normalizeUrl(source.url, baseUrl);
|
|
365
|
+
const tileJsonFields = pickTileJsonFields(
|
|
366
|
+
await fetchJson(tileJsonUrl || source.url, loadOptions)
|
|
367
|
+
);
|
|
368
|
+
const resolvedSource = {
|
|
369
|
+
...tileJsonFields,
|
|
370
|
+
...source,
|
|
371
|
+
url: tileJsonUrl,
|
|
372
|
+
tiles: source.tiles ? normalizeTiles(source.tiles, baseUrl) : normalizeTiles(tileJsonFields.tiles, tileJsonUrl)
|
|
373
|
+
};
|
|
374
|
+
const result = BasemapSourceSchema.safeParse(resolvedSource);
|
|
375
|
+
if (!result.success) {
|
|
376
|
+
throw new Error(`Invalid TileJSON: ${tileJsonUrl} (${result.error.issues[0]?.message})`);
|
|
377
|
+
}
|
|
378
|
+
if (!resolvedSource.tiles?.length) {
|
|
379
|
+
throw new Error(`TileJSON has no tiles: ${tileJsonUrl}`);
|
|
380
|
+
}
|
|
381
|
+
return resolvedSource;
|
|
382
|
+
}
|
|
383
|
+
function isLoadCancelled(error, loadOptions) {
|
|
384
|
+
return Boolean(loadOptions?.fetchOptions?.signal?.aborted) || error?.name === "AbortError";
|
|
385
|
+
}
|
|
386
|
+
async function resolveBasemapStyle(style, loadOptions) {
|
|
387
|
+
const styleDefinition = BasemapStyleSchema.parse(
|
|
388
|
+
typeof style === "string" ? await fetchJson(style, loadOptions) : structuredClone(style)
|
|
389
|
+
);
|
|
390
|
+
const baseUrl = typeof style === "string" ? style : loadOptions?.baseUrl;
|
|
391
|
+
const resolvedSources = {};
|
|
392
|
+
await Promise.all(
|
|
393
|
+
Object.entries(styleDefinition.sources || {}).map(async ([sourceId, source]) => {
|
|
394
|
+
try {
|
|
395
|
+
resolvedSources[sourceId] = await resolveSource(source, baseUrl, loadOptions) || {};
|
|
396
|
+
} catch (error) {
|
|
397
|
+
if (isLoadCancelled(error, loadOptions)) {
|
|
398
|
+
throw loadOptions?.fetchOptions?.signal?.aborted ? loadOptions.fetchOptions.signal.reason ?? error : error;
|
|
399
|
+
}
|
|
400
|
+
const inlineTiles = source?.tiles?.length ? normalizeTiles(source.tiles, baseUrl) : void 0;
|
|
401
|
+
import_core2.log.warn(
|
|
402
|
+
`[BasemapLayer] Source "${sourceId}" could not be loaded; ${inlineTiles ? "using its inline tiles" : "its layers are skipped"}: ${String(error?.message ?? error)}`
|
|
403
|
+
)();
|
|
404
|
+
resolvedSources[sourceId] = source?.type === "geojson" ? { ...source, data: void 0 } : { ...source, url: void 0, tiles: inlineTiles };
|
|
405
|
+
}
|
|
406
|
+
})
|
|
407
|
+
);
|
|
408
|
+
return ResolvedBasemapStyleSchema.parse({
|
|
409
|
+
...styleDefinition,
|
|
410
|
+
sources: resolvedSources,
|
|
411
|
+
layers: (0, import_maplibre_gl_style_spec2.derefLayers)([...styleDefinition.layers || []])
|
|
412
|
+
});
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
// src/map-style-loader.ts
|
|
416
|
+
var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
417
|
+
function getMapStyleLoadOptions(options, context) {
|
|
418
|
+
return {
|
|
419
|
+
...options?.mapStyle,
|
|
420
|
+
baseUrl: options?.mapStyle?.baseUrl || context?.url || context?.baseUrl,
|
|
421
|
+
fetch: options?.mapStyle?.fetch || context?.fetch
|
|
422
|
+
};
|
|
423
|
+
}
|
|
424
|
+
var MapStyleLoader = {
|
|
425
|
+
dataType: null,
|
|
426
|
+
batchType: null,
|
|
427
|
+
name: "Map Style",
|
|
428
|
+
id: "map-style",
|
|
429
|
+
module: "basemap-layers",
|
|
430
|
+
version: VERSION,
|
|
431
|
+
worker: false,
|
|
432
|
+
extensions: ["json"],
|
|
433
|
+
mimeTypes: ["application/json", "application/vnd.mapbox.style+json"],
|
|
434
|
+
text: true,
|
|
435
|
+
options: {
|
|
436
|
+
mapStyle: {}
|
|
437
|
+
},
|
|
438
|
+
parse: async (data, options, context) => {
|
|
439
|
+
const text = typeof data === "string" ? data : new TextDecoder().decode(data);
|
|
440
|
+
const style = JSON.parse(text);
|
|
441
|
+
const resolved = await resolveBasemapStyle(style, getMapStyleLoadOptions(options, context));
|
|
442
|
+
return ResolvedBasemapStyleSchema.parse(resolved);
|
|
443
|
+
}
|
|
444
|
+
};
|
|
445
|
+
//# sourceMappingURL=map-style.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/map-style.ts", "../src/style-expression.ts", "../src/mapbox-style.ts", "../src/map-style-schema.ts", "../src/style-resolver.ts", "../src/map-style-loader.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["Reference", "import_core", "import_maplibre_gl_style_spec"]
|
|
6
|
+
}
|