@loaders.gl/mvt 3.1.0-alpha.4 → 3.1.0-beta.3

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 (83) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +2277 -0
  4. package/dist/es5/bundle.js +1 -1
  5. package/dist/es5/bundle.js.map +1 -1
  6. package/dist/es5/helpers/binary-util-functions.js +18 -18
  7. package/dist/es5/helpers/binary-util-functions.js.map +1 -1
  8. package/dist/es5/helpers/mapbox-util-functions.js +11 -11
  9. package/dist/es5/helpers/mapbox-util-functions.js.map +1 -1
  10. package/dist/es5/index.js +2 -2
  11. package/dist/es5/lib/binary-vector-tile/features-to-binary.js +130 -177
  12. package/dist/es5/lib/binary-vector-tile/features-to-binary.js.map +1 -1
  13. package/dist/es5/lib/binary-vector-tile/vector-tile-feature.js +104 -131
  14. package/dist/es5/lib/binary-vector-tile/vector-tile-feature.js.map +1 -1
  15. package/dist/es5/lib/binary-vector-tile/vector-tile-layer.js +15 -23
  16. package/dist/es5/lib/binary-vector-tile/vector-tile-layer.js.map +1 -1
  17. package/dist/es5/lib/binary-vector-tile/vector-tile.js +8 -8
  18. package/dist/es5/lib/binary-vector-tile/vector-tile.js.map +1 -1
  19. package/dist/es5/lib/mapbox-vector-tile/vector-tile-feature.js +147 -157
  20. package/dist/es5/lib/mapbox-vector-tile/vector-tile-feature.js.map +1 -1
  21. package/dist/es5/lib/mapbox-vector-tile/vector-tile-layer.js +15 -23
  22. package/dist/es5/lib/mapbox-vector-tile/vector-tile-layer.js.map +1 -1
  23. package/dist/es5/lib/mapbox-vector-tile/vector-tile.js +8 -8
  24. package/dist/es5/lib/mapbox-vector-tile/vector-tile.js.map +1 -1
  25. package/dist/es5/lib/parse-mvt.js +33 -35
  26. package/dist/es5/lib/parse-mvt.js.map +1 -1
  27. package/dist/es5/mvt-loader.js +5 -38
  28. package/dist/es5/mvt-loader.js.map +1 -1
  29. package/dist/esm/lib/binary-vector-tile/vector-tile-feature.js +2 -2
  30. package/dist/esm/lib/binary-vector-tile/vector-tile-feature.js.map +1 -1
  31. package/dist/esm/lib/mapbox-vector-tile/vector-tile-feature.js +3 -3
  32. package/dist/esm/lib/mapbox-vector-tile/vector-tile-feature.js.map +1 -1
  33. package/dist/esm/lib/parse-mvt.js.map +1 -1
  34. package/dist/esm/mvt-loader.js +1 -1
  35. package/dist/esm/mvt-loader.js.map +1 -1
  36. package/dist/helpers/binary-util-functions.d.ts +39 -0
  37. package/dist/helpers/binary-util-functions.d.ts.map +1 -0
  38. package/dist/helpers/binary-util-functions.js +116 -0
  39. package/dist/helpers/mapbox-util-functions.d.ts +29 -0
  40. package/dist/helpers/mapbox-util-functions.d.ts.map +1 -0
  41. package/dist/helpers/mapbox-util-functions.js +82 -0
  42. package/dist/index.d.ts +2 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +6 -0
  45. package/dist/lib/binary-vector-tile/features-to-binary.d.ts +185 -0
  46. package/dist/lib/binary-vector-tile/features-to-binary.d.ts.map +1 -0
  47. package/dist/lib/binary-vector-tile/features-to-binary.js +353 -0
  48. package/dist/lib/binary-vector-tile/vector-tile-feature.d.ts +36 -0
  49. package/dist/lib/binary-vector-tile/vector-tile-feature.d.ts.map +1 -0
  50. package/dist/lib/binary-vector-tile/vector-tile-feature.js +159 -0
  51. package/dist/lib/binary-vector-tile/vector-tile-layer.d.ts +23 -0
  52. package/dist/lib/binary-vector-tile/vector-tile-layer.d.ts.map +1 -0
  53. package/dist/lib/binary-vector-tile/vector-tile-layer.js +91 -0
  54. package/dist/lib/binary-vector-tile/vector-tile.d.ts +9 -0
  55. package/dist/lib/binary-vector-tile/vector-tile.d.ts.map +1 -0
  56. package/dist/lib/binary-vector-tile/vector-tile.js +29 -0
  57. package/dist/lib/mapbox-vector-tile/vector-tile-feature.d.ts +27 -0
  58. package/dist/lib/mapbox-vector-tile/vector-tile-feature.d.ts.map +1 -0
  59. package/dist/lib/mapbox-vector-tile/vector-tile-feature.js +170 -0
  60. package/dist/lib/mapbox-vector-tile/vector-tile-layer.d.ts +20 -0
  61. package/dist/lib/mapbox-vector-tile/vector-tile-layer.d.ts.map +1 -0
  62. package/dist/lib/mapbox-vector-tile/vector-tile-layer.js +89 -0
  63. package/dist/lib/mapbox-vector-tile/vector-tile.d.ts +9 -0
  64. package/dist/lib/mapbox-vector-tile/vector-tile.d.ts.map +1 -0
  65. package/dist/lib/mapbox-vector-tile/vector-tile.js +29 -0
  66. package/dist/lib/parse-mvt.d.ts +85 -0
  67. package/dist/lib/parse-mvt.d.ts.map +1 -0
  68. package/dist/lib/parse-mvt.js +142 -0
  69. package/dist/lib/types.d.ts +92 -0
  70. package/dist/lib/types.d.ts.map +1 -0
  71. package/dist/lib/types.js +2 -0
  72. package/dist/mvt-loader.d.ts +10 -0
  73. package/dist/mvt-loader.d.ts.map +1 -0
  74. package/dist/mvt-loader.js +45 -0
  75. package/dist/mvt-worker.js +2286 -3
  76. package/dist/workers/mvt-worker.d.ts +2 -0
  77. package/dist/workers/mvt-worker.d.ts.map +1 -0
  78. package/dist/workers/mvt-worker.js +5 -0
  79. package/package.json +7 -7
  80. package/src/lib/parse-mvt.ts +1 -1
  81. package/dist/dist.min.js +0 -4
  82. package/dist/dist.min.js.map +0 -1
  83. package/dist/mvt-worker.js.map +0 -1
