@loaders.gl/mvt 3.1.0-beta.3 → 3.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 (63) hide show
  1. package/dist/bundle.js +114 -102
  2. package/dist/es5/bundle.js +1 -1
  3. package/dist/es5/bundle.js.map +1 -1
  4. package/dist/es5/helpers/binary-util-functions.js +25 -22
  5. package/dist/es5/helpers/binary-util-functions.js.map +1 -1
  6. package/dist/es5/helpers/mapbox-util-functions.js +11 -11
  7. package/dist/es5/helpers/mapbox-util-functions.js.map +1 -1
  8. package/dist/es5/index.js +2 -2
  9. package/dist/es5/lib/binary-vector-tile/vector-tile-feature.js +137 -108
  10. package/dist/es5/lib/binary-vector-tile/vector-tile-feature.js.map +1 -1
  11. package/dist/es5/lib/binary-vector-tile/vector-tile-layer.js +23 -15
  12. package/dist/es5/lib/binary-vector-tile/vector-tile-layer.js.map +1 -1
  13. package/dist/es5/lib/binary-vector-tile/vector-tile.js +8 -8
  14. package/dist/es5/lib/binary-vector-tile/vector-tile.js.map +1 -1
  15. package/dist/es5/lib/mapbox-vector-tile/vector-tile-feature.js +157 -147
  16. package/dist/es5/lib/mapbox-vector-tile/vector-tile-feature.js.map +1 -1
  17. package/dist/es5/lib/mapbox-vector-tile/vector-tile-layer.js +23 -15
  18. package/dist/es5/lib/mapbox-vector-tile/vector-tile-layer.js.map +1 -1
  19. package/dist/es5/lib/mapbox-vector-tile/vector-tile.js +8 -8
  20. package/dist/es5/lib/mapbox-vector-tile/vector-tile.js.map +1 -1
  21. package/dist/es5/lib/parse-mvt.js +38 -35
  22. package/dist/es5/lib/parse-mvt.js.map +1 -1
  23. package/dist/es5/mvt-loader.js +38 -5
  24. package/dist/es5/mvt-loader.js.map +1 -1
  25. package/dist/esm/helpers/binary-util-functions.js +8 -5
  26. package/dist/esm/helpers/binary-util-functions.js.map +1 -1
  27. package/dist/esm/lib/binary-vector-tile/vector-tile-feature.js +31 -30
  28. package/dist/esm/lib/binary-vector-tile/vector-tile-feature.js.map +1 -1
  29. package/dist/esm/lib/binary-vector-tile/vector-tile-layer.js +2 -2
  30. package/dist/esm/lib/binary-vector-tile/vector-tile-layer.js.map +1 -1
  31. package/dist/esm/lib/parse-mvt.js +6 -5
  32. package/dist/esm/lib/parse-mvt.js.map +1 -1
  33. package/dist/esm/mvt-loader.js +1 -1
  34. package/dist/esm/mvt-loader.js.map +1 -1
  35. package/dist/helpers/binary-util-functions.d.ts +2 -6
  36. package/dist/helpers/binary-util-functions.d.ts.map +1 -1
  37. package/dist/helpers/binary-util-functions.js +7 -5
  38. package/dist/lib/binary-vector-tile/vector-tile-feature.d.ts +12 -7
  39. package/dist/lib/binary-vector-tile/vector-tile-feature.d.ts.map +1 -1
  40. package/dist/lib/binary-vector-tile/vector-tile-feature.js +32 -39
  41. package/dist/lib/binary-vector-tile/vector-tile-layer.d.ts +3 -3
  42. package/dist/lib/binary-vector-tile/vector-tile-layer.d.ts.map +1 -1
  43. package/dist/lib/binary-vector-tile/vector-tile-layer.js +3 -3
  44. package/dist/lib/parse-mvt.d.ts +8 -76
  45. package/dist/lib/parse-mvt.d.ts.map +1 -1
  46. package/dist/lib/parse-mvt.js +6 -5
  47. package/dist/lib/types.d.ts +0 -64
  48. package/dist/lib/types.d.ts.map +1 -1
  49. package/dist/mvt-worker.js +102 -97
  50. package/package.json +5 -4
  51. package/src/helpers/binary-util-functions.ts +9 -7
  52. package/src/lib/binary-vector-tile/vector-tile-feature.ts +36 -44
  53. package/src/lib/binary-vector-tile/vector-tile-layer.ts +4 -4
  54. package/src/lib/parse-mvt.ts +10 -8
  55. package/src/lib/types.ts +0 -69
  56. package/dist/es5/lib/binary-vector-tile/features-to-binary.js +0 -338
  57. package/dist/es5/lib/binary-vector-tile/features-to-binary.js.map +0 -1
  58. package/dist/esm/lib/binary-vector-tile/features-to-binary.js +0 -327
  59. package/dist/esm/lib/binary-vector-tile/features-to-binary.js.map +0 -1
  60. package/dist/lib/binary-vector-tile/features-to-binary.d.ts +0 -185
  61. package/dist/lib/binary-vector-tile/features-to-binary.d.ts.map +0 -1
  62. package/dist/lib/binary-vector-tile/features-to-binary.js +0 -353
  63. package/src/lib/binary-vector-tile/features-to-binary.ts +0 -518
@@ -7,16 +7,17 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
10
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
15
 
12
16
  var _mapboxUtilFunctions = require("../../helpers/mapbox-util-functions");
13
17
 
14
- class VectorTileFeature {
15
- static get types() {
16
- return ['Unknown', 'Point', 'LineString', 'Polygon'];
17
- }
18
-
19
- constructor(pbf, end, extent, keys, values) {
18
+ var VectorTileFeature = function () {
19
+ function VectorTileFeature(pbf, end, extent, keys, values) {
20
+ (0, _classCallCheck2.default)(this, VectorTileFeature);
20
21
  (0, _defineProperty2.default)(this, "properties", void 0);
21
22
  (0, _defineProperty2.default)(this, "extent", void 0);
22
23
  (0, _defineProperty2.default)(this, "type", void 0);
@@ -36,172 +37,181 @@ class VectorTileFeature {
36
37
  pbf.readFields(_mapboxUtilFunctions.readFeature, this, end);
37
38
  }
38
39
 
39
- loadGeometry() {
40
- const pbf = this._pbf;
41
- pbf.pos = this._geometry;
42
- const end = pbf.readVarint() + pbf.pos;
43
- let cmd = 1;
44
- let length = 0;
45
- let x = 0;
46
- let y = 0;
47
- const lines = [];
48
- let line;
49
-
50
- while (pbf.pos < end) {
51
- if (length <= 0) {
52
- const cmdLen = pbf.readVarint();
53
- cmd = cmdLen & 0x7;
54
- length = cmdLen >> 3;
55
- }
40
+ (0, _createClass2.default)(VectorTileFeature, [{
41
+ key: "loadGeometry",
42
+ value: function loadGeometry() {
43
+ var pbf = this._pbf;
44
+ pbf.pos = this._geometry;
45
+ var end = pbf.readVarint() + pbf.pos;
46
+ var cmd = 1;
47
+ var length = 0;
48
+ var x = 0;
49
+ var y = 0;
50
+ var lines = [];
51
+ var line;
52
+
53
+ while (pbf.pos < end) {
54
+ if (length <= 0) {
55
+ var cmdLen = pbf.readVarint();
56
+ cmd = cmdLen & 0x7;
57
+ length = cmdLen >> 3;
58
+ }
56
59
 
57
- length--;
60
+ length--;
58
61
 
59
- if (cmd === 1 || cmd === 2) {
60
- x += pbf.readSVarint();
61
- y += pbf.readSVarint();
62
+ if (cmd === 1 || cmd === 2) {
63
+ x += pbf.readSVarint();
64
+ y += pbf.readSVarint();
62
65
 
63
- if (cmd === 1) {
64
- if (line) lines.push(line);
65
- line = [];
66
- }
66
+ if (cmd === 1) {
67
+ if (line) lines.push(line);
68
+ line = [];
69
+ }
67
70
 
68
- if (line) line.push([x, y]);
69
- } else if (cmd === 7) {
70
- if (line) {
71
- line.push(line[0].slice());
71
+ if (line) line.push([x, y]);
72
+ } else if (cmd === 7) {
73
+ if (line) {
74
+ line.push(line[0].slice());
75
+ }
76
+ } else {
77
+ throw new Error("unknown command ".concat(cmd));
72
78
  }
73
- } else {
74
- throw new Error("unknown command ".concat(cmd));
75
79
  }
76
- }
77
80
 
78
- if (line) lines.push(line);
79
- return lines;
80
- }
81
-
82
- bbox() {
83
- const pbf = this._pbf;
84
- pbf.pos = this._geometry;
85
- const end = pbf.readVarint() + pbf.pos;
86
- let cmd = 1;
87
- let length = 0;
88
- let x = 0;
89
- let y = 0;
90
- let x1 = Infinity;
91
- let x2 = -Infinity;
92
- let y1 = Infinity;
93
- let y2 = -Infinity;
94
-
95
- while (pbf.pos < end) {
96
- if (length <= 0) {
97
- const cmdLen = pbf.readVarint();
98
- cmd = cmdLen & 0x7;
99
- length = cmdLen >> 3;
100
- }
101
-
102
- length--;
103
-
104
- if (cmd === 1 || cmd === 2) {
105
- x += pbf.readSVarint();
106
- y += pbf.readSVarint();
107
- if (x < x1) x1 = x;
108
- if (x > x2) x2 = x;
109
- if (y < y1) y1 = y;
110
- if (y > y2) y2 = y;
111
- } else if (cmd !== 7) {
112
- throw new Error("unknown command ".concat(cmd));
113
- }
81
+ if (line) lines.push(line);
82
+ return lines;
114
83
  }
115
-
116
- return [x1, y1, x2, y2];
117
- }
118
-
119
- _toGeoJSON(transform) {
120
- let coords = this.loadGeometry();
121
- let type = VectorTileFeature.types[this.type];
122
- let i;
123
- let j;
124
-
125
- switch (this.type) {
126
- case 1:
127
- const points = [];
128
-
129
- for (i = 0; i < coords.length; i++) {
130
- points[i] = coords[i][0];
84
+ }, {
85
+ key: "bbox",
86
+ value: function bbox() {
87
+ var pbf = this._pbf;
88
+ pbf.pos = this._geometry;
89
+ var end = pbf.readVarint() + pbf.pos;
90
+ var cmd = 1;
91
+ var length = 0;
92
+ var x = 0;
93
+ var y = 0;
94
+ var x1 = Infinity;
95
+ var x2 = -Infinity;
96
+ var y1 = Infinity;
97
+ var y2 = -Infinity;
98
+
99
+ while (pbf.pos < end) {
100
+ if (length <= 0) {
101
+ var cmdLen = pbf.readVarint();
102
+ cmd = cmdLen & 0x7;
103
+ length = cmdLen >> 3;
131
104
  }
132
105
 
133
- coords = points;
134
- transform(coords, this);
135
- break;
136
-
137
- case 2:
138
- for (i = 0; i < coords.length; i++) {
139
- transform(coords[i], this);
106
+ length--;
107
+
108
+ if (cmd === 1 || cmd === 2) {
109
+ x += pbf.readSVarint();
110
+ y += pbf.readSVarint();
111
+ if (x < x1) x1 = x;
112
+ if (x > x2) x2 = x;
113
+ if (y < y1) y1 = y;
114
+ if (y > y2) y2 = y;
115
+ } else if (cmd !== 7) {
116
+ throw new Error("unknown command ".concat(cmd));
140
117
  }
118
+ }
141
119
 
142
- break;
120
+ return [x1, y1, x2, y2];
121
+ }
122
+ }, {
123
+ key: "_toGeoJSON",
124
+ value: function _toGeoJSON(transform) {
125
+ var coords = this.loadGeometry();
126
+ var type = VectorTileFeature.types[this.type];
127
+ var i;
128
+ var j;
129
+
130
+ switch (this.type) {
131
+ case 1:
132
+ var points = [];
133
+
134
+ for (i = 0; i < coords.length; i++) {
135
+ points[i] = coords[i][0];
136
+ }
143
137
 
144
- case 3:
145
- coords = (0, _mapboxUtilFunctions.classifyRings)(coords);
138
+ coords = points;
139
+ transform(coords, this);
140
+ break;
146
141
 
147
- for (i = 0; i < coords.length; i++) {
148
- for (j = 0; j < coords[i].length; j++) {
149
- transform(coords[i][j], this);
142
+ case 2:
143
+ for (i = 0; i < coords.length; i++) {
144
+ transform(coords[i], this);
150
145
  }
151
- }
152
146
 
153
- break;
154
- }
147
+ break;
155
148
 
156
- if (coords.length === 1) {
157
- coords = coords[0];
158
- } else {
159
- type = "Multi".concat(type);
160
- }
149
+ case 3:
150
+ coords = (0, _mapboxUtilFunctions.classifyRings)(coords);
161
151
 
162
- const result = {
163
- type: 'Feature',
164
- geometry: {
165
- type,
166
- coordinates: coords
167
- },
168
- properties: this.properties
169
- };
170
-
171
- if (this.id !== null) {
172
- result.id = this.id;
173
- }
152
+ for (i = 0; i < coords.length; i++) {
153
+ for (j = 0; j < coords[i].length; j++) {
154
+ transform(coords[i][j], this);
155
+ }
156
+ }
174
157
 
175
- return result;
176
- }
158
+ break;
159
+ }
177
160
 
178
- toGeoJSON(options) {
179
- if (typeof options === 'function') {
180
- return this._toGeoJSON(options);
181
- }
161
+ if (coords.length === 1) {
162
+ coords = coords[0];
163
+ } else {
164
+ type = "Multi".concat(type);
165
+ }
182
166
 
183
- const {
184
- x,
185
- y,
186
- z
187
- } = options;
188
- const size = this.extent * Math.pow(2, z);
189
- const x0 = this.extent * x;
190
- const y0 = this.extent * y;
191
-
192
- function project(line) {
193
- for (let j = 0; j < line.length; j++) {
194
- const p = line[j];
195
- p[0] = (p[0] + x0) * 360 / size - 180;
196
- const y2 = 180 - (p[1] + y0) * 360 / size;
197
- p[1] = 360 / Math.PI * Math.atan(Math.exp(y2 * Math.PI / 180)) - 90;
167
+ var result = {
168
+ type: 'Feature',
169
+ geometry: {
170
+ type: type,
171
+ coordinates: coords
172
+ },
173
+ properties: this.properties
174
+ };
175
+
176
+ if (this.id !== null) {
177
+ result.id = this.id;
198
178
  }
179
+
180
+ return result;
199
181
  }
182
+ }, {
183
+ key: "toGeoJSON",
184
+ value: function toGeoJSON(options) {
185
+ if (typeof options === 'function') {
186
+ return this._toGeoJSON(options);
187
+ }
200
188
 
201
- return this._toGeoJSON(project);
202
- }
189
+ var x = options.x,
190
+ y = options.y,
191
+ z = options.z;
192
+ var size = this.extent * Math.pow(2, z);
193
+ var x0 = this.extent * x;
194
+ var y0 = this.extent * y;
195
+
196
+ function project(line) {
197
+ for (var j = 0; j < line.length; j++) {
198
+ var p = line[j];
199
+ p[0] = (p[0] + x0) * 360 / size - 180;
200
+ var y2 = 180 - (p[1] + y0) * 360 / size;
201
+ p[1] = 360 / Math.PI * Math.atan(Math.exp(y2 * Math.PI / 180)) - 90;
202
+ }
203
+ }
203
204
 
204
- }
205
+ return this._toGeoJSON(project);
206
+ }
207
+ }], [{
208
+ key: "types",
209
+ get: function get() {
210
+ return ['Unknown', 'Point', 'LineString', 'Polygon'];
211
+ }
212
+ }]);
213
+ return VectorTileFeature;
214
+ }();
205
215
 
206
216
  exports.default = VectorTileFeature;
207
217
  //# sourceMappingURL=vector-tile-feature.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/mapbox-vector-tile/vector-tile-feature.ts"],"names":["VectorTileFeature","types","constructor","pbf","end","extent","keys","values","properties","type","id","_pbf","_geometry","_keys","_values","readFields","readFeature","loadGeometry","pos","readVarint","cmd","length","x","y","lines","line","cmdLen","readSVarint","push","slice","Error","bbox","x1","Infinity","x2","y1","y2","_toGeoJSON","transform","coords","i","j","points","result","geometry","coordinates","toGeoJSON","options","z","size","Math","pow","x0","y0","project","p","PI","atan","exp"],"mappings":"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","sourcesContent":["// This code is forked from https://github.com/mapbox/vector-tile-js under BSD 3-clause license.\nimport Protobuf from 'pbf';\nimport {MvtMapboxCoordinates, MvtMapboxGeometry} from '../types';\nimport {readFeature, classifyRings} from '../../helpers/mapbox-util-functions';\n\nexport default class VectorTileFeature {\n properties: {[x: string]: string | number | boolean | null};\n extent: any;\n type: number;\n id: number | null;\n _pbf: Protobuf;\n _geometry: number;\n _keys: string[];\n _values: (string | number | boolean | null)[];\n static get types() {\n return ['Unknown', 'Point', 'LineString', 'Polygon'];\n }\n\n constructor(\n pbf: Protobuf,\n end: number,\n extent: any,\n keys: string[],\n values: (string | number | boolean | null)[]\n ) {\n // Public\n this.properties = {};\n this.extent = extent;\n this.type = 0;\n this.id = null;\n\n // Private\n this._pbf = pbf;\n this._geometry = -1;\n this._keys = keys;\n this._values = values;\n\n pbf.readFields(readFeature, this, end);\n }\n\n // eslint-disable-next-line complexity, max-statements\n loadGeometry(): MvtMapboxGeometry {\n const pbf = this._pbf;\n pbf.pos = this._geometry;\n\n const end = pbf.readVarint() + pbf.pos;\n let cmd = 1;\n let length = 0;\n let x = 0;\n let y = 0;\n const lines: number[][][] = [];\n let line: number[][] | undefined;\n\n while (pbf.pos < end) {\n if (length <= 0) {\n const cmdLen = pbf.readVarint();\n cmd = cmdLen & 0x7;\n length = cmdLen >> 3;\n }\n\n length--;\n\n if (cmd === 1 || cmd === 2) {\n x += pbf.readSVarint();\n y += pbf.readSVarint();\n\n if (cmd === 1) {\n // moveTo\n if (line) lines.push(line);\n line = [];\n }\n if (line) line.push([x, y]);\n } else if (cmd === 7) {\n // Workaround for https://github.com/mapbox/mapnik-vector-tile/issues/90\n if (line) {\n line.push(line[0].slice()); // closePolygon\n }\n } else {\n throw new Error(`unknown command ${cmd}`);\n }\n }\n\n if (line) lines.push(line);\n\n return lines;\n }\n\n // eslint-disable-next-line max-statements\n bbox() {\n const pbf = this._pbf;\n pbf.pos = this._geometry;\n\n const end = pbf.readVarint() + pbf.pos;\n let cmd = 1;\n let length = 0;\n let x = 0;\n let y = 0;\n let x1 = Infinity;\n let x2 = -Infinity;\n let y1 = Infinity;\n let y2 = -Infinity;\n\n while (pbf.pos < end) {\n if (length <= 0) {\n const cmdLen = pbf.readVarint();\n cmd = cmdLen & 0x7;\n length = cmdLen >> 3;\n }\n\n length--;\n\n if (cmd === 1 || cmd === 2) {\n x += pbf.readSVarint();\n y += pbf.readSVarint();\n if (x < x1) x1 = x;\n if (x > x2) x2 = x;\n if (y < y1) y1 = y;\n if (y > y2) y2 = y;\n } else if (cmd !== 7) {\n throw new Error(`unknown command ${cmd}`);\n }\n }\n\n return [x1, y1, x2, y2];\n }\n\n _toGeoJSON(transform) {\n let coords = this.loadGeometry();\n let type = VectorTileFeature.types[this.type];\n let i: number;\n let j: number;\n\n // eslint-disable-next-line default-case\n switch (this.type) {\n case 1:\n const points: number[] = [];\n for (i = 0; i < coords.length; i++) {\n points[i] = coords[i][0];\n }\n coords = points;\n transform(coords, this);\n break;\n\n case 2:\n for (i = 0; i < coords.length; i++) {\n transform(coords[i], this);\n }\n break;\n\n case 3:\n coords = classifyRings(coords);\n for (i = 0; i < coords.length; i++) {\n for (j = 0; j < coords[i].length; j++) {\n transform(coords[i][j], this);\n }\n }\n break;\n }\n\n if (coords.length === 1) {\n coords = coords[0];\n } else {\n type = `Multi${type}`;\n }\n\n const result: MvtMapboxCoordinates = {\n type: 'Feature',\n geometry: {\n type,\n coordinates: coords\n },\n properties: this.properties\n };\n\n if (this.id !== null) {\n result.id = this.id;\n }\n\n return result;\n }\n\n toGeoJSON(\n options: {x: number; y: number; z: number} | ((data: number[], feature: {extent: any}) => void)\n ): MvtMapboxCoordinates {\n if (typeof options === 'function') {\n return this._toGeoJSON(options);\n }\n const {x, y, z} = options;\n const size = this.extent * Math.pow(2, z);\n const x0 = this.extent * x;\n const y0 = this.extent * y;\n\n function project(line: number[]) {\n for (let j = 0; j < line.length; j++) {\n const p = line[j];\n p[0] = ((p[0] + x0) * 360) / size - 180;\n const y2 = 180 - ((p[1] + y0) * 360) / size;\n p[1] = (360 / Math.PI) * Math.atan(Math.exp((y2 * Math.PI) / 180)) - 90;\n }\n }\n return this._toGeoJSON(project);\n }\n}\n"],"file":"vector-tile-feature.js"}
1
+ {"version":3,"sources":["../../../../src/lib/mapbox-vector-tile/vector-tile-feature.ts"],"names":["VectorTileFeature","pbf","end","extent","keys","values","properties","type","id","_pbf","_geometry","_keys","_values","readFields","readFeature","pos","readVarint","cmd","length","x","y","lines","line","cmdLen","readSVarint","push","slice","Error","x1","Infinity","x2","y1","y2","transform","coords","loadGeometry","types","i","j","points","result","geometry","coordinates","options","_toGeoJSON","z","size","Math","pow","x0","y0","project","p","PI","atan","exp"],"mappings":";;;;;;;;;;;;;;;AAGA;;IAEqBA,iB;AAanB,6BACEC,GADF,EAEEC,GAFF,EAGEC,MAHF,EAIEC,IAJF,EAKEC,MALF,EAME;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,SAAKC,UAAL,GAAkB,EAAlB;AACA,SAAKH,MAAL,GAAcA,MAAd;AACA,SAAKI,IAAL,GAAY,CAAZ;AACA,SAAKC,EAAL,GAAU,IAAV;AAGA,SAAKC,IAAL,GAAYR,GAAZ;AACA,SAAKS,SAAL,GAAiB,CAAC,CAAlB;AACA,SAAKC,KAAL,GAAaP,IAAb;AACA,SAAKQ,OAAL,GAAeP,MAAf;AAEAJ,IAAAA,GAAG,CAACY,UAAJ,CAAeC,gCAAf,EAA4B,IAA5B,EAAkCZ,GAAlC;AACD;;;;WAGD,wBAAkC;AAChC,UAAMD,GAAG,GAAG,KAAKQ,IAAjB;AACAR,MAAAA,GAAG,CAACc,GAAJ,GAAU,KAAKL,SAAf;AAEA,UAAMR,GAAG,GAAGD,GAAG,CAACe,UAAJ,KAAmBf,GAAG,CAACc,GAAnC;AACA,UAAIE,GAAG,GAAG,CAAV;AACA,UAAIC,MAAM,GAAG,CAAb;AACA,UAAIC,CAAC,GAAG,CAAR;AACA,UAAIC,CAAC,GAAG,CAAR;AACA,UAAMC,KAAmB,GAAG,EAA5B;AACA,UAAIC,IAAJ;;AAEA,aAAOrB,GAAG,CAACc,GAAJ,GAAUb,GAAjB,EAAsB;AACpB,YAAIgB,MAAM,IAAI,CAAd,EAAiB;AACf,cAAMK,MAAM,GAAGtB,GAAG,CAACe,UAAJ,EAAf;AACAC,UAAAA,GAAG,GAAGM,MAAM,GAAG,GAAf;AACAL,UAAAA,MAAM,GAAGK,MAAM,IAAI,CAAnB;AACD;;AAEDL,QAAAA,MAAM;;AAEN,YAAID,GAAG,KAAK,CAAR,IAAaA,GAAG,KAAK,CAAzB,EAA4B;AAC1BE,UAAAA,CAAC,IAAIlB,GAAG,CAACuB,WAAJ,EAAL;AACAJ,UAAAA,CAAC,IAAInB,GAAG,CAACuB,WAAJ,EAAL;;AAEA,cAAIP,GAAG,KAAK,CAAZ,EAAe;AAEb,gBAAIK,IAAJ,EAAUD,KAAK,CAACI,IAAN,CAAWH,IAAX;AACVA,YAAAA,IAAI,GAAG,EAAP;AACD;;AACD,cAAIA,IAAJ,EAAUA,IAAI,CAACG,IAAL,CAAU,CAACN,CAAD,EAAIC,CAAJ,CAAV;AACX,SAVD,MAUO,IAAIH,GAAG,KAAK,CAAZ,EAAe;AAEpB,cAAIK,IAAJ,EAAU;AACRA,YAAAA,IAAI,CAACG,IAAL,CAAUH,IAAI,CAAC,CAAD,CAAJ,CAAQI,KAAR,EAAV;AACD;AACF,SALM,MAKA;AACL,gBAAM,IAAIC,KAAJ,2BAA6BV,GAA7B,EAAN;AACD;AACF;;AAED,UAAIK,IAAJ,EAAUD,KAAK,CAACI,IAAN,CAAWH,IAAX;AAEV,aAAOD,KAAP;AACD;;;WAGD,gBAAO;AACL,UAAMpB,GAAG,GAAG,KAAKQ,IAAjB;AACAR,MAAAA,GAAG,CAACc,GAAJ,GAAU,KAAKL,SAAf;AAEA,UAAMR,GAAG,GAAGD,GAAG,CAACe,UAAJ,KAAmBf,GAAG,CAACc,GAAnC;AACA,UAAIE,GAAG,GAAG,CAAV;AACA,UAAIC,MAAM,GAAG,CAAb;AACA,UAAIC,CAAC,GAAG,CAAR;AACA,UAAIC,CAAC,GAAG,CAAR;AACA,UAAIQ,EAAE,GAAGC,QAAT;AACA,UAAIC,EAAE,GAAG,CAACD,QAAV;AACA,UAAIE,EAAE,GAAGF,QAAT;AACA,UAAIG,EAAE,GAAG,CAACH,QAAV;;AAEA,aAAO5B,GAAG,CAACc,GAAJ,GAAUb,GAAjB,EAAsB;AACpB,YAAIgB,MAAM,IAAI,CAAd,EAAiB;AACf,cAAMK,MAAM,GAAGtB,GAAG,CAACe,UAAJ,EAAf;AACAC,UAAAA,GAAG,GAAGM,MAAM,GAAG,GAAf;AACAL,UAAAA,MAAM,GAAGK,MAAM,IAAI,CAAnB;AACD;;AAEDL,QAAAA,MAAM;;AAEN,YAAID,GAAG,KAAK,CAAR,IAAaA,GAAG,KAAK,CAAzB,EAA4B;AAC1BE,UAAAA,CAAC,IAAIlB,GAAG,CAACuB,WAAJ,EAAL;AACAJ,UAAAA,CAAC,IAAInB,GAAG,CAACuB,WAAJ,EAAL;AACA,cAAIL,CAAC,GAAGS,EAAR,EAAYA,EAAE,GAAGT,CAAL;AACZ,cAAIA,CAAC,GAAGW,EAAR,EAAYA,EAAE,GAAGX,CAAL;AACZ,cAAIC,CAAC,GAAGW,EAAR,EAAYA,EAAE,GAAGX,CAAL;AACZ,cAAIA,CAAC,GAAGY,EAAR,EAAYA,EAAE,GAAGZ,CAAL;AACb,SAPD,MAOO,IAAIH,GAAG,KAAK,CAAZ,EAAe;AACpB,gBAAM,IAAIU,KAAJ,2BAA6BV,GAA7B,EAAN;AACD;AACF;;AAED,aAAO,CAACW,EAAD,EAAKG,EAAL,EAASD,EAAT,EAAaE,EAAb,CAAP;AACD;;;WAED,oBAAWC,SAAX,EAAsB;AACpB,UAAIC,MAAM,GAAG,KAAKC,YAAL,EAAb;AACA,UAAI5B,IAAI,GAAGP,iBAAiB,CAACoC,KAAlB,CAAwB,KAAK7B,IAA7B,CAAX;AACA,UAAI8B,CAAJ;AACA,UAAIC,CAAJ;;AAGA,cAAQ,KAAK/B,IAAb;AACE,aAAK,CAAL;AACE,cAAMgC,MAAgB,GAAG,EAAzB;;AACA,eAAKF,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGH,MAAM,CAAChB,MAAvB,EAA+BmB,CAAC,EAAhC,EAAoC;AAClCE,YAAAA,MAAM,CAACF,CAAD,CAAN,GAAYH,MAAM,CAACG,CAAD,CAAN,CAAU,CAAV,CAAZ;AACD;;AACDH,UAAAA,MAAM,GAAGK,MAAT;AACAN,UAAAA,SAAS,CAACC,MAAD,EAAS,IAAT,CAAT;AACA;;AAEF,aAAK,CAAL;AACE,eAAKG,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGH,MAAM,CAAChB,MAAvB,EAA+BmB,CAAC,EAAhC,EAAoC;AAClCJ,YAAAA,SAAS,CAACC,MAAM,CAACG,CAAD,CAAP,EAAY,IAAZ,CAAT;AACD;;AACD;;AAEF,aAAK,CAAL;AACEH,UAAAA,MAAM,GAAG,wCAAcA,MAAd,CAAT;;AACA,eAAKG,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGH,MAAM,CAAChB,MAAvB,EAA+BmB,CAAC,EAAhC,EAAoC;AAClC,iBAAKC,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGJ,MAAM,CAACG,CAAD,CAAN,CAAUnB,MAA1B,EAAkCoB,CAAC,EAAnC,EAAuC;AACrCL,cAAAA,SAAS,CAACC,MAAM,CAACG,CAAD,CAAN,CAAUC,CAAV,CAAD,EAAe,IAAf,CAAT;AACD;AACF;;AACD;AAvBJ;;AA0BA,UAAIJ,MAAM,CAAChB,MAAP,KAAkB,CAAtB,EAAyB;AACvBgB,QAAAA,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAf;AACD,OAFD,MAEO;AACL3B,QAAAA,IAAI,kBAAWA,IAAX,CAAJ;AACD;;AAED,UAAMiC,MAA4B,GAAG;AACnCjC,QAAAA,IAAI,EAAE,SAD6B;AAEnCkC,QAAAA,QAAQ,EAAE;AACRlC,UAAAA,IAAI,EAAJA,IADQ;AAERmC,UAAAA,WAAW,EAAER;AAFL,SAFyB;AAMnC5B,QAAAA,UAAU,EAAE,KAAKA;AANkB,OAArC;;AASA,UAAI,KAAKE,EAAL,KAAY,IAAhB,EAAsB;AACpBgC,QAAAA,MAAM,CAAChC,EAAP,GAAY,KAAKA,EAAjB;AACD;;AAED,aAAOgC,MAAP;AACD;;;WAED,mBACEG,OADF,EAEwB;AACtB,UAAI,OAAOA,OAAP,KAAmB,UAAvB,EAAmC;AACjC,eAAO,KAAKC,UAAL,CAAgBD,OAAhB,CAAP;AACD;;AACD,UAAOxB,CAAP,GAAkBwB,OAAlB,CAAOxB,CAAP;AAAA,UAAUC,CAAV,GAAkBuB,OAAlB,CAAUvB,CAAV;AAAA,UAAayB,CAAb,GAAkBF,OAAlB,CAAaE,CAAb;AACA,UAAMC,IAAI,GAAG,KAAK3C,MAAL,GAAc4C,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYH,CAAZ,CAA3B;AACA,UAAMI,EAAE,GAAG,KAAK9C,MAAL,GAAcgB,CAAzB;AACA,UAAM+B,EAAE,GAAG,KAAK/C,MAAL,GAAciB,CAAzB;;AAEA,eAAS+B,OAAT,CAAiB7B,IAAjB,EAAiC;AAC/B,aAAK,IAAIgB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGhB,IAAI,CAACJ,MAAzB,EAAiCoB,CAAC,EAAlC,EAAsC;AACpC,cAAMc,CAAC,GAAG9B,IAAI,CAACgB,CAAD,CAAd;AACAc,UAAAA,CAAC,CAAC,CAAD,CAAD,GAAQ,CAACA,CAAC,CAAC,CAAD,CAAD,GAAOH,EAAR,IAAc,GAAf,GAAsBH,IAAtB,GAA6B,GAApC;AACA,cAAMd,EAAE,GAAG,MAAO,CAACoB,CAAC,CAAC,CAAD,CAAD,GAAOF,EAAR,IAAc,GAAf,GAAsBJ,IAAvC;AACAM,UAAAA,CAAC,CAAC,CAAD,CAAD,GAAQ,MAAML,IAAI,CAACM,EAAZ,GAAkBN,IAAI,CAACO,IAAL,CAAUP,IAAI,CAACQ,GAAL,CAAUvB,EAAE,GAAGe,IAAI,CAACM,EAAX,GAAiB,GAA1B,CAAV,CAAlB,GAA8D,EAArE;AACD;AACF;;AACD,aAAO,KAAKT,UAAL,CAAgBO,OAAhB,CAAP;AACD;;;SA3LD,eAAmB;AACjB,aAAO,CAAC,SAAD,EAAY,OAAZ,EAAqB,YAArB,EAAmC,SAAnC,CAAP;AACD","sourcesContent":["// This code is forked from https://github.com/mapbox/vector-tile-js under BSD 3-clause license.\nimport Protobuf from 'pbf';\nimport {MvtMapboxCoordinates, MvtMapboxGeometry} from '../types';\nimport {readFeature, classifyRings} from '../../helpers/mapbox-util-functions';\n\nexport default class VectorTileFeature {\n properties: {[x: string]: string | number | boolean | null};\n extent: any;\n type: number;\n id: number | null;\n _pbf: Protobuf;\n _geometry: number;\n _keys: string[];\n _values: (string | number | boolean | null)[];\n static get types() {\n return ['Unknown', 'Point', 'LineString', 'Polygon'];\n }\n\n constructor(\n pbf: Protobuf,\n end: number,\n extent: any,\n keys: string[],\n values: (string | number | boolean | null)[]\n ) {\n // Public\n this.properties = {};\n this.extent = extent;\n this.type = 0;\n this.id = null;\n\n // Private\n this._pbf = pbf;\n this._geometry = -1;\n this._keys = keys;\n this._values = values;\n\n pbf.readFields(readFeature, this, end);\n }\n\n // eslint-disable-next-line complexity, max-statements\n loadGeometry(): MvtMapboxGeometry {\n const pbf = this._pbf;\n pbf.pos = this._geometry;\n\n const end = pbf.readVarint() + pbf.pos;\n let cmd = 1;\n let length = 0;\n let x = 0;\n let y = 0;\n const lines: number[][][] = [];\n let line: number[][] | undefined;\n\n while (pbf.pos < end) {\n if (length <= 0) {\n const cmdLen = pbf.readVarint();\n cmd = cmdLen & 0x7;\n length = cmdLen >> 3;\n }\n\n length--;\n\n if (cmd === 1 || cmd === 2) {\n x += pbf.readSVarint();\n y += pbf.readSVarint();\n\n if (cmd === 1) {\n // moveTo\n if (line) lines.push(line);\n line = [];\n }\n if (line) line.push([x, y]);\n } else if (cmd === 7) {\n // Workaround for https://github.com/mapbox/mapnik-vector-tile/issues/90\n if (line) {\n line.push(line[0].slice()); // closePolygon\n }\n } else {\n throw new Error(`unknown command ${cmd}`);\n }\n }\n\n if (line) lines.push(line);\n\n return lines;\n }\n\n // eslint-disable-next-line max-statements\n bbox() {\n const pbf = this._pbf;\n pbf.pos = this._geometry;\n\n const end = pbf.readVarint() + pbf.pos;\n let cmd = 1;\n let length = 0;\n let x = 0;\n let y = 0;\n let x1 = Infinity;\n let x2 = -Infinity;\n let y1 = Infinity;\n let y2 = -Infinity;\n\n while (pbf.pos < end) {\n if (length <= 0) {\n const cmdLen = pbf.readVarint();\n cmd = cmdLen & 0x7;\n length = cmdLen >> 3;\n }\n\n length--;\n\n if (cmd === 1 || cmd === 2) {\n x += pbf.readSVarint();\n y += pbf.readSVarint();\n if (x < x1) x1 = x;\n if (x > x2) x2 = x;\n if (y < y1) y1 = y;\n if (y > y2) y2 = y;\n } else if (cmd !== 7) {\n throw new Error(`unknown command ${cmd}`);\n }\n }\n\n return [x1, y1, x2, y2];\n }\n\n _toGeoJSON(transform) {\n let coords = this.loadGeometry();\n let type = VectorTileFeature.types[this.type];\n let i: number;\n let j: number;\n\n // eslint-disable-next-line default-case\n switch (this.type) {\n case 1:\n const points: number[] = [];\n for (i = 0; i < coords.length; i++) {\n points[i] = coords[i][0];\n }\n coords = points;\n transform(coords, this);\n break;\n\n case 2:\n for (i = 0; i < coords.length; i++) {\n transform(coords[i], this);\n }\n break;\n\n case 3:\n coords = classifyRings(coords);\n for (i = 0; i < coords.length; i++) {\n for (j = 0; j < coords[i].length; j++) {\n transform(coords[i][j], this);\n }\n }\n break;\n }\n\n if (coords.length === 1) {\n coords = coords[0];\n } else {\n type = `Multi${type}`;\n }\n\n const result: MvtMapboxCoordinates = {\n type: 'Feature',\n geometry: {\n type,\n coordinates: coords\n },\n properties: this.properties\n };\n\n if (this.id !== null) {\n result.id = this.id;\n }\n\n return result;\n }\n\n toGeoJSON(\n options: {x: number; y: number; z: number} | ((data: number[], feature: {extent: any}) => void)\n ): MvtMapboxCoordinates {\n if (typeof options === 'function') {\n return this._toGeoJSON(options);\n }\n const {x, y, z} = options;\n const size = this.extent * Math.pow(2, z);\n const x0 = this.extent * x;\n const y0 = this.extent * y;\n\n function project(line: number[]) {\n for (let j = 0; j < line.length; j++) {\n const p = line[j];\n p[0] = ((p[0] + x0) * 360) / size - 180;\n const y2 = 180 - ((p[1] + y0) * 360) / size;\n p[1] = (360 / Math.PI) * Math.atan(Math.exp((y2 * Math.PI) / 180)) - 90;\n }\n }\n return this._toGeoJSON(project);\n }\n}\n"],"file":"vector-tile-feature.js"}
@@ -7,12 +7,17 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
10
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
15
 
12
16
  var _vectorTileFeature = _interopRequireDefault(require("./vector-tile-feature"));
13
17
 
14
- class VectorTileLayer {
15
- constructor(pbf, end) {
18
+ var VectorTileLayer = function () {
19
+ function VectorTileLayer(pbf, end) {
20
+ (0, _classCallCheck2.default)(this, VectorTileLayer);
16
21
  (0, _defineProperty2.default)(this, "version", void 0);
17
22
  (0, _defineProperty2.default)(this, "name", void 0);
18
23
  (0, _defineProperty2.default)(this, "extent", void 0);
@@ -33,19 +38,22 @@ class VectorTileLayer {
33
38
  this.length = this._features.length;
34
39
  }
35
40
 
36
- feature(i) {
37
- if (i < 0 || i >= this._features.length) {
38
- throw new Error('feature index out of bounds');
39
- }
41
+ (0, _createClass2.default)(VectorTileLayer, [{
42
+ key: "feature",
43
+ value: function feature(i) {
44
+ if (i < 0 || i >= this._features.length) {
45
+ throw new Error('feature index out of bounds');
46
+ }
40
47
 
41
- this._pbf.pos = this._features[i];
48
+ this._pbf.pos = this._features[i];
42
49
 
43
- const end = this._pbf.readVarint() + this._pbf.pos;
50
+ var end = this._pbf.readVarint() + this._pbf.pos;
44
51
 
45
- return new _vectorTileFeature.default(this._pbf, end, this.extent, this._keys, this._values);
46
- }
47
-
48
- }
52
+ return new _vectorTileFeature.default(this._pbf, end, this.extent, this._keys, this._values);
53
+ }
54
+ }]);
55
+ return VectorTileLayer;
56
+ }();
49
57
 
50
58
  exports.default = VectorTileLayer;
51
59
 
@@ -56,11 +64,11 @@ function readLayer(tag, layer, pbf) {
56
64
  }
57
65
 
58
66
  function readValueMessage(pbf) {
59
- let value = null;
60
- const end = pbf.readVarint() + pbf.pos;
67
+ var value = null;
68
+ var end = pbf.readVarint() + pbf.pos;
61
69
 
62
70
  while (pbf.pos < end) {
63
- const tag = pbf.readVarint() >> 3;
71
+ var tag = pbf.readVarint() >> 3;
64
72
  value = tag === 1 ? pbf.readString() : tag === 2 ? pbf.readFloat() : tag === 3 ? pbf.readDouble() : tag === 4 ? pbf.readVarint64() : tag === 5 ? pbf.readVarint() : tag === 6 ? pbf.readSVarint() : tag === 7 ? pbf.readBoolean() : null;
65
73
  }
66
74
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/mapbox-vector-tile/vector-tile-layer.ts"],"names":["VectorTileLayer","constructor","pbf","end","version","name","extent","length","_pbf","_keys","_values","_features","readFields","readLayer","feature","i","Error","pos","readVarint","VectorTileFeature","tag","layer","readString","push","readValueMessage","value","readFloat","readDouble","readVarint64","readSVarint","readBoolean"],"mappings":"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","sourcesContent":["/* eslint-disable indent */\n// This code is forked from https://github.com/mapbox/vector-tile-js under BSD 3-clause license.\n\nimport Protobuf from 'pbf';\nimport VectorTileFeature from './vector-tile-feature';\n\nexport default class VectorTileLayer {\n version: number;\n name: string;\n extent: number;\n length: number;\n _pbf: Protobuf;\n _keys: string[];\n _values: (string | number | boolean | null)[];\n _features: number[];\n constructor(pbf: Protobuf, end: number) {\n // Public\n this.version = 1;\n this.name = '';\n this.extent = 4096;\n this.length = 0;\n\n // Private\n this._pbf = pbf;\n this._keys = [];\n this._values = [];\n this._features = [];\n\n pbf.readFields(readLayer, this, end);\n\n this.length = this._features.length;\n }\n\n /**\n * return feature `i` from this layer as a `VectorTileFeature`\n * @param index\n * @returns feature\n */\n\n feature(i: number): VectorTileFeature {\n if (i < 0 || i >= this._features.length) {\n throw new Error('feature index out of bounds');\n }\n\n this._pbf.pos = this._features[i];\n\n const end = this._pbf.readVarint() + this._pbf.pos;\n return new VectorTileFeature(this._pbf, end, this.extent, this._keys, this._values);\n }\n}\n\n/**\n *\n * @param tag\n * @param layer\n * @param pbf\n */\nfunction readLayer(tag: number, layer?: VectorTileLayer, pbf?: Protobuf): void {\n if (layer && pbf) {\n if (tag === 15) layer.version = pbf.readVarint();\n else if (tag === 1) layer.name = pbf.readString();\n else if (tag === 5) layer.extent = pbf.readVarint();\n else if (tag === 2) layer._features.push(pbf.pos);\n else if (tag === 3) layer._keys.push(pbf.readString());\n else if (tag === 4) layer._values.push(readValueMessage(pbf));\n }\n}\n\n/**\n *\n * @param pbf\n * @returns value\n */\nfunction readValueMessage(pbf: Protobuf) {\n let value: string | number | boolean | null = null;\n const end = pbf.readVarint() + pbf.pos;\n\n while (pbf.pos < end) {\n const tag = pbf.readVarint() >> 3;\n\n value =\n tag === 1\n ? pbf.readString()\n : tag === 2\n ? pbf.readFloat()\n : tag === 3\n ? pbf.readDouble()\n : tag === 4\n ? pbf.readVarint64()\n : tag === 5\n ? pbf.readVarint()\n : tag === 6\n ? pbf.readSVarint()\n : tag === 7\n ? pbf.readBoolean()\n : null;\n }\n\n return value;\n}\n"],"file":"vector-tile-layer.js"}
1
+ {"version":3,"sources":["../../../../src/lib/mapbox-vector-tile/vector-tile-layer.ts"],"names":["VectorTileLayer","pbf","end","version","name","extent","length","_pbf","_keys","_values","_features","readFields","readLayer","i","Error","pos","readVarint","VectorTileFeature","tag","layer","readString","push","readValueMessage","value","readFloat","readDouble","readVarint64","readSVarint","readBoolean"],"mappings":"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","sourcesContent":["/* eslint-disable indent */\n// This code is forked from https://github.com/mapbox/vector-tile-js under BSD 3-clause license.\n\nimport Protobuf from 'pbf';\nimport VectorTileFeature from './vector-tile-feature';\n\nexport default class VectorTileLayer {\n version: number;\n name: string;\n extent: number;\n length: number;\n _pbf: Protobuf;\n _keys: string[];\n _values: (string | number | boolean | null)[];\n _features: number[];\n constructor(pbf: Protobuf, end: number) {\n // Public\n this.version = 1;\n this.name = '';\n this.extent = 4096;\n this.length = 0;\n\n // Private\n this._pbf = pbf;\n this._keys = [];\n this._values = [];\n this._features = [];\n\n pbf.readFields(readLayer, this, end);\n\n this.length = this._features.length;\n }\n\n /**\n * return feature `i` from this layer as a `VectorTileFeature`\n * @param index\n * @returns feature\n */\n\n feature(i: number): VectorTileFeature {\n if (i < 0 || i >= this._features.length) {\n throw new Error('feature index out of bounds');\n }\n\n this._pbf.pos = this._features[i];\n\n const end = this._pbf.readVarint() + this._pbf.pos;\n return new VectorTileFeature(this._pbf, end, this.extent, this._keys, this._values);\n }\n}\n\n/**\n *\n * @param tag\n * @param layer\n * @param pbf\n */\nfunction readLayer(tag: number, layer?: VectorTileLayer, pbf?: Protobuf): void {\n if (layer && pbf) {\n if (tag === 15) layer.version = pbf.readVarint();\n else if (tag === 1) layer.name = pbf.readString();\n else if (tag === 5) layer.extent = pbf.readVarint();\n else if (tag === 2) layer._features.push(pbf.pos);\n else if (tag === 3) layer._keys.push(pbf.readString());\n else if (tag === 4) layer._values.push(readValueMessage(pbf));\n }\n}\n\n/**\n *\n * @param pbf\n * @returns value\n */\nfunction readValueMessage(pbf: Protobuf) {\n let value: string | number | boolean | null = null;\n const end = pbf.readVarint() + pbf.pos;\n\n while (pbf.pos < end) {\n const tag = pbf.readVarint() >> 3;\n\n value =\n tag === 1\n ? pbf.readString()\n : tag === 2\n ? pbf.readFloat()\n : tag === 3\n ? pbf.readDouble()\n : tag === 4\n ? pbf.readVarint64()\n : tag === 5\n ? pbf.readVarint()\n : tag === 6\n ? pbf.readSVarint()\n : tag === 7\n ? pbf.readBoolean()\n : null;\n }\n\n return value;\n}\n"],"file":"vector-tile-layer.js"}
@@ -7,24 +7,24 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
10
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
13
 
12
14
  var _vectorTileLayer = _interopRequireDefault(require("./vector-tile-layer"));
13
15
 
14
- class VectorTile {
15
- constructor(pbf, end) {
16
- (0, _defineProperty2.default)(this, "layers", void 0);
17
- this.layers = pbf.readFields(readTile, {}, end);
18
- }
19
-
20
- }
16
+ var VectorTile = function VectorTile(pbf, end) {
17
+ (0, _classCallCheck2.default)(this, VectorTile);
18
+ (0, _defineProperty2.default)(this, "layers", void 0);
19
+ this.layers = pbf.readFields(readTile, {}, end);
20
+ };
21
21
 
22
22
  exports.default = VectorTile;
23
23
 
24
24
  function readTile(tag, layers, pbf) {
25
25
  if (tag === 3) {
26
26
  if (pbf) {
27
- const layer = new _vectorTileLayer.default(pbf, pbf.readVarint() + pbf.pos);
27
+ var layer = new _vectorTileLayer.default(pbf, pbf.readVarint() + pbf.pos);
28
28
 
29
29
  if (layer.length && layers) {
30
30
  layers[layer.name] = layer;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/mapbox-vector-tile/vector-tile.ts"],"names":["VectorTile","constructor","pbf","end","layers","readFields","readTile","tag","layer","VectorTileLayer","readVarint","pos","length","name"],"mappings":";;;;;;;;;;;AAEA;;AAGe,MAAMA,UAAN,CAAiB;AAE9BC,EAAAA,WAAW,CAACC,GAAD,EAAgBC,GAAhB,EAA8B;AAAA;AACvC,SAAKC,MAAL,GAAcF,GAAG,CAACG,UAAJ,CAAeC,QAAf,EAAyB,EAAzB,EAA6BH,GAA7B,CAAd;AACD;;AAJ6B;;;;AAahC,SAASG,QAAT,CAAkBC,GAAlB,EAA+BH,MAA/B,EAAwEF,GAAxE,EAA8F;AAC5F,MAAIK,GAAG,KAAK,CAAZ,EAAe;AACb,QAAIL,GAAJ,EAAS;AACP,YAAMM,KAAK,GAAG,IAAIC,wBAAJ,CAAoBP,GAApB,EAAyBA,GAAG,CAACQ,UAAJ,KAAmBR,GAAG,CAACS,GAAhD,CAAd;;AACA,UAAIH,KAAK,CAACI,MAAN,IAAgBR,MAApB,EAA4B;AAC1BA,QAAAA,MAAM,CAACI,KAAK,CAACK,IAAP,CAAN,GAAqBL,KAArB;AACD;AACF;AACF;AACF","sourcesContent":["// This code is forked from https://github.com/mapbox/vector-tile-js under BSD 3-clause license.\n\nimport VectorTileLayer from './vector-tile-layer';\nimport Protobuf from 'pbf';\n\nexport default class VectorTile {\n layers: {[x: string]: VectorTileLayer};\n constructor(pbf: Protobuf, end?: number) {\n this.layers = pbf.readFields(readTile, {}, end);\n }\n}\n\n/**\n *\n * @param tag\n * @param layers\n * @param pbf\n */\nfunction readTile(tag: number, layers?: {[x: string]: VectorTileLayer}, pbf?: Protobuf): void {\n if (tag === 3) {\n if (pbf) {\n const layer = new VectorTileLayer(pbf, pbf.readVarint() + pbf.pos);\n if (layer.length && layers) {\n layers[layer.name] = layer;\n }\n }\n }\n}\n"],"file":"vector-tile.js"}
1
+ {"version":3,"sources":["../../../../src/lib/mapbox-vector-tile/vector-tile.ts"],"names":["VectorTile","pbf","end","layers","readFields","readTile","tag","layer","VectorTileLayer","readVarint","pos","length","name"],"mappings":";;;;;;;;;;;;;AAEA;;IAGqBA,U,GAEnB,oBAAYC,GAAZ,EAA2BC,GAA3B,EAAyC;AAAA;AAAA;AACvC,OAAKC,MAAL,GAAcF,GAAG,CAACG,UAAJ,CAAeC,QAAf,EAAyB,EAAzB,EAA6BH,GAA7B,CAAd;AACD,C;;;;AASH,SAASG,QAAT,CAAkBC,GAAlB,EAA+BH,MAA/B,EAAwEF,GAAxE,EAA8F;AAC5F,MAAIK,GAAG,KAAK,CAAZ,EAAe;AACb,QAAIL,GAAJ,EAAS;AACP,UAAMM,KAAK,GAAG,IAAIC,wBAAJ,CAAoBP,GAApB,EAAyBA,GAAG,CAACQ,UAAJ,KAAmBR,GAAG,CAACS,GAAhD,CAAd;;AACA,UAAIH,KAAK,CAACI,MAAN,IAAgBR,MAApB,EAA4B;AAC1BA,QAAAA,MAAM,CAACI,KAAK,CAACK,IAAP,CAAN,GAAqBL,KAArB;AACD;AACF;AACF;AACF","sourcesContent":["// This code is forked from https://github.com/mapbox/vector-tile-js under BSD 3-clause license.\n\nimport VectorTileLayer from './vector-tile-layer';\nimport Protobuf from 'pbf';\n\nexport default class VectorTile {\n layers: {[x: string]: VectorTileLayer};\n constructor(pbf: Protobuf, end?: number) {\n this.layers = pbf.readFields(readTile, {}, end);\n }\n}\n\n/**\n *\n * @param tag\n * @param layers\n * @param pbf\n */\nfunction readTile(tag: number, layers?: {[x: string]: VectorTileLayer}, pbf?: Protobuf): void {\n if (tag === 3) {\n if (pbf) {\n const layer = new VectorTileLayer(pbf, pbf.readVarint() + pbf.pos);\n if (layer.length && layers) {\n layers[layer.name] = layer;\n }\n }\n }\n}\n"],"file":"vector-tile.js"}