@osmix/core 0.1.8 → 0.2.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.
Files changed (71) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/LICENSE +21 -0
  3. package/README.md +86 -69
  4. package/dist/contracts.d.ts +26 -0
  5. package/dist/contracts.d.ts.map +1 -0
  6. package/dist/contracts.js +1 -0
  7. package/dist/contracts.js.map +1 -0
  8. package/dist/entities.d.ts +1 -1
  9. package/dist/entities.d.ts.map +1 -1
  10. package/dist/entities.js +2 -7
  11. package/dist/entities.js.map +1 -1
  12. package/dist/ids.d.ts +2 -0
  13. package/dist/ids.d.ts.map +1 -1
  14. package/dist/ids.js +23 -15
  15. package/dist/ids.js.map +1 -1
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +0 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/mocks.d.ts.map +1 -1
  21. package/dist/mocks.js.map +1 -1
  22. package/dist/nodes.d.ts +9 -3
  23. package/dist/nodes.d.ts.map +1 -1
  24. package/dist/nodes.js +6 -13
  25. package/dist/nodes.js.map +1 -1
  26. package/dist/osm.d.ts +1 -1
  27. package/dist/osm.d.ts.map +1 -1
  28. package/dist/osm.js +1 -4
  29. package/dist/osm.js.map +1 -1
  30. package/dist/relations.d.ts +3 -2
  31. package/dist/relations.d.ts.map +1 -1
  32. package/dist/relations.js +15 -9
  33. package/dist/relations.js.map +1 -1
  34. package/dist/stringtable.d.ts.map +1 -1
  35. package/dist/stringtable.js +4 -13
  36. package/dist/stringtable.js.map +1 -1
  37. package/dist/tags.d.ts +1 -1
  38. package/dist/tags.d.ts.map +1 -1
  39. package/dist/tags.js.map +1 -1
  40. package/dist/typed-arrays.d.ts +1 -1
  41. package/dist/typed-arrays.d.ts.map +1 -1
  42. package/dist/typed-arrays.js.map +1 -1
  43. package/dist/ways.d.ts +2 -1
  44. package/dist/ways.d.ts.map +1 -1
  45. package/dist/ways.js +18 -18
  46. package/dist/ways.js.map +1 -1
  47. package/package.json +46 -31
  48. package/src/contracts.ts +28 -0
  49. package/src/entities.ts +179 -194
  50. package/src/ids.ts +228 -235
  51. package/src/index.ts +12 -9
  52. package/src/mocks.ts +114 -113
  53. package/src/nodes.ts +364 -397
  54. package/src/osm.ts +196 -207
  55. package/src/relations.ts +530 -558
  56. package/src/stringtable.ts +174 -183
  57. package/src/tags.ts +263 -271
  58. package/src/typed-arrays.ts +184 -194
  59. package/src/types/geoflatbush.d.ts +28 -33
  60. package/src/types/geokdbush.d.ts +28 -33
  61. package/src/types/kdbush.d.ts +34 -34
  62. package/src/ways.ts +381 -405
  63. package/test/ids.bench.ts +29 -0
  64. package/test/ids.test.ts +84 -0
  65. package/test/memory.test.ts +29 -30
  66. package/test/relations.bench.ts +27 -0
  67. package/test/relations.test.ts +101 -0
  68. package/test/tags-search.test.ts +76 -56
  69. package/test/typed-arrays.test.ts +100 -99
  70. package/tsconfig.build.json +6 -3
  71. package/tsconfig.json +7 -7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,42 @@
1
1
  # @osmix/core
2
2
 
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 368d103: Split shared concerns into `@osmix/types`, `@osmix/geo`, and `@osmix/test-utils`. Add `OsmReader`/`OsmWriter` contracts, curated `osmix` facade exports, and dependency guardrails.
8
+ - c7a5a35: Harden parsing, loading, changeset generation, worker orchestration, and package verification across Osmix.
9
+
10
+ - `@osmix/pbf`, `@osmix/json`, and `@osmix/load` now validate PBF framing and decompression limits, normalize every supported input form, apply timestamp granularity consistently, translate tags before filtering, remove dangling filtered references, and build every requested spatial index.
11
+ - `@osmix/core` now returns `null` for unknown node-coordinate lookups, safely handles incomplete geometry, caches relation-to-way membership, and avoids repeated ID lookups and per-entity object allocation during sorted iteration.
12
+ - `@osmix/change` now preserves relation references during deduplication, escapes OSC XML attributes, applies changesets non-destructively, allocates collision-free IDs for empty or unsorted data, and resolves pending intersection geometry safely. Its intersection runtime is now vendored and strictly typed, removing the upstream test/build dependency graph.
13
+ - `osmix` now preserves sliced typed-array views during transfer, disposes and terminates owned workers reliably, uses collision-safe worker registries, and supports all documented PBF input forms across local and remote APIs.
14
+ - `@osmix/geojson`, `@osmix/vt`, and `@osmix/shortbread` now consume nullable or read-only geometry data without aliasing or mutation hazards.
15
+ - `@osmix/gtfs` and `@osmix/router` documentation now uses the current archive, routing, transfer, and distance APIs.
16
+ - `@osmix/shared` and `@osmix/test-utils` add executable package smoke coverage for byte streams and checked-in fixtures.
17
+ - Public package examples are classified as compilable or schematic and are checked against current exports and argument types.
18
+
19
+ ### Patch Changes
20
+
21
+ - Updated dependencies [368d103]
22
+ - Updated dependencies [368d103]
23
+ - Updated dependencies [c7a5a35]
24
+ - @osmix/shared@0.1.0
25
+ - @osmix/geo@0.1.0
26
+ - @osmix/types@0.1.0
27
+
28
+ ## 0.1.10
29
+
30
+ ### Patch Changes
31
+
32
+ - d67e38d: Bump dependencies to latest majors and adopt TypeScript 7 RC
33
+
34
+ ## 0.1.9
35
+
36
+ ### Patch Changes
37
+
38
+ - 6144903: Use published kdbush package for pnpm compatibility
39
+
3
40
  ## 0.1.8
4
41
 
5
42
  ### Patch Changes
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Conveyal
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -13,7 +13,7 @@ In-memory OSM entity storage with spatial indexing. Provides core data structure
13
13
  ## Installation
14
14
 
15
15
  ```sh
16
- bun add @osmix/core
16
+ pnpm add @osmix/core
17
17
  ```
18
18
 
19
19
  ## Usage
@@ -22,89 +22,93 @@ bun add @osmix/core
22
22
 
23
23
  `@osmix/core` provides the in-memory data structures. To parse `.osm.pbf` files, use the high-level `osmix` package:
24
24
 
25
- ```ts
26
- import { fromPbf } from "osmix"
25
+ ```ts check-docs monaco-pbf
26
+ import { fromPbf } from "osmix";
27
27
 
28
- const osm = await fromPbf(Bun.file("./monaco.pbf").stream())
29
- console.log(osm.nodes.size, osm.ways.size, osm.relations.size)
28
+ const osm = await fromPbf(monacoPbf);
29
+ console.log(osm.nodes.size, osm.ways.size, osm.relations.size);
30
30
  ```
31
31
 
32
32
  ### Building data directly
33
33
 
34
34
  For synthetic data or tests, instantiate `Osm` directly and call `buildIndexes()` / `buildSpatialIndexes()` before querying:
35
35
 
36
- ```ts
37
- import { Osm } from "@osmix/core"
36
+ ```ts check-docs
37
+ import { Osm } from "@osmix/core";
38
38
 
39
- const osm = new Osm({ id: "fixture" })
39
+ const osm = new Osm({ id: "fixture" });
40
40
 
41
41
  osm.nodes.addNode({
42
- id: 1,
43
- lon: -122.4,
44
- lat: 47.6,
45
- tags: { amenity: "cafe" },
46
- })
42
+ id: 1,
43
+ lon: -122.4,
44
+ lat: 47.6,
45
+ tags: { amenity: "cafe" },
46
+ });
47
47
 
48
48
  osm.ways.addWay({
49
- id: 10,
50
- refs: [1],
51
- tags: { highway: "service" },
52
- })
49
+ id: 10,
50
+ refs: [1],
51
+ tags: { highway: "service" },
52
+ });
53
53
 
54
- osm.buildIndexes()
55
- osm.buildSpatialIndexes()
54
+ osm.buildIndexes();
55
+ osm.buildSpatialIndexes();
56
56
  ```
57
57
 
58
58
  ### Querying entities
59
59
 
60
- ```ts
60
+ ```ts check-docs osm
61
61
  // Get by ID
62
- const node = osm.nodes.getById(123)
63
- const way = osm.ways.get({ id: 456 })
62
+ const node = osm.nodes.getById(123);
63
+ const way = osm.ways.get({ id: 456 });
64
64
 
65
65
  // Iterate all entities
66
66
  for (const node of osm.nodes) {
67
- console.log(node.id, node.lon, node.lat)
67
+ console.log(node.id, node.lon, node.lat);
68
68
  }
69
69
 
70
70
  // Iterate sorted by ID (useful for PBF export)
71
71
  for (const way of osm.ways.sorted()) {
72
- console.log(way.id, way.refs)
72
+ console.log(way.id, way.refs);
73
73
  }
74
74
 
75
75
  // Search by tag key
76
- const highways = osm.ways.search("highway")
77
- const cafes = osm.nodes.search("amenity", "cafe")
76
+ const highways = osm.ways.search("highway");
77
+ const cafes = osm.nodes.search("amenity", "cafe");
78
78
  ```
79
79
 
80
80
  ### Spatial queries
81
81
 
82
- ```ts
82
+ ```ts check-docs osm
83
83
  // Bounding box query
84
- const bbox: [number, number, number, number] = [-122.34, 47.57, -122.30, 47.61]
85
- const { ids, positions } = osm.nodes.withinBbox(bbox)
86
- const { ids: wayIds, positions: wayCoords, startIndices } = osm.ways.withinBbox(bbox)
84
+ const bbox: [number, number, number, number] = [-122.34, 47.57, -122.3, 47.61];
85
+ const { ids, positions } = osm.nodes.withinBbox(bbox);
86
+ const { ids: wayIds, positions: wayCoords, startIndices } = osm.ways.withinBbox(bbox);
87
87
 
88
88
  // Radius query (uses great-circle distance)
89
- const nearbyIndexes = osm.nodes.findIndexesWithinRadius(-122.4, 47.6, 10) // 10km
89
+ const nearbyIndexes = osm.nodes.findIndexesWithinRadius(-122.4, 47.6, 10); // 10km
90
90
 
91
91
  // Get entities from indexes
92
- const nearbyNodes = nearbyIndexes.map((i) => osm.nodes.getByIndex(i))
92
+ const nearbyNodes = nearbyIndexes.map((i) => osm.nodes.getByIndex(i));
93
93
 
94
94
  // Ways/relations use Flatbush for bounding-box intersection
95
- const intersectingWays = osm.ways.intersects(bbox)
96
- const nearestWays = osm.ways.neighbors(-122.4, 47.6, 5, 10) // 5 results, 10km max
95
+ const intersectingWays = osm.ways.intersects(bbox);
96
+ const nearestWays = osm.ways.neighbors(-122.4, 47.6, 5, 10); // 5 results, 10km max
97
97
  ```
98
98
 
99
99
  ### Transferring between workers
100
100
 
101
- ```ts
101
+ The following is schematic worker wiring; use the facade's worker helpers for production orchestration:
102
+
103
+ ```ts schematic
104
+ import { collectTransferables, Osm } from "osmix";
105
+
102
106
  // In the main thread
103
- const transferables = osm.transferables()
104
- worker.postMessage(transferables, Object.values(transferables).filter(ArrayBuffer.isView))
107
+ const transferables = osm.transferables();
108
+ worker.postMessage(transferables, collectTransferables(transferables));
105
109
 
106
110
  // In the worker
107
- const osm = new Osm(transferables)
111
+ const osm = new Osm(transferables);
108
112
  // Index is already built, ready for queries
109
113
  ```
110
114
 
@@ -112,39 +116,39 @@ const osm = new Osm(transferables)
112
116
 
113
117
  ### Classes
114
118
 
115
- | Class | Description |
116
- |-------|-------------|
117
- | `Osm` | Main container with nodes, ways, relations, and shared string table |
118
- | `Nodes` | Node storage with KDBush spatial index |
119
- | `Ways` | Way storage with Flatbush spatial index |
120
- | `Relations` | Relation storage with Flatbush spatial index |
121
- | `StringTable` | Deduplicated UTF-8 string storage for tags |
122
- | `Tags` | Bidirectional tag storage (entity→tags, key→entities) |
119
+ | Class | Description |
120
+ | ------------- | ------------------------------------------------------------------- |
121
+ | `Osm` | Main container with nodes, ways, relations, and shared string table |
122
+ | `Nodes` | Node storage with KDBush spatial index |
123
+ | `Ways` | Way storage with Flatbush spatial index |
124
+ | `Relations` | Relation storage with Flatbush spatial index |
125
+ | `StringTable` | Deduplicated UTF-8 string storage for tags |
126
+ | `Tags` | Bidirectional tag storage (entity→tags, key→entities) |
123
127
 
124
128
  ### Osm Methods
125
129
 
126
- | Method | Description |
127
- |--------|-------------|
128
- | `buildIndexes()` | Finalize ID, tag, and entity indexes after adding data |
129
- | `buildSpatialIndexes()` | Build spatial indexes for all entity types |
130
- | `bbox()` | Get bounding box of all entities |
131
- | `info()` | Get summary info (id, bbox, header, stats) |
132
- | `transferables()` | Get serializable buffers for worker transfer |
133
- | `isReady()` | Check if all indexes are built |
130
+ | Method | Description |
131
+ | ----------------------- | ------------------------------------------------------ |
132
+ | `buildIndexes()` | Finalize ID, tag, and entity indexes after adding data |
133
+ | `buildSpatialIndexes()` | Build spatial indexes for all entity types |
134
+ | `bbox()` | Get bounding box of all entities |
135
+ | `info()` | Get summary info (id, bbox, header, stats) |
136
+ | `transferables()` | Get serializable buffers for worker transfer |
137
+ | `isReady()` | Check if all indexes are built |
134
138
 
135
139
  ### Entity Collection Methods
136
140
 
137
- | Method | Description |
138
- |--------|-------------|
139
- | `getById(id)` | Get entity by OSM ID |
140
- | `get({ id } \| { index })` | Get by ID or internal index |
141
- | `getByIndex(index)` | Get by internal array index |
142
- | `search(key, value?)` | Find entities with tag key (and optional value) |
143
- | `withinBbox(bbox)` | Get entities within bounding box |
144
- | `findIndexesWithinRadius(lon, lat, km)` | Find nearby entities (nodes) |
145
- | `intersects(bbox)` | Find intersecting entities (ways/relations) |
146
- | `neighbors(lon, lat, max, maxKm)` | Find nearest entities (ways/relations) |
147
- | `sorted()` | Iterator over entities sorted by ID |
141
+ | Method | Description |
142
+ | --------------------------------------- | ----------------------------------------------- |
143
+ | `getById(id)` | Get entity by OSM ID |
144
+ | `get({ id } \| { index })` | Get by ID or internal index |
145
+ | `getByIndex(index)` | Get by internal array index |
146
+ | `search(key, value?)` | Find entities with tag key (and optional value) |
147
+ | `withinBbox(bbox)` | Get entities within bounding box |
148
+ | `findIndexesWithinRadius(lon, lat, km)` | Find nearby entities (nodes) |
149
+ | `intersects(bbox)` | Find intersecting entities (ways/relations) |
150
+ | `neighbors(lon, lat, max, maxKm)` | Find nearest entities (ways/relations) |
151
+ | `sorted()` | Iterator over entities sorted by ID |
148
152
 
149
153
  ## Environment and Limitations
150
154
 
@@ -155,6 +159,7 @@ const osm = new Osm(transferables)
155
159
  ## Related Packages
156
160
 
157
161
  - [`osmix`](../osmix/README.md) — High-level API for loading PBF files and worker orchestration.
162
+ - [`@osmix/load`](../load/README.md) — PBF loading, geographic extracts, and export into `Osm` indexes.
158
163
  - [`@osmix/pbf`](../pbf/README.md) — Low-level PBF parsing and serialization.
159
164
  - [`@osmix/json`](../json/README.md) — JSON entity conversion.
160
165
  - [`@osmix/geojson`](../geojson/README.md) — Convert entities to GeoJSON features.
@@ -163,9 +168,21 @@ const osm = new Osm(transferables)
163
168
  ## Development
164
169
 
165
170
  ```sh
