raain-model 3.2.2 → 3.2.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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Changed
11
+
12
+ - **PolarFilter**: unified `azimuthMin/Max, edgeMin/Max` fields into `zones: PolarFilterZone[]` with free-form `metadata` per zone. Backward-compatible constructor. Bounding box exposed via getters. `merging()` uses intersection semantics.
13
+ - **PolarMeasureValueMap**: `iterate()` supports `bypass` option — when true, iterates only on zones stored in `buildPolarFilter` with deduplication. Throws if combined with `iterateOnEachEdge`.
14
+
15
+ ### Added
16
+
17
+ - `PolarFilterZone` interface (`azMin, azMax, edMin, edMax, metadata?`)
18
+ - `iterateOnZones()` method in `PolarMeasureValueMap` for zone-based traversal
19
+ - Performance tests: bypass zones speedup, zone deduplication, bypass+edge error
20
+
21
+ ## [3.2.2] - 2026-03-05
22
+
10
23
  ### Fixed
11
24
 
12
25
  - `mergeCartesianResults` no longer silently produces empty data when `mergeLimitPoints` is undefined — limit points are
package/bpInfo.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bpInfo = void 0;
4
- exports.bpInfo = { version: 'v3.2.2' };
4
+ exports.bpInfo = { version: 'v3.2.3' };
5
5
  //# sourceMappingURL=bpInfo.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "raain-model",
3
- "version": "3.2.2",
3
+ "version": "3.2.3",
4
4
  "author": "contact@radartorain.com",
5
5
  "homepage": "https://github.com/raainio/raain-model",
6
6
  "description": "radartorain.com api model",
@@ -56,4 +56,4 @@
56
56
  "typedoc": "^0.25.12",
57
57
  "typescript": "^5.0.4"
58
58
  }
