@map-colonies/mc-utils 2.0.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,5 +21,5 @@ export declare const createGeoHashGenerator: (polygon: Polygon | Feature<Polygon
21
21
  * @param tileZoom target tiles zoom level
22
22
  * @param origin target tiles grid origin location (default ll)
23
23
  */
24
- export declare function tileGenerator(polygon: Polygon | Feature<Polygon | MultiPolygon>, tileZoom: number, origin?: TileOrigin): Generator<ITile>;
24
+ export declare function tileGenerator(polygon: Polygon | Feature<Polygon | MultiPolygon>, tileZoom: number, origin?: TileOrigin): AsyncGenerator<ITile>;
25
25
  //# sourceMappingURL=geoHash.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"geoHash.d.ts","sourceRoot":"","sources":["../../src/geo/geoHash.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,OAAO,EAAa,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACjH,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AA+C5D;;;;GAIG;AACH,eAAO,MAAM,aAAa,YAAa,MAAM,WAK5C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,YAAa,OAAO,GAAG,QAAQ,OAAO,GAAG,YAAY,CAAC,2BAAoC,UAAU,MAAM,CAc5I,CAAC;AAEF;;;;;GAKG;AACH,wBAAiB,aAAa,CAC5B,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EAClD,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,UAAkC,GACzC,SAAS,CAAC,KAAK,CAAC,CAmClB"}
1
+ {"version":3,"file":"geoHash.d.ts","sourceRoot":"","sources":["../../src/geo/geoHash.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,OAAO,EAAa,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACjH,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AA+C5D;;;;GAIG;AACH,eAAO,MAAM,aAAa,YAAa,MAAM,WAK5C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,YAAa,OAAO,GAAG,QAAQ,OAAO,GAAG,YAAY,CAAC,2BAAoC,UAAU,MAAM,CAc5I,CAAC;AAEF;;;;;GAKG;AACH,wBAAuB,aAAa,CAClC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EAClD,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,UAAkC,GACzC,cAAc,CAAC,KAAK,CAAC,CAmCvB"}
@@ -49,6 +49,25 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
49
49
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
50
  }
51
51
  };