@@ -7,17 +7,16 @@ 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
-
14
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
11
 
16
12
  var _mapboxUtilFunctions = require("../../helpers/mapbox-util-functions");
17
13
 
18
- var VectorTileFeature = function () {
19
- function VectorTileFeature(pbf, end, extent, keys, values) {
20
- (0, _classCallCheck2.default)(this, VectorTileFeature);
14
+ class VectorTileFeature {
15
+ static get types() {
16
+ return ['Unknown', 'Point', 'LineString', 'Polygon'];
17
+ }
18
+
19
+ constructor(pbf, end, extent, keys, values) {
21
20
  (0, _defineProperty2.default)(this, "properties", void 0);
22
21
  (0, _defineProperty2.default)(this, "extent", void 0);
23
22
  (0, _defineProperty2.default)(this, "type", void 0);
@@ -37,181 +36,172 @@ var VectorTileFeature = function () {
37
36
  pbf.readFields(_mapboxUtilFunctions.readFeature, this, end);
38
37
  }
39
38
 
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
- }
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
+ }
59
56
 
60
- length--;
57
+ length--;
61
58
 
62
- if (cmd === 1 || cmd === 2) {
63
- x += pbf.readSVarint();
64
- y += pbf.readSVarint();
59
+ if (cmd === 1 || cmd === 2) {
60
+ x += pbf.readSVarint();
61
+ y += pbf.readSVarint();
65
62
 
66
- if (cmd === 1) {
67
- if (line) lines.push(line);
68
- line = [];
69
- }
63
+ if (cmd === 1) {
64
+ if (line) lines.push(line);
65
+ line = [];
66
+ }
70
67
 
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));
68
+ if (line) line.push([x, y]);
69
+ } else if (cmd === 7) {
70
+ if (line) {
71
+ line.push(line[0].slice());
78
72
  }
73
+ } else {
74
+ throw new Error("unknown command ".concat(cmd));
79
75
  }
80
-
81
- if (line) lines.push(line);
82
- return lines;
83
76
  }
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;
104
- }
105
77
 
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));
117
- }
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;
118
100
  }