59
- }
59
+ }
@@ -1,14 +1,23 @@
1
+ export interface PolarFilterZone {
2
+ azMin: number;
3
+ azMax: number;
4
+ edMin: number;
5
+ edMax: number;
6
+ metadata?: any;
7
+ }
1
8
  export declare class PolarFilter {
2
- azimuthMin: number;
3
- azimuthMax: number;
4
- edgeMin: number;
5
- edgeMax: number;
9
+ zones: PolarFilterZone[];
6
10
  constructor(json?: {
7
11
  azimuthMin?: number;
8
12
  azimuthMax?: number;
9
13
  edgeMin?: number;
10
14
  edgeMax?: number;
15
+ zones?: PolarFilterZone[];
11
16
  });
17
+ get azimuthMin(): number;
18
+ get azimuthMax(): number;
19
+ get edgeMin(): number;
20
+ get edgeMax(): number;
12
21
  protected static min(a: number, b: number): number;
13
22
  protected static max(a: number, b: number): number;
14
23
  merging(polarFilter?: PolarFilter): PolarFilter;
@@ -3,19 +3,43 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PolarFilter = void 0;
4
4
  class PolarFilter {
5
5
  constructor(json) {
6
- if (typeof (json === null || json === void 0 ? void 0 : json.azimuthMin) !== 'undefined') {
7
- this.azimuthMin = json.azimuthMin;
6
+ var _a;
7
+ this.zones = [];
8
+ if ((_a = json === null || json === void 0 ? void 0 : json.zones) === null || _a === void 0 ? void 0 : _a.length) {
9
+ this.zones = json.zones;
8
10
  }
9
- if (typeof (json === null || json === void 0 ? void 0 : json.azimuthMax) !== 'undefined') {
10
- this.azimuthMax = json.azimuthMax;
11
- }
12
- if (typeof (json === null || json === void 0 ? void 0 : json.edgeMin) !== 'undefined') {
13
- this.edgeMin = json.edgeMin;
14
- }
15
- if (typeof (json === null || json === void 0 ? void 0 : json.edgeMax) !== 'undefined') {
16
- this.edgeMax = json.edgeMax;
11
+ else if (json &&
12
+ (typeof json.azimuthMin !== 'undefined' ||
13
+ typeof json.azimuthMax !== 'undefined' ||
14
+ typeof json.edgeMin !== 'undefined' ||
15
+ typeof json.edgeMax !== 'undefined')) {
16
+ this.zones = [
17
+ {
18
+ azMin: json.azimuthMin,
19
+ azMax: json.azimuthMax,
20
+ edMin: json.edgeMin,
21
+ edMax: json.edgeMax,
22
+ },
23
+ ];
17
24
  }
18
25
  }
26
+ // Bounding box getters (backward compat + used by buildFromPolar/iterate)
27
+ get azimuthMin() {
28
+ const vals = this.zones.map((z) => z.azMin).filter((v) => typeof v !== 'undefined');
29
+ return vals.length ? Math.min(...vals) : undefined;
30
+ }
31
+ get azimuthMax() {
32
+ const vals = this.zones.map((z) => z.azMax).filter((v) => typeof v !== 'undefined');
33
+ return vals.length ? Math.max(...vals) : undefined;
34
+ }
35
+ get edgeMin() {
36
+ const vals = this.zones.map((z) => z.edMin).filter((v) => typeof v !== 'undefined');
37
+ return vals.length ? Math.min(...vals) : undefined;
38
+ }
39
+ get edgeMax() {
40
+ const vals = this.zones.map((z) => z.edMax).filter((v) => typeof v !== 'undefined');
41
+ return vals.length ? Math.max(...vals) : undefined;
42
+ }
19
43
  static min(a, b) {
20
44
  if (typeof a === 'undefined') {
21
45
  return b;
@@ -34,19 +58,42 @@ class PolarFilter {
34
58
  }
35
59
  return Math.max(a, b);
36
60
  }
61
+ // Intersection semantics: each zone from this × each zone from other
37
62
  merging(polarFilter) {
38
- return new PolarFilter({
39
- azimuthMin: PolarFilter.max(polarFilter === null || polarFilter === void 0 ? void 0 : polarFilter.azimuthMin, this.azimuthMin),
40
- azimuthMax: PolarFilter.min(polarFilter === null || polarFilter === void 0 ? void 0 : polarFilter.azimuthMax, this.azimuthMax),
41
- edgeMin: PolarFilter.max(polarFilter === null || polarFilter === void 0 ? void 0 : polarFilter.edgeMin, this.edgeMin),
42
- edgeMax: PolarFilter.min(polarFilter === null || polarFilter === void 0 ? void 0 : polarFilter.edgeMax, this.edgeMax),
43
- });
63
+ var _a, _b;
64
+ if (!((_a = polarFilter === null || polarFilter === void 0 ? void 0 : polarFilter.zones) === null || _a === void 0 ? void 0 : _a.length)) {
65
+ return new PolarFilter({ zones: this.zones.map((z) => ({ ...z })) });
66
+ }
67
+ if (!((_b = this.zones) === null || _b === void 0 ? void 0 : _b.length)) {
68
+ return new PolarFilter({ zones: polarFilter.zones.map((z) => ({ ...z })) });
69
+ }
70
+ const intersected = [];
71
+ for (const za of this.zones) {
72
+ for (const zb of polarFilter.zones) {
73
+ const zone = {
74
+ azMin: PolarFilter.max(za.azMin, zb.azMin),
75
+ azMax: PolarFilter.min(za.azMax, zb.azMax),
76
+ edMin: PolarFilter.max(za.edMin, zb.edMin),
77
+ edMax: PolarFilter.min(za.edMax, zb.edMax),
78
+ };
79
+ const azValid = typeof zone.azMin === 'undefined' ||
80
+ typeof zone.azMax === 'undefined' ||
81
+ zone.azMin <= zone.azMax;
82
+ const edValid = typeof zone.edMin === 'undefined' ||
83
+ typeof zone.edMax === 'undefined' ||
84
+ zone.edMin <= zone.edMax;
85
+ if (azValid && edValid) {
86
+ if (za.metadata || zb.metadata) {
87
+ zone.metadata = { ...za.metadata, ...zb.metadata };
88
+ }
89
+ intersected.push(zone);
90
+ }
91
+ }
92
+ }
93
+ return new PolarFilter({ zones: intersected });
44
94
  }
45
95
  equal(polarFilter) {
46
- return (this.azimuthMin === polarFilter.azimuthMin &&
47
- this.azimuthMax === polarFilter.azimuthMax &&
48
- this.edgeMin === polarFilter.edgeMin &&
49
- this.edgeMax === polarFilter.edgeMax);
96
+ return JSON.stringify(this.zones) === JSON.stringify(polarFilter.zones);
50
97
  }
51
98
  }
52
99
  exports.PolarFilter = PolarFilter;
@@ -1 +1 @@
1
- {"version":3,"file":"PolarFilter.js","sourceRoot":"","sources":["../../src/polar/PolarFilter.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IAMpB,YAAY,IAKX;QACG,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAA,KAAK,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACtC,CAAC;QACD,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAA,KAAK,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACtC,CAAC;QACD,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAA,KAAK,WAAW,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAA,KAAK,WAAW,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,CAAC;IACL,CAAC;IAES,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,CAAS;QACrC,IAAI,OAAO,CAAC,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC;QACb,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC;QACb,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;IAES,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,CAAS;QACrC,IAAI,OAAO,CAAC,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC;QACb,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC;QACb,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,WAAyB;QAC7B,OAAO,IAAI,WAAW,CAAC;YACnB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;YACrE,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;YACrE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;YAC5D,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;SAC/D,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,WAAwB;QAC1B,OAAO,CACH,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,UAAU;YAC1C,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,UAAU;YAC1C,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO;YACpC,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO,CACvC,CAAC;IACN,CAAC;CACJ;AA/DD,kCA+DC"}
1
+ {"version":3,"file":"PolarFilter.js","sourceRoot":"","sources":["../../src/polar/PolarFilter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { MeasureValuePolarContainer } from './MeasureValuePolarContainer';
2
2
  import { PolarValue } from './PolarValue';
3
3
  import { PolarMeasureValue } from './PolarMeasureValue';
4
- import { PolarFilter } from './PolarFilter';
4
+ import { PolarFilter, PolarFilterZone } from './PolarFilter';
5
5
  /**
6
6
  * PolarMeasureValue Map tools to optimize get/set
7
7
  */
@@ -31,6 +31,7 @@ export declare class PolarMeasureValueMap {
31
31
  iterateOnEachEdge?: boolean;
32
32
  polarFilter?: PolarFilter;
33
33
  minExcludedValue?: number;
34
+ bypass?: boolean;
34
35
  }): void | Promise<void>;
35
36
  countPolar(): number;
36
37
  countPolarWithEdgeFilter(filter: any): number;
@@ -49,4 +50,5 @@ export declare class PolarMeasureValueMap {
49
50
  };
50
51
  protected iterateOnEachAzimuth(azimuthMin: number, azimuthMax: number, edgeMin: number, edgeMax: number, onEachValue: (polarValue: PolarValue, azimuthIndex: number, edgeIndex: number, valueSetter: (newValue: number) => void) => void | Promise<void>, minExcludedValue?: number): Promise<void>;
51
52
  protected iterateOnEachEdge(azimuthMin: number, azimuthMax: number, edgeMin: number, edgeMax: number, onEachValue: (polarValue: PolarValue, azimuthIndex: number, edgeIndex: number, valueSetter: (newValue: number) => void) => void | Promise<void>, minExcludedValue?: number): Promise<void>;
53
+ protected iterateOnZones(zones: PolarFilterZone[], onEachValue: (polarValue: PolarValue, azimuthIndex: number, edgeIndex: number, valueSetter: (newValue: number) => void) => void | Promise<void>, minExcludedValue?: number): Promise<void>;
52
54
  }
@@ -32,11 +32,14 @@ class PolarMeasureValueMap {
32
32
  }
33
33
  }
34
34
  static Duplicate(polarMeasureValueMap) {
35
+ var _a;
35
36
  const pol = new PolarMeasureValueMap(null);
36
37
  pol.polarMeasureValue = new PolarMeasureValue_1.PolarMeasureValue(polarMeasureValueMap.polarMeasureValue);
37
38
  pol.builtMeasureValuePolarContainers =
38
39
  polarMeasureValueMap.builtMeasureValuePolarContainers;
39
- pol.buildPolarFilter = polarMeasureValueMap.buildPolarFilter;
40
+ pol.buildPolarFilter = new PolarFilter_1.PolarFilter({
41
+ zones: (_a = polarMeasureValueMap.buildPolarFilter) === null || _a === void 0 ? void 0 : _a.zones,
42
+ });
40
43
  return pol;
41
44
  }
42
45
  static UpdateIndex(arrayLength, index) {
@@ -165,20 +168,25 @@ class PolarMeasureValueMap {
165
168
  // Iterate over polar values with optional filtering
166
169
  // - iterateOnEachEdge=false (default): azimuth-first (radial lines), more efficient
167
170
  // - iterateOnEachEdge=true: edge-first (concentric circles), useful for ring-based operations
171
+ // - bypass=true: iterate ONLY on zones stored in buildPolarFilter (skips everything else)
168
172
  iterate(onEachValue, options) {
169
- var _a, _b, _c, _d;
173
+ var _a, _b, _c, _d, _e, _f;
170
174
  const start = Date.now();
171
- const azimuthMin = typeof ((_a = options === null || options === void 0 ? void 0 : options.polarFilter) === null || _a === void 0 ? void 0 : _a.azimuthMin) !== 'undefined'
175
+ const useBypass = (options === null || options === void 0 ? void 0 : options.bypass) && ((_b = (_a = this.buildPolarFilter) === null || _a === void 0 ? void 0 : _a.zones) === null || _b === void 0 ? void 0 : _b.length) > 0;
176
+ if ((options === null || options === void 0 ? void 0 : options.bypass) && (options === null || options === void 0 ? void 0 : options.iterateOnEachEdge)) {
177
+ throw new Error('Cannot combine bypass and iterateOnEachEdge options');
178
+ }
179
+ const azimuthMin = typeof ((_c = options === null || options === void 0 ? void 0 : options.polarFilter) === null || _c === void 0 ? void 0 : _c.azimuthMin) !== 'undefined'
172
180
  ? options === null || options === void 0 ? void 0 : options.polarFilter.azimuthMin
173
181
  : 0;
174
- const azimuthMax = typeof ((_b = options === null || options === void 0 ? void 0 : options.polarFilter) === null || _b === void 0 ? void 0 : _b.azimuthMax) !== 'undefined'
182
+ const azimuthMax = typeof ((_d = options === null || options === void 0 ? void 0 : options.polarFilter) === null || _d === void 0 ? void 0 : _d.azimuthMax) !== 'undefined'
175
183
  ? options === null || options === void 0 ? void 0 : options.polarFilter.azimuthMax
176
184
  : this.polarMeasureValue.getAzimuthsCount();
177
- const edgeMin = typeof ((_c = options === null || options === void 0 ? void 0 : options.polarFilter) === null || _c === void 0 ? void 0 : _c.edgeMin) !== 'undefined' ? options === null || options === void 0 ? void 0 : options.polarFilter.edgeMin : 0;
178
- const edgeMax = typeof ((_d = options === null || options === void 0 ? void 0 : options.polarFilter) === null || _d === void 0 ? void 0 : _d.edgeMax) !== 'undefined'
185
+ const edgeMin = typeof ((_e = options === null || options === void 0 ? void 0 : options.polarFilter) === null || _e === void 0 ? void 0 : _e.edgeMin) !== 'undefined' ? options === null || options === void 0 ? void 0 : options.polarFilter.edgeMin : 0;
186
+ const edgeMax = typeof ((_f = options === null || options === void 0 ? void 0 : options.polarFilter) === null || _f === void 0 ? void 0 : _f.edgeMax) !== 'undefined'
179
187
  ? options === null || options === void 0 ? void 0 : options.polarFilter.edgeMax
180
188
  : this.polarMeasureValue.getPolarEdgesCount();
181
- const mode = (options === null || options === void 0 ? void 0 : options.iterateOnEachEdge) ? 'edge-first' : 'azimuth-first';
189
+ const mode = useBypass ? 'bypass-zones' : (options === null || options === void 0 ? void 0 : options.iterateOnEachEdge) ? 'edge-first' : 'azimuth-first';
182
190
  const totalCells = this.countPolar();
183
191
  let callCount = 0;
184
192
  const wrappedCallback = (polarValue, azimuthIndex, edgeIndex, valueSetter) => {
@@ -203,7 +211,10 @@ class PolarMeasureValueMap {
203
211
  };
204
212
  const minExcludedValue = options === null || options === void 0 ? void 0 : options.minExcludedValue;
205
213
  let result;
206
- if (options === null || options === void 0 ? void 0 : options.iterateOnEachEdge) {
214
+ if (useBypass) {
215
+ result = this.iterateOnZones(this.buildPolarFilter.zones, wrappedCallback, minExcludedValue);
216
+ }
217
+ else if (options === null || options === void 0 ? void 0 : options.iterateOnEachEdge) {
207
218
  result = this.iterateOnEachEdge(azimuthMin, azimuthMax, edgeMin, edgeMax, wrappedCallback, minExcludedValue);
208
219
  }
209
220
  else {
@@ -484,6 +495,66 @@ class PolarMeasureValueMap {
484
495
  return Promise.all(promises).then(() => { });
485
496
  }
486
497
  }
498
+ // Zone-based iteration: only visits cells within defined zones, with deduplication
499
+ // Direct index mapping (no wrapping) for predictable zone traversal
500
+ iterateOnZones(zones, onEachValue, minExcludedValue) {
501
+ var _a, _b, _c, _d, _e, _f;
502
+ const promises = [];
503
+ let isAsync = false;
504
+ const hasMinFilter = typeof minExcludedValue === 'number';
505
+ const visited = new Set();
506
+ const globalAzMin = (_a = this.buildPolarFilter.azimuthMin) !== null && _a !== void 0 ? _a : 0;
507
+ const globalEdMin = (_b = this.buildPolarFilter.edgeMin) !== null && _b !== void 0 ? _b : 0;
508
+ const azimuthsCount = this.polarMeasureValue.getAzimuthsCount();
509
+ const defaultDistance = this.polarMeasureValue.getDefaultDistance();
510
+ const maxEdKey = this.polarMeasureValue.getPolarEdgesCount() + 1;
511
+ for (const zone of zones) {
512
+ const azMin = Math.max((_c = zone.azMin) !== null && _c !== void 0 ? _c : 0, 0);
513
+ const azMax = Math.min((_d = zone.azMax) !== null && _d !== void 0 ? _d : azimuthsCount - 1, azimuthsCount - 1);
514
+ const edMin = Math.max((_e = zone.edMin) !== null && _e !== void 0 ? _e : 0, 0);
515
+ const edMax = (_f = zone.edMax) !== null && _f !== void 0 ? _f : this.polarMeasureValue.getPolarEdgesCount() - 1;
516
+ for (let azIdx = azMin; azIdx <= azMax; azIdx++) {
517
+ const containerIdx = azIdx - globalAzMin;
518
+ if (containerIdx < 0 || containerIdx >= this.builtMeasureValuePolarContainers.length) {
519
+ continue;
520
+ }
521
+ const container = this.builtMeasureValuePolarContainers[containerIdx];
522
+ const azimuthInDegrees = container.azimuth;
523
+ const polarEdges = container.polarEdges;
524
+ const distance = container.distance || defaultDistance;
525
+ for (let edIdx = edMin; edIdx <= edMax; edIdx++) {
526
+ const key = azIdx * maxEdKey + edIdx;
527
+ if (visited.has(key)) {
528
+ continue;
529
+ }
530
+ visited.add(key);
531
+ const localEdIdx = edIdx - globalEdMin;
532
+ if (localEdIdx < 0 || localEdIdx >= polarEdges.length) {
533
+ continue;
534
+ }
535
+ const value = polarEdges[localEdIdx];
536
+ if (hasMinFilter && value <= minExcludedValue) {
537
+ continue;
538
+ }
539
+ const valueSetter = (newValue) => {
540
+ polarEdges[localEdIdx] = newValue;
541
+ };
542
+ const result = onEachValue(new PolarValue_1.PolarValue({
543
+ value,
544
+ polarAzimuthInDegrees: azimuthInDegrees,
545
+ polarDistanceInMeters: (edIdx + 1) * distance,
546
+ }), azIdx, edIdx, valueSetter);
547
+ if (result instanceof Promise) {
548
+ isAsync = true;
549
+ promises.push(result);
550
+ }
551
+ }
552
+ }
553
+ }
554
+ if (isAsync) {
555
+ return Promise.all(promises).then(() => { });
556
+ }
557
+ }
487
558
  }
488
559
  exports.PolarMeasureValueMap = PolarMeasureValueMap;
489
560
  //# sourceMappingURL=PolarMeasureValueMap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PolarMeasureValueMap.js","sourceRoot":"","sources":["../../src/polar/PolarMeasureValueMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PolarMeasureValueMap.js","sourceRoot":"","sources":["../../src/polar/PolarMeasureValueMap.ts"],"names":[],"mappings":"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"}