dump-tile 1.0.1 → 2.0.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 (2) hide show
  1. package/index.js +14 -17
  2. package/package.json +13 -6
package/index.js CHANGED
@@ -1,32 +1,29 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const { buffer } = require('node:stream/consumers');
4
- const Pbf = require('pbf');
5
- const { VectorTile } = require('@mapbox/vector-tile');
3
+ import { buffer } from 'node:stream/consumers';
4
+ import Pbf from '@mapwhit/pbf';
5
+ import { VectorTile } from '@mapwhit/vector-tile';
6
6
 
7
- module.exports = dump;
8
-
9
- function dump(input, output) {
10
- return buffer(input)
11
- .then(buffer => dumpBuffer(buffer, output));
7
+ export default function dump(input, output) {
8
+ return buffer(input).then(buffer => dumpBuffer(buffer, output));
12
9
  }
13
10
 
14
11
  function dumpBuffer(buffer, output) {
15
- let vt = new VectorTile(new Pbf(buffer));
16
- let tile = dumpTile(vt);
12
+ const vt = new VectorTile(new Pbf(buffer));
13
+ const tile = dumpTile(vt);
17
14
  output.write(JSON.stringify(tile, null, 2));
18
15
  output.write('\n');
19
16
  }
20
17
 
21
18
  function dumpTile({ layers }) {
22
- let tile = {};
19
+ const tile = {};
23
20
  tile.layers = Object.values(layers).map(dumpLayer);
24
21
  return tile;
25
22
  }
26
23
 
27
24
  function dumpLayer(vl) {
28
- let { version, name, extent, length } = vl;
29
- let layer = { version, name, extent, features: [] };
25
+ const { version, name, extent, length } = vl;
26
+ const layer = { version, name, extent, features: [] };
30
27
  for (let i = 0; i < length; i++) {
31
28
  layer.features.push(dumpFeature(vl.feature(i)));
32
29
  }
@@ -34,14 +31,14 @@ function dumpLayer(vl) {
34
31
  }
35
32
 
36
33
  function dumpFeature(vf) {
37
- let { type, extent, id, properties } = vf;
38
- let geometry = dumpGeometry(vf.loadGeometry());
34
+ const { type, extent, id, properties } = vf;
35
+ const geometry = dumpGeometry(vf.loadGeometry());
39
36
  return { type, extent, id, properties, geometry };
40
37
  }
41
38
 
42
39
  function dumpGeometry(vg) {
43
40
  function convertRing(ring) {
44
- return ring.reduce(function (r, { x, y }) {
41
+ return ring.reduce((r, { x, y }) => {
45
42
  r.push(x, y);
46
43
  return r;
47
44
  }, []);
@@ -49,6 +46,6 @@ function dumpGeometry(vg) {
49
46
  return vg.map(convertRing);
50
47
  }
51
48
 
52
- if (!module.parent) {
49
+ if (import.meta.main) {
53
50
  dump(process.stdin, process.stdout);
54
51
  }
package/package.json CHANGED
@@ -1,14 +1,21 @@
1
1
  {
2
2
  "name": "dump-tile",
3
- "version": "1.0.1",
3
+ "version": "2.0.0",
4
4
  "description": "Dumps MVT tiles encoded in .pbf to JSON",
5
5
  "author": {
6
6
  "name": "Damian Krzeminski",
7
7
  "email": "pirxpilot@furkot.com",
8
8
  "url": "https://furkot.com"
9
9
  },
10
- "repository": "github:pirxpilot/dump-tile",
11
- "bin": "./index.js",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/pirxpilot/dump-tile.git"
13
+ },
14
+ "type": "module",
15
+ "bin": {
16
+ "dump-tile": "index.js"
17
+ },
18
+ "exports": "./index.js",
12
19
  "license": "MIT",
13
20
  "keywords": [
14
21
  "dump-tile",
@@ -17,11 +24,11 @@
17
24
  "MVT"
18
25
  ],
19
26
  "dependencies": {
20
- "@mapbox/vector-tile": "^1.3.1",
21
- "pbf": "^3.1.0"
27
+ "@mapwhit/vector-tile": "^4.0.0",
28
+ "@mapwhit/pbf": "^2.0.0"
22
29
  },
23
30
  "devDependencies": {
24
- "@pirxpilot/jshint": "~3"
31
+ "@biomejs/biome": "2.3.11"
25
32
  },
26
33
  "scripts": {
27
34
  "test": "make check"