119
101
 
120
- return [x1, y1, x2, y2];
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
+ }
121
114
  }
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
- }
137
115
 
138
- coords = points;
139
- transform(coords, this);
140
- break;
116
+ return [x1, y1, x2, y2];
117
+ }
141
118
 
142
- case 2:
143
- for (i = 0; i < coords.length; i++) {
144
- transform(coords[i], this);
145
- }
119
+ _toGeoJSON(transform) {
120
+ let coords = this.loadGeometry();
121
+ let type = VectorTileFeature.types[this.type];
122
+ let i;
123
+ let j;
146
124
 
147
- break;
125
+ switch (this.type) {
126
+ case 1:
127
+ const points = [];
148
128
 
149
- case 3:
150
- coords = (0, _mapboxUtilFunctions.classifyRings)(coords);
129
+ for (i = 0; i < coords.length; i++) {
130
+ points[i] = coords[i][0];
131
+ }
151
132
 
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
- }
133
+ coords = points;
134
+ transform(coords, this);
135
+ break;
157
136
 
158
- break;
159
- }
137
+ case 2:
138
+ for (i = 0; i < coords.length; i++) {
139
+ transform(coords[i], this);
140
+ }
160
141
 
161
- if (coords.length === 1) {
162
- coords = coords[0];
163
- } else {
164
- type = "Multi".concat(type);
165
- }
142
+ break;
166
143
 
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;
178
- }
144
+ case 3:
145
+ coords = (0, _mapboxUtilFunctions.classifyRings)(coords);
179
146
 
180
- return result;
147
+ for (i = 0; i < coords.length; i++) {
148
+ for (j = 0; j < coords[i].length; j++) {
149
+ transform(coords[i][j], this);
150
+ }
151
+ }
152
+
153
+ break;
181
154
  }
182
- }, {
183
- key: "toGeoJSON",
184
- value: function toGeoJSON(options) {
185
- if (typeof options === 'function') {
186
- return this._toGeoJSON(options);
187
- }
188
155
 
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
- }
156
+ if (coords.length === 1) {
157
+ coords = coords[0];
158
+ } else {
159
+ type = "Multi".concat(type);
160
+ }
161
+
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
+ }
174
+
175
+ return result;
176
+ }
204
177
 
205
- return this._toGeoJSON(project);
178
+ toGeoJSON(options) {
179
+ if (typeof options === 'function') {
180
+ return this._toGeoJSON(options);
206
181
  }
207
- }], [{
208
- key: "types",
209
- get: function get() {
210
- return ['Unknown', 'Point', 'LineString', 'Polygon'];
182
+
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;
198
+ }
211
199
  }
212
- }]);
213
- return VectorTileFeature;
214
- }();
200
+
201
+ return this._toGeoJSON(project);
202
+ }
203
+
204
+ }
215
205
 
216
206
  exports.default = VectorTileFeature;
217
207
  //# sourceMappingURL=vector-tile-feature.js.map