52
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
53
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
54
+ var m = o[Symbol.asyncIterator], i;
55
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
56
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
57
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
58
+ };
59
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
60
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
61
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
62
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
63
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
64
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
65
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
66
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
67
+ function fulfill(value) { resume("next", value); }
68
+ function reject(value) { resume("throw", value); }
69
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
70
+ };
52
71
  var __values = (this && this.__values) || function(o) {
53
72
  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
54
73
  if (m) return m.call(o);
@@ -175,72 +194,81 @@ exports.createGeoHashGenerator = createGeoHashGenerator;
175
194
  * @param origin target tiles grid origin location (default ll)
176
195
  */
177
196
  function tileGenerator(polygon, tileZoom, origin) {
178
- var hashGen, hashGen_1, hashGen_1_1, hash, bbox, minTile, maxTile, minX, maxX, minY, maxY, x, y, e_2_1;
179
- var e_2, _a;
180
197
  if (origin === void 0) { origin = tileOrigin_1.TileOrigin.LOWER_LEFT; }
181
- return __generator(this, function (_b) {
182
- switch (_b.label) {
183
- case 0:
184
- hashGen = (0, exports.createGeoHashGenerator)(polygon, tileZoom);
185
- _b.label = 1;
186
- case 1:
187
- _b.trys.push([1, 10, 11, 12]);
188
- hashGen_1 = __values(hashGen), hashGen_1_1 = hashGen_1.next();
189
- _b.label = 2;
190
- case 2:
191
- if (!!hashGen_1_1.done) return [3 /*break*/, 9];
192
- hash = hashGen_1_1.value;
193
- bbox = (0, exports.decodeGeoHash)(hash);
194
- minTile = (0, geoConvertor_1.degreesToTile)({
195
- longitude: bbox[0],
196
- latitude: bbox[1],
197
- }, tileZoom, origin);
198
- maxTile = (0, geoConvertor_1.degreesToTile)({
199
- longitude: bbox[2],
200
- latitude: bbox[3],
201
- }, tileZoom, origin);
202
- minX = Math.min(minTile.x, maxTile.x);
203
- maxX = minTile.x + maxTile.x - minX;
204
- minY = Math.min(minTile.y, maxTile.y);
205
- maxY = minTile.y + maxTile.y - minY;
206
- x = minX;
207
- _b.label = 3;
208
- case 3:
209
- if (!(x < maxX)) return [3 /*break*/, 8];
210
- y = minY;
211
- _b.label = 4;
212
- case 4:
213
- if (!(y < maxY)) return [3 /*break*/, 7];
214
- return [4 /*yield*/, {
215
- x: x,
216
- y: y,
217
- zoom: tileZoom,
218
- }];
219
- case 5:
220
- _b.sent();
221
- _b.label = 6;
222
- case 6:
223
- y++;
224
- return [3 /*break*/, 4];
225
- case 7:
226
- x++;
227
- return [3 /*break*/, 3];
228
- case 8:
229
- hashGen_1_1 = hashGen_1.next();
230
- return [3 /*break*/, 2];
231
- case 9: return [3 /*break*/, 12];
232
- case 10:
233
- e_2_1 = _b.sent();
234
- e_2 = { error: e_2_1 };
235
- return [3 /*break*/, 12];
236
- case 11:
237
- try {
238
- if (hashGen_1_1 && !hashGen_1_1.done && (_a = hashGen_1.return)) _a.call(hashGen_1);
239
- }
240
- finally { if (e_2) throw e_2.error; }
241
- return [7 /*endfinally*/];
242
- case 12: return [2 /*return*/];
243
- }
198
+ return __asyncGenerator(this, arguments, function tileGenerator_1() {
199
+ var hashGen, hashGen_1, hashGen_1_1, hash, bbox, minTile, maxTile, minX, maxX, minY, maxY, x, y, e_2_1;
200
+ var e_2, _a;
201
+ return __generator(this, function (_b) {
202
+ switch (_b.label) {
203
+ case 0:
204
+ hashGen = (0, exports.createGeoHashGenerator)(polygon, tileZoom);
205
+ _b.label = 1;
206
+ case 1:
207
+ _b.trys.push([1, 13, 14, 19]);
208
+ hashGen_1 = __asyncValues(hashGen);
209
+ _b.label = 2;
210
+ case 2: return [4 /*yield*/, __await(hashGen_1.next())];
211
+ case 3:
212
+ if (!(hashGen_1_1 = _b.sent(), !hashGen_1_1.done)) return [3 /*break*/, 12];
213
+ hash = hashGen_1_1.value;
214
+ bbox = (0, exports.decodeGeoHash)(hash);
215
+ minTile = (0, geoConvertor_1.degreesToTile)({
216
+ longitude: bbox[0],
217
+ latitude: bbox[1],
218
+ }, tileZoom, origin);
219
+ maxTile = (0, geoConvertor_1.degreesToTile)({
220
+ longitude: bbox[2],
221
+ latitude: bbox[3],
222
+ }, tileZoom, origin);
223
+ minX = Math.min(minTile.x, maxTile.x);
224
+ maxX = minTile.x + maxTile.x - minX;
225
+ minY = Math.min(minTile.y, maxTile.y);
226
+ maxY = minTile.y + maxTile.y - minY;
227
+ x = minX;
228
+ _b.label = 4;
229
+ case 4:
230
+ if (!(x < maxX)) return [3 /*break*/, 11];
231
+ y = minY;
232
+ _b.label = 5;
233
+ case 5:
234
+ if (!(y < maxY)) return [3 /*break*/, 10];
235
+ return [4 /*yield*/, __await(Promise.resolve({
236
+ x: x,
237
+ y: y,
238
+ zoom: tileZoom,
239
+ }))];
240
+ case 6: return [4 /*yield*/, __await.apply(void 0, [_b.sent()])];
241
+ case 7: return [4 /*yield*/, _b.sent()];
242
+ case 8:
243
+ _b.sent();
244
+ _b.label = 9;
245
+ case 9:
246
+ y++;
247
+ return [3 /*break*/, 5];
248
+ case 10:
249
+ x++;
250
+ return [3 /*break*/, 4];
251
+ case 11: return [3 /*break*/, 2];
252
+ case 12: return [3 /*break*/, 19];
253
+ case 13:
254
+ e_2_1 = _b.sent();
255
+ e_2 = { error: e_2_1 };
256
+ return [3 /*break*/, 19];
257
+ case 14:
258
+ _b.trys.push([14, , 17, 18]);
259
+ if (!(hashGen_1_1 && !hashGen_1_1.done && (_a = hashGen_1.return))) return [3 /*break*/, 16];
260
+ return [4 /*yield*/, __await(_a.call(hashGen_1))];
261
+ case 15:
262
+ _b.sent();
263
+ _b.label = 16;
264
+ case 16: return [3 /*break*/, 18];
265
+ case 17:
266
+ if (e_2) throw e_2.error;
267
+ return [7 /*endfinally*/];
268
+ case 18: return [7 /*endfinally*/];
269
+ case 19: return [2 /*return*/];
270
+ }
271
+ });
244
272
  });
245
273
  }
246
274
  exports.tileGenerator = tileGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"geoHash.js","sourceRoot":"","sources":["../../src/geo/geoHash.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAiH;AAEjH,iDAAqC;AAErC,6DAA4D;AAC5D,+CAA+C;AAC/C,yCAAiD;AAEjD,IAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,IAAM,gBAAgB,GAAG,UAAC,KAAa,EAAE,KAAa;IACpD,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,IAAM,SAAS,GAAG,UAAC,IAAY,EAAE,MAAc;IAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,SAAU,OAAO,CACf,SAAiB,EACjB,YAAoB,EACpB,OAAkD,EAClD,IAAY,EACZ,UAAe;;;IAAf,2BAAA,EAAA,eAAe;;;;gBAGT,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;qBAC1E,CAAA,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA,EAAjB,yBAAiB;;;;gBACA,WAAA,SAAA,MAAM,CAAA;;;;gBAAd,IAAI;gBACP,QAAQ,GAAG,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAC;gBAC/B,QAAQ,GAAG,IAAA,kBAAW,EAAC,QAAQ,CAAC,CAAC;gBACjC,YAAY,GAAG,IAAA,gBAAS,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAClD,IAAI,YAAY,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE;oBACzD,wBAAS;iBACV;gBACK,OAAO,GAAG,IAAA,WAAI,EAAC,YAAY,CAAC,CAAC;gBAC7B,QAAQ,GAAG,IAAA,WAAI,EAAC,QAAQ,CAAC,CAAC;qBAC5B,CAAA,OAAO,IAAI,QAAQ,IAAI,SAAS,IAAI,YAAY,CAAA,EAAhD,wBAAgD;gBAClD,qBAAM,IAAI,EAAA;;gBAAV,SAAU,CAAC;;;gBAEL,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACjD,sBAAA,SAAO,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA,EAAA;;gBAAnE,SAAmE,CAAC;;;;;;;;;;;;;;;;;;;CAI3E;AAED;;;;GAIG;AACI,IAAM,aAAa,GAAG,UAAC,OAAe;IAC3C,IAAM,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACtD,2FAA2F;IAC3F,IAAM,UAAU,GAAW,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB;AAEF;;;;;GAKG;AACI,IAAM,sBAAsB,GAAG,UAAC,OAAkD,EAAE,WAA+B;IAA/B,4BAAA,EAAA,+BAA+B;IACxH,IAAI,IAAI,GAAG,IAAA,WAAa,EAAC,OAAO,CAAW,CAAC;IAC5C,IAAI,GAAG,IAAA,8BAAkB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7C,oDAAoD;IACpD,wDAAwD;IACxD,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAM,YAAY,GAAG,WAAW,GAAG,CAAC,CAAC;IACrC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE;QACzC,aAAa,EAAE,CAAC;KACjB;SAAM,IAAI,YAAY,GAAG,CAAC,EAAE;QAC3B,aAAa,IAAI,CAAC,CAAC;KACpB;IACD,uDAAuD;IACvD,OAAO,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC;AAdW,QAAA,sBAAsB,0BAcjC;AAEF;;;;;GAKG;AACH,SAAiB,aAAa,CAC5B,OAAkD,EAClD,QAAgB,EAChB,MAA0C;;;IAA1C,uBAAA,EAAA,SAAqB,uBAAU,CAAC,UAAU;;;;gBAEpC,OAAO,GAAG,IAAA,8BAAsB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;;;;gBACvC,YAAA,SAAA,OAAO,CAAA;;;;gBAAf,IAAI;gBACP,IAAI,GAAG,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAC;gBAC3B,OAAO,GAAG,IAAA,4BAAa,EAC3B;oBACE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;oBAClB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;iBAClB,EACD,QAAQ,EACR,MAAM,CACP,CAAC;gBACI,OAAO,GAAG,IAAA,4BAAa,EAC3B;oBACE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;oBAClB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;iBAClB,EACD,QAAQ,EACR,MAAM,CACP,CAAC;gBACI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;gBAEpC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;gBACjC,CAAC,GAAG,IAAI;;;qBAAE,CAAA,CAAC,GAAG,IAAI,CAAA;gBAChB,CAAC,GAAG,IAAI;;;qBAAE,CAAA,CAAC,GAAG,IAAI,CAAA;gBACzB,qBAAM;wBACJ,CAAC,GAAA;wBACD,CAAC,GAAA;wBACD,IAAI,EAAE,QAAQ;qBACf,EAAA;;gBAJD,SAIC,CAAC;;;gBALyB,CAAC,EAAE,CAAA;;;gBADL,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;;;CAUnC;AAvCD,sCAuCC"}
1
+ {"version":3,"file":"geoHash.js","sourceRoot":"","sources":["../../src/geo/geoHash.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAiH;AAEjH,iDAAqC;AAErC,6DAA4D;AAC5D,+CAA+C;AAC/C,yCAAiD;AAEjD,IAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,IAAM,gBAAgB,GAAG,UAAC,KAAa,EAAE,KAAa;IACpD,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,IAAM,SAAS,GAAG,UAAC,IAAY,EAAE,MAAc;IAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,SAAU,OAAO,CACf,SAAiB,EACjB,YAAoB,EACpB,OAAkD,EAClD,IAAY,EACZ,UAAe;;;IAAf,2BAAA,EAAA,eAAe;;;;gBAGT,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;qBAC1E,CAAA,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA,EAAjB,yBAAiB;;;;gBACA,WAAA,SAAA,MAAM,CAAA;;;;gBAAd,IAAI;gBACP,QAAQ,GAAG,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAC;gBAC/B,QAAQ,GAAG,IAAA,kBAAW,EAAC,QAAQ,CAAC,CAAC;gBACjC,YAAY,GAAG,IAAA,gBAAS,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAClD,IAAI,YAAY,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE;oBACzD,wBAAS;iBACV;gBACK,OAAO,GAAG,IAAA,WAAI,EAAC,YAAY,CAAC,CAAC;gBAC7B,QAAQ,GAAG,IAAA,WAAI,EAAC,QAAQ,CAAC,CAAC;qBAC5B,CAAA,OAAO,IAAI,QAAQ,IAAI,SAAS,IAAI,YAAY,CAAA,EAAhD,wBAAgD;gBAClD,qBAAM,IAAI,EAAA;;gBAAV,SAAU,CAAC;;;gBAEL,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACjD,sBAAA,SAAO,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA,EAAA;;gBAAnE,SAAmE,CAAC;;;;;;;;;;;;;;;;;;;CAI3E;AAED;;;;GAIG;AACI,IAAM,aAAa,GAAG,UAAC,OAAe;IAC3C,IAAM,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACtD,2FAA2F;IAC3F,IAAM,UAAU,GAAW,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB;AAEF;;;;;GAKG;AACI,IAAM,sBAAsB,GAAG,UAAC,OAAkD,EAAE,WAA+B;IAA/B,4BAAA,EAAA,+BAA+B;IACxH,IAAI,IAAI,GAAG,IAAA,WAAa,EAAC,OAAO,CAAW,CAAC;IAC5C,IAAI,GAAG,IAAA,8BAAkB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7C,oDAAoD;IACpD,wDAAwD;IACxD,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAM,YAAY,GAAG,WAAW,GAAG,CAAC,CAAC;IACrC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE;QACzC,aAAa,EAAE,CAAC;KACjB;SAAM,IAAI,YAAY,GAAG,CAAC,EAAE;QAC3B,aAAa,IAAI,CAAC,CAAC;KACpB;IACD,uDAAuD;IACvD,OAAO,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC;AAdW,QAAA,sBAAsB,0BAcjC;AAEF;;;;;GAKG;AACH,SAAuB,aAAa,CAClC,OAAkD,EAClD,QAAgB,EAChB,MAA0C;IAA1C,uBAAA,EAAA,SAAqB,uBAAU,CAAC,UAAU;;;;;;;oBAEpC,OAAO,GAAG,IAAA,8BAAsB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;;;;oBACjC,YAAA,cAAA,OAAO,CAAA;;;;;oBAAf,IAAI,oBAAA,CAAA;oBACb,IAAI,GAAG,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAC;oBAC3B,OAAO,GAAG,IAAA,4BAAa,EAC3B;wBACE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;wBAClB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;qBAClB,EACD,QAAQ,EACR,MAAM,CACP,CAAC;oBACI,OAAO,GAAG,IAAA,4BAAa,EAC3B;wBACE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;wBAClB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;qBAClB,EACD,QAAQ,EACR,MAAM,CACP,CAAC;oBACI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;oBACtC,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;oBAEpC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;oBACtC,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;oBACjC,CAAC,GAAG,IAAI;;;yBAAE,CAAA,CAAC,GAAG,IAAI,CAAA;oBAChB,CAAC,GAAG,IAAI;;;yBAAE,CAAA,CAAC,GAAG,IAAI,CAAA;oBACnB,6BAAM,OAAO,CAAC,OAAO,CAAC;4BAC1B,CAAC,GAAA;4BACD,CAAC,GAAA;4BACD,IAAI,EAAE,QAAQ;yBACf,CAAC,GAAA;oEAJI,SAIJ;wBAJF,gCAIE;;oBAJF,SAIE,CAAC;;;oBALwB,CAAC,EAAE,CAAA;;;oBADL,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;CAUnC;AAvCD,sCAuCC"}
@@ -4,6 +4,6 @@ import { ITileRange } from '../models/interfaces/geo/iTile';
4
4
  * @param batchSize amount of tile per batch
5
5
  * @param ranges iterable collection of tile ranges
6
6
  */
7
- declare function tileBatchGenerator(batchSize: number, ranges: Iterable<ITileRange>): Generator<ITileRange[]>;
7
+ declare function tileBatchGenerator(batchSize: number, ranges: AsyncGenerator<ITileRange>): AsyncGenerator<ITileRange[]>;
8
8
  export { tileBatchGenerator };
9
9
  //# sourceMappingURL=tileBatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tileBatcher.d.ts","sourceRoot":"","sources":["../../src/geo/tileBatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D;;;;GAIG;AACH,iBAAU,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,CAmFrG;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"tileBatcher.d.ts","sourceRoot":"","sources":["../../src/geo/tileBatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D;;;;GAIG;AACH,iBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC,CAoFtH;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -26,142 +26,168 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
26
26
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
27
27
  }
28
28
  };
29
- var __values = (this && this.__values) || function(o) {
30
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
31
- if (m) return m.call(o);
32
- if (o && typeof o.length === "number") return {
33
- next: function () {
34
- if (o && i >= o.length) o = void 0;
35
- return { value: o && o[i++], done: !o };
36
- }
37
- };
38
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
29
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
30
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
31
+ var m = o[Symbol.asyncIterator], i;
32
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
33
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
34
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
35
+ };
36
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
37
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
38
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
39
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
40
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
41
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
42
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
43
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
44
+ function fulfill(value) { resume("next", value); }
45
+ function reject(value) { resume("throw", value); }
46
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
39
47
  };
40
48
  Object.defineProperty(exports, "__esModule", { value: true });
41
49
  exports.tileBatchGenerator = void 0;
50
+ var timeout_1 = require("../utils/timeout");
42
51
  /**
43
52
  * split collection of tile ranges to batches based on tile count
44
53
  * @param batchSize amount of tile per batch
45
54
  * @param ranges iterable collection of tile ranges
46
55
  */
47
56
  function tileBatchGenerator(batchSize, ranges) {
48
- var targetRanges, requiredForFullBatch, ranges_1, ranges_1_1, range, dx, dy, reminderX, remaining, requiredLines, yRange, endX, e_1_1;
49
- var e_1, _a;
50
- return __generator(this, function (_b) {
51
- switch (_b.label) {
52
- case 0:
53
- targetRanges = [];
54
- requiredForFullBatch = batchSize;
55
- _b.label = 1;
56
- case 1:
57
- _b.trys.push([1, 11, 12, 13]);
58
- ranges_1 = __values(ranges), ranges_1_1 = ranges_1.next();
59
- _b.label = 2;
60
- case 2:
61
- if (!!ranges_1_1.done) return [3 /*break*/, 10];
62
- range = ranges_1_1.value;
63
- dx = range.maxX - range.minX;
64
- dy = range.maxY - range.minY;
65
- if (dx === 0 || dy === 0) {
66
- return [3 /*break*/, 9];
67
- }
68
- reminderX = range.maxX;
69
- _b.label = 3;
70
- case 3:
71
- if (!(range.minY < range.maxY)) return [3 /*break*/, 9];
72
- if (!(reminderX < range.maxX)) return [3 /*break*/, 6];
73
- remaining = range.maxX - reminderX;
74
- if (!(remaining > requiredForFullBatch)) return [3 /*break*/, 5];
75
- targetRanges.push({
76
- minX: reminderX,
77
- maxX: reminderX + requiredForFullBatch,
78
- minY: range.minY,
79
- maxY: range.minY + 1,
80
- zoom: range.zoom,
81
- });
82
- return [4 /*yield*/, targetRanges];
83
- case 4:
84
- _b.sent();
85
- reminderX += requiredForFullBatch;
86
- targetRanges = [];
87
- requiredForFullBatch = batchSize;
88
- return [3 /*break*/, 3];
89
- case 5:
90
- targetRanges.push({
91
- minX: reminderX,
92
- maxX: reminderX + remaining,
93
- minY: range.minY,
94
- maxY: range.minY + 1,
95
- zoom: range.zoom,
96
- });
97
- range.minY++;
98
- reminderX += remaining;
99
- requiredForFullBatch -= remaining;
100
- dy--;
101
- _b.label = 6;
102
- case 6:
103
- requiredLines = Math.floor(requiredForFullBatch / dx);
104
- yRange = Math.min(requiredLines, dy);
105
- if (yRange > 0) {
57
+ return __asyncGenerator(this, arguments, function tileBatchGenerator_1() {
58
+ var targetRanges, requiredForFullBatch, ranges_1, ranges_1_1, range, dx, dy, reminderX, remaining, requiredLines, yRange, endX, e_1_1;
59
+ var e_1, _a;
60
+ return __generator(this, function (_b) {
61
+ switch (_b.label) {
62
+ case 0:
63
+ targetRanges = [];
64
+ requiredForFullBatch = batchSize;
65
+ _b.label = 1;
66
+ case 1:
67
+ _b.trys.push([1, 18, 19, 24]);
68
+ ranges_1 = __asyncValues(ranges);
69
+ _b.label = 2;
70
+ case 2: return [4 /*yield*/, __await(ranges_1.next())];
71
+ case 3:
72
+ if (!(ranges_1_1 = _b.sent(), !ranges_1_1.done)) return [3 /*break*/, 17];
73
+ range = ranges_1_1.value;
74
+ dx = range.maxX - range.minX;
75
+ dy = range.maxY - range.minY;
76
+ if (dx === 0 || dy === 0) {
77
+ return [3 /*break*/, 16];
78
+ }
79
+ reminderX = range.maxX;
80
+ _b.label = 4;
81
+ case 4:
82
+ if (!(range.minY < range.maxY)) return [3 /*break*/, 14];
83
+ if (!(reminderX < range.maxX)) return [3 /*break*/, 9];
84
+ remaining = range.maxX - reminderX;
85
+ if (!(remaining > requiredForFullBatch)) return [3 /*break*/, 8];
106
86
  targetRanges.push({
107
- minX: range.minX,
108
- maxX: range.maxX,
87
+ minX: reminderX,
88
+ maxX: reminderX + requiredForFullBatch,
109
89
  minY: range.minY,
110
- maxY: range.minY + yRange,
90
+ maxY: range.minY + 1,
111
91
  zoom: range.zoom,
112
92
  });
113
- range.minY += yRange;
114
- dy -= yRange;
115
- requiredForFullBatch -= yRange * dx;
116
- }
117
- //add partial lines beginning
118
- if (requiredForFullBatch > 0 && range.minY < range.maxY) {
119
- endX = Math.min(range.minX + requiredForFullBatch, range.maxX);
93
+ return [4 /*yield*/, __await(Promise.resolve(targetRanges))];
94
+ case 5: return [4 /*yield*/, __await.apply(void 0, [_b.sent()])];
95
+ case 6: return [4 /*yield*/, _b.sent()];
96
+ case 7:
97
+ _b.sent();
98
+ reminderX += requiredForFullBatch;
99
+ targetRanges = [];
100
+ requiredForFullBatch = batchSize;
101
+ return [3 /*break*/, 4];
102
+ case 8:
120
103
  targetRanges.push({
121
- minX: range.minX,
122
- maxX: endX,
104
+ minX: reminderX,
105
+ maxX: reminderX + remaining,
123
106
  minY: range.minY,
124
107
  maxY: range.minY + 1,
125
108
  zoom: range.zoom,
126
109
  });
127
- requiredForFullBatch -= endX - range.minX;
128
- if (endX < range.maxX) {
129
- reminderX = endX;
110
+ range.minY++;
111
+ reminderX += remaining;
112
+ requiredForFullBatch -= remaining;
113
+ dy--;
114
+ _b.label = 9;
115
+ case 9:
116
+ requiredLines = Math.floor(requiredForFullBatch / dx);
117
+ yRange = Math.min(requiredLines, dy);
118
+ if (yRange > 0) {
119
+ targetRanges.push({
120
+ minX: range.minX,
121
+ maxX: range.maxX,
122
+ minY: range.minY,
123
+ maxY: range.minY + yRange,
124
+ zoom: range.zoom,
125
+ });
126
+ range.minY += yRange;
127
+ dy -= yRange;
128
+ requiredForFullBatch -= yRange * dx;
130
129
  }
131
- else {
132
- range.minY++;
130
+ //add partial lines beginning
131
+ if (requiredForFullBatch > 0 && range.minY < range.maxY) {
132
+ endX = Math.min(range.minX + requiredForFullBatch, range.maxX);
133
+ targetRanges.push({
134
+ minX: range.minX,
135
+ maxX: endX,
136
+ minY: range.minY,
137
+ maxY: range.minY + 1,
138
+ zoom: range.zoom,
139
+ });
140
+ requiredForFullBatch -= endX - range.minX;
141
+ if (endX < range.maxX) {
142
+ reminderX = endX;
143
+ }
144
+ else {
145
+ range.minY++;
146
+ }
133
147
  }
134
- }
135
- if (!(requiredForFullBatch === 0)) return [3 /*break*/, 8];
136
- return [4 /*yield*/, targetRanges];
137
- case 7:
138
- _b.sent();
139
- targetRanges = [];
140
- requiredForFullBatch = batchSize;
141
- _b.label = 8;
142
- case 8: return [3 /*break*/, 3];
143
- case 9:
144
- ranges_1_1 = ranges_1.next();
145
- return [3 /*break*/, 2];
146
- case 10: return [3 /*break*/, 13];
147
- case 11:
148
- e_1_1 = _b.sent();
149
- e_1 = { error: e_1_1 };
150
- return [3 /*break*/, 13];
151
- case 12:
152
- try {
153
- if (ranges_1_1 && !ranges_1_1.done && (_a = ranges_1.return)) _a.call(ranges_1);
154
- }
155
- finally { if (e_1) throw e_1.error; }
156
- return [7 /*endfinally*/];
157
- case 13:
158
- if (!(targetRanges.length > 0)) return [3 /*break*/, 15];
159
- return [4 /*yield*/, targetRanges];
160
- case 14:
161
- _b.sent();
162
- _b.label = 15;
163
- case 15: return [2 /*return*/];
164
- }
148
+ if (!(requiredForFullBatch === 0)) return [3 /*break*/, 13];
149
+ return [4 /*yield*/, __await(Promise.resolve(targetRanges))];
150
+ case 10: return [4 /*yield*/, __await.apply(void 0, [_b.sent()])];
151
+ case 11: return [4 /*yield*/, _b.sent()];
152
+ case 12:
153
+ _b.sent();
154
+ targetRanges = [];
155
+ requiredForFullBatch = batchSize;
156
+ _b.label = 13;
157
+ case 13: return [3 /*break*/, 4];
158
+ case 14: return [4 /*yield*/, __await((0, timeout_1.timeout)(0))];
159
+ case 15:
160
+ _b.sent(); // TODO: * This is a hot fix to keep work async and handle concurrency requests while handling the task batch merging, remove this when moving to the new utils package ! *
161
+ _b.label = 16;
162
+ case 16: return [3 /*break*/, 2];
163
+ case 17: return [3 /*break*/, 24];
164
+ case 18:
165
+ e_1_1 = _b.sent();
166
+ e_1 = { error: e_1_1 };
167
+ return [3 /*break*/, 24];
168
+ case 19:
169
+ _b.trys.push([19, , 22, 23]);
170
+ if (!(ranges_1_1 && !ranges_1_1.done && (_a = ranges_1.return))) return [3 /*break*/, 21];
171
+ return [4 /*yield*/, __await(_a.call(ranges_1))];
172
+ case 20:
173
+ _b.sent();
174
+ _b.label = 21;
175
+ case 21: return [3 /*break*/, 23];
176
+ case 22:
177
+ if (e_1) throw e_1.error;
178
+ return [7 /*endfinally*/];
179
+ case 23: return [7 /*endfinally*/];
180
+ case 24:
181
+ if (!(targetRanges.length > 0)) return [3 /*break*/, 28];
182
+ return [4 /*yield*/, __await(Promise.resolve(targetRanges))];
183
+ case 25: return [4 /*yield*/, __await.apply(void 0, [_b.sent()])];
184
+ case 26: return [4 /*yield*/, _b.sent()];
185
+ case 27:
186
+ _b.sent();
187
+ _b.label = 28;
188
+ case 28: return [2 /*return*/];
189
+ }
190
+ });
165
191
  });
166
192
  }
167
193
  exports.tileBatchGenerator = tileBatchGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"tileBatcher.js","sourceRoot":"","sources":["../../src/geo/tileBatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tileBatcher.js","sourceRoot":"","sources":["../../src/geo/tileBatcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4CAA2C;AAE3C;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,SAAiB,EAAE,MAAkC;;;;;;;oBAClF,YAAY,GAAiB,EAAE,CAAC;oBAChC,oBAAoB,GAAG,SAAS,CAAC;;;;oBACX,WAAA,cAAA,MAAM,CAAA;;;;;oBAAf,KAAK,mBAAA,CAAA;oBACd,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC/B,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;oBACjC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;wBACxB,yBAAS;qBACV;oBACG,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;;;yBACpB,CAAA,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;yBAExB,CAAA,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA,EAAtB,wBAAsB;oBAClB,SAAS,GAAG,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;yBACrC,CAAA,SAAS,GAAG,oBAAoB,CAAA,EAAhC,wBAAgC;oBAClC,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS,GAAG,oBAAoB;wBACtC,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC;wBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB,CAAC,CAAC;oBACG,6BAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAA;oEAAnC,SAAmC;wBAAzC,gCAAyC;;oBAAzC,SAAyC,CAAC;oBAC1C,SAAS,IAAI,oBAAoB,CAAC;oBAClC,YAAY,GAAG,EAAE,CAAC;oBAClB,oBAAoB,GAAG,SAAS,CAAC;oBACjC,wBAAS;;oBAET,YAAY,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS,GAAG,SAAS;wBAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC;wBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB,CAAC,CAAC;oBACH,KAAK,CAAC,IAAI,EAAE,CAAC;oBACb,SAAS,IAAI,SAAS,CAAC;oBACvB,oBAAoB,IAAI,SAAS,CAAC;oBAClC,EAAE,EAAE,CAAC;;;oBAIH,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;oBACtD,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;oBAC3C,IAAI,MAAM,GAAG,CAAC,EAAE;wBACd,YAAY,CAAC,IAAI,CAAC;4BAChB,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,MAAM;4BACzB,IAAI,EAAE,KAAK,CAAC,IAAI;yBACjB,CAAC,CAAC;wBACH,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC;wBACrB,EAAE,IAAI,MAAM,CAAC;wBACb,oBAAoB,IAAI,MAAM,GAAG,EAAE,CAAC;qBACrC;oBACD,6BAA6B;oBAC7B,IAAI,oBAAoB,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE;wBACjD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBACrE,YAAY,CAAC,IAAI,CAAC;4BAChB,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,IAAI,EAAE,IAAI;4BACV,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC;4BACpB,IAAI,EAAE,KAAK,CAAC,IAAI;yBACjB,CAAC,CAAC;wBACH,oBAAoB,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;wBAC1C,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE;4BACrB,SAAS,GAAG,IAAI,CAAC;yBAClB;6BAAM;4BACL,KAAK,CAAC,IAAI,EAAE,CAAC;yBACd;qBACF;yBACG,CAAA,oBAAoB,KAAK,CAAC,CAAA,EAA1B,yBAA0B;oBACtB,6BAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAA;qEAAnC,SAAmC;yBAAzC,gCAAyC;;oBAAzC,SAAyC,CAAC;oBAC1C,YAAY,GAAG,EAAE,CAAC;oBAClB,oBAAoB,GAAG,SAAS,CAAC;;;yBAGrC,6BAAM,IAAA,iBAAO,EAAC,CAAC,CAAC,GAAA;;oBAAhB,SAAgB,CAAC,CAAC,2KAA2K;;;;;;;;;;;;;;;;;;;;;yBAE3L,CAAA,YAAY,CAAC,MAAM,GAAG,CAAC,CAAA,EAAvB,yBAAuB;oBACnB,6BAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAA;qEAAnC,SAAmC;yBAAzC,gCAAyC;;oBAAzC,SAAyC,CAAC;;;;;;CAE7C;AAEQ,gDAAkB"}
@@ -18,19 +18,19 @@ export declare class TileRanger {
18
18
  * @param zoom max hash zoom
19
19
  * @returns
20
20
  */
21
- encodeFootprint(footprint: Polygon | Feature<Polygon | MultiPolygon>, zoom: number, verbose?: boolean): Generator<ITileRange>;
21
+ encodeFootprint(footprint: Polygon | Feature<Polygon | MultiPolygon>, zoom: number, verbose?: boolean): AsyncGenerator<ITileRange>;
22
22
  /**
23
23
  * generate tile
24
24
  * @param bbox bbox to cover with generated tiles
25
25
  * @param zoom target tiles zoom level
26
26
  */
27
- generateTiles(bbox: BBox2d, zoom: number): Generator<ITile>;
27
+ generateTiles(bbox: BBox2d, zoom: number): AsyncGenerator<ITile>;
28
28
  /**
29
29
  * generate tile
30
30
  * @param footprint footprint to cover with generated tiles
31
31
  * @param zoom target tiles zoom level
32
32
  */
33
- generateTiles(footprint: Polygon | Feature<Polygon | MultiPolygon>, zoom: number): Generator<ITile>;
33
+ generateTiles(footprint: Polygon | Feature<Polygon | MultiPolygon>, zoom: number): AsyncGenerator<ITile>;
34
34
  private generateRanges;
35
35
  /**
36
36
  * generate tile
@@ -1 +1 @@
1
- {"version":3,"file":"tileRanger.d.ts","sourceRoot":"","sources":["../../src/geo/tileRanger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAA0D,OAAO,EAAa,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC/H,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAkBnE;;GAEG;AACH,qBAAa,UAAU;IACrB;;;;;OAKG;IACI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU;IA4BzD;;;;;OAKG;IACK,eAAe,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,SAAS,CAAC,UAAU,CAAC;IAiCnI;;;;OAIG;IACI,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC;IAClE;;;;OAIG;IACI,aAAa,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC;IAW1G,OAAO,CAAE,cAAc;IA6EvB;;;;;;OAMG;IACH,OAAO,CAAE,YAAY;IAwCrB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAiBxC;IAEF,OAAO,CAAC,MAAM;CAKf"}
1
+ {"version":3,"file":"tileRanger.d.ts","sourceRoot":"","sources":["../../src/geo/tileRanger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAA0D,OAAO,EAAa,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC/H,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAkBnE;;GAEG;AACH,qBAAa,UAAU;IACrB;;;;;OAKG;IACI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU;IA4BzD;;;;;OAKG;IACW,eAAe,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,cAAc,CAAC,UAAU,CAAC;IAiC9I;;;;OAIG;IACI,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC;IACvE;;;;OAIG;IACI,aAAa,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC;YAchG,cAAc;IA6E7B;;;;;;OAMG;IACH,OAAO,CAAE,YAAY;IAwCrB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAiBxC;IAEF,OAAO,CAAC,MAAM;CAKf"}
@@ -26,6 +26,30 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
26
26
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
27
27
  }
28
28
  };
29
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
30
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
31
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
32
+ var m = o[Symbol.asyncIterator], i;
33
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
34
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
35
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
36
+ };
37
+ var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
38
+ var i, p;
39
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
40
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
41
+ };
42
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
43
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
44
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
45
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
46
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
47
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
48
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
49
+ function fulfill(value) { resume("next", value); }
50
+ function reject(value) { resume("throw", value); }
51
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
52
+ };
29
53
  var __values = (this && this.__values) || function(o) {
30
54
  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
31
55
  if (m) return m.call(o);
@@ -114,47 +138,67 @@ var TileRanger = /** @class */ (function () {
114
138
  * @returns
115
139
  */
116
140
  TileRanger.prototype.encodeFootprint = function (footprint, zoom, verbose) {
117
- var bbox, tileRange, intersectionParams;
118
141
  if (verbose === void 0) { verbose = false; }
119
- return __generator(this, function (_a) {
120
- switch (_a.label) {
121
- case 0:
122
- ////////////////////////////////
123
- /// Step 1: check if the footprint is identical to its bbox
124
- ////////////////////////////////
125
- if (verbose) {
126
- console.log('encode footprint');
127
- }
128
- bbox = (0, turf_1.bbox)(footprint);
129
- if (!this.isBbox(footprint)) return [3 /*break*/, 2];
130
- tileRange = (0, bboxUtils_1.bboxToTileRange)(bbox, zoom);
131
- if (verbose) {
132
- console.log("footprint is identical to its bbox - return BBOX tile range zoom: ".concat(tileRange.zoom, " : X ").concat(tileRange.minX, " - ").concat(tileRange.maxX, " : Y ").concat(tileRange.minY, " - ").concat(tileRange.maxY));
133
- }
134
- return [4 /*yield*/, tileRange];
135
- case 1:
136
- _a.sent();
137
- return [3 /*break*/, 4];
138
- case 2:
139
- intersectionParams = {
140
- footprint: footprint,
141
- maxZoom: zoom,
142
- };
143
- if (verbose) {
144
- console.log('footprint is different from its bbox - generateRanges');
145
- }
146
- return [5 /*yield**/, __values(this.generateRanges(bbox, zoom, intersectionParams, this.tileFootprintIntersection, verbose))];
147
- case 3:
148
- _a.sent();
149
- _a.label = 4;
150
- case 4: return [2 /*return*/];
151
- }
142
+ return __asyncGenerator(this, arguments, function encodeFootprint_1() {
143
+ var bbox, tileRange, intersectionParams;
144
+ return __generator(this, function (_a) {
145
+ switch (_a.label) {
146
+ case 0:
147
+ ////////////////////////////////
148
+ /// Step 1: check if the footprint is identical to its bbox
149
+ ////////////////////////////////
150
+ if (verbose) {
151
+ console.log('encode footprint');
152
+ }
153
+ bbox = (0, turf_1.bbox)(footprint);
154
+ if (!this.isBbox(footprint)) return [3 /*break*/, 4];
155
+ tileRange = (0, bboxUtils_1.bboxToTileRange)(bbox, zoom);
156
+ if (verbose) {
157
+ console.log("footprint is identical to its bbox - return BBOX tile range zoom: ".concat(tileRange.zoom, " : X ").concat(tileRange.minX, " - ").concat(tileRange.maxX, " : Y ").concat(tileRange.minY, " - ").concat(tileRange.maxY));
158
+ }
159
+ return [4 /*yield*/, __await(Promise.resolve(tileRange))];
160
+ case 1: return [4 /*yield*/, __await.apply(void 0, [_a.sent()])];
161
+ case 2: return [4 /*yield*/, _a.sent()];
162
+ case 3:
163
+ _a.sent();
164
+ return [3 /*break*/, 8];
165
+ case 4:
166
+ intersectionParams = {
167
+ footprint: footprint,
168
+ maxZoom: zoom,
169
+ };
170
+ if (verbose) {
171
+ console.log('footprint is different from its bbox - generateRanges');
172
+ }
173
+ return [4 /*yield*/, __await(Promise.resolve(this.generateRanges(bbox, zoom, intersectionParams, this.tileFootprintIntersection, verbose)))];
174
+ case 5: return [5 /*yield**/, __values(__asyncDelegator.apply(void 0, [__asyncValues.apply(void 0, [_a.sent()])]))];
175
+ case 6: return [4 /*yield*/, __await.apply(void 0, [_a.sent()])];
176
+ case 7:
177
+ _a.sent();
178
+ _a.label = 8;
179
+ case 8: return [2 /*return*/];
180
+ }
181
+ });
152
182
  });
153
183
  };
154
184
  TileRanger.prototype.generateTiles = function (area, zoom) {
155
185
  var gen;
156
186
  if (Array.isArray(area)) {
157
- gen = [(0, bboxUtils_1.bboxToTileRange)(area, zoom)];
187
+ var tileRangeGen = function tileRangeGenerator() {
188
+ return __asyncGenerator(this, arguments, function tileRangeGenerator_1() {
189
+ return __generator(this, function (_a) {
190
+ switch (_a.label) {
191
+ case 0: return [4 /*yield*/, __await(Promise.resolve((0, bboxUtils_1.bboxToTileRange)(area, zoom)))];
192
+ case 1: return [4 /*yield*/, __await.apply(void 0, [_a.sent()])];
193
+ case 2: return [4 /*yield*/, _a.sent()];
194
+ case 3:
195
+ _a.sent();
196
+ return [2 /*return*/];
197
+ }
198
+ });
199
+ });
200
+ };
201
+ gen = tileRangeGen();
158
202
  }
159
203
  else {
160
204
  gen = this.encodeFootprint(area, zoom);
@@ -162,83 +206,95 @@ var TileRanger = /** @class */ (function () {
162
206
  return (0, tilesGenerator_1.tilesGenerator)(gen);
163
207
  };
164
208
  TileRanger.prototype.generateRanges = function (bbox, zoom, intersectionTarget, intersectionFunction, verbose) {
165
- var boundingRange, bboxString, dx, dy, minXZoom, minYZoom, minZoom, minimalRange, x, y, tile, intersection, tileRange;
166
209
  if (verbose === void 0) { verbose = false; }
167
- return __generator(this, function (_a) {
168
- switch (_a.label) {
169
- case 0:
170
- /////////////////////////////////////////////////////////////////////////////////////////////////
171
- /// Step 3: Convert the bbox to tile range of the requested zoom
172
- /////////////////////////////////////////////////////////////////////////////////////////////////
173
- if (verbose) {
174
- console.log('Convert the bbox to tile range of the requested zoom');
175
- }
176
- boundingRange = (0, bboxUtils_1.bboxToTileRange)(bbox, zoom);
177
- if (verbose) {
178
- bboxString = "BBOX[0]: ".concat(bbox[0], ", BBOX[1]: ").concat(bbox[1], ", BBOX[2]: ").concat(bbox[2], ", BBOX[3]: ").concat(bbox[3]);
179
- console.log("".concat(bboxString, ", Zoom: ").concat(zoom, ", bounding range: minX: ").concat(boundingRange.minX, ", maxX: ").concat(boundingRange.maxX, ", minY: ").concat(boundingRange.minY, ", maxY: ").concat(boundingRange.maxY));
180
- }
181
- /////////////////////////////////////////////////////////////////////////////////////////////////
182
- /// Step 4: Use range size to calculate zoom level where the target area is smaller then 1 tile
183
- /// (use zoom zero in-case there is no such zoom, for example in global bbox).
184
- /////////////////////////////////////////////////////////////////////////////////////////////////
185
- // find minimal zoom where the the area can be converted by area the size of single tile to skip levels that can't have full hashes
186
- if (verbose) {
187
- console.log("find minimal zoom where the the area can be converted by area the size of single tile to skip levels that can't have full hashes");
188
- }
189
- dx = boundingRange.maxX - boundingRange.minX;
190
- dy = boundingRange.maxY - boundingRange.minY;
191
- minXZoom = Math.max(Math.floor(Math.log2(1 << (zoom + 1)) / dx) - 1, 0);
192
- minYZoom = Math.max(Math.floor(Math.log2(1 << zoom) / dy), 0);
193
- minZoom = Math.min(minXZoom, minYZoom);
194
- if (verbose) {
195
- console.log("MinZoom: ".concat(minZoom));
196
- }
197
- minimalRange = (0, bboxUtils_1.bboxToTileRange)(bbox, minZoom);
198
- x = minimalRange.minX;
199
- _a.label = 1;
200
- case 1:
201
- if (!(x < minimalRange.maxX)) return [3 /*break*/, 8];
202
- y = minimalRange.minY;
203
- _a.label = 2;
204
- case 2:
205
- if (!(y < minimalRange.maxY)) return [3 /*break*/, 7];
206
- tile = { x: x, y: y, zoom: minimalRange.zoom };
207
- intersection = intersectionFunction(tile, intersectionTarget);
208
- if (verbose) {
209
- console.log("Tile X: ".concat(tile.x, ", Y: ").concat(tile.y, " zoom ").concat(tile.zoom, ", intersection: ").concat(intersection));
210
- }
211
- if (!(intersection === TileIntersectionState.FULL)) return [3 /*break*/, 4];
212
- tileRange = this.tileToRange(tile, zoom);
213
- if (verbose) {
214
- console.log("return BBOX tile range zoom: ".concat(tileRange.zoom, " : X ").concat(tileRange.minX, " - ").concat(tileRange.maxX, " : Y ").concat(tileRange.minY, " - ").concat(tileRange.maxY));
215
- }
216
- return [4 /*yield*/, tileRange];
217
- case 3:
218
- _a.sent();
219
- return [3 /*break*/, 6];
220
- case 4:
221
- if (!(intersection === TileIntersectionState.PARTIAL)) return [3 /*break*/, 6];
210
+ return __asyncGenerator(this, arguments, function generateRanges_1() {
211
+ var boundingRange, bboxString, dx, dy, minXZoom, minYZoom, minZoom, minimalRange, x, y, tile, intersection, tileRange;
212
+ return __generator(this, function (_a) {
213
+ switch (_a.label) {
214
+ case 0:
215
+ /////////////////////////////////////////////////////////////////////////////////////////////////
216
+ /// Step 3: Convert the bbox to tile range of the requested zoom
217
+ /////////////////////////////////////////////////////////////////////////////////////////////////
218
+ if (verbose) {
219
+ console.log('Convert the bbox to tile range of the requested zoom');
220
+ }
221
+ boundingRange = (0, bboxUtils_1.bboxToTileRange)(bbox, zoom);
222
+ if (verbose) {
223
+ bboxString = "BBOX[0]: ".concat(bbox[0], ", BBOX[1]: ").concat(bbox[1], ", BBOX[2]: ").concat(bbox[2], ", BBOX[3]: ").concat(bbox[3]);
224
+ console.log("".concat(bboxString, ", Zoom: ").concat(zoom, ", bounding range: minX: ").concat(boundingRange.minX, ", maxX: ").concat(boundingRange.maxX, ", minY: ").concat(boundingRange.minY, ", maxY: ").concat(boundingRange.maxY));
225
+ }
226
+ /////////////////////////////////////////////////////////////////////////////////////////////////
227
+ /// Step 4: Use range size to calculate zoom level where the target area is smaller then 1 tile
228
+ /// (use zoom zero in-case there is no such zoom, for example in global bbox).
229
+ /////////////////////////////////////////////////////////////////////////////////////////////////
230
+ // find minimal zoom where the the area can be converted by area the size of single tile to skip levels that can't have full hashes
231
+ if (verbose) {
232
+ console.log("find minimal zoom where the the area can be converted by area the size of single tile to skip levels that can't have full hashes");
233
+ }
234
+ dx = boundingRange.maxX - boundingRange.minX;
235
+ dy = boundingRange.maxY - boundingRange.minY;
236
+ minXZoom = Math.max(Math.floor(Math.log2(1 << (zoom + 1)) / dx) - 1, 0);
237
+ minYZoom = Math.max(Math.floor(Math.log2(1 << zoom) / dy), 0);
238
+ minZoom = Math.min(minXZoom, minYZoom);
239
+ if (verbose) {
240
+ console.log("MinZoom: ".concat(minZoom));
241
+ }
242
+ minimalRange = (0, bboxUtils_1.bboxToTileRange)(bbox, minZoom);
243
+ x = minimalRange.minX;
244
+ _a.label = 1;
245
+ case 1:
246
+ if (!(x < minimalRange.maxX)) return [3 /*break*/, 12];
247
+ y = minimalRange.minY;
248
+ _a.label = 2;
249
+ case 2:
250
+ if (!(y < minimalRange.maxY)) return [3 /*break*/, 11];
251
+ tile = { x: x, y: y, zoom: minimalRange.zoom };
252
+ intersection = intersectionFunction(tile, intersectionTarget);
253
+ if (verbose) {
254
+ console.log("Tile X: ".concat(tile.x, ", Y: ").concat(tile.y, " zoom ").concat(tile.zoom, ", intersection: ").concat(intersection));
255
+ }
256
+ if (!(intersection === TileIntersectionState.FULL)) return [3 /*break*/, 6];
257
+ tileRange = this.tileToRange(tile, zoom);
258
+ if (verbose) {
259
+ console.log("return BBOX tile range zoom: ".concat(tileRange.zoom, " : X ").concat(tileRange.minX, " - ").concat(tileRange.maxX, " : Y ").concat(tileRange.minY, " - ").concat(tileRange.maxY));
260
+ }
261
+ return [4 /*yield*/, __await(Promise.resolve(tileRange))];
262
+ case 3: return [4 /*yield*/, __await.apply(void 0, [_a.sent()])];
263
+ case 4: return [4 /*yield*/, _a.sent()];
264
+ case 5:
265
+ _a.sent();
266
+ return [3 /*break*/, 10];
267
+ case 6:
268
+ if (!(intersection === TileIntersectionState.PARTIAL)) return [3 /*break*/, 10];
269
+ return [4 /*yield*/, __await(Promise.resolve(this.optimizeHash(tile, zoom, intersectionTarget, intersectionFunction, verbose)))];
270
+ case 7:
222
271
  /// if it partly covered:
223
272
  // calculate the sub tiles contained in the current tile (in the next zoom level)
224
273
  // for every sub tile recursively run step 6
225
274
  //optimize partial base hashes
226
- return [5 /*yield**/, __values(this.optimizeHash(tile, zoom, intersectionTarget, intersectionFunction, verbose))];
227
- case 5:
275
+ return [5 /*yield**/, __values(__asyncDelegator.apply(void 0, [__asyncValues.apply(void 0, [_a.sent()])]))];
276
+ case 8:
228
277
  /// if it partly covered:
229
278
  // calculate the sub tiles contained in the current tile (in the next zoom level)
230
279
  // for every sub tile recursively run step 6
231
280
  //optimize partial base hashes
232
- _a.sent();
233
- _a.label = 6;
234
- case 6:
235
- y++;
236
- return [3 /*break*/, 2];
237
- case 7:
238
- x++;
239
- return [3 /*break*/, 1];
240
- case 8: return [2 /*return*/];
241
- }
281
+ return [4 /*yield*/, __await.apply(void 0, [_a.sent()])];
282
+ case 9:
283
+ /// if it partly covered:
284
+ // calculate the sub tiles contained in the current tile (in the next zoom level)
285
+ // for every sub tile recursively run step 6
286
+ //optimize partial base hashes
287
+ _a.sent();
288
+ _a.label = 10;
289
+ case 10:
290
+ y++;
291
+ return [3 /*break*/, 2];
292
+ case 11:
293
+ x++;
294
+ return [3 /*break*/, 1];
295
+ case 12: return [2 /*return*/];
296
+ }
297
+ });
242
298
  });
243
299
  };
244
300
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tileRanger.js","sourceRoot":"","sources":["../../src/geo/tileRanger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tileRanger.js","sourceRoot":"","sources":["../../src/geo/tileRanger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mCAA+H;AAE/H,yCAA8C;AAC9C,iCAAqC;AACrC,mDAAkD;AAIlD,IAAK,qBAIJ;AAJD,WAAK,qBAAqB;IACxB,sCAAa,CAAA;IACb,4CAAmB,CAAA;IACnB,sCAAa,CAAA;AACf,CAAC,EAJI,qBAAqB,KAArB,qBAAqB,QAIzB;AAOD;;GAEG;AACH;IAAA;QAwOmB,8BAAyB,GAAG,UAAC,IAAW,EAAE,kBAAgD;YACzG,IAAM,QAAQ,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC;YAClC,IAAM,QAAQ,GAAG,IAAA,kBAAW,EAAC,QAAQ,CAAC,CAAC;YACvC,IAAM,YAAY,GAAG,IAAA,gBAAS,EAAC,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACvE,IAAI,YAAY,KAAK,IAAI,EAAE;gBACzB,OAAO,qBAAqB,CAAC,IAAI,CAAC;aACnC;YACD,iBAAiB;YACjB,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,OAAO,EAAE;gBAC5C,OAAO,qBAAqB,CAAC,IAAI,CAAC;aACnC;YACD,IAAM,OAAO,GAAG,IAAA,WAAI,EAAC,YAAY,CAAC,CAAC;YACnC,IAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,OAAO,IAAI,QAAQ,EAAE;gBACvB,OAAO,qBAAqB,CAAC,IAAI,CAAC;aACnC;YACD,OAAO,qBAAqB,CAAC,OAAO,CAAC;QACvC,CAAC,CAAC;IAOJ,CAAC;IA/PC;;;;;OAKG;IACI,gCAAW,GAAlB,UAAmB,IAAW,EAAE,IAAY;QAC1C,IAAI,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY,CAAC;QAC3D,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE;YACpB,IAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC5B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;SACnB;aAAM,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE;YAC3B,IAAM,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAC5B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;YAChB,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;SACjB;QACD,OAAO;YACL,IAAI,MAAA;YACJ,IAAI,MAAA;YACJ,IAAI,MAAA;YACJ,IAAI,MAAA;YACJ,IAAI,MAAA;SACL,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACW,oCAAe,GAA7B,UAA8B,SAAoD,EAAE,IAAY,EAAE,OAAe;QAAf,wBAAA,EAAA,eAAe;;;;;;wBAC/G,gCAAgC;wBAChC,2DAA2D;wBAC3D,gCAAgC;wBAChC,IAAI,OAAO,EAAE;4BACX,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;yBACjC;wBAKK,IAAI,GAAG,IAAA,WAAa,EAAC,SAAS,CAAW,CAAC;6BAC5C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAtB,wBAAsB;wBAElB,SAAS,GAAG,IAAA,2BAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC9C,IAAI,OAAO,EAAE;4BACX,OAAO,CAAC,GAAG,CACT,4EAAqE,SAAS,CAAC,IAAI,kBAAQ,SAAS,CAAC,IAAI,gBAAM,SAAS,CAAC,IAAI,kBAAQ,SAAS,CAAC,IAAI,gBAAM,SAAS,CAAC,IAAI,CAAE,CAC1K,CAAC;yBACH;wBACK,6BAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAA;wEAAhC,SAAgC;4BAAtC,gCAAsC;;wBAAtC,SAAsC,CAAC;;;wBAEjC,kBAAkB,GAAiC;4BACvD,SAAS,WAAA;4BACT,OAAO,EAAE,IAAI;yBACd,CAAC;wBACF,IAAI,OAAO,EAAE;4BACX,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;yBACtE;wBACM,6BAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC,GAAA;4BAA1H,sBAAA,SAAO,gCAAA,6BAAA,SAAmH,EAAA,EAAA,CAAA,EAAA;4BAA1H,4CAAA,SAA0H,IAAA;;wBAA1H,SAA0H,CAAC;;;;;;KAE9H;IAcM,kCAAa,GAApB,UAAqB,IAAwD,EAAE,IAAY;QACzF,IAAI,GAA8B,CAAC;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IAAM,YAAY,GAAG,SAAgB,kBAAkB;;;;oCAC/C,6BAAM,OAAO,CAAC,OAAO,CAAC,IAAA,2BAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAA;gFAAlD,SAAkD;oCAAxD,gCAAwD;;gCAAxD,SAAwD,CAAC;;;;;aAC1D,CAAC;YACF,GAAG,GAAG,YAAY,EAAE,CAAC;SACtB;aAAM;YACL,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACxC;QACD,OAAO,IAAA,+BAAc,EAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAEc,mCAAc,GAA7B,UACE,IAAY,EACZ,IAAY,EACZ,kBAAqB,EACrB,oBAAiD,EACjD,OAAe;QAAf,wBAAA,EAAA,eAAe;;;;;;wBAEf,iGAAiG;wBACjG,gEAAgE;wBAChE,iGAAiG;wBACjG,IAAI,OAAO,EAAE;4BACX,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;yBACrE;wBACK,aAAa,GAAG,IAAA,2BAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAClD,IAAI,OAAO,EAAE;4BACL,UAAU,GAAG,mBAAY,IAAI,CAAC,CAAC,CAAC,wBAAc,IAAI,CAAC,CAAC,CAAC,wBAAc,IAAI,CAAC,CAAC,CAAC,wBAAc,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC;4BACxG,OAAO,CAAC,GAAG,CACT,UAAG,UAAU,qBAAW,IAAI,qCAA2B,aAAa,CAAC,IAAI,qBAAW,aAAa,CAAC,IAAI,qBAAW,aAAa,CAAC,IAAI,qBAAW,aAAa,CAAC,IAAI,CAAE,CACnK,CAAC;yBACH;wBACD,iGAAiG;wBACjG,+FAA+F;wBAC/F,sFAAsF;wBACtF,iGAAiG;wBACjG,mIAAmI;wBACnI,IAAI,OAAO,EAAE;4BACX,OAAO,CAAC,GAAG,CAAC,kIAAkI,CAAC,CAAC;yBACjJ;wBACK,EAAE,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;wBAC7C,EAAE,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;wBAC7C,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;wBACxE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC9D,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBAE7C,IAAI,OAAO,EAAE;4BACX,OAAO,CAAC,GAAG,CAAC,mBAAY,OAAO,CAAE,CAAC,CAAC;yBACpC;wBAKK,YAAY,GAAG,IAAA,2BAAe,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;wBAC3C,CAAC,GAAG,YAAY,CAAC,IAAI;;;6BAAE,CAAA,CAAC,GAAG,YAAY,CAAC,IAAI,CAAA;wBAC1C,CAAC,GAAG,YAAY,CAAC,IAAI;;;6BAAE,CAAA,CAAC,GAAG,YAAY,CAAC,IAAI,CAAA;wBAK7C,IAAI,GAAG,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC;wBACzC,YAAY,GAAG,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;wBACpE,IAAI,OAAO,EAAE;4BACX,OAAO,CAAC,GAAG,CAAC,kBAAW,IAAI,CAAC,CAAC,kBAAQ,IAAI,CAAC,CAAC,mBAAS,IAAI,CAAC,IAAI,6BAAmB,YAAY,CAAE,CAAC,CAAC;yBACjG;6BAEG,CAAA,YAAY,KAAK,qBAAqB,CAAC,IAAI,CAAA,EAA3C,wBAA2C;wBAIvC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC/C,IAAI,OAAO,EAAE;4BACX,OAAO,CAAC,GAAG,CACT,uCAAgC,SAAS,CAAC,IAAI,kBAAQ,SAAS,CAAC,IAAI,gBAAM,SAAS,CAAC,IAAI,kBAAQ,SAAS,CAAC,IAAI,gBAAM,SAAS,CAAC,IAAI,CAAE,CACrI,CAAC;yBACH;wBACK,6BAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAA;wEAAhC,SAAgC;4BAAtC,gCAAsC;;wBAAtC,SAAsC,CAAC;;;6BAC9B,CAAA,YAAY,KAAK,qBAAqB,CAAC,OAAO,CAAA,EAA9C,yBAA8C;wBAKhD,6BAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC,GAAA;;oBAJ9G,yBAAyB;oBACzB,iFAAiF;oBACjF,4CAA4C;oBAC5C,8BAA8B;oBAC9B,sBAAA,SAAO,gCAAA,6BAAA,SAAuG,EAAA,EAAA,CAAA,EAAA;;oBAJ9G,yBAAyB;oBACzB,iFAAiF;oBACjF,4CAA4C;oBAC5C,8BAA8B;oBAC9B,4CAAA,SAA8G,IAAA;;wBAJ9G,yBAAyB;wBACzB,iFAAiF;wBACjF,4CAA4C;wBAC5C,8BAA8B;wBAC9B,SAA8G,CAAC;;;wBA3B5D,CAAC,EAAE,CAAA;;;wBADL,CAAC,EAAE,CAAA;;;;;;KAiC3D;IAED;;;;;;OAMG;IACM,iCAAY,GAArB,UACE,IAAW,EACX,UAAkB,EAClB,kBAAqB,EACrB,oBAAiD,EACjD,OAAe;;;QAAf,wBAAA,EAAA,eAAe;;;;oBAEf,wEAAwE;oBACxE,IAAI,OAAO,EAAE;wBACX,OAAO,CAAC,GAAG,CACT,gCAAyB,IAAI,CAAC,CAAC,kBAAQ,IAAI,CAAC,CAAC,mBAAS,IAAI,CAAC,IAAI,kCAC5D,kBAAqD,CAAC,OAAO,6EACU,CAC3E,CAAC;qBACH;oBACK,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;;;;oBACpB,UAAA,SAAA,KAAK,CAAA;;;;oBAAhB,OAAO;oBACV,YAAY,GAAG,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;oBACvE,IAAI,OAAO,EAAE;wBACX,OAAO,CAAC,GAAG,CAAC,kBAAW,OAAO,CAAC,CAAC,kBAAQ,OAAO,CAAC,CAAC,mBAAS,OAAO,CAAC,IAAI,6BAAmB,YAAY,CAAE,CAAC,CAAC;qBAC1G;yBACG,CAAA,YAAY,KAAK,qBAAqB,CAAC,IAAI,CAAA,EAA3C,wBAA2C;oBAIvC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBACxD,IAAI,OAAO,EAAE;wBACX,OAAO,CAAC,GAAG,CACT,uCAAgC,SAAS,CAAC,IAAI,kBAAQ,SAAS,CAAC,IAAI,gBAAM,SAAS,CAAC,IAAI,kBAAQ,SAAS,CAAC,IAAI,gBAAM,SAAS,CAAC,IAAI,CAAE,CACrI,CAAC;qBACH;oBACD,qBAAM,SAAS,EAAA;;oBAAf,SAAe,CAAC;;;yBACP,CAAA,YAAY,KAAK,qBAAqB,CAAC,OAAO,CAAA,EAA9C,wBAA8C;oBACvD,yBAAyB;oBACzB,6FAA6F;oBAC7F,sBAAA,SAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAA,EAAA;;oBAFhG,yBAAyB;oBACzB,6FAA6F;oBAC7F,SAAgG,CAAC;;;;;;;;;;;;;;;;;;;KAGtG;IAEO,qCAAgB,GAAxB,UAAyB,IAAW;QAClC,IAAM,KAAK,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACtE,IAAM,KAAK,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/D,IAAM,KAAK,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/D,IAAM,KAAK,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACnE,IAAM,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAqBO,2BAAM,GAAd,UAAe,SAAoD;QACjE,IAAM,IAAI,GAAG,IAAA,WAAa,EAAC,SAAS,CAAC,CAAC;QACtC,IAAM,QAAQ,GAAG,IAAA,kBAAW,EAAC,IAAI,CAAC,CAAC;QACnC,OAAO,IAAA,mBAAY,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IACH,iBAAC;AAAD,CAAC,AAhQD,IAgQC;AAhQY,gCAAU"}
@@ -1,3 +1,3 @@
1
1
  import { ITile, ITileRange } from '../models/interfaces/geo/iTile';
2
- export declare function tilesGenerator(rangeGen: Iterable<ITileRange>): Generator<ITile>;
2
+ export declare function tilesGenerator(rangeGen: AsyncIterable<ITileRange>): AsyncGenerator<ITile>;
3
3
  //# sourceMappingURL=tilesGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tilesGenerator.d.ts","sourceRoot":"","sources":["../../src/geo/tilesGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEnE,wBAAiB,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAYhF"}
1
+ {"version":3,"file":"tilesGenerator.d.ts","sourceRoot":"","sources":["../../src/geo/tilesGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEnE,wBAAuB,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAYhG"}
@@ -26,69 +26,86 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
26
26
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
27
27
  }
28
28
  };
29
- var __values = (this && this.__values) || function(o) {
30
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
31
- if (m) return m.call(o);
32
- if (o && typeof o.length === "number") return {
33
- next: function () {
34
- if (o && i >= o.length) o = void 0;
35
- return { value: o && o[i++], done: !o };
36
- }
37
- };
38
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
29
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
30
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
31
+ var m = o[Symbol.asyncIterator], i;
32
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
33
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
34
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
35
+ };
36
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
37
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
38
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
39
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
40
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
41
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
42
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
43
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
44
+ function fulfill(value) { resume("next", value); }
45
+ function reject(value) { resume("throw", value); }
46
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
39
47
  };
40
48
  Object.defineProperty(exports, "__esModule", { value: true });
41
49
  exports.tilesGenerator = void 0;
42
50
  function tilesGenerator(rangeGen) {
43
- var rangeGen_1, rangeGen_1_1, range, x, y, e_1_1;
44
- var e_1, _a;
45
- return __generator(this, function (_b) {
46
- switch (_b.label) {
47
- case 0:
48
- _b.trys.push([0, 9, 10, 11]);
49
- rangeGen_1 = __values(rangeGen), rangeGen_1_1 = rangeGen_1.next();
50
- _b.label = 1;
51
- case 1:
52
- if (!!rangeGen_1_1.done) return [3 /*break*/, 8];
53
- range = rangeGen_1_1.value;
54
- x = range.minX;
55
- _b.label = 2;
56
- case 2:
57
- if (!(x < range.maxX)) return [3 /*break*/, 7];
58
- y = range.minY;
59
- _b.label = 3;
60
- case 3:
61
- if (!(y < range.maxY)) return [3 /*break*/, 6];
62
- return [4 /*yield*/, {
63
- x: x,
64
- y: y,
65
- zoom: range.zoom,
66
- }];
67
- case 4:
68
- _b.sent();
69
- _b.label = 5;
70
- case 5:
71
- y++;
72
- return [3 /*break*/, 3];
73
- case 6:
74
- x++;
75
- return [3 /*break*/, 2];
76
- case 7:
77
- rangeGen_1_1 = rangeGen_1.next();
78
- return [3 /*break*/, 1];
79
- case 8: return [3 /*break*/, 11];
80
- case 9:
81
- e_1_1 = _b.sent();
82
- e_1 = { error: e_1_1 };
83
- return [3 /*break*/, 11];
84
- case 10:
85
- try {
86
- if (rangeGen_1_1 && !rangeGen_1_1.done && (_a = rangeGen_1.return)) _a.call(rangeGen_1);
87
- }
88
- finally { if (e_1) throw e_1.error; }
89
- return [7 /*endfinally*/];
90
- case 11: return [2 /*return*/];
91
- }
51
+ return __asyncGenerator(this, arguments, function tilesGenerator_1() {
52
+ var rangeGen_1, rangeGen_1_1, range, x, y, e_1_1;
53
+ var e_1, _a;
54
+ return __generator(this, function (_b) {
55
+ switch (_b.label) {
56
+ case 0:
57
+ _b.trys.push([0, 12, 13, 18]);
58
+ rangeGen_1 = __asyncValues(rangeGen);
59
+ _b.label = 1;
60
+ case 1: return [4 /*yield*/, __await(rangeGen_1.next())];
61
+ case 2:
62
+ if (!(rangeGen_1_1 = _b.sent(), !rangeGen_1_1.done)) return [3 /*break*/, 11];
63
+ range = rangeGen_1_1.value;
64
+ x = range.minX;
65
+ _b.label = 3;
66
+ case 3:
67
+ if (!(x < range.maxX)) return [3 /*break*/, 10];
68
+ y = range.minY;
69
+ _b.label = 4;
70
+ case 4:
71
+ if (!(y < range.maxY)) return [3 /*break*/, 9];
72
+ return [4 /*yield*/, __await(Promise.resolve({
73
+ x: x,
74
+ y: y,
75
+ zoom: range.zoom,
76
+ }))];
77
+ case 5: return [4 /*yield*/, __await.apply(void 0, [_b.sent()])];
78
+ case 6: return [4 /*yield*/, _b.sent()];
79
+ case 7:
80
+ _b.sent();
81
+ _b.label = 8;
82
+ case 8:
83
+ y++;
84
+ return [3 /*break*/, 4];
85
+ case 9:
86
+ x++;
87
+ return [3 /*break*/, 3];
88
+ case 10: return [3 /*break*/, 1];
89
+ case 11: return [3 /*break*/, 18];
90
+ case 12:
91
+ e_1_1 = _b.sent();
92
+ e_1 = { error: e_1_1 };
93
+ return [3 /*break*/, 18];
94
+ case 13:
95
+ _b.trys.push([13, , 16, 17]);
96
+ if (!(rangeGen_1_1 && !rangeGen_1_1.done && (_a = rangeGen_1.return))) return [3 /*break*/, 15];
97
+ return [4 /*yield*/, __await(_a.call(rangeGen_1))];
98
+ case 14:
99
+ _b.sent();
100
+ _b.label = 15;
101
+ case 15: return [3 /*break*/, 17];
102
+ case 16:
103
+ if (e_1) throw e_1.error;
104
+ return [7 /*endfinally*/];
105
+ case 17: return [7 /*endfinally*/];
106
+ case 18: return [2 /*return*/];
107
+ }
108
+ });
92
109
  });
93
110
  }
94
111
  exports.tilesGenerator = tilesGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"tilesGenerator.js","sourceRoot":"","sources":["../../src/geo/tilesGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAiB,cAAc,CAAC,QAA8B;;;;;;;gBACxC,aAAA,SAAA,QAAQ,CAAA;;;;gBAAjB,KAAK;gBACL,CAAC,GAAG,KAAK,CAAC,IAAI;;;qBAAE,CAAA,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;gBAC5B,CAAC,GAAG,KAAK,CAAC,IAAI;;;qBAAE,CAAA,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;gBACrC,qBAAM;wBACJ,CAAC,GAAA;wBACD,CAAC,GAAA;wBACD,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB,EAAA;;gBAJD,SAIC,CAAC;;;gBALqC,CAAC,EAAE,CAAA;;;gBADL,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;;;CAU/C;AAZD,wCAYC"}
1
+ {"version":3,"file":"tilesGenerator.js","sourceRoot":"","sources":["../../src/geo/tilesGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAuB,cAAc,CAAC,QAAmC;;;;;;;;oBAC7C,aAAA,cAAA,QAAQ,CAAA;;;;;oBAAjB,KAAK,qBAAA,CAAA;oBACX,CAAC,GAAG,KAAK,CAAC,IAAI;;;yBAAE,CAAA,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;oBAC5B,CAAC,GAAG,KAAK,CAAC,IAAI;;;yBAAE,CAAA,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;oBAC/B,6BAAM,OAAO,CAAC,OAAO,CAAC;4BAC1B,CAAC,GAAA;4BACD,CAAC,GAAA;4BACD,IAAI,EAAE,KAAK,CAAC,IAAI;yBACjB,CAAC,GAAA;oEAJI,SAIJ;wBAJF,gCAIE;;oBAJF,SAIE,CAAC;;;oBALoC,CAAC,EAAE,CAAA;;;oBADL,CAAC,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;CAU/C;AAZD,wCAYC"}
@@ -0,0 +1,2 @@
1
+ export declare function timeout(ms: number): Promise<void>;
2
+ //# sourceMappingURL=timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../src/utils/timeout.ts"],"names":[],"mappings":"AAAA,wBAAsB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvD"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.timeout = void 0;
40
+ function timeout(ms) {
41
+ return __awaiter(this, void 0, void 0, function () {
42
+ return __generator(this, function (_a) {
43
+ return [2 /*return*/, new Promise(function (resolve) { return setTimeout(resolve, ms); })];
44
+ });
45
+ });
46
+ }
47
+ exports.timeout = timeout;
48
+ //# sourceMappingURL=timeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../src/utils/timeout.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAsB,OAAO,CAAC,EAAU;;;YACtC,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO,IAAK,OAAA,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAvB,CAAuB,CAAC,EAAC;;;CAC1D;AAFD,0BAEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@map-colonies/mc-utils",
3
- "version": "2.0.2",
3
+ "version": "3.0.0",
4
4
  "description": "This is template for map colonies typescript packages",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {