@wemap/geo 14.5.8 → 14.5.9

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/dist/index.js CHANGED
@@ -397,19 +397,37 @@ var Rotations = class e {
397
397
  if (w === null) return null;
398
398
  if (typeof w != "string" || !w.length) throw Error(`argument must be a non empty string, got ${typeof w}`);
399
399
  if (!isNaN(Number(w))) return parseFloat(w);
400
- let T = w.split(";");
401
- if (T.length > 1) {
402
- let w = T.map((e) => Number(e)), E = Math.min(...w), D = Math.max(...w);
403
- return e.checkType([E, D]), [E, D];
400
+ let T = (e) => {
401
+ let T = e.map((e) => Number(e));
402
+ if (T.some((e) => Number.isNaN(e)) || e.some((e) => !e.length)) throw Error(`Cannot parse following level: ${w}`);
403
+ return T;
404
+ }, E = w.split(";");
405
+ if (E.length > 1) {
406
+ let w = T(E), D = Math.min(...w), O = Math.max(...w);
407
+ return e.checkType([D, O]), [D, O];
404
408
  } else {
405
- let T = w.substring(1).indexOf("-") + 1;
406
- if (T > 0) {
407
- let E = Number(w.substring(0, T)), D = Number(w.substring(T + 1));
408
- return e.checkType([E, D]), [E, D];
409
+ let E = w.substring(1).indexOf("-") + 1;
410
+ if (E > 0) {
411
+ let [D, O] = T([w.substring(0, E), w.substring(E + 1)]);
412
+ return e.checkType([D, O]), [D, O];
409
413
  }
410
414
  }
411
415
  throw Error(`Cannot parse following level: ${w}`);
412
416
  }
417
+ static parse(w) {
418
+ if (w == null) return null;
419
+ if (typeof w == "number") {
420
+ if (Number.isNaN(w)) throw Error("level number must not be NaN");
421
+ return w;
422
+ }
423
+ if (Array.isArray(w)) {
424
+ if (w.length !== 2) throw Error(`level range must have exactly 2 elements, got ${w.length}`);
425
+ let T = [w[0], w[1]];
426
+ return e.checkType(T), e.clone(T);
427
+ }
428
+ if (typeof w == "string") return e.fromString(w);
429
+ throw Error(`Cannot parse level from ${typeof w}`);
430
+ }
413
431
  static contains(w, T) {
414
432
  return e.VERIFY_TYPING && (e.checkType(w), e.checkType(T)), w === T ? !0 : Array.isArray(w) ? Array.isArray(T) ? w[0] <= T[0] && w[1] >= T[1] : T === null ? !1 : w[0] <= T && w[1] >= T : w === null || T === null ? !1 : w <= T[0] && w >= T[1];
415
433
  }
@@ -16,6 +16,11 @@ declare class Level {
16
16
  * Create a level from a string (eg. 1, -2, 1;2, -2;3, 2;-1, 0.5;1 ...)
17
17
  */
18
18
  static fromString(str: string | null): Level_t;
19
+ /**
20
+ * Parse a level from unknown input (GeoJSON properties, JSON APIs, etc.).
21
+ * Accepts: null, undefined, number (non-NaN), [min, max], non-empty string.
22
+ */
23
+ static parse(value: unknown): Level_t;
19
24
  /**
20
25
  * Returns if a level is contained in another
21
26
  * @param {null|number|[number, number]} container The container level
@@ -1 +1 @@
1
- {"version":3,"file":"Level.d.ts","sourceRoot":"","sources":["../../../src/coordinates/Level.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC;;;;GAIG;AACH,cAAM,KAAK;IAEP,MAAM,CAAC,aAAa,UAAS;IAE7B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO;IAoB/B;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAOzD,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAcrC;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAmC9C;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IA2B/D;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAyC7D;;;;;MAKE;IACF,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAc1D;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IA2CtD;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAY1D,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAU9C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAmBvD,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,MAAM;CAyC9D;AAED,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Level.d.ts","sourceRoot":"","sources":["../../../src/coordinates/Level.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC;;;;GAIG;AACH,cAAM,KAAK;IAEP,MAAM,CAAC,aAAa,UAAS;IAE7B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO;IAoB/B;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAOzD,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAcrC;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IA4C9C;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAyBrC;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IA2B/D;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAyC7D;;;;;MAKE;IACF,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAc1D;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IA2CtD;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAY1D,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAU9C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAmBvD,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,MAAM;CAyC9D;AAED,eAAe,KAAK,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wemap/geo",
3
- "version": "14.5.8",
3
+ "version": "14.5.9",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -19,7 +19,7 @@
19
19
  ],
20
20
  "dependencies": {
21
21
  "@turf/boolean-point-in-polygon": "^7.3.4",
22
- "@wemap/utils": "14.5.8"
22
+ "@wemap/utils": "14.5.9"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/geojson": "^7946.0.14",