@sl-utils/map 1.0.1 → 1.0.3

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.
@@ -0,0 +1,341 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.u_arrItemDel = delItem;
4
+ exports.u_mapTobd09gps84 = tobd09gps84;
5
+ exports.u_mapTogcj02gps84 = togcj02gps84;
6
+ exports.u_mapTogps84bd09 = togps84bd09;
7
+ exports.u_mapTogps84gcj02 = togps84gcj02;
8
+ exports.u_mapTogcj02bd09 = togcj02bd09;
9
+ exports.u_mapTobd09cj02 = tobd09cj02;
10
+ exports.u_mapGetAngle = getAngle;
11
+ exports.u_mapGetBounds = getBounds;
12
+ exports.u_mapGetDiffLatitude = getDiffLatitude;
13
+ exports.u_mapGetDistance = getDistance;
14
+ exports.u_mapGetLatLngByPoint = getLatLngByPoint;
15
+ exports.u_mapGetLngDiffByDistance = getLngDiffByDistance;
16
+ exports.u_mapGetPointByLatlng = getPointByLatlng;
17
+ exports.u_mapGetPointsByLatlngs = getPointsByLatlngs;
18
+ exports.u_mapGetSizeByMap = getSizeByMap;
19
+ exports.u_mapGetMapSize = getMapSize;
20
+ exports.u_mapSetMapStatus = setMapStatus;
21
+ exports.u_mapGetMapMouseEvent = getMapMouseEvent;
22
+ exports.u_mapSetFitBounds = setFitBounds;
23
+ exports.u_mapSetViewCenter = setViewCenter;
24
+ exports.u_mapGetMapType = getMapType;
25
+ const L = require("leaflet");
26
+ const a = 6378245.0;
27
+ const pi = 3.1415926535897932384626;
28
+ const ee = 0.00669342162296594323;
29
+ const x_pi = pi * 3000.0 / 180.0;
30
+ const R = 6378137;
31
+ function tobd09gps84(lng, lat) {
32
+ var gcj02 = tobd09cj02(lng, lat);
33
+ var map84 = togcj02gps84(gcj02.lng, gcj02.lat);
34
+ return map84;
35
+ }
36
+ function togcj02gps84(lng, lat) {
37
+ var coord = transform(lng, lat);
38
+ var lontitude = lng * 2 - coord.lng;
39
+ var latitude = lat * 2 - coord.lat;
40
+ var newCoord = {
41
+ lng: lontitude,
42
+ lat: latitude
43
+ };
44
+ return newCoord;
45
+ }
46
+ function togps84bd09(lng, lat) {
47
+ var gcj02 = togps84gcj02(lng, lat);
48
+ var bd09 = togcj02bd09(gcj02.lng, gcj02.lat);
49
+ return bd09;
50
+ }
51
+ function togps84gcj02(lng, lat) {
52
+ var dLat = transformLat(lng - 105.0, lat - 35.0);
53
+ var dLng = transformLng(lng - 105.0, lat - 35.0);
54
+ var radLat = lat / 180.0 * pi;
55
+ var magic = Math.sin(radLat);
56
+ magic = 1 - ee * magic * magic;
57
+ var sqrtMagic = Math.sqrt(magic);
58
+ dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * pi);
59
+ dLng = (dLng * 180.0) / (a / sqrtMagic * Math.cos(radLat) * pi);
60
+ var mgLat = lat + dLat;
61
+ var mgLng = lng + dLng;
62
+ var newCoord = {
63
+ lng: mgLng,
64
+ lat: mgLat
65
+ };
66
+ return newCoord;
67
+ }
68
+ function togcj02bd09(lng, lat) {
69
+ var z = Math.sqrt(lng * lng + lat * lat) + 0.00002 * Math.sin(lat * x_pi);
70
+ var theta = Math.atan2(lat, lng) + 0.000003 * Math.cos(lng * x_pi);
71
+ var bd_lng = z * Math.cos(theta) + 0.0065;
72
+ var bd_lat = z * Math.sin(theta) + 0.006;
73
+ var newCoord = {
74
+ lng: bd_lng,
75
+ lat: bd_lat
76
+ };
77
+ return newCoord;
78
+ }
79
+ function tobd09cj02(bd_lng, bd_lat) {
80
+ var x = bd_lng - 0.0065;
81
+ var y = bd_lat - 0.006;
82
+ var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);
83
+ var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);
84
+ var gg_lng = z * Math.cos(theta);
85
+ var gg_lat = z * Math.sin(theta);
86
+ var newCoord = {
87
+ lng: gg_lng,
88
+ lat: gg_lat
89
+ };
90
+ return newCoord;
91
+ }
92
+ function transform(lng, lat) {
93
+ var dLat = transformLat(lng - 105.0, lat - 35.0);
94
+ var dLng = transformLng(lng - 105.0, lat - 35.0);
95
+ var radLat = lat / 180.0 * pi;
96
+ var magic = Math.sin(radLat);
97
+ magic = 1 - ee * magic * magic;
98
+ var sqrtMagic = Math.sqrt(magic);
99
+ dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * pi);
100
+ dLng = (dLng * 180.0) / (a / sqrtMagic * Math.cos(radLat) * pi);
101
+ var mgLat = lat + dLat;
102
+ var mgLng = lng + dLng;
103
+ var newCoord = {
104
+ lng: mgLng,
105
+ lat: mgLat
106
+ };
107
+ return newCoord;
108
+ }
109
+ function transformLat(x, y) {
110
+ var ret = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x));
111
+ ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0;
112
+ ret += (20.0 * Math.sin(y * pi) + 40.0 * Math.sin(y / 3.0 * pi)) * 2.0 / 3.0;
113
+ ret += (160.0 * Math.sin(y / 12.0 * pi) + 320 * Math.sin(y * pi / 30.0)) * 2.0 / 3.0;
114
+ return ret;
115
+ }
116
+ function transformLng(x, y) {
117
+ var ret = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x));
118
+ ret += (20.0 * Math.sin(6.0 * x * pi) + 20.0 * Math.sin(2.0 * x * pi)) * 2.0 / 3.0;
119
+ ret += (20.0 * Math.sin(x * pi) + 40.0 * Math.sin(x / 3.0 * pi)) * 2.0 / 3.0;
120
+ ret += (150.0 * Math.sin(x / 12.0 * pi) + 300.0 * Math.sin(x / 30.0 * pi)) * 2.0 / 3.0;
121
+ return ret;
122
+ }
123
+ function getAngle(map, latLngA, latLngB) {
124
+ let [y0, x0] = getPointByLatlng(map, latLngA), [y1, x1] = getPointByLatlng(map, latLngB);
125
+ let θ = Math.atan2(x1 - x0, y1 - y0);
126
+ θ = θ * 180 / Math.PI;
127
+ θ = (90 + θ) < 0 ? 450 + θ : 90 + θ;
128
+ return θ;
129
+ }
130
+ function getBounds(map) {
131
+ const mapType = getMapType(map);
132
+ if (mapType == 0) {
133
+ let bounds = map.getBounds();
134
+ return {
135
+ lngLeft: bounds.getSouthWest().lng,
136
+ latTop: bounds.getNorthEast().lat,
137
+ lngRight: bounds.getNorthEast().lng,
138
+ latBottom: bounds.getSouthWest().lat
139
+ };
140
+ }
141
+ else if (mapType == 1) {
142
+ let { southwest, northeast } = map.getBounds();
143
+ return {
144
+ lngLeft: southwest.lng,
145
+ latTop: northeast.lat,
146
+ lngRight: northeast.lng,
147
+ latBottom: southwest.lat
148
+ };
149
+ }
150
+ throw new Error('百度地图暂时不支持!');
151
+ }
152
+ function getDiffLatitude(distance) {
153
+ let d = Number(distance);
154
+ const delta_lat = 2 * Math.asin(d / (2 * R));
155
+ return delta_lat * (180 / Math.PI);
156
+ }
157
+ function getDistance(latLngA, latLngB, type = 0) {
158
+ let [latA, lngA] = latLngA, [latB, lngB] = latLngB, dis = 0;
159
+ if (type && AMap && AMap.GeometryUtil) {
160
+ dis = AMap.GeometryUtil.distance([lngA, latA], [lngB, latB]);
161
+ }
162
+ else {
163
+ dis = L.latLng(latLngA).distanceTo(latLngB);
164
+ }
165
+ return dis;
166
+ }
167
+ function getLatLngByPoint(map, point) {
168
+ if (!point)
169
+ return [0, 0];
170
+ let p;
171
+ if (map instanceof L.Map) {
172
+ p = map.containerPointToLatLng(point);
173
+ }
174
+ else {
175
+ p = map.containerToLngLat(new AMap.Pixel(point[0], point[1]));
176
+ }
177
+ return [p.lat, p.lng];
178
+ }
179
+ function getLngDiffByDistance(map, distance = 100, latLng) {
180
+ if (latLng.length === 0) {
181
+ return 0;
182
+ }
183
+ let type = map instanceof L.Map ? 0 : 1;
184
+ let lng = 0.00001, lat = latLng.map(e => e[0]).reduce((s, v) => s + v) / latLng.length;
185
+ let positionA = [lat, 100], positionB = [lat, 100 + lng];
186
+ let xMeasure = getDistance(positionA, positionB, type);
187
+ return distance / xMeasure * lng;
188
+ }
189
+ function getPointByLatlng(map, latlng) {
190
+ if (!latlng)
191
+ return [-1000, -1000];
192
+ let [lat = 90, lng = 180] = latlng, p;
193
+ if (isNaN(lat) || isNaN(lng))
194
+ return [-1000, -1000];
195
+ if (map.latLngToContainerPoint) {
196
+ p = map.latLngToContainerPoint([lat, lng]);
197
+ }
198
+ else {
199
+ p = map.lngLatToContainer([lng, lat]);
200
+ }
201
+ return [p.x, p.y];
202
+ }
203
+ function getPointsByLatlngs(map, latlngs) {
204
+ return latlngs?.map(e => getPointByLatlng(map, e)) || [];
205
+ }
206
+ function getSizeByMap(map, info) {
207
+ let { sizeFix, latlng, size = [0, 0] } = info;
208
+ if (!sizeFix || !latlng) {
209
+ Array.isArray(size) || (size = [size, size]);
210
+ return size;
211
+ }
212
+ let sizes = Array.isArray(sizeFix) ? sizeFix : [sizeFix, sizeFix];
213
+ let [x, y] = latlng;
214
+ let lngDiff = getLngDiffByDistance(map, sizes[1], [latlng]);
215
+ let [x0, y0] = getPointByLatlng(map, [x, y]);
216
+ let [x1, y1] = getPointByLatlng(map, [x, y + lngDiff]);
217
+ let xd = Math.abs(x1 - x0), yd = (xd * sizes[1]) / sizes[0];
218
+ return [xd, yd];
219
+ }
220
+ function getMapSize(map) {
221
+ let size = map.getSize();
222
+ let { x, y, width, height } = size;
223
+ return {
224
+ w: x || width,
225
+ h: y || height
226
+ };
227
+ }
228
+ function getMapMouseEvent(e, mapType) {
229
+ let latlng, point, page, originalEvent, type;
230
+ type = e.type;
231
+ if (mapType == 0) {
232
+ const { latlng: Llatlng, originalEvent: LorginalEvent, containerPoint } = e = e;
233
+ const { lat, lng } = Llatlng;
234
+ latlng = { lat, lng };
235
+ const { x, y } = containerPoint;
236
+ point = { x, y };
237
+ originalEvent = LorginalEvent;
238
+ }
239
+ else if (mapType == 1) {
240
+ const { pixel, originEvent, lnglat } = e = e;
241
+ const { lat, lng } = lnglat;
242
+ latlng = { lat, lng };
243
+ const { x, y } = pixel;
244
+ point = { x, y };
245
+ originalEvent = originEvent;
246
+ }
247
+ return {
248
+ type,
249
+ latlng,
250
+ containerPoint: point,
251
+ orginDOMEvent: originalEvent,
252
+ orginMapEvent: e
253
+ };
254
+ }
255
+ function setMapStatus(map, key, flag) {
256
+ let _map = map;
257
+ const amap = _map.setStatus ? _map : undefined, lmap = _map.dragging ? _map : undefined;
258
+ switch (key) {
259
+ case 'dragEnable':
260
+ if (lmap) {
261
+ flag ? lmap.dragging.enable() : lmap.dragging.disable();
262
+ }
263
+ else if (amap) {
264
+ amap.setStatus({ dragEnable: flag });
265
+ }
266
+ ;
267
+ break;
268
+ }
269
+ }
270
+ function getMapType(map) {
271
+ if (map instanceof L.Map) {
272
+ return 0;
273
+ }
274
+ else if (map instanceof AMap.Map) {
275
+ return 1;
276
+ }
277
+ else {
278
+ return 2;
279
+ }
280
+ }
281
+ function setViewCenter(map, center, zoom, offset) {
282
+ const mapType = getMapType(map);
283
+ if (offset) {
284
+ const centerPixel = getPointByLatlng(map, center);
285
+ center = getLatLngByPoint(map, [centerPixel[0] + offset[0], centerPixel[1] + offset[1]]);
286
+ }
287
+ if (mapType == 0) {
288
+ map = map;
289
+ map.setView(center, zoom);
290
+ }
291
+ else if (mapType == 1) {
292
+ map = map;
293
+ map.setCenter(center.reverse());
294
+ map.setZoom(zoom);
295
+ }
296
+ else {
297
+ throw new Error('百度地图暂时不支持!');
298
+ }
299
+ }
300
+ function setFitBounds(map, point, point2) {
301
+ const mapType = getMapType(map);
302
+ let southwest, northeast;
303
+ if (point.length == 0 || !point)
304
+ return;
305
+ if (uc_tsIfTwoArr(point)) {
306
+ let maxLat = Math.max(...point.map((e) => e[0])), minLat = Math.min(...point.map((e) => e[0])), maxLng = Math.max(...point.map((e) => e[1])), minLng = Math.min(...point.map((e) => e[1]));
307
+ southwest = [minLat, minLng];
308
+ northeast = [maxLat, maxLng];
309
+ }
310
+ else {
311
+ southwest = point;
312
+ northeast = point2;
313
+ }
314
+ if (mapType == 0) {
315
+ map = map;
316
+ map.fitBounds([southwest, northeast]);
317
+ }
318
+ else if (mapType == 1) {
319
+ map = map;
320
+ const bounds = new AMap.Bounds(southwest.reverse(), northeast.reverse());
321
+ const [zoom, center] = map.getFitZoomAndCenterByBounds(bounds);
322
+ map.setZoomAndCenter(zoom, center);
323
+ }
324
+ }
325
+ function uc_tsIfTwoArr(value) {
326
+ return value && Array.isArray(value[0]);
327
+ }
328
+ function delItem(arr, item, key) {
329
+ if (Array.isArray(arr) && arr.length > 0) {
330
+ let index;
331
+ if (key) {
332
+ index = arr.findIndex(e => e == item || e[key] == item[key]);
333
+ }
334
+ else {
335
+ index = arr.findIndex(e => e == item);
336
+ }
337
+ index >= 0 && arr.splice(index, 1);
338
+ }
339
+ return arr || [];
340
+ }
341
+ //# sourceMappingURL=slu-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slu-map.js","sourceRoot":"","sources":["../../src/utils/slu-map.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.u_TextSplitMultilineText = splitMultilineText;
4
+ exports.u_TextClearMultilineCache = clearMultilineCache;
5
+ const resultCache = new Map();
6
+ const metrics = new Map();
7
+ const hyperMaps = new Map();
8
+ function backProp(text, realWidth, keyMap, temperature, avgSize) {
9
+ let guessWidth = 0;
10
+ const contribMap = {};
11
+ for (const char of text) {
12
+ const v = keyMap.get(char) ?? avgSize;
13
+ guessWidth += v;
14
+ contribMap[char] = (contribMap[char] ?? 0) + 1;
15
+ ``;
16
+ }
17
+ const diff = realWidth - guessWidth;
18
+ for (const key of Object.keys(contribMap)) {
19
+ const numContribution = contribMap[key];
20
+ const contribWidth = keyMap.get(key) ?? avgSize;
21
+ const contribAmount = (contribWidth * numContribution) / guessWidth;
22
+ const adjustment = (diff * contribAmount * temperature) / numContribution;
23
+ const newVal = contribWidth + adjustment;
24
+ keyMap.set(key, newVal);
25
+ }
26
+ }
27
+ function makeHyperMap(ctx, avgSize) {
28
+ const result = new Map();
29
+ let total = 0;
30
+ for (const char of "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890,.-+=?") {
31
+ const w = ctx.measureText(char).width;
32
+ result.set(char, w);
33
+ total += w;
34
+ }
35
+ const avg = total / result.size;
36
+ const damper = 3;
37
+ const scaler = (avgSize / avg + damper) / (damper + 1);
38
+ const keys = result.keys();
39
+ for (const key of keys) {
40
+ result.set(key, (result.get(key) ?? avg) * scaler);
41
+ }
42
+ return result;
43
+ }
44
+ function measureText(ctx, text, fontStyle, hyperMode) {
45
+ const current = metrics.get(fontStyle);
46
+ if (hyperMode && current !== undefined && current.count > 20000) {
47
+ let hyperMap = hyperMaps.get(fontStyle);
48
+ if (hyperMap === undefined) {
49
+ hyperMap = makeHyperMap(ctx, current.size);
50
+ hyperMaps.set(fontStyle, hyperMap);
51
+ }
52
+ if (current.count > 500000) {
53
+ let final = 0;
54
+ for (const char of text) {
55
+ final += hyperMap.get(char) ?? current.size;
56
+ }
57
+ return final * 1.01;
58
+ }
59
+ const result = ctx.measureText(text);
60
+ backProp(text, result.width, hyperMap, Math.max(0.05, 1 - current.count / 200000), current.size);
61
+ metrics.set(fontStyle, {
62
+ count: current.count + text.length,
63
+ size: current.size,
64
+ });
65
+ return result.width;
66
+ }
67
+ const result = ctx.measureText(text);
68
+ const avg = result.width / text.length;
69
+ if ((current?.count ?? 0) > 20000) {
70
+ return result.width;
71
+ }
72
+ if (current === undefined) {
73
+ metrics.set(fontStyle, {
74
+ count: text.length,
75
+ size: avg,
76
+ });
77
+ }
78
+ else {
79
+ const diff = avg - current.size;
80
+ const contribution = text.length / (current.count + text.length);
81
+ const newVal = current.size + diff * contribution;
82
+ metrics.set(fontStyle, {
83
+ count: current.count + text.length,
84
+ size: newVal,
85
+ });
86
+ }
87
+ return result.width;
88
+ }
89
+ function getSplitPoint(ctx, text, width, fontStyle, totalWidth, measuredChars, hyperMode, getBreakOpportunities) {
90
+ if (text.length <= 1)
91
+ return text.length;
92
+ if (totalWidth < width)
93
+ return -1;
94
+ let guess = Math.floor((width / totalWidth) * measuredChars);
95
+ let guessWidth = measureText(ctx, text.slice(0, Math.max(0, guess)), fontStyle, hyperMode);
96
+ const oppos = getBreakOpportunities?.(text);
97
+ if (guessWidth === width) {
98
+ }
99
+ else if (guessWidth < width) {
100
+ while (guessWidth < width) {
101
+ guess++;
102
+ guessWidth = measureText(ctx, text.slice(0, Math.max(0, guess)), fontStyle, hyperMode);
103
+ }
104
+ guess--;
105
+ }
106
+ else {
107
+ while (guessWidth > width) {
108
+ const lastSpace = oppos !== undefined ? 0 : text.lastIndexOf(" ", guess - 1);
109
+ if (lastSpace > 0) {
110
+ guess = lastSpace;
111
+ }
112
+ else {
113
+ guess--;
114
+ }
115
+ guessWidth = measureText(ctx, text.slice(0, Math.max(0, guess)), fontStyle, hyperMode);
116
+ }
117
+ }
118
+ if (text[guess] !== " ") {
119
+ let greedyBreak = 0;
120
+ if (oppos === undefined) {
121
+ greedyBreak = text.lastIndexOf(" ", guess);
122
+ }
123
+ else {
124
+ for (const o of oppos) {
125
+ if (o > guess)
126
+ break;
127
+ greedyBreak = o;
128
+ }
129
+ }
130
+ if (greedyBreak > 0) {
131
+ guess = greedyBreak;
132
+ }
133
+ }
134
+ return guess;
135
+ }
136
+ function splitMultilineText(ctx, value, fontStyle, width, hyperWrappingAllowed, getBreakOpportunities) {
137
+ const key = `${value}_${fontStyle}_${width}px`;
138
+ const cacheResult = resultCache.get(key);
139
+ if (cacheResult !== undefined)
140
+ return cacheResult;
141
+ if (width <= 0) {
142
+ return [];
143
+ }
144
+ let result = [];
145
+ const encodedLines = value.split("\n");
146
+ const fontMetrics = metrics.get(fontStyle);
147
+ const safeLineGuess = fontMetrics === undefined ? value.length : (width / fontMetrics.size) * 1.5;
148
+ const hyperMode = hyperWrappingAllowed && fontMetrics !== undefined && fontMetrics.count > 20000;
149
+ for (let line of encodedLines) {
150
+ let textWidth = measureText(ctx, line.slice(0, Math.max(0, safeLineGuess)), fontStyle, hyperMode);
151
+ let measuredChars = Math.min(line.length, safeLineGuess);
152
+ if (textWidth <= width) {
153
+ result.push(line);
154
+ }
155
+ else {
156
+ while (textWidth > width) {
157
+ const splitPoint = getSplitPoint(ctx, line, width, fontStyle, textWidth, measuredChars, hyperMode, getBreakOpportunities);
158
+ const subLine = line.slice(0, Math.max(0, splitPoint));
159
+ line = line.slice(subLine.length);
160
+ result.push(subLine);
161
+ textWidth = measureText(ctx, line.slice(0, Math.max(0, safeLineGuess)), fontStyle, hyperMode);
162
+ measuredChars = Math.min(line.length, safeLineGuess);
163
+ }
164
+ if (textWidth > 0) {
165
+ result.push(line);
166
+ }
167
+ }
168
+ }
169
+ result = result.map((l, i) => (i === 0 ? l.trimEnd() : l.trim()));
170
+ resultCache.set(key, result);
171
+ if (resultCache.size > 500) {
172
+ resultCache.delete(resultCache.keys().next().value);
173
+ }
174
+ return result;
175
+ }
176
+ function clearMultilineCache() {
177
+ resultCache.clear();
178
+ hyperMaps.clear();
179
+ metrics.clear();
180
+ }
181
+ //# sourceMappingURL=txt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txt.js","sourceRoot":"","sources":["../../src/utils/txt.ts"],"names":[],"mappings":"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"}
package/index.cjs ADDED
@@ -0,0 +1,12 @@
1
+ /*eslint-env node*/
2
+ "use strict";
3
+
4
+ const path = require("path");
5
+ const minified = path.join(__dirname, "dist/sl-utils-map.js");
6
+ const unminified = path.join(__dirname, "Build/CesiumUnminified/index.cjs");
7
+
8
+ // If in 'production' mode, use the combined/minified/optimized version of Cesium
9
+ module.exports =
10
+ process.env.NODE_ENV === "production"
11
+ ? require(minified)
12
+ : require(unminified);
package/package.json CHANGED
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "@sl-utils/map",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "",
5
- "main": "index.js",
5
+ "main": "index.cjs",
6
+ "module": "./src/sl-utils-map.ts",
6
7
  "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
8
+ "test": "echo \"Error: no test specified\" && exit 1",
9
+ "build": "npm run build:cjs",
10
+ "build:cjs": "tsc -p tsconfig.cjs.json"
8
11
  },
9
12
  "dependencies": {
13
+ "@amap/amap-jsapi-loader": "^1.0.1",
10
14
  "leaflet": "^1.9.4",
11
15
  "rbush": "^4.0.1"
12
16
  },
@@ -20,7 +24,7 @@
20
24
  "./package.json": "./package.json",
21
25
  ".": {
22
26
  "types": "./src/sl-utils-map.d.ts",
23
- "import": "./src/index.js"
27
+ "import": "./src/sl-utils-map.ts"
24
28
  }
25
29
  },
26
30
  "repository": {
@@ -0,0 +1,2 @@
1
+ export * from "./leaflet-tilelayer-wmts";
2
+ export * from "./slu-leaflet-net-map";