@osmix/core 0.0.2 → 0.1.1

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 (104) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/README.md +118 -107
  3. package/dist/src/entities.d.ts +103 -9
  4. package/dist/src/entities.d.ts.map +1 -1
  5. package/dist/src/entities.js +101 -11
  6. package/dist/src/entities.js.map +1 -1
  7. package/dist/src/ids.d.ts +82 -13
  8. package/dist/src/ids.d.ts.map +1 -1
  9. package/dist/src/ids.js +103 -31
  10. package/dist/src/ids.js.map +1 -1
  11. package/dist/src/index.d.ts +31 -5
  12. package/dist/src/index.d.ts.map +1 -1
  13. package/dist/src/index.js +33 -5
  14. package/dist/src/index.js.map +1 -1
  15. package/dist/src/nodes.d.ts +91 -21
  16. package/dist/src/nodes.d.ts.map +1 -1
  17. package/dist/src/nodes.js +191 -44
  18. package/dist/src/nodes.js.map +1 -1
  19. package/dist/src/osm.d.ts +99 -0
  20. package/dist/src/osm.d.ts.map +1 -0
  21. package/dist/src/osm.js +165 -0
  22. package/dist/src/osm.js.map +1 -0
  23. package/dist/src/relations.d.ts +112 -20
  24. package/dist/src/relations.d.ts.map +1 -1
  25. package/dist/src/relations.js +298 -35
  26. package/dist/src/relations.js.map +1 -1
  27. package/dist/src/stringtable.d.ts +78 -14
  28. package/dist/src/stringtable.d.ts.map +1 -1
  29. package/dist/src/stringtable.js +105 -26
  30. package/dist/src/stringtable.js.map +1 -1
  31. package/dist/src/tags.d.ts +117 -18
  32. package/dist/src/tags.d.ts.map +1 -1
  33. package/dist/src/tags.js +177 -30
  34. package/dist/src/tags.js.map +1 -1
  35. package/dist/src/typed-arrays.d.ts +85 -11
  36. package/dist/src/typed-arrays.d.ts.map +1 -1
  37. package/dist/src/typed-arrays.js +88 -9
  38. package/dist/src/typed-arrays.js.map +1 -1
  39. package/dist/src/utils.d.ts +35 -1
  40. package/dist/src/utils.d.ts.map +1 -1
  41. package/dist/src/utils.js +69 -10
  42. package/dist/src/utils.js.map +1 -1
  43. package/dist/src/ways.d.ts +91 -27
  44. package/dist/src/ways.d.ts.map +1 -1
  45. package/dist/src/ways.js +229 -69
  46. package/dist/src/ways.js.map +1 -1
  47. package/dist/test/memory.test.d.ts +7 -0
  48. package/dist/test/memory.test.d.ts.map +1 -0
  49. package/dist/test/memory.test.js +29 -0
  50. package/dist/test/memory.test.js.map +1 -0
  51. package/dist/test/mock-osm.d.ts +3 -3
  52. package/dist/test/mock-osm.d.ts.map +1 -1
  53. package/dist/test/mock-osm.js +3 -3
  54. package/dist/test/mock-osm.js.map +1 -1
  55. package/dist/test/tags-search.test.d.ts +2 -0
  56. package/dist/test/tags-search.test.d.ts.map +1 -0
  57. package/dist/test/tags-search.test.js +56 -0
  58. package/dist/test/tags-search.test.js.map +1 -0
  59. package/dist/test/typed-arrays.test.js +19 -17
  60. package/dist/test/typed-arrays.test.js.map +1 -1
  61. package/package.json +11 -13
  62. package/src/entities.ts +147 -22
  63. package/src/ids.ts +126 -45
  64. package/src/index.ts +34 -5
  65. package/src/nodes.ts +248 -58
  66. package/src/osm.ts +222 -0
  67. package/src/relations.ts +396 -54
  68. package/src/stringtable.ts +123 -36
  69. package/src/tags.ts +220 -46
  70. package/src/typed-arrays.ts +97 -10
  71. package/src/types/geoflatbush.d.ts +37 -0
  72. package/src/types/geokdbush.d.ts +37 -0
  73. package/src/types/kdbush.d.ts +24 -6
  74. package/src/utils.ts +80 -14
  75. package/src/ways.ts +260 -84
  76. package/test/memory.test.ts +38 -0
  77. package/test/mock-osm.ts +8 -8
  78. package/test/tags-search.test.ts +60 -0
  79. package/test/typed-arrays.test.ts +5 -6
  80. package/dist/src/osmix.d.ts +0 -88
  81. package/dist/src/osmix.d.ts.map +0 -1
  82. package/dist/src/osmix.js +0 -438
  83. package/dist/src/osmix.js.map +0 -1
  84. package/dist/test/extract.bench.d.ts +0 -2
  85. package/dist/test/extract.bench.d.ts.map +0 -1
  86. package/dist/test/extract.bench.js +0 -23
  87. package/dist/test/extract.bench.js.map +0 -1
  88. package/dist/test/extract.test.d.ts +0 -2
  89. package/dist/test/extract.test.d.ts.map +0 -1
  90. package/dist/test/extract.test.js +0 -127
  91. package/dist/test/extract.test.js.map +0 -1
  92. package/dist/test/read.test.d.ts +0 -2
  93. package/dist/test/read.test.d.ts.map +0 -1
  94. package/dist/test/read.test.js +0 -17
  95. package/dist/test/read.test.js.map +0 -1
  96. package/dist/test/write.test.d.ts +0 -2
  97. package/dist/test/write.test.d.ts.map +0 -1
  98. package/dist/test/write.test.js +0 -55
  99. package/dist/test/write.test.js.map +0 -1
  100. package/src/osmix.ts +0 -556
  101. package/test/extract.bench.ts +0 -29
  102. package/test/extract.test.ts +0 -161
  103. package/test/read.test.ts +0 -22
  104. package/test/write.test.ts +0 -69