@@ -1 +1 @@
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"}
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"}
@@ -7,17 +7,12 @@ 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
-
14
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
11
 
16
12
  var _vectorTileFeature = _interopRequireDefault(require("./vector-tile-feature"));
17
13
 
18
- var VectorTileLayer = function () {
19
- function VectorTileLayer(pbf, end) {
20
- (0, _classCallCheck2.default)(this, VectorTileLayer);
14
+ class VectorTileLayer {
15
+ constructor(pbf, end) {
21
16
  (0, _defineProperty2.default)(this, "version", void 0);
22
17
  (0, _defineProperty2.default)(this, "name", void 0);
23
18
  (0, _defineProperty2.default)(this, "extent", void 0);
@@ -38,22 +33,19 @@ var VectorTileLayer = function () {
38
33
  this.length = this._features.length;
39
34
  }
40
35
 
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
- }
36
+ feature(i) {
37
+ if (i < 0 || i >= this._features.length) {
38
+ throw new Error('feature index out of bounds');
39
+ }
47
40
 
48
- this._pbf.pos = this._features[i];
41
+ this._pbf.pos = this._features[i];
49
42
 
50
- var end = this._pbf.readVarint() + this._pbf.pos;
43
+ const end = this._pbf.readVarint() + this._pbf.pos;
51
44
 
52
- return new _vectorTileFeature.default(this._pbf, end, this.extent, this._keys, this._values);
53
- }
54
- }]);
55
- return VectorTileLayer;
56
- }();
45
+ return new _vectorTileFeature.default(this._pbf, end, this.extent, this._keys, this._values);
46
+ }
47
+
48
+ }
57
49
 
58
50
  exports.default = VectorTileLayer;
59
51
 
@@ -64,11 +56,11 @@ function readLayer(tag, layer, pbf) {
64
56
  }
65
57
 
66
58
  function readValueMessage(pbf) {
67
- var value = null;
68
- var end = pbf.readVarint() + pbf.pos;
59
+ let value = null;
60
+ const end = pbf.readVarint() + pbf.pos;
69
61
 
70
62
  while (pbf.pos < end) {
71
- var tag = pbf.readVarint() >> 3;
63
+ const tag = pbf.readVarint() >> 3;
72
64
  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;
73
65
  }
74
66
 
@@ -1 +1 @@
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"}
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":";;;;;;;;;;;AAIA;;AAEe,MAAMA,eAAN,CAAsB;AASnCC,EAAAA,WAAW,CAACC,GAAD,EAAgBC,GAAhB,EAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEtC,SAAKC,OAAL,GAAe,CAAf;AACA,SAAKC,IAAL,GAAY,EAAZ;AACA,SAAKC,MAAL,GAAc,IAAd;AACA,SAAKC,MAAL,GAAc,CAAd;AAGA,SAAKC,IAAL,GAAYN,GAAZ;AACA,SAAKO,KAAL,GAAa,EAAb;AACA,SAAKC,OAAL,GAAe,EAAf;AACA,SAAKC,SAAL,GAAiB,EAAjB;AAEAT,IAAAA,GAAG,CAACU,UAAJ,CAAeC,SAAf,EAA0B,IAA1B,EAAgCV,GAAhC;AAEA,SAAKI,MAAL,GAAc,KAAKI,SAAL,CAAeJ,MAA7B;AACD;;AAQDO,EAAAA,OAAO,CAACC,CAAD,EAA+B;AACpC,QAAIA,CAAC,GAAG,CAAJ,IAASA,CAAC,IAAI,KAAKJ,SAAL,CAAeJ,MAAjC,EAAyC;AACvC,YAAM,IAAIS,KAAJ,CAAU,6BAAV,CAAN;AACD;;AAED,SAAKR,IAAL,CAAUS,GAAV,GAAgB,KAAKN,SAAL,CAAeI,CAAf,CAAhB;;AAEA,UAAMZ,GAAG,GAAG,KAAKK,IAAL,CAAUU,UAAV,KAAyB,KAAKV,IAAL,CAAUS,GAA/C;;AACA,WAAO,IAAIE,0BAAJ,CAAsB,KAAKX,IAA3B,EAAiCL,GAAjC,EAAsC,KAAKG,MAA3C,EAAmD,KAAKG,KAAxD,EAA+D,KAAKC,OAApE,CAAP;AACD;;AA1CkC;;;;AAmDrC,SAASG,SAAT,CAAmBO,GAAnB,EAAgCC,KAAhC,EAAyDnB,GAAzD,EAA+E;AAC7E,MAAImB,KAAK,IAAInB,GAAb,EAAkB;AAChB,QAAIkB,GAAG,KAAK,EAAZ,EAAgBC,KAAK,CAACjB,OAAN,GAAgBF,GAAG,CAACgB,UAAJ,EAAhB,CAAhB,KACK,IAAIE,GAAG,KAAK,CAAZ,EAAeC,KAAK,CAAChB,IAAN,GAAaH,GAAG,CAACoB,UAAJ,EAAb,CAAf,KACA,IAAIF,GAAG,KAAK,CAAZ,EAAeC,KAAK,CAACf,MAAN,GAAeJ,GAAG,CAACgB,UAAJ,EAAf,CAAf,KACA,IAAIE,GAAG,KAAK,CAAZ,EAAeC,KAAK,CAACV,SAAN,CAAgBY,IAAhB,CAAqBrB,GAAG,CAACe,GAAzB,EAAf,KACA,IAAIG,GAAG,KAAK,CAAZ,EAAeC,KAAK,CAACZ,KAAN,CAAYc,IAAZ,CAAiBrB,GAAG,CAACoB,UAAJ,EAAjB,EAAf,KACA,IAAIF,GAAG,KAAK,CAAZ,EAAeC,KAAK,CAACX,OAAN,CAAca,IAAd,CAAmBC,gBAAgB,CAACtB,GAAD,CAAnC;AACrB;AACF;;AAOD,SAASsB,gBAAT,CAA0BtB,GAA1B,EAAyC;AACvC,MAAIuB,KAAuC,GAAG,IAA9C;AACA,QAAMtB,GAAG,GAAGD,GAAG,CAACgB,UAAJ,KAAmBhB,GAAG,CAACe,GAAnC;;AAEA,SAAOf,GAAG,CAACe,GAAJ,GAAUd,GAAjB,EAAsB;AACpB,UAAMiB,GAAG,GAAGlB,GAAG,CAACgB,UAAJ,MAAoB,CAAhC;AAEAO,IAAAA,KAAK,GACHL,GAAG,KAAK,CAAR,GACIlB,GAAG,CAACoB,UAAJ,EADJ,GAEIF,GAAG,KAAK,CAAR,GACAlB,GAAG,CAACwB,SAAJ,EADA,GAEAN,GAAG,KAAK,CAAR,GACAlB,GAAG,CAACyB,UAAJ,EADA,GAEAP,GAAG,KAAK,CAAR,GACAlB,GAAG,CAAC0B,YAAJ,EADA,GAEAR,GAAG,KAAK,CAAR,GACAlB,GAAG,CAACgB,UAAJ,EADA,GAEAE,GAAG,KAAK,CAAR,GACAlB,GAAG,CAAC2B,WAAJ,EADA,GAEAT,GAAG,KAAK,CAAR,GACAlB,GAAG,CAAC4B,WAAJ,EADA,GAEA,IAfN;AAgBD;;AAED,SAAOL,KAAP;AACD","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
-
12
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
11
 
14
12
  var _vectorTileLayer = _interopRequireDefault(require("./vector-tile-layer"));
15
13
 
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
- };
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
+ }
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
- var layer = new _vectorTileLayer.default(pbf, pbf.readVarint() + pbf.pos);
27
+ const 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","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"}
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"}