@loaders.gl/mvt 3.4.14 → 3.4.15

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 (42) hide show
  1. package/dist/es5/bundle.js +1 -1
  2. package/dist/es5/bundle.js.map +1 -1
  3. package/dist/es5/helpers/binary-util-functions.js +21 -21
  4. package/dist/es5/helpers/binary-util-functions.js.map +1 -1
  5. package/dist/es5/helpers/mapbox-util-functions.js +11 -11
  6. package/dist/es5/helpers/mapbox-util-functions.js.map +1 -1
  7. package/dist/es5/index.js +3 -3
  8. package/dist/es5/lib/binary-vector-tile/vector-tile-feature.js +104 -127
  9. package/dist/es5/lib/binary-vector-tile/vector-tile-feature.js.map +1 -1
  10. package/dist/es5/lib/binary-vector-tile/vector-tile-layer.js +13 -20
  11. package/dist/es5/lib/binary-vector-tile/vector-tile-layer.js.map +1 -1
  12. package/dist/es5/lib/binary-vector-tile/vector-tile.js +7 -8
  13. package/dist/es5/lib/binary-vector-tile/vector-tile.js.map +1 -1
  14. package/dist/es5/lib/geojson-tiler/clip.js +87 -144
  15. package/dist/es5/lib/geojson-tiler/clip.js.map +1 -1
  16. package/dist/es5/lib/geojson-tiler/convert.js +33 -72
  17. package/dist/es5/lib/geojson-tiler/convert.js.map +1 -1
  18. package/dist/es5/lib/geojson-tiler/feature.js +8 -29
  19. package/dist/es5/lib/geojson-tiler/feature.js.map +1 -1
  20. package/dist/es5/lib/geojson-tiler/geojson-tiler.js +114 -121
  21. package/dist/es5/lib/geojson-tiler/geojson-tiler.js.map +1 -1
  22. package/dist/es5/lib/geojson-tiler/simplify.js +14 -14
  23. package/dist/es5/lib/geojson-tiler/simplify.js.map +1 -1
  24. package/dist/es5/lib/geojson-tiler/tile.js +31 -43
  25. package/dist/es5/lib/geojson-tiler/tile.js.map +1 -1
  26. package/dist/es5/lib/geojson-tiler/transform.js +17 -29
  27. package/dist/es5/lib/geojson-tiler/transform.js.map +1 -1
  28. package/dist/es5/lib/geojson-tiler/wrap.js +25 -73
  29. package/dist/es5/lib/geojson-tiler/wrap.js.map +1 -1
  30. package/dist/es5/lib/mapbox-vector-tile/vector-tile-feature.js +131 -144
  31. package/dist/es5/lib/mapbox-vector-tile/vector-tile-feature.js.map +1 -1
  32. package/dist/es5/lib/mapbox-vector-tile/vector-tile-layer.js +13 -20
  33. package/dist/es5/lib/mapbox-vector-tile/vector-tile-layer.js.map +1 -1
  34. package/dist/es5/lib/mapbox-vector-tile/vector-tile.js +7 -8
  35. package/dist/es5/lib/mapbox-vector-tile/vector-tile.js.map +1 -1
  36. package/dist/es5/lib/parse-mvt.js +38 -36
  37. package/dist/es5/lib/parse-mvt.js.map +1 -1
  38. package/dist/es5/mvt-loader.js +7 -27
  39. package/dist/es5/mvt-loader.js.map +1 -1
  40. package/dist/esm/mvt-loader.js +1 -1
  41. package/dist/mvt-worker.js +1 -1
  42. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"wrap.js","names":["_clip","require","_feature","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","return","minLen","_arrayLikeToArray","Object","toString","slice","name","from","test","arr","len","arr2","wrap","features","options","buffer","extent","merged","left","clip","right","shiftFeatureCoords","concat","offset","newFeatures","feature","type","newGeometry","shiftCoords","geometry","_iterator","_step","line","push","_iterator2","_step2","polygon","newPolygon","_iterator3","_step3","createFeature","id","tags","Points","_Array","_inherits2","_super","_this","_classCallCheck2","_len","args","_key","_defineProperty2","_assertThisInitialized2","_createClass2","_wrapNativeSuper2","points","newPoints","size","start","undefined","end"],"sources":["../../../../src/lib/geojson-tiler/wrap.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Forked from https://github.com/mapbox/geojson-vt under compatible ISC license\n\nimport type {GeoJSONTileFeature} from './tile';\nimport {clip} from './clip';\nimport {createFeature} from './feature';\n\n/**\n * Options for wrap()\n */\nexport type WrapOptions = {\n buffer: number /** number of pixels of buffer for the tile */;\n extent: number /** extent of each tile */;\n lineMetrics: boolean;\n};\n\n/**\n * Wrap across antemeridian, by clipping into two tiles, shifting the overflowing x coordinates\n * @param features list of features to be wrapped\n * @param options buffer and extent\n * @returns\n */\nexport function wrap(features: GeoJSONTileFeature[], options: WrapOptions) {\n const buffer = options.buffer / options.extent;\n let merged: GeoJSONTileFeature[] = features;\n const left = clip(features, 1, -1 - buffer, buffer, 0, -1, 2, options); // left world copy\n const right = clip(features, 1, 1 - buffer, 2 + buffer, 0, -1, 2, options); // right world copy\n\n if (left || right) {\n merged = clip(features, 1, -buffer, 1 + buffer, 0, -1, 2, options) || []; // center world copy\n\n if (left) {\n merged = shiftFeatureCoords(left, 1).concat(merged); // merge left into center\n }\n if (right) {\n merged = merged.concat(shiftFeatureCoords(right, -1)); // merge right into center\n }\n }\n\n return merged;\n}\n\n/**\n * Shift the x coordinates of a list of features\n * @param features list of features to shift x coordinates for\n * @param offset\n * @returns\n */\nfunction shiftFeatureCoords(features: GeoJSONTileFeature[], offset: number): GeoJSONTileFeature[] {\n const newFeatures: GeoJSONTileFeature[] = [];\n\n for (let i = 0; i < features.length; i++) {\n const feature = features[i];\n const type = feature.type;\n\n let newGeometry;\n\n if (type === 'Point' || type === 'MultiPoint' || type === 'LineString') {\n newGeometry = shiftCoords(feature.geometry, offset);\n } else if (type === 'MultiLineString' || type === 'Polygon') {\n newGeometry = [];\n for (const line of feature.geometry) {\n newGeometry.push(shiftCoords(line, offset));\n }\n } else if (type === 'MultiPolygon') {\n newGeometry = [];\n for (const polygon of feature.geometry) {\n const newPolygon: Points = [];\n for (const line of polygon) {\n // @ts-expect-error TODO\n newPolygon.push(shiftCoords(line, offset));\n }\n newGeometry.push(newPolygon);\n }\n }\n\n newFeatures.push(createFeature(feature.id, type, newGeometry, feature.tags));\n }\n\n return newFeatures;\n}\n\nclass Points extends Array<number> {\n size?: number;\n start?: number;\n end?: number;\n}\n\n/**\n * Shift the x coordinate of every point\n * @param points\n * @param offset\n * @returns\n */\nfunction shiftCoords(points: Points, offset: number): Points {\n const newPoints: Points = [];\n newPoints.size = points.size;\n\n if (points.start !== undefined) {\n newPoints.start = points.start;\n newPoints.end = points.end;\n }\n\n for (let i = 0; i < points.length; i += 3) {\n newPoints.push(points[i] + offset, points[i + 1], points[i + 2]);\n }\n return newPoints;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"wrap.js","names":["_clip","require","_feature","wrap","features","options","buffer","extent","merged","left","clip","right","shiftFeatureCoords","concat","offset","newFeatures","i","length","feature","type","newGeometry","shiftCoords","geometry","line","push","polygon","newPolygon","createFeature","id","tags","Points","Array","constructor","arguments","_defineProperty2","default","points","newPoints","size","start","undefined","end"],"sources":["../../../../src/lib/geojson-tiler/wrap.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Forked from https://github.com/mapbox/geojson-vt under compatible ISC license\n\nimport type {GeoJSONTileFeature} from './tile';\nimport {clip} from './clip';\nimport {createFeature} from './feature';\n\n/**\n * Options for wrap()\n */\nexport type WrapOptions = {\n buffer: number /** number of pixels of buffer for the tile */;\n extent: number /** extent of each tile */;\n lineMetrics: boolean;\n};\n\n/**\n * Wrap across antemeridian, by clipping into two tiles, shifting the overflowing x coordinates\n * @param features list of features to be wrapped\n * @param options buffer and extent\n * @returns\n */\nexport function wrap(features: GeoJSONTileFeature[], options: WrapOptions) {\n const buffer = options.buffer / options.extent;\n let merged: GeoJSONTileFeature[] = features;\n const left = clip(features, 1, -1 - buffer, buffer, 0, -1, 2, options); // left world copy\n const right = clip(features, 1, 1 - buffer, 2 + buffer, 0, -1, 2, options); // right world copy\n\n if (left || right) {\n merged = clip(features, 1, -buffer, 1 + buffer, 0, -1, 2, options) || []; // center world copy\n\n if (left) {\n merged = shiftFeatureCoords(left, 1).concat(merged); // merge left into center\n }\n if (right) {\n merged = merged.concat(shiftFeatureCoords(right, -1)); // merge right into center\n }\n }\n\n return merged;\n}\n\n/**\n * Shift the x coordinates of a list of features\n * @param features list of features to shift x coordinates for\n * @param offset\n * @returns\n */\nfunction shiftFeatureCoords(features: GeoJSONTileFeature[], offset: number): GeoJSONTileFeature[] {\n const newFeatures: GeoJSONTileFeature[] = [];\n\n for (let i = 0; i < features.length; i++) {\n const feature = features[i];\n const type = feature.type;\n\n let newGeometry;\n\n if (type === 'Point' || type === 'MultiPoint' || type === 'LineString') {\n newGeometry = shiftCoords(feature.geometry, offset);\n } else if (type === 'MultiLineString' || type === 'Polygon') {\n newGeometry = [];\n for (const line of feature.geometry) {\n newGeometry.push(shiftCoords(line, offset));\n }\n } else if (type === 'MultiPolygon') {\n newGeometry = [];\n for (const polygon of feature.geometry) {\n const newPolygon: Points = [];\n for (const line of polygon) {\n // @ts-expect-error TODO\n newPolygon.push(shiftCoords(line, offset));\n }\n newGeometry.push(newPolygon);\n }\n }\n\n newFeatures.push(createFeature(feature.id, type, newGeometry, feature.tags));\n }\n\n return newFeatures;\n}\n\nclass Points extends Array<number> {\n size?: number;\n start?: number;\n end?: number;\n}\n\n/**\n * Shift the x coordinate of every point\n * @param points\n * @param offset\n * @returns\n */\nfunction shiftCoords(points: Points, offset: number): Points {\n const newPoints: Points = [];\n newPoints.size = points.size;\n\n if (points.start !== undefined) {\n newPoints.start = points.start;\n newPoints.end = points.end;\n }\n\n for (let i = 0; i < points.length; i += 3) {\n newPoints.push(points[i] + offset, points[i + 1], points[i + 2]);\n }\n return newPoints;\n}\n"],"mappings":"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"}
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
9
  var _mapboxUtilFunctions = require("../../helpers/mapbox-util-functions");
12
- var VectorTileFeature = function () {
13
- function VectorTileFeature(pbf, end, extent, keys, values) {
14
- (0, _classCallCheck2.default)(this, VectorTileFeature);
10
+ class VectorTileFeature {
11
+ static get types() {
12
+ return ['Unknown', 'Point', 'LineString', 'Polygon'];
13
+ }
14
+ constructor(pbf, end, extent, keys, values) {
15
15
  (0, _defineProperty2.default)(this, "properties", void 0);
16
16
  (0, _defineProperty2.default)(this, "extent", void 0);
17
17
  (0, _defineProperty2.default)(this, "type", void 0);
@@ -30,155 +30,142 @@ var VectorTileFeature = function () {
30
30
  this._values = values;
31
31
  pbf.readFields(_mapboxUtilFunctions.readFeature, this, end);
32
32
  }
33
- (0, _createClass2.default)(VectorTileFeature, [{
34
- key: "loadGeometry",
35
- value: function loadGeometry() {
36
- var pbf = this._pbf;
37
- pbf.pos = this._geometry;
38
- var end = pbf.readVarint() + pbf.pos;
39
- var cmd = 1;
40
- var length = 0;
41
- var x = 0;
42
- var y = 0;
43
- var lines = [];
44
- var line;
45
- while (pbf.pos < end) {
46
- if (length <= 0) {
47
- var cmdLen = pbf.readVarint();
48
- cmd = cmdLen & 0x7;
49
- length = cmdLen >> 3;
50
- }
51
- length--;
52
- if (cmd === 1 || cmd === 2) {
53
- x += pbf.readSVarint();
54
- y += pbf.readSVarint();
55
- if (cmd === 1) {
56
- if (line) lines.push(line);
57
- line = [];
58
- }
59
- if (line) line.push([x, y]);
60
- } else if (cmd === 7) {
61
- if (line) {
62
- line.push(line[0].slice());
63
- }
64
- } else {
65
- throw new Error("unknown command ".concat(cmd));
66
- }
33
+ loadGeometry() {
34
+ const pbf = this._pbf;
35
+ pbf.pos = this._geometry;
36
+ const end = pbf.readVarint() + pbf.pos;
37
+ let cmd = 1;
38
+ let length = 0;
39
+ let x = 0;
40
+ let y = 0;
41
+ const lines = [];
42
+ let line;
43
+ while (pbf.pos < end) {
44
+ if (length <= 0) {
45
+ const cmdLen = pbf.readVarint();
46
+ cmd = cmdLen & 0x7;
47
+ length = cmdLen >> 3;
67
48
  }
68
- if (line) lines.push(line);
69
- return lines;
70
- }
71
- }, {
72
- key: "bbox",
73
- value: function bbox() {
74
- var pbf = this._pbf;
75
- pbf.pos = this._geometry;
76
- var end = pbf.readVarint() + pbf.pos;
77
- var cmd = 1;
78
- var length = 0;
79
- var x = 0;
80
- var y = 0;
81
- var x1 = Infinity;
82
- var x2 = -Infinity;
83
- var y1 = Infinity;
84
- var y2 = -Infinity;
85
- while (pbf.pos < end) {
86
- if (length <= 0) {
87
- var cmdLen = pbf.readVarint();
88
- cmd = cmdLen & 0x7;
89
- length = cmdLen >> 3;
49
+ length--;
50
+ if (cmd === 1 || cmd === 2) {
51
+ x += pbf.readSVarint();
52
+ y += pbf.readSVarint();
53
+ if (cmd === 1) {
54
+ if (line) lines.push(line);
55
+ line = [];
90
56
  }
91
- length--;
92
- if (cmd === 1 || cmd === 2) {
93
- x += pbf.readSVarint();
94
- y += pbf.readSVarint();
95
- if (x < x1) x1 = x;
96
- if (x > x2) x2 = x;
97
- if (y < y1) y1 = y;
98
- if (y > y2) y2 = y;
99
- } else if (cmd !== 7) {
100
- throw new Error("unknown command ".concat(cmd));
57
+ if (line) line.push([x, y]);
58
+ } else if (cmd === 7) {
59
+ if (line) {
60
+ line.push(line[0].slice());
101
61
  }
62
+ } else {
63
+ throw new Error("unknown command ".concat(cmd));
102
64
  }
103
- return [x1, y1, x2, y2];
104
65
  }
105
- }, {
106
- key: "_toGeoJSON",
107
- value: function _toGeoJSON(transform) {
108
- var coords = this.loadGeometry();
109
- var type = VectorTileFeature.types[this.type];
110
- var i;
111
- var j;
112
- switch (this.type) {
113
- case 1:
114
- var points = [];
115
- for (i = 0; i < coords.length; i++) {
116
- points[i] = coords[i][0];
117
- }
118
- coords = points;
119
- transform(coords, this);
120
- break;
121
- case 2:
122
- for (i = 0; i < coords.length; i++) {
123
- transform(coords[i], this);
124
- }
125
- break;
126
- case 3:
127
- coords = (0, _mapboxUtilFunctions.classifyRings)(coords);
128
- for (i = 0; i < coords.length; i++) {
129
- for (j = 0; j < coords[i].length; j++) {
130
- transform(coords[i][j], this);
131
- }
132
- }
133
- break;
134
- }
135
- if (coords.length === 1) {
136
- coords = coords[0];
137
- } else {
138
- type = "Multi".concat(type);
66
+ if (line) lines.push(line);
67
+ return lines;
68
+ }
69
+ bbox() {
70
+ const pbf = this._pbf;
71
+ pbf.pos = this._geometry;
72
+ const end = pbf.readVarint() + pbf.pos;
73
+ let cmd = 1;
74
+ let length = 0;
75
+ let x = 0;
76
+ let y = 0;
77
+ let x1 = Infinity;
78
+ let x2 = -Infinity;
79
+ let y1 = Infinity;
80
+ let y2 = -Infinity;
81
+ while (pbf.pos < end) {
82
+ if (length <= 0) {
83
+ const cmdLen = pbf.readVarint();
84
+ cmd = cmdLen & 0x7;
85
+ length = cmdLen >> 3;
139
86
  }
140
- var result = {
141
- type: 'Feature',
142
- geometry: {
143
- type: type,
144
- coordinates: coords
145
- },
146
- properties: this.properties
147
- };
148
- if (this.id !== null) {
149
- result.id = this.id;
87
+ length--;
88
+ if (cmd === 1 || cmd === 2) {
89
+ x += pbf.readSVarint();
90
+ y += pbf.readSVarint();
91
+ if (x < x1) x1 = x;
92
+ if (x > x2) x2 = x;
93
+ if (y < y1) y1 = y;
94
+ if (y > y2) y2 = y;
95
+ } else if (cmd !== 7) {
96
+ throw new Error("unknown command ".concat(cmd));
150
97
  }
151
- return result;
152
98
  }
153
- }, {
154
- key: "toGeoJSON",
155
- value: function toGeoJSON(options) {
156
- if (typeof options === 'function') {
157
- return this._toGeoJSON(options);
158
- }
159
- var x = options.x,
160
- y = options.y,
161
- z = options.z;
162
- var size = this.extent * Math.pow(2, z);
163
- var x0 = this.extent * x;
164
- var y0 = this.extent * y;
165
- function project(line) {
166
- for (var j = 0; j < line.length; j++) {
167
- var p = line[j];
168
- p[0] = (p[0] + x0) * 360 / size - 180;
169
- var y2 = 180 - (p[1] + y0) * 360 / size;
170
- p[1] = 360 / Math.PI * Math.atan(Math.exp(y2 * Math.PI / 180)) - 90;
99
+ return [x1, y1, x2, y2];
100
+ }
101
+ _toGeoJSON(transform) {
102
+ let coords = this.loadGeometry();
103
+ let type = VectorTileFeature.types[this.type];
104
+ let i;
105
+ let j;
106
+ switch (this.type) {
107
+ case 1:
108
+ const points = [];
109
+ for (i = 0; i < coords.length; i++) {
110
+ points[i] = coords[i][0];
171
111
  }
172
- }
173
- return this._toGeoJSON(project);
112
+ coords = points;
113
+ transform(coords, this);
114
+ break;
115
+ case 2:
116
+ for (i = 0; i < coords.length; i++) {
117
+ transform(coords[i], this);
118
+ }
119
+ break;
120
+ case 3:
121
+ coords = (0, _mapboxUtilFunctions.classifyRings)(coords);
122
+ for (i = 0; i < coords.length; i++) {
123
+ for (j = 0; j < coords[i].length; j++) {
124
+ transform(coords[i][j], this);
125
+ }
126
+ }
127
+ break;
174
128
  }
175
- }], [{
176
- key: "types",
177
- get: function get() {
178
- return ['Unknown', 'Point', 'LineString', 'Polygon'];
129
+ if (coords.length === 1) {
130
+ coords = coords[0];
131
+ } else {
132
+ type = "Multi".concat(type);
179
133
  }
180
- }]);
181
- return VectorTileFeature;
182
- }();
134
+ const result = {
135
+ type: 'Feature',
136
+ geometry: {
137
+ type,
138
+ coordinates: coords
139
+ },
140
+ properties: this.properties
141
+ };
142
+ if (this.id !== null) {
143
+ result.id = this.id;
144
+ }
145
+ return result;
146
+ }
147
+ toGeoJSON(options) {
148
+ if (typeof options === 'function') {
149
+ return this._toGeoJSON(options);
150
+ }
151
+ const {
152
+ x,
153
+ y,
154
+ z
155
+ } = options;
156
+ const size = this.extent * Math.pow(2, z);
157
+ const x0 = this.extent * x;
158
+ const y0 = this.extent * y;
159
+ function project(line) {
160
+ for (let j = 0; j < line.length; j++) {
161
+ const p = line[j];
162
+ p[0] = (p[0] + x0) * 360 / size - 180;
163
+ const y2 = 180 - (p[1] + y0) * 360 / size;
164
+ p[1] = 360 / Math.PI * Math.atan(Math.exp(y2 * Math.PI / 180)) - 90;
165
+ }
166
+ }
167
+ return this._toGeoJSON(project);
168
+ }
169
+ }
183
170
  exports.default = VectorTileFeature;
184
171
  //# sourceMappingURL=vector-tile-feature.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vector-tile-feature.js","names":["_mapboxUtilFunctions","require","VectorTileFeature","pbf","end","extent","keys","values","_classCallCheck2","default","_defineProperty2","properties","type","id","_pbf","_geometry","_keys","_values","readFields","readFeature","_createClass2","key","value","loadGeometry","pos","readVarint","cmd","length","x","y","lines","line","cmdLen","readSVarint","push","slice","Error","concat","bbox","x1","Infinity","x2","y1","y2","_toGeoJSON","transform","coords","types","i","j","points","classifyRings","result","geometry","coordinates","toGeoJSON","options","z","size","Math","pow","x0","y0","project","p","PI","atan","exp","get","exports"],"sources":["../../../../src/lib/mapbox-vector-tile/vector-tile-feature.ts"],"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"],"mappings":"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"}
1
+ {"version":3,"file":"vector-tile-feature.js","names":["_mapboxUtilFunctions","require","VectorTileFeature","types","constructor","pbf","end","extent","keys","values","_defineProperty2","default","properties","type","id","_pbf","_geometry","_keys","_values","readFields","readFeature","loadGeometry","pos","readVarint","cmd","length","x","y","lines","line","cmdLen","readSVarint","push","slice","Error","concat","bbox","x1","Infinity","x2","y1","y2","_toGeoJSON","transform","coords","i","j","points","classifyRings","result","geometry","coordinates","toGeoJSON","options","z","size","Math","pow","x0","y0","project","p","PI","atan","exp","exports"],"sources":["../../../../src/lib/mapbox-vector-tile/vector-tile-feature.ts"],"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"],"mappings":"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"}
@@ -5,13 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
9
  var _vectorTileFeature = _interopRequireDefault(require("./vector-tile-feature"));
12
- var VectorTileLayer = function () {
13
- function VectorTileLayer(pbf, end) {
14
- (0, _classCallCheck2.default)(this, VectorTileLayer);
10
+ class VectorTileLayer {
11
+ constructor(pbf, end) {
15
12
  (0, _defineProperty2.default)(this, "version", void 0);
16
13
  (0, _defineProperty2.default)(this, "name", void 0);
17
14
  (0, _defineProperty2.default)(this, "extent", void 0);
@@ -31,19 +28,15 @@ var VectorTileLayer = function () {
31
28
  pbf.readFields(readLayer, this, end);
32
29
  this.length = this._features.length;
33
30
  }
34
- (0, _createClass2.default)(VectorTileLayer, [{
35
- key: "feature",
36
- value: function feature(i) {
37
- if (i < 0 || i >= this._features.length) {
38
- throw new Error('feature index out of bounds');
39
- }
40
- this._pbf.pos = this._features[i];
41
- var end = this._pbf.readVarint() + this._pbf.pos;
42
- return new _vectorTileFeature.default(this._pbf, end, this.extent, this._keys, this._values);
31
+ feature(i) {
32
+ if (i < 0 || i >= this._features.length) {
33
+ throw new Error('feature index out of bounds');
43
34
  }
44
- }]);
45
- return VectorTileLayer;
46
- }();
35
+ this._pbf.pos = this._features[i];
36
+ const end = this._pbf.readVarint() + this._pbf.pos;
37
+ return new _vectorTileFeature.default(this._pbf, end, this.extent, this._keys, this._values);
38
+ }
39
+ }
47
40
  exports.default = VectorTileLayer;
48
41
  function readLayer(tag, layer, pbf) {
49
42
  if (layer && pbf) {
@@ -51,10 +44,10 @@ function readLayer(tag, layer, pbf) {
51
44
  }
52
45
  }
53
46
  function readValueMessage(pbf) {
54
- var value = null;
55
- var end = pbf.readVarint() + pbf.pos;
47
+ let value = null;
48
+ const end = pbf.readVarint() + pbf.pos;
56
49
  while (pbf.pos < end) {
57
- var tag = pbf.readVarint() >> 3;
50
+ const tag = pbf.readVarint() >> 3;
58
51
  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;
59
52
  }
60
53
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"vector-tile-layer.js","names":["_vectorTileFeature","_interopRequireDefault","require","VectorTileLayer","pbf","end","_classCallCheck2","default","_defineProperty2","version","name","extent","length","_pbf","_keys","_values","_features","readFields","readLayer","_createClass2","key","value","feature","i","Error","pos","readVarint","VectorTileFeature","exports","tag","layer","readString","push","readValueMessage","readFloat","readDouble","readVarint64","readSVarint","readBoolean"],"sources":["../../../../src/lib/mapbox-vector-tile/vector-tile-layer.ts"],"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"],"mappings":"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"}
1
+ {"version":3,"file":"vector-tile-layer.js","names":["_vectorTileFeature","_interopRequireDefault","require","VectorTileLayer","constructor","pbf","end","_defineProperty2","default","version","name","extent","length","_pbf","_keys","_values","_features","readFields","readLayer","feature","i","Error","pos","readVarint","VectorTileFeature","exports","tag","layer","readString","push","readValueMessage","value","readFloat","readDouble","readVarint64","readSVarint","readBoolean"],"sources":["../../../../src/lib/mapbox-vector-tile/vector-tile-layer.ts"],"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"],"mappings":"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"}
@@ -5,20 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
9
  var _vectorTileLayer = _interopRequireDefault(require("./vector-tile-layer"));
12
- var VectorTile = (0, _createClass2.default)(function VectorTile(pbf, end) {
13
- (0, _classCallCheck2.default)(this, VectorTile);
14
- (0, _defineProperty2.default)(this, "layers", void 0);
15
- this.layers = pbf.readFields(readTile, {}, end);
16
- });
10
+ class VectorTile {
11
+ constructor(pbf, end) {
12
+ (0, _defineProperty2.default)(this, "layers", void 0);
13
+ this.layers = pbf.readFields(readTile, {}, end);
14
+ }
15
+ }
17
16
  exports.default = VectorTile;
18
17
  function readTile(tag, layers, pbf) {
19
18
  if (tag === 3) {
20
19
  if (pbf) {
21
- var layer = new _vectorTileLayer.default(pbf, pbf.readVarint() + pbf.pos);
20
+ const layer = new _vectorTileLayer.default(pbf, pbf.readVarint() + pbf.pos);
22
21
  if (layer.length && layers) {
23
22
  layers[layer.name] = layer;
24
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vector-tile.js","names":["_vectorTileLayer","_interopRequireDefault","require","VectorTile","_createClass2","default","pbf","end","_classCallCheck2","_defineProperty2","layers","readFields","readTile","exports","tag","layer","VectorTileLayer","readVarint","pos","length","name"],"sources":["../../../../src/lib/mapbox-vector-tile/vector-tile.ts"],"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"],"mappings":";;;;;;;;;;AAEA,IAAAA,gBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAkD,IAG7BC,UAAU,OAAAC,aAAA,CAAAC,OAAA,EAE7B,SAAAF,WAAYG,GAAa,EAAEC,GAAY,EAAE;EAAA,IAAAC,gBAAA,CAAAH,OAAA,QAAAF,UAAA;EAAA,IAAAM,gBAAA,CAAAJ,OAAA;EACvC,IAAI,CAACK,MAAM,GAAGJ,GAAG,CAACK,UAAU,CAACC,QAAQ,EAAE,CAAC,CAAC,EAAEL,GAAG,CAAC;AACjD,CAAC;AAAAM,OAAA,CAAAR,OAAA,GAAAF,UAAA;AASH,SAASS,QAAQA,CAACE,GAAW,EAAEJ,MAAuC,EAAEJ,GAAc,EAAQ;EAC5F,IAAIQ,GAAG,KAAK,CAAC,EAAE;IACb,IAAIR,GAAG,EAAE;MACP,IAAMS,KAAK,GAAG,IAAIC,wBAAe,CAACV,GAAG,EAAEA,GAAG,CAACW,UAAU,CAAC,CAAC,GAAGX,GAAG,CAACY,GAAG,CAAC;MAClE,IAAIH,KAAK,CAACI,MAAM,IAAIT,MAAM,EAAE;QAC1BA,MAAM,CAACK,KAAK,CAACK,IAAI,CAAC,GAAGL,KAAK;MAC5B;IACF;EACF;AACF"}
1
+ {"version":3,"file":"vector-tile.js","names":["_vectorTileLayer","_interopRequireDefault","require","VectorTile","constructor","pbf","end","_defineProperty2","default","layers","readFields","readTile","exports","tag","layer","VectorTileLayer","readVarint","pos","length","name"],"sources":["../../../../src/lib/mapbox-vector-tile/vector-tile.ts"],"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"],"mappings":";;;;;;;;AAEA,IAAAA,gBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGe,MAAMC,UAAU,CAAC;EAE9BC,WAAWA,CAACC,GAAa,EAAEC,GAAY,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IACvC,IAAI,CAACC,MAAM,GAAGJ,GAAG,CAACK,UAAU,CAACC,QAAQ,EAAE,CAAC,CAAC,EAAEL,GAAG,CAAC;EACjD;AACF;AAACM,OAAA,CAAAJ,OAAA,GAAAL,UAAA;AAQD,SAASQ,QAAQA,CAACE,GAAW,EAAEJ,MAAuC,EAAEJ,GAAc,EAAQ;EAC5F,IAAIQ,GAAG,KAAK,CAAC,EAAE;IACb,IAAIR,GAAG,EAAE;MACP,MAAMS,KAAK,GAAG,IAAIC,wBAAe,CAACV,GAAG,EAAEA,GAAG,CAACW,UAAU,CAAC,CAAC,GAAGX,GAAG,CAACY,GAAG,CAAC;MAClE,IAAIH,KAAK,CAACI,MAAM,IAAIT,MAAM,EAAE;QAC1BA,MAAM,CAACK,KAAK,CAACK,IAAI,CAAC,GAAGL,KAAK;MAC5B;IACF;EACF;AACF"}