@@ -1,127 +0,0 @@
1
- import { getFixtureFileReadStream } from "@osmix/shared/test/fixtures";
2
- import { assert, test } from "vitest";
3
- import { Osmix } from "../src/osmix";
4
- const TEST_BBOX = [-0.1, -0.1, 1, 1];
5
- const SEATTLE_BBOX = [-122.463226, 47.469878, -122.180328, 47.82883];
6
- function buildSourceOsm() {
7
- const osm = new Osmix({ id: "source" });
8
- osm.nodes.addNode({
9
- id: 1,
10
- lat: 0,
11
- lon: 0,
12
- tags: {
13
- name: "inside-a",
14
- },
15
- });
16
- osm.nodes.addNode({
17
- id: 2,
18
- lat: 0,
19
- lon: 2,
20
- tags: {
21
- name: "outside-a",
22
- },
23
- });
24
- osm.nodes.addNode({
25
- id: 3,
26
- lat: 0.5,
27
- lon: 0.5,
28
- });
29
- osm.nodes.addNode({
30
- id: 4,
31
- lat: 0.5,
32
- lon: 1.5,
33
- });
34
- osm.ways.addWay({
35
- id: 10,
36
- refs: [1, 2],
37
- tags: {
38
- highway: "residential",
39
- },
40
- });
41
- osm.ways.addWay({
42
- id: 11,
43
- refs: [3, 4],
44
- tags: {
45
- highway: "service",
46
- },
47
- });
48
- osm.relations.addRelation({
49
- id: 20,
50
- members: [
51
- {
52
- type: "way",
53
- ref: 10,
54
- role: "outer",
55
- },
56
- ],
57
- tags: {
58
- type: "multipolygon",
59
- },
60
- });
61
- osm.buildIndexes();
62
- return osm;
63
- }
64
- test("extract a BBOX while reading a PBF", async () => {
65
- const source = buildSourceOsm();
66
- const transform = new TransformStream();
67
- const extract = new Osmix();
68
- const extractPromise = extract.readPbf(transform.readable, {
69
- extractBbox: TEST_BBOX,
70
- });
71
- await source.toPbfStream().pipeTo(transform.writable);
72
- await extractPromise;
73
- assert.equal(extract.nodes.size, 2);
74
- assert.isTrue(extract.nodes.ids.has(1));
75
- assert.isTrue(extract.nodes.ids.has(3));
76
- assert.isNotTrue(extract.nodes.ids.has(2));
77
- assert.isNotTrue(extract.nodes.ids.has(4));
78
- const truncatedWay = extract.ways.getById(10);
79
- assert.exists(truncatedWay);
80
- assert.deepEqual(truncatedWay?.refs, [1]);
81
- assert.isTrue(extract.ways.ids.has(11));
82
- assert.isTrue(extract.relations.ids.has(20));
83
- });
84
- test("extract a BBOX after reading a PBF", async () => {
85
- const source = buildSourceOsm();
86
- const buffer = await source.toPbfBuffer();
87
- const streaming = new Osmix();
88
- await streaming.readPbf(new Uint8Array(buffer.slice(0)), {
89
- extractBbox: TEST_BBOX,
90
- });
91
- const twoStepOsmix = new Osmix();
92
- await twoStepOsmix.readPbf(new Uint8Array(buffer.slice(0)));
93
- const twoStep = twoStepOsmix.extract(TEST_BBOX);
94
- assert.equal(streaming.nodes.size, twoStep.nodes.size);
95
- assert.equal(streaming.ways.size, twoStep.ways.size);
96
- assert.equal(streaming.relations.size, twoStep.relations.size);
97
- assert.deepEqual(Array.from(streaming.nodes.ids.sorted), Array.from(twoStep.nodes.ids.sorted));
98
- assert.deepEqual(Array.from(streaming.ways.ids.sorted), Array.from(twoStep.ways.ids.sorted));
99
- assert.deepEqual(Array.from(streaming.relations.ids.sorted), Array.from(twoStep.relations.ids.sorted));
100
- for (const nodeId of streaming.nodes.ids.sorted) {
101
- const streamingNode = streaming.nodes.getById(nodeId);
102
- const twoStepNode = twoStep.nodes.getById(nodeId);
103
- assert.deepEqual(streamingNode, twoStepNode);
104
- }
105
- for (const wayId of streaming.ways.ids.sorted) {
106
- const streamingWay = streaming.ways.getById(wayId);
107
- const twoStepWay = twoStep.ways.getById(wayId);
108
- assert.deepEqual(streamingWay, twoStepWay);
109
- }
110
- for (const relationId of streaming.relations.ids.sorted) {
111
- const streamingRelation = streaming.relations.getById(relationId);
112
- const twoStepRelation = twoStep.relations.getById(relationId);
113
- assert.deepEqual(streamingRelation, twoStepRelation);
114
- }
115
- });
116
- test.skip("extract from a large PBF", { timeout: 500_000 }, async () => {
117
- const seattle = new Osmix({ logger: console.error });
118
- await seattle.readPbf(getFixtureFileReadStream("usa.pbf"), {
119
- extractBbox: SEATTLE_BBOX,
120
- });
121
- assert.deepEqual({
122
- nodes: seattle.nodes.size,
123
- ways: seattle.ways.size,
124
- relations: seattle.relations.size,
125
- }, { nodes: 802_541, ways: 241_248, relations: 3_622 });
126
- });
127
- //# sourceMappingURL=extract.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extract.test.js","sourceRoot":"","sources":["../../test/extract.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEpC,MAAM,SAAS,GAAc,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAC/C,MAAM,YAAY,GAAc,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;AAE/E,SAAS,cAAc;IACtB,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IACvC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QACjB,EAAE,EAAE,CAAC;QACL,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;QACN,IAAI,EAAE;YACL,IAAI,EAAE,UAAU;SAChB;KACD,CAAC,CAAA;IACF,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QACjB,EAAE,EAAE,CAAC;QACL,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;QACN,IAAI,EAAE;YACL,IAAI,EAAE,WAAW;SACjB;KACD,CAAC,CAAA;IACF,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QACjB,EAAE,EAAE,CAAC;QACL,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;KACR,CAAC,CAAA;IACF,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QACjB,EAAE,EAAE,CAAC;QACL,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG;KACR,CAAC,CAAA;IAEF,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QACf,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACZ,IAAI,EAAE;YACL,OAAO,EAAE,aAAa;SACtB;KACD,CAAC,CAAA;IACF,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QACf,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACZ,IAAI,EAAE;YACL,OAAO,EAAE,SAAS;SAClB;KACD,CAAC,CAAA;IAEF,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC;QACzB,EAAE,EAAE,EAAE;QACN,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,KAAK;gBACX,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,OAAO;aACb;SACD;QACD,IAAI,EAAE;YACL,IAAI,EAAE,cAAc;SACpB;KACD,CAAC,CAAA;IAEF,GAAG,CAAC,YAAY,EAAE,CAAA;IAClB,OAAO,GAAG,CAAA;AACX,CAAC;AAED,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;IACrD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAC/B,MAAM,SAAS,GAAG,IAAI,eAAe,EAGlC,CAAA;IACH,MAAM,OAAO,GAAG,IAAI,KAAK,EAAE,CAAA;IAC3B,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;QAC1D,WAAW,EAAE,SAAS;KACtB,CAAC,CAAA;IACF,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACrD,MAAM,cAAc,CAAA;IAEpB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAE1C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC7C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAC3B,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAEzC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAC7C,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;IACrD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;IAEzC,MAAM,SAAS,GAAG,IAAI,KAAK,EAAE,CAAA;IAC7B,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QACxD,WAAW,EAAE,SAAS;KACtB,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,IAAI,KAAK,EAAE,CAAA;IAChC,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAE/C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACtD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAE9D,MAAM,CAAC,SAAS,CACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EACtC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CACpC,CAAA;IACD,MAAM,CAAC,SAAS,CACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EACrC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CACnC,CAAA;IACD,MAAM,CAAC,SAAS,CACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAC1C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CACxC,CAAA;IAED,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACjD,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACrD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAClD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC9C,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IAC3C,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACzD,MAAM,iBAAiB,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QACjE,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAC7D,MAAM,CAAC,SAAS,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAA;IACrD,CAAC;AACF,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,IAAI,EAAE;IACtE,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;IACpD,MAAM,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE;QAC1D,WAAW,EAAE,YAAY;KACzB,CAAC,CAAA;IAEF,MAAM,CAAC,SAAS,CACf;QACC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;QACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;QACvB,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI;KACjC,EACD,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CACnD,CAAA;AACF,CAAC,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=read.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read.test.d.ts","sourceRoot":"","sources":["../../test/read.test.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- import { getFixtureFile, getFixtureFileReadStream, PBFs, } from "@osmix/shared/test/fixtures";
2
- import { assert, beforeAll, describe, it } from "vitest";
3
- import { Osmix } from "../src/osmix";
4
- describe("read", () => {
5
- describe.each(Object.entries(PBFs))("%s", async (name, pbf) => {
6
- beforeAll(() => getFixtureFile(pbf.url));
7
- it("into OSM class", async () => {
8
- const fileStream = getFixtureFileReadStream(pbf.url);
9
- const osm = await Osmix.fromPbf(fileStream, { id: name });
10
- assert.equal(osm.nodes.size, pbf.nodes);
11
- assert.equal(osm.stringTable.length, pbf.uniqueStrings);
12
- assert.deepEqual(osm.nodes.getByIndex(0), pbf.node0);
13
- assert.equal(osm.ways.size, pbf.ways);
14
- });
15
- });
16
- });
17
- //# sourceMappingURL=read.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read.test.js","sourceRoot":"","sources":["../../test/read.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,wBAAwB,EACxB,IAAI,GACJ,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEpC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACrB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QAC7D,SAAS,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAExC,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,UAAU,GAAG,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACpD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YACzD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;YACvC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;YACvD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;YACpD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=write.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"write.test.d.ts","sourceRoot":"","sources":["../../test/write.test.ts"],"names":[],"mappings":""}
@@ -1,55 +0,0 @@
1
- import { getFixtureFile, getFixtureFileReadStream, PBFs, } from "@osmix/shared/test/fixtures";
2
- import { assert, beforeAll, describe, it } from "vitest";
3
- import { Osmix } from "../src/osmix";
4
- describe("write", () => {
5
- describe.each(Object.entries(PBFs))("%s", async (name, pbf) => {
6
- beforeAll(() => getFixtureFile(pbf.url));
7
- it("write osm primitive blocks", async () => {
8
- // Parse the original PBF
9
- const fileStream = getFixtureFileReadStream(pbf.url);
10
- const osm = await Osmix.fromPbf(fileStream, { id: name });
11
- // Get the first node, way, and relation
12
- const node1 = osm.nodes.getByIndex(0);
13
- const way1 = osm.ways.getByIndex(0);
14
- const relation1 = osm.relations.getByIndex(0);
15
- assert.exists(node1);
16
- assert.exists(way1);
17
- assert.exists(relation1);
18
- const transformStream = new TransformStream();
19
- const testOsmPromise = Osmix.fromPbf(transformStream.readable, {
20
- id: `${name}-reparsed`,
21
- });
22
- // Write the PBF to an array buffer
23
- // let data = new Uint8Array(0)
24
- await osm.toPbfStream().pipeTo(transformStream.writable);
25
- // Re-parse the new PBF
26
- // assert.exists(data.buffer)
27
- const testOsm = await testOsmPromise;
28
- // Compare the original parsed PBF and newly parsed/written/re-parsed PBF
29
- assert.equal(osm.nodes.size, testOsm.nodes.size);
30
- assert.equal(osm.ways.size, testOsm.ways.size);
31
- assert.equal(osm.relations.size, testOsm.relations.size);
32
- if (node1) {
33
- const testNode1 = testOsm.nodes.getById(node1.id);
34
- assert.deepEqual(testNode1, node1);
35
- assert.equal(testNode1?.id, node1.id);
36
- assert.equal(testNode1?.lon, node1.lon);
37
- assert.equal(testNode1?.lat, node1.lat);
38
- assert.deepEqual(testNode1?.tags, node1.tags);
39
- }
40
- if (way1) {
41
- const testWay1 = testOsm.ways.getById(way1.id);
42
- assert.equal(testWay1?.id, way1.id);
43
- assert.deepEqual(testWay1?.refs, way1.refs);
44
- assert.deepEqual(testWay1?.tags, way1.tags);
45
- }
46
- if (relation1) {
47
- const testRelation1 = testOsm.relations.getById(relation1.id);
48
- assert.equal(testRelation1?.id, relation1.id);
49
- assert.deepEqual(testRelation1?.members, relation1.members);
50
- assert.deepEqual(testRelation1?.tags, relation1.tags);
51
- }
52
- });
53
- });
54
- });
55
- //# sourceMappingURL=write.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"write.test.js","sourceRoot":"","sources":["../../test/write.test.ts"],"names":[],"mappings":"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"}