166
- bun run test packages/core
167
- bun run typecheck packages/core
168
- bun run lint packages/core
171
+ pnpm run test packages/core
172
+ pnpm run typecheck packages/core
173
+ pnpm run lint packages/core
169
174
  ```
170
175
 
171
- Run `bun run check` at the repo root before publishing.
176
+ Run `pnpm run check` at the repo root before publishing.
177
+
178
+ ## Test helpers
179
+
180
+ Mock OSM datasets for tests are available via a separate entrypoint (not re-exported from the main package):
181
+
182
+ ```ts check-docs
183
+ import { createMockBaseOsm, createMockPatchOsm } from "@osmix/core/mocks";
184
+
185
+ const base = createMockBaseOsm();
186
+ const patch = createMockPatchOsm();
187
+ console.log(base.id, patch.id);
188
+ ```
@@ -0,0 +1,26 @@
1
+ import type { GeoBbox2D } from "@osmix/types";
2
+ import type { Nodes } from "./nodes.ts";
3
+ import type { Relations } from "./relations.ts";
4
+ import type { Ways } from "./ways.ts";
5
+ /**
6
+ * Read-only contract for tile encoders, exporters, and spatial queries.
7
+ *
8
+ * Encoders only need entity accessors and spatial indexes; they do not mutate
9
+ * the underlying dataset. The concrete {@link Osm} class satisfies this interface.
10
+ */
11
+ export interface OsmReader {
12
+ readonly id: string;
13
+ readonly nodes: Nodes;
14
+ readonly ways: Ways;
15
+ readonly relations: Relations;
16
+ bbox(): GeoBbox2D;
17
+ }
18
+ /**
19
+ * Write contract for format importers that populate an in-memory index.
20
+ */
21
+ export interface OsmWriter extends OsmReader {
22
+ buildIndexes(): void;
23
+ buildSpatialIndexes(): void;
24
+ isReady(): boolean;
25
+ }
26
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,IAAI,IAAI,SAAS,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,YAAY,IAAI,IAAI,CAAC;IACrB,mBAAmB,IAAI,IAAI,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAC;CACpB"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":""}
@@ -7,7 +7,7 @@
7
7
  * @module
8
8
  */
9
9
  import type { ContentHasher } from "@osmix/shared/content-hasher";
10
- import type { GeoBbox2D, OsmEntity, OsmEntityType, OsmTags } from "@osmix/shared/types";
10
+ import type { GeoBbox2D, OsmEntity, OsmEntityType, OsmTags } from "@osmix/types";
11
11
  import type { IdOrIndex, Ids, IdsTransferables } from "./ids.ts";
12
12
  import type { Tags, TagsTransferables } from "./tags.ts";
13
13
  import type { BufferType } from "./typed-arrays.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../src/entities.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,EACX,SAAS,EACT,SAAS,EACT,aAAa,EACb,OAAO,EACP,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD;;;GAGG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CACvE,SAAQ,gBAAgB,CAAC,CAAC,CAAC,EAC1B,iBAAiB,CAAC,CAAC,CAAC;CAAG;AAEzB;;;;;;;GAOG;AACH,8BAAsB,QAAQ,CAAC,CAAC,SAAS,SAAS;IACjD,mFAAmF;IACnF,SAAS,EAAE,aAAa,CAAA;IACxB,4BAA4B;IAC5B,GAAG,EAAE,GAAG,CAAA;IACR,6BAA6B;IAC7B,IAAI,EAAE,IAAI,CAAA;IAEV,2CAA2C;IAC3C,SAAS,CAAC,UAAU,UAAQ;IAE5B;;;;;OAKG;gBACS,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;IAM1D;;OAEG;IACH,aAAa,IAAI,qBAAqB;IAOtC;;OAEG;IACH,OAAO;IAIP,6CAA6C;IAC7C,IAAI,IAAI,WAEP;IAED;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,IAAI,IAAI;IAEjC;;;OAGG;IACH,UAAU;IAUV;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS;IAEvD;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC;IAEpE;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM;IAC/D,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM;IAa5C;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,GAAG,IAAI;IAMnC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC;IAQ5B;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;IAU1C;;OAEG;IACF,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;IAMlC;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAO7B;;OAEG;IACF,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC;IAQvB;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE;IAStC;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa;CAGhD"}
1
+ {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../src/entities.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CACtE,SAAQ,gBAAgB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;CAAG;AAEtD;;;;;;;GAOG;AACH,8BAAsB,QAAQ,CAAC,CAAC,SAAS,SAAS;IAChD,mFAAmF;IACnF,SAAS,EAAE,aAAa,CAAC;IACzB,4BAA4B;IAC5B,GAAG,EAAE,GAAG,CAAC;IACT,6BAA6B;IAC7B,IAAI,EAAE,IAAI,CAAC;IAEX,2CAA2C;IAC3C,SAAS,CAAC,UAAU,UAAS;IAE7B;;;;;OAKG;IACH,YAAY,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAIzD;IAED;;OAEG;IACH,aAAa,IAAI,qBAAqB,CAKrC;IAED;;OAEG;IACH,OAAO,YAEN;IAED,6CAA6C;IAC7C,IAAI,IAAI,WAEP;IAED;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,IAAI,IAAI,CAAC;IAElC;;;OAGG;IACH,UAAU,SAQT;IAED;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IAExD;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;IAErE;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAChE,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IAY7C;;OAEG;IACH,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,GAAG,IAAI,CAIlC;IAED;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAE3B;IAED;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAQzC;IAED;;OAEG;IACF,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAIjC;IAED;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAI5B;IAED;;OAEG;IACF,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAItB;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAKrC;IAED;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAE/C;CACF"}
package/dist/entities.js CHANGED
@@ -129,10 +129,7 @@ export class Entities {
129
129
  * Iterate over entities sorted by ID.
130
130
  */
131
131
  *sorted() {
132
- for (const id of this.ids.sorted) {
133
- const index = this.ids.getIndexFromId(id);
134
- if (index === -1)
135
- throw Error(`Entity not found at id ${id}`);
132
+ for (const [id, index] of this.ids.sortedEntries()) {
136
133
  yield this.getFullEntity(index, id, this.tags.getTags(index));
137
134
  }
138
135
  }
@@ -141,9 +138,7 @@ export class Entities {
141
138
  */
142
139
  search(key, val) {
143
140
  const keyIndex = this.tags.find(key);
144
- const entities = this.tags
145
- .hasKey(keyIndex)
146
- .map((index) => this.getByIndex(index));
141
+ const entities = this.tags.hasKey(keyIndex).map((index) => this.getByIndex(index));
147
142
  if (val === undefined)
148
143
  return entities;
149
144
  return entities.filter((entity) => entity.tags?.[key] === val);
@@ -1 +1 @@
1
- {"version":3,"file":"entities.js","sourceRoot":"","sources":["../src/entities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entities.js","sourceRoot":"","sources":["../src/entities.ts"],"names":[],"mappings":"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"}
package/dist/ids.d.ts CHANGED
@@ -101,6 +101,8 @@ export declare class Ids {
101
101
  idOrIndex(i: IdOrIndex): [index: number, id: number];
102
102
  /** Returns the sorted array of IDs for iteration. */
103
103
  get sorted(): Float64Array<ArrayBufferLike>;
104
+ /** @internal Iterate sorted IDs with their original storage positions. */
105
+ sortedEntries(): Generator<readonly [id: number, index: number]>;
104
106
  /**
105
107
  * Get transferable buffers for passing to another thread.
106
108
  * @returns Serializable representation of this index.
package/dist/ids.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAEN,KAAK,UAAU,EAEf,MAAM,mBAAmB,CAAA;AAE1B;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAS1D;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAClE,qCAAqC;IACrC,GAAG,EAAE,CAAC,CAAA;IACN,sEAAsE;IACtE,SAAS,EAAE,CAAC,CAAA;IACZ,uDAAuD;IACvD,uBAAuB,EAAE,CAAC,CAAA;IAC1B,mDAAmD;IACnD,OAAO,EAAE,CAAC,CAAA;IACV,oDAAoD;IACpD,YAAY,EAAE,OAAO,CAAA;CACrB;AAED;;;;;GAKG;AACH,qBAAa,GAAG;IACf,iCAAiC;IACjC,OAAO,CAAC,GAAG,CAAmB;IAC9B,2CAA2C;IAC3C,OAAO,CAAC,UAAU,CAAQ;IAC1B,4EAA4E;IAC5E,OAAO,CAAC,YAAY,CAAO;IAC3B,2CAA2C;IAC3C,OAAO,CAAC,SAAS,CAAc;IAC/B,+DAA+D;IAC/D,OAAO,CAAC,uBAAuB,CAAa;IAC5C,8EAA8E;IAC9E,OAAO,CAAC,OAAO,CAAc;IAE7B;;;OAGG;gBACS,aAAa,CAAC,EAAE,gBAAgB;IAkB5C,0CAA0C;IAC1C,IAAI,IAAI,WAEP;IAED,4EAA4E;IAC5E,OAAO;IAIP,4DAA4D;IAC5D,QAAQ;IAIR;;;;;OAKG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAMvB;;;;OAIG;IACH,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIzB;;;;OAIG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxB;;;;;OAKG;IACH,UAAU;IA4DV;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAqClC;;OAEG;IACH,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC;IAKpD,qDAAqD;IACrD,IAAI,MAAM,kCAET;IAED;;;OAGG;IACH,aAAa,IAAI,gBAAgB;IAUjC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAUrC;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa;CAGhD"}
1
+ {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EAAqB,KAAK,UAAU,EAA+B,MAAM,mBAAmB,CAAC;AAEpG;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAS3D;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IACjE,qCAAqC;IACrC,GAAG,EAAE,CAAC,CAAC;IACP,sEAAsE;IACtE,SAAS,EAAE,CAAC,CAAC;IACb,uDAAuD;IACvD,uBAAuB,EAAE,CAAC,CAAC;IAC3B,mDAAmD;IACnD,OAAO,EAAE,CAAC,CAAC;IACX,oDAAoD;IACpD,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAAa,GAAG;IACd,iCAAiC;IACjC,OAAO,CAAC,GAAG,CAAoB;IAC/B,2CAA2C;IAC3C,OAAO,CAAC,UAAU,CAAS;IAC3B,4EAA4E;IAC5E,OAAO,CAAC,YAAY,CAAQ;IAC5B,2CAA2C;IAC3C,OAAO,CAAC,SAAS,CAAe;IAChC,+DAA+D;IAC/D,OAAO,CAAC,uBAAuB,CAAc;IAC7C,8EAA8E;IAC9E,OAAO,CAAC,OAAO,CAAe;IAE9B;;;OAGG;IACH,YAAY,aAAa,CAAC,EAAE,gBAAgB,EAc3C;IAED,0CAA0C;IAC1C,IAAI,IAAI,WAEP;IAED,4EAA4E;IAC5E,OAAO,YAEN;IAED,4DAA4D;IAC5D,QAAQ,YAEP;IAED;;;;;OAKG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAItB;IAED;;;;OAIG;IACH,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExB;IAED;;;;OAIG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEvB;IAED;;;;;OAKG;IACH,UAAU,SA6CT;IAED;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAmCjC;IAED;;OAEG;IACH,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAGnD;IAED,qDAAqD;IACrD,IAAI,MAAM,kCAET;IAED,0EAA0E;IACzE,aAAa,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAQhE;IAED;;;OAGG;IACH,aAAa,IAAI,gBAAgB,CAQhC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,UAQpC;IAED;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAE/C;CACF"}
package/dist/ids.js CHANGED
@@ -7,7 +7,7 @@
7
7
  * @module
8
8
  */
9
9
  import { assertValue } from "@osmix/shared/assert";
10
- import { BufferConstructor, ResizeableTypedArray as RTA, } from "./typed-arrays.js";
10
+ import { BufferConstructor, ResizeableTypedArray as RTA } from "./typed-arrays.js";
11
11
  /**
12
12
  * Number of IDs per anchor block for the two-level binary search.
13
13
  * Smaller values increase anchor array size but speed up block-level search;
@@ -110,22 +110,20 @@ export class Ids {
110
110
  const posBuffer = new BufferConstructor(this.size * Uint32Array.BYTES_PER_ELEMENT);
111
111
  this.idsSorted = new Float64Array(idsBuffer);
112
112
  this.sortedIdPositionToIndex = new Uint32Array(posBuffer);
113
- // Fill and sort with positions.
113
+ // Sort positions by ID, using the original position as a deterministic
114
+ // tie-breaker for duplicate IDs.
115
+ const sortedPositions = new Uint32Array(this.size);
116
+ for (let i = 0; i < this.size; i++)
117
+ sortedPositions[i] = i;
118
+ sortedPositions.sort((a, b) => {
119
+ const idDifference = this.ids.array[a] - this.ids.array[b];
120
+ return idDifference === 0 ? a - b : idDifference;
121
+ });
114
122
  for (let i = 0; i < this.size; i++) {
115
- this.idsSorted[i] = this.ids.at(i);
116
- this.sortedIdPositionToIndex[i] = i;
123
+ const position = sortedPositions[i];
124
+ this.idsSorted[i] = this.ids.array[position];
125
+ this.sortedIdPositionToIndex[i] = position;
117
126
  }
118
- // Sort by id, carrying position; use native sort on chunks or a custom radix/merge for stability.
119
- // For simplicity:
120
- const tmp = Array.from({ length: this.size }, (_, i) => ({
121
- id: this.idsSorted[i],
122
- pos: this.sortedIdPositionToIndex[i],
123
- }));
124
- tmp.sort((a, b) => a.id - b.id);
125
- tmp.forEach(({ id, pos }, i) => {
126
- this.idsSorted[i] = id;
127
- this.sortedIdPositionToIndex[i] = pos;
128
- });
129
127
  }
130
128
  else {
131
129
  // Point to the same array
@@ -206,6 +204,16 @@ export class Ids {
206
204
  get sorted() {
207
205
  return this.idsSorted;
208
206
  }
207
+ /** @internal Iterate sorted IDs with their original storage positions. */
208
+ *sortedEntries() {
209
+ for (let i = 0; i < this.idsSorted.length; i++) {
210
+ const id = this.idsSorted[i];
211
+ const index = this.sortedIdPositionToIndex[i];
212
+ assertValue(id, "Sorted ID is undefined");
213
+ assertValue(index, "Sorted position is undefined");
214
+ yield [id, index];
215
+ }
216
+ }
209
217
  /**
210
218
  * Get transferable buffers for passing to another thread.
211
219
  * @returns Serializable representation of this index.
package/dist/ids.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ids.js","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ids.js","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -22,7 +22,7 @@
22
22
  * @module @osmix/core
23
23
  */
24
24
  export type { IdOrIndex } from "./ids.ts";
25
- export * from "./mocks.ts";
25
+ export type { OsmReader, OsmWriter } from "./contracts.ts";
26
26
  export * from "./nodes.ts";
27
27
  export * from "./osm.ts";
28
28
  export * from "./relations.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAMH,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACtE,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AASH,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3D,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvE,cAAc,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -21,7 +21,6 @@
21
21
  *
22
22
  * @module @osmix/core
23
23
  */
24
- export * from "./mocks.js";
25
24
  export * from "./nodes.js";
26
25
  export * from "./osm.js";
27
26
  export * from "./relations.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAA;AACtE,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAWH,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAC;AACvE,cAAc,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../src/mocks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAmC9B;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,GAAG,CAOvC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,GAAG,CAqFxC"}
1
+ {"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../src/mocks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAmC/B;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,GAAG,CAOvC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,GAAG,CAqFxC"}
package/dist/mocks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mocks.js","sourceRoot":"","sources":["../src/mocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mocks.js","sourceRoot":"","sources":["../src/mocks.ts"],"names":[],"mappings":"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"}