@osmix/pbf 0.0.5 → 0.0.7
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/proto/osmformat.d.ts.map +1 -1
- package/dist/proto/osmformat.js +0 -1
- package/dist/proto/osmformat.js.map +1 -1
- package/dist/utils.d.ts +24 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +46 -0
- package/dist/utils.js.map +1 -1
- package/package.json +22 -22
- package/src/proto/osmformat.ts +0 -1
- package/src/utils.ts +86 -0
- package/CHANGELOG.md +0 -31
- package/dist/src/blobs-to-blocks.d.ts +0 -54
- package/dist/src/blobs-to-blocks.d.ts.map +0 -1
- package/dist/src/blobs-to-blocks.js +0 -75
- package/dist/src/blobs-to-blocks.js.map +0 -1
- package/dist/src/blocks-to-pbf.d.ts +0 -53
- package/dist/src/blocks-to-pbf.d.ts.map +0 -1
- package/dist/src/blocks-to-pbf.js +0 -110
- package/dist/src/blocks-to-pbf.js.map +0 -1
- package/dist/src/index.d.ts +0 -37
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -37
- package/dist/src/index.js.map +0 -1
- package/dist/src/pbf-to-blobs.d.ts +0 -26
- package/dist/src/pbf-to-blobs.d.ts.map +0 -1
- package/dist/src/pbf-to-blobs.js +0 -70
- package/dist/src/pbf-to-blobs.js.map +0 -1
- package/dist/src/pbf-to-blocks.d.ts +0 -63
- package/dist/src/pbf-to-blocks.d.ts.map +0 -1
- package/dist/src/pbf-to-blocks.js +0 -96
- package/dist/src/pbf-to-blocks.js.map +0 -1
- package/dist/src/proto/fileformat.d.ts +0 -27
- package/dist/src/proto/fileformat.d.ts.map +0 -1
- package/dist/src/proto/fileformat.js +0 -57
- package/dist/src/proto/fileformat.js.map +0 -1
- package/dist/src/proto/osmformat.d.ts +0 -92
- package/dist/src/proto/osmformat.d.ts.map +0 -1
- package/dist/src/proto/osmformat.js +0 -459
- package/dist/src/proto/osmformat.js.map +0 -1
- package/dist/src/spec.d.ts +0 -6
- package/dist/src/spec.d.ts.map +0 -1
- package/dist/src/spec.js +0 -10
- package/dist/src/spec.js.map +0 -1
- package/dist/src/utils.d.ts +0 -22
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js +0 -68
- package/dist/src/utils.js.map +0 -1
- package/dist/test/blobs-to-blocks.test.d.ts +0 -2
- package/dist/test/blobs-to-blocks.test.d.ts.map +0 -1
- package/dist/test/blobs-to-blocks.test.js +0 -61
- package/dist/test/blobs-to-blocks.test.js.map +0 -1
- package/dist/test/helpers.d.ts +0 -11
- package/dist/test/helpers.d.ts.map +0 -1
- package/dist/test/helpers.js +0 -58
- package/dist/test/helpers.js.map +0 -1
- package/dist/test/pbf-to-blobs.test.d.ts +0 -2
- package/dist/test/pbf-to-blobs.test.d.ts.map +0 -1
- package/dist/test/pbf-to-blobs.test.js +0 -77
- package/dist/test/pbf-to-blobs.test.js.map +0 -1
- package/dist/test/read.bench.d.ts +0 -2
- package/dist/test/read.bench.d.ts.map +0 -1
- package/dist/test/read.bench.js +0 -31
- package/dist/test/read.bench.js.map +0 -1
- package/dist/test/read.test.d.ts +0 -2
- package/dist/test/read.test.d.ts.map +0 -1
- package/dist/test/read.test.js +0 -34
- package/dist/test/read.test.js.map +0 -1
- package/dist/test/streams.test.d.ts +0 -2
- package/dist/test/streams.test.d.ts.map +0 -1
- package/dist/test/streams.test.js +0 -78
- package/dist/test/streams.test.js.map +0 -1
- package/dist/test/utils.d.ts +0 -25
- package/dist/test/utils.d.ts.map +0 -1
- package/dist/test/utils.js +0 -47
- package/dist/test/utils.js.map +0 -1
- package/dist/test/utils.test.d.ts +0 -2
- package/dist/test/utils.test.d.ts.map +0 -1
- package/dist/test/utils.test.js +0 -44
- package/dist/test/utils.test.js.map +0 -1
- package/dist/test/write.test.d.ts +0 -2
- package/dist/test/write.test.d.ts.map +0 -1
- package/dist/test/write.test.js +0 -69
- package/dist/test/write.test.js.map +0 -1
- package/test/blobs-to-blocks.test.ts +0 -79
- package/test/helpers.ts +0 -66
- package/test/pbf-to-blobs.test.ts +0 -91
- package/test/read.bench.ts +0 -46
- package/test/read.test.ts +0 -45
- package/test/streams.test.ts +0 -101
- package/test/utils.test.ts +0 -56
- package/test/utils.ts +0 -65
- package/test/write.test.ts +0 -91
- package/tsconfig.build.json +0 -5
- package/tsconfig.json +0 -9
package/test/write.test.ts
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from "bun:test"
|
|
2
|
-
import { unlink } from "node:fs/promises"
|
|
3
|
-
import {
|
|
4
|
-
getFixtureFile,
|
|
5
|
-
getFixtureFileReadStream,
|
|
6
|
-
getFixtureFileWriteStream,
|
|
7
|
-
getFixturePath,
|
|
8
|
-
PBFs,
|
|
9
|
-
} from "@osmix/shared/test/fixtures"
|
|
10
|
-
import {
|
|
11
|
-
OsmBlocksToPbfBytesTransformStream,
|
|
12
|
-
osmBlockToPbfBlobBytes,
|
|
13
|
-
} from "../src/blocks-to-pbf"
|
|
14
|
-
import {
|
|
15
|
-
OsmPbfBytesToBlocksTransformStream,
|
|
16
|
-
readOsmPbf,
|
|
17
|
-
} from "../src/pbf-to-blocks"
|
|
18
|
-
import { testOsmPbfReader } from "./utils"
|
|
19
|
-
|
|
20
|
-
describe("write", () => {
|
|
21
|
-
describe.each(Object.entries(PBFs))("%s", (name, pbf) => {
|
|
22
|
-
it("to buffer", async () => {
|
|
23
|
-
const fileData = await getFixtureFile(pbf.url)
|
|
24
|
-
const osm = await readOsmPbf(fileData)
|
|
25
|
-
|
|
26
|
-
let node0: number | null = null
|
|
27
|
-
let way0: number | null = null
|
|
28
|
-
let relation0: number | null = null
|
|
29
|
-
|
|
30
|
-
// Write the PBF to an array buffer
|
|
31
|
-
let data = new Uint8Array(0)
|
|
32
|
-
const write = (chunk: Uint8Array) => {
|
|
33
|
-
const newData = new Uint8Array(data.length + chunk.length)
|
|
34
|
-
newData.set(data)
|
|
35
|
-
newData.set(chunk, data.length)
|
|
36
|
-
data = newData
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
write(await osmBlockToPbfBlobBytes(osm.header))
|
|
40
|
-
for await (const block of osm.blocks) {
|
|
41
|
-
for (const group of block.primitivegroup) {
|
|
42
|
-
if (node0 == null && group.dense?.id?.[0] != null) {
|
|
43
|
-
node0 = group.dense.id[0]
|
|
44
|
-
}
|
|
45
|
-
if (way0 == null && group.ways?.[0]?.id != null) {
|
|
46
|
-
way0 = group.ways[0].id
|
|
47
|
-
}
|
|
48
|
-
if (relation0 == null && group.relations?.[0]?.id != null) {
|
|
49
|
-
relation0 = group.relations[0].id
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
write(await osmBlockToPbfBlobBytes(block))
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// Re-parse the new PBF and test
|
|
56
|
-
expect(data.buffer).toBeDefined()
|
|
57
|
-
// Note: We don't assert byte-level equality because the written PBF may have
|
|
58
|
-
// different compression, block ordering, or encoding than the original file.
|
|
59
|
-
// Semantic equivalence (verified by parsing and comparing entities) is more meaningful.
|
|
60
|
-
const osm2 = await readOsmPbf(data)
|
|
61
|
-
|
|
62
|
-
expect(osm.header).toEqual(osm2.header)
|
|
63
|
-
const entities = await testOsmPbfReader(osm2, pbf)
|
|
64
|
-
if (node0 === null || way0 === null || relation0 === null) {
|
|
65
|
-
throw new Error("Expected node0, way0, and relation0 to be set")
|
|
66
|
-
}
|
|
67
|
-
expect(entities.node0).toBe(node0)
|
|
68
|
-
expect(entities.way0).toBe(way0)
|
|
69
|
-
expect(entities.relation0).toBe(relation0)
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
it("to file", async () => {
|
|
73
|
-
const testFileName = `${name}-write-test.pbf`
|
|
74
|
-
const fileStream = getFixtureFileReadStream(pbf.url)
|
|
75
|
-
|
|
76
|
-
const fileWriteStream = getFixtureFileWriteStream(testFileName)
|
|
77
|
-
await fileStream
|
|
78
|
-
.pipeThrough(new OsmPbfBytesToBlocksTransformStream())
|
|
79
|
-
.pipeThrough(new OsmBlocksToPbfBytesTransformStream())
|
|
80
|
-
.pipeTo(fileWriteStream)
|
|
81
|
-
|
|
82
|
-
const testFileData = await getFixtureFile(pbf.url)
|
|
83
|
-
const testOsm = await readOsmPbf(testFileData)
|
|
84
|
-
|
|
85
|
-
expect(testOsm.header.bbox).toEqual(pbf.bbox)
|
|
86
|
-
await testOsmPbfReader(testOsm, pbf)
|
|
87
|
-
|
|
88
|
-
await unlink(getFixturePath(testFileName))
|
|
89
|
-
})
|
|
90
|
-
})
|
|
91
|
-
})
|
package/tsconfig.build.json
DELETED