@map-colonies/mc-utils 1.0.2 → 1.3.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.
package/CHANGELOG.md ADDED
@@ -0,0 +1,49 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
+
5
+ ## [1.3.0](https://github.com/MapColonies/mc-utils/compare/v1.1.2...v1.3.0) (2021-12-30)
6
+
7
+
8
+ ### Features
9
+
10
+ * support basic auth and external headers ([#7](https://github.com/MapColonies/mc-utils/issues/7)) ([26b0c5d](https://github.com/MapColonies/mc-utils/commit/26b0c5d79ab38c6346de611dd415cf9e64bf1123))
11
+
12
+ ## [1.2.0](https://github.com/MapColonies/mc-utils/compare/v1.1.2...v1.2.0) (2021-12-01)
13
+
14
+
15
+ ### Features
16
+
17
+ * support basic auth and external headers ([#7](https://github.com/MapColonies/mc-utils/issues/7)) ([26b0c5d](https://github.com/MapColonies/mc-utils/commit/26b0c5d79ab38c6346de611dd415cf9e64bf1123))
18
+
19
+ ### [1.1.2](https://github.com/MapColonies/mc-utils/compare/v1.1.0...v1.1.2) (2021-08-31)
20
+
21
+ ### [1.1.1](https://github.com/MapColonies/mc-utils/compare/v1.1.0...v1.1.1) (2021-08-31)
22
+
23
+ ## [1.1.0](https://github.com/MapColonies/mc-utils/compare/v1.0.2...v1.1.0) (2021-08-12)
24
+
25
+
26
+ ### Features
27
+
28
+ * Tile calculations ([#5](https://github.com/MapColonies/mc-utils/issues/5)) ([ea4c5ac](https://github.com/MapColonies/mc-utils/commit/ea4c5ac0941c7ee3d7c999e4034c0c44339db643))
29
+
30
+ ### [1.0.2](https://github.com/MapColonies/mc-utils/compare/v1.0.1...v1.0.2) (2021-08-05)
31
+
32
+
33
+ ### Bug Fixes
34
+
35
+ * prepublish for npm v7 ([#4](https://github.com/MapColonies/mc-utils/issues/4)) ([382bf72](https://github.com/MapColonies/mc-utils/commit/382bf7236622668fd213bfa86911288d33cb24da))
36
+
37
+ ### [1.0.1](https://github.com/MapColonies/mc-utils/compare/v1.0.0...v1.0.1) (2021-08-05)
38
+
39
+
40
+ ### Bug Fixes
41
+
42
+ * release command ([#2](https://github.com/MapColonies/mc-utils/issues/2)) ([8bad6a9](https://github.com/MapColonies/mc-utils/commit/8bad6a98de6359aa94ca22723a5ab7968e8b22a1))
43
+
44
+ ## 1.0.0 (2021-07-28)
45
+
46
+
47
+ ### Features
48
+
49
+ * added http client ([#1](https://github.com/MapColonies/mc-utils/issues/1)) ([48ebf45](https://github.com/MapColonies/mc-utils/commit/48ebf45a62f07ae71cb1b23e8a6ad662da56590f))
package/README.md CHANGED
@@ -18,19 +18,21 @@ this is general utilities for usage in Map Colonies project.
18
18
  -```axiosOptions``` the options used by axios when sending requests
19
19
 
20
20
  the class have the protected methods for sending http requests:
21
- - ```protected async get<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig): Promise<T>```
22
- - ```protected async post<T>(url: string, body?: unknown, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig): Promise<T>```
23
- - ```protected async put<T>(url: string, body?: unknown, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig): Promise<T>```
24
- - ```protected async delete<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig): Promise<T>```
25
- - ```protected async head<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig): Promise<T>```
26
- - ```protected async options<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig): Promise<T>```
27
- - ```protected async patch<T>(url: string, body?: unknown, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig): Promise<T>```
21
+ - ```protected async get<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: unknown): Promise<T>```
22
+ - ```protected async post<T>(url: string, body?: unknown, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: unknown): Promise<T>```
23
+ - ```protected async put<T>(url: string, body?: unknown, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: unknown): Promise<T>```
24
+ - ```protected async delete<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: unknown): Promise<T>```
25
+ - ```protected async head<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: unknown): Promise<T>```
26
+ - ```protected async options<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: unknown): Promise<T>```
27
+ - ```protected async patch<T>(url: string, body?: unknown, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: unknown): Promise<T>```
28
28
 
29
29
  function parameters list:
30
30
  - `url`: url path to send the request to (not including the base url).
31
31
  - `body`: optional object to be used as request body (in relevant request types).
32
32
  - `queryParams`: optional dictionary with query parameters and value.
33
33
  - `retryConfig`: optional override to the class retry configuration.
34
+ - `auth`: optional basic authentication object (username, password).
35
+ - `headers`: optional headers to proceed to the request.
34
36
 
35
37
  usage example:
36
38
  ```typescript
@@ -1,4 +1,4 @@
1
- import { AxiosRequestConfig } from 'axios';
1
+ import { AxiosBasicCredentials, AxiosRequestConfig } from 'axios';
2
2
  import { IAxiosRetryConfig } from 'axios-retry';
3
3
  import { ILogger } from '../../models/interfaces/iLogger';
4
4
  export interface IHttpRetryConfig {
@@ -9,16 +9,17 @@ export interface IHttpRetryConfig {
9
9
  export declare abstract class HttpClient {
10
10
  protected readonly logger: ILogger;
11
11
  private readonly targetService;
12
+ private readonly disableDebugLogs;
12
13
  protected axiosOptions: AxiosRequestConfig;
13
14
  private readonly axiosClient;
14
- constructor(logger: ILogger, baseUrl: string, targetService?: string, retryConfig?: IHttpRetryConfig);
15
- protected get<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig): Promise<T>;
16
- protected post<T>(url: string, body?: unknown, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig): Promise<T>;
17
- protected put<T>(url: string, body?: unknown, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig): Promise<T>;
18
- protected delete<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig): Promise<T>;
19
- protected head<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig): Promise<T>;
20
- protected options<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig): Promise<T>;
21
- protected patch<T>(url: string, body?: unknown, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig): Promise<T>;
15
+ constructor(logger: ILogger, baseUrl: string, targetService?: string, retryConfig?: IHttpRetryConfig, disableDebugLogs?: boolean);
16
+ protected get<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: unknown): Promise<T>;
17
+ protected post<T>(url: string, body?: unknown, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: unknown): Promise<T>;
18
+ protected put<T>(url: string, body?: unknown, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: unknown): Promise<T>;
19
+ protected delete<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: unknown): Promise<T>;
20
+ protected head<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: unknown): Promise<T>;
21
+ protected options<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: unknown): Promise<T>;
22
+ protected patch<T>(url: string, body?: unknown, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: unknown): Promise<T>;
22
23
  private wrapError;
23
24
  private parseConfig;
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../../../src/communication/http/httpClient.ts"],"names":[],"mappings":"AAAA,OAAc,EAA6B,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE7E,OAAmB,EAAoB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAW9E,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;IAC9B,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,8BAAsB,UAAU;IAIX,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO;IAAmB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAHtG,SAAS,CAAC,YAAY,EAAE,kBAAkB,CAAM;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;gBAEN,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAmB,aAAa,SAAK,EAAE,WAAW,CAAC,EAAE,gBAAgB;cAkB3H,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;cAYvG,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;cAYxH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;cAYvH,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;cAY1G,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;cAYxG,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;cAY3G,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;IAYzI,OAAO,CAAC,SAAS;IAkCjB,OAAO,CAAC,WAAW;CAqBpB"}
1
+ {"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../../../src/communication/http/httpClient.ts"],"names":[],"mappings":"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"}
@@ -76,12 +76,14 @@ var axios_retry_1 = __importStar(require("axios-retry"));
76
76
  var lodash_1 = require("lodash");
77
77
  var error_types_1 = require("@map-colonies/error-types");
78
78
  var HttpClient = /** @class */ (function () {
79
- function HttpClient(logger, baseUrl, targetService, retryConfig) {
79
+ function HttpClient(logger, baseUrl, targetService, retryConfig, disableDebugLogs) {
80
80
  var _this = this;
81
81
  if (targetService === void 0) { targetService = ''; }
82
+ if (disableDebugLogs === void 0) { disableDebugLogs = false; }
82
83
  var _a;
83
84
  this.logger = logger;
84
85
  this.targetService = targetService;
86
+ this.disableDebugLogs = disableDebugLogs;
85
87
  this.axiosOptions = {};
86
88
  this.axiosClient = axios_1.default.create();
87
89
  this.axiosOptions.baseURL = baseUrl;
@@ -92,12 +94,12 @@ var HttpClient = /** @class */ (function () {
92
94
  };
93
95
  var delayFunc = (_a = axiosRetryConfig.retryDelay) !== null && _a !== void 0 ? _a : (function () { return 0; });
94
96
  axiosRetryConfig.retryDelay = function (retryCount, error) {
95
- _this.logger.error("error from " + _this.targetService + ". retries: " + retryCount + ". error: " + error.message);
97
+ _this.logger.error("error from ".concat(_this.targetService, ". retries: ").concat(retryCount, ". error: ").concat(error.message));
96
98
  return delayFunc(retryCount, error);
97
99
  };
98
- axios_retry_1.default(this.axiosClient, axiosRetryConfig);
100
+ (0, axios_retry_1.default)(this.axiosClient, axiosRetryConfig);
99
101
  }
100
- HttpClient.prototype.get = function (url, queryParams, retryConfig) {
102
+ HttpClient.prototype.get = function (url, queryParams, retryConfig, auth, headers) {
101
103
  return __awaiter(this, void 0, void 0, function () {
102
104
  var reqConfig, res, err_1, error;
103
105
  return __generator(this, function (_a) {
@@ -106,6 +108,8 @@ var HttpClient = /** @class */ (function () {
106
108
  _a.trys.push([0, 2, , 3]);
107
109
  reqConfig = retryConfig ? __assign(__assign({}, this.axiosOptions), { 'axios-retry': retryConfig }) : __assign({}, this.axiosOptions);
108
110
  reqConfig.params = queryParams;
111
+ reqConfig.auth = auth;
112
+ reqConfig.headers = headers;
109
113
  return [4 /*yield*/, this.axiosClient.get(url, reqConfig)];
110
114
  case 1:
111
115
  res = _a.sent();
@@ -119,7 +123,7 @@ var HttpClient = /** @class */ (function () {
119
123
  });
120
124
  });
121
125
  };
122
- HttpClient.prototype.post = function (url, body, queryParams, retryConfig) {
126
+ HttpClient.prototype.post = function (url, body, queryParams, retryConfig, auth, headers) {
123
127
  return __awaiter(this, void 0, void 0, function () {
124
128
  var reqConfig, res, err_2, error;
125
129
  return __generator(this, function (_a) {
@@ -128,6 +132,8 @@ var HttpClient = /** @class */ (function () {
128
132
  _a.trys.push([0, 2, , 3]);
129
133
  reqConfig = retryConfig ? __assign(__assign({}, this.axiosOptions), { 'axios-retry': retryConfig }) : this.axiosOptions;
130
134
  reqConfig.params = queryParams;
135
+ reqConfig.auth = auth;
136
+ reqConfig.headers = headers;
131
137
  return [4 /*yield*/, this.axiosClient.post(url, body, reqConfig)];
132
138
  case 1:
133
139
  res = _a.sent();
@@ -141,7 +147,7 @@ var HttpClient = /** @class */ (function () {
141
147
  });
142
148
  });
143
149
  };
144
- HttpClient.prototype.put = function (url, body, queryParams, retryConfig) {
150
+ HttpClient.prototype.put = function (url, body, queryParams, retryConfig, auth, headers) {
145
151
  return __awaiter(this, void 0, void 0, function () {
146
152
  var reqConfig, res, err_3, error;
147
153
  return __generator(this, function (_a) {
@@ -150,6 +156,8 @@ var HttpClient = /** @class */ (function () {
150
156
  _a.trys.push([0, 2, , 3]);
151
157
  reqConfig = retryConfig ? __assign(__assign({}, this.axiosOptions), { 'axios-retry': retryConfig }) : this.axiosOptions;
152
158
  reqConfig.params = queryParams;
159
+ reqConfig.auth = auth;
160
+ reqConfig.headers = headers;
153
161
  return [4 /*yield*/, this.axiosClient.put(url, body, reqConfig)];
154
162
  case 1:
155
163
  res = _a.sent();
@@ -163,7 +171,7 @@ var HttpClient = /** @class */ (function () {
163
171
  });
164
172
  });
165
173
  };
166
- HttpClient.prototype.delete = function (url, queryParams, retryConfig) {
174
+ HttpClient.prototype.delete = function (url, queryParams, retryConfig, auth, headers) {
167
175
  return __awaiter(this, void 0, void 0, function () {
168
176
  var reqConfig, res, err_4, error;
169
177
  return __generator(this, function (_a) {
@@ -172,6 +180,8 @@ var HttpClient = /** @class */ (function () {
172
180
  _a.trys.push([0, 2, , 3]);
173
181
  reqConfig = retryConfig ? __assign(__assign({}, this.axiosOptions), { 'axios-retry': retryConfig }) : this.axiosOptions;
174
182
  reqConfig.params = queryParams;
183
+ reqConfig.auth = auth;
184
+ reqConfig.headers = headers;
175
185
  return [4 /*yield*/, this.axiosClient.delete(url, reqConfig)];
176
186
  case 1:
177
187
  res = _a.sent();
@@ -185,7 +195,7 @@ var HttpClient = /** @class */ (function () {
185
195
  });
186
196
  });
187
197
  };
188
- HttpClient.prototype.head = function (url, queryParams, retryConfig) {
198
+ HttpClient.prototype.head = function (url, queryParams, retryConfig, auth, headers) {
189
199
  return __awaiter(this, void 0, void 0, function () {
190
200
  var reqConfig, res, err_5, error;
191
201
  return __generator(this, function (_a) {
@@ -194,6 +204,8 @@ var HttpClient = /** @class */ (function () {
194
204
  _a.trys.push([0, 2, , 3]);
195
205
  reqConfig = retryConfig ? __assign(__assign({}, this.axiosOptions), { 'axios-retry': retryConfig }) : this.axiosOptions;
196
206
  reqConfig.params = queryParams;
207
+ reqConfig.auth = auth;
208
+ reqConfig.headers = headers;
197
209
  return [4 /*yield*/, this.axiosClient.head(url, reqConfig)];
198
210
  case 1:
199
211
  res = _a.sent();
@@ -207,7 +219,7 @@ var HttpClient = /** @class */ (function () {
207
219
  });
208
220
  });
209
221
  };
210
- HttpClient.prototype.options = function (url, queryParams, retryConfig) {
222
+ HttpClient.prototype.options = function (url, queryParams, retryConfig, auth, headers) {
211
223
  return __awaiter(this, void 0, void 0, function () {
212
224
  var reqConfig, res, err_6, error;
213
225
  return __generator(this, function (_a) {
@@ -216,6 +228,8 @@ var HttpClient = /** @class */ (function () {
216
228
  _a.trys.push([0, 2, , 3]);
217
229
  reqConfig = retryConfig ? __assign(__assign({}, this.axiosOptions), { 'axios-retry': retryConfig }) : this.axiosOptions;
218
230
  reqConfig.params = queryParams;
231
+ reqConfig.auth = auth;
232
+ reqConfig.headers = headers;
219
233
  return [4 /*yield*/, this.axiosClient.options(url, reqConfig)];
220
234
  case 1:
221
235
  res = _a.sent();
@@ -229,7 +243,7 @@ var HttpClient = /** @class */ (function () {
229
243
  });
230
244
  });
231
245
  };
232
- HttpClient.prototype.patch = function (url, body, queryParams, retryConfig) {
246
+ HttpClient.prototype.patch = function (url, body, queryParams, retryConfig, auth, headers) {
233
247
  return __awaiter(this, void 0, void 0, function () {
234
248
  var reqConfig, res, err_7, error;
235
249
  return __generator(this, function (_a) {
@@ -238,6 +252,8 @@ var HttpClient = /** @class */ (function () {
238
252
  _a.trys.push([0, 2, , 3]);
239
253
  reqConfig = retryConfig ? __assign(__assign({}, this.axiosOptions), { 'axios-retry': retryConfig }) : this.axiosOptions;
240
254
  reqConfig.params = queryParams;
255
+ reqConfig.auth = auth;
256
+ reqConfig.headers = headers;
241
257
  return [4 /*yield*/, this.axiosClient.patch(url, body, reqConfig)];
242
258
  case 1:
243
259
  res = _a.sent();
@@ -253,36 +269,46 @@ var HttpClient = /** @class */ (function () {
253
269
  };
254
270
  HttpClient.prototype.wrapError = function (url, err, body) {
255
271
  var _a;
256
- var message = lodash_1.get(err, 'response.data.message', undefined);
272
+ var message = (0, lodash_1.get)(err, 'response.data.message', undefined);
257
273
  switch ((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) {
258
274
  case http_status_codes_1.default.BAD_REQUEST:
259
275
  if (body !== undefined) {
260
276
  body = JSON.stringify(body);
261
- this.logger.debug("invalid request sent to " + this.targetService + " at " + url + ". body: " + body + ". error: " + err.message);
277
+ if (!this.disableDebugLogs) {
278
+ this.logger.debug("invalid request sent to ".concat(this.targetService, " at ").concat(url, ". body: ").concat(body, ". error: ").concat(err.message));
279
+ }
262
280
  }
263
- else {
264
- this.logger.debug("invalid request sent to " + this.targetService + " at " + url + ". error: " + err.message);
281
+ else if (!this.disableDebugLogs) {
282
+ this.logger.debug("invalid request sent to ".concat(this.targetService, " at ").concat(url, ". error: ").concat(err.message));
265
283
  }
266
284
  return new error_types_1.BadRequestError(err, message);
267
285
  case http_status_codes_1.default.NOT_FOUND:
268
- this.logger.debug("request url not found for service " + this.targetService + ", target url: " + url + ", error: " + err.message);
286
+ if (!this.disableDebugLogs) {
287
+ this.logger.debug("request url not found for service ".concat(this.targetService, ", target url: ").concat(url, ", error: ").concat(err.message));
288
+ }
269
289
  return new error_types_1.NotFoundError(err, message);
270
290
  case http_status_codes_1.default.CONFLICT:
271
- this.logger.debug("request url conflicted, for service " + this.targetService + ", target url: " + url + ", error: " + err.message);
291
+ if (!this.disableDebugLogs) {
292
+ this.logger.debug("request url conflicted, for service ".concat(this.targetService, ", target url: ").concat(url, ", error: ").concat(err.message));
293
+ }
272
294
  return new error_types_1.ConflictError(err, message);
273
295
  case http_status_codes_1.default.FORBIDDEN:
274
- this.logger.debug("forbidden request sent service " + this.targetService + ", target url: " + url + ", error: " + err.message);
296
+ if (!this.disableDebugLogs) {
297
+ this.logger.debug("forbidden request sent service ".concat(this.targetService, ", target url: ").concat(url, ", error: ").concat(err.message));
298
+ }
275
299
  throw new error_types_1.ForbiddenError(err, message);
276
300
  case http_status_codes_1.default.UNAUTHORIZED:
277
- this.logger.debug("unauthorized request sent service " + this.targetService + ", target url: " + url + ", error: " + err.message);
301
+ if (!this.disableDebugLogs) {
302
+ this.logger.debug("unauthorized request sent service ".concat(this.targetService, ", target url: ").concat(url, ", error: ").concat(err.message));
303
+ }
278
304
  throw new error_types_1.UnauthorizedError(err, message);
279
305
  default:
280
306
  if (body !== undefined) {
281
307
  body = JSON.stringify(body);
282
- this.logger.error("error from " + this.targetService + " at " + url + ". body: " + body + ". error: " + err.message);
308
+ this.logger.error("error from ".concat(this.targetService, " at ").concat(url, ". body: ").concat(body, ". error: ").concat(err.message));
283
309
  }
284
310
  else {
285
- this.logger.error("error from " + this.targetService + " at " + url + ". error: " + err.message);
311
+ this.logger.error("error from ".concat(this.targetService, " at ").concat(url, ". error: ").concat(err.message));
286
312
  }
287
313
  return new error_types_1.InternalServerError(err);
288
314
  }
@@ -1 +1 @@
1
- {"version":3,"file":"httpClient.js","sourceRoot":"","sources":["../../../src/communication/http/httpClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"httpClient.js","sourceRoot":"","sources":["../../../src/communication/http/httpClient.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { BBox2d } from '@turf/helpers/dist/js/lib/geojson';
2
- import { ITile } from '../models/interfaces/geo/iTile';
2
+ import { ITile, ITileRange } from '../models/interfaces/geo/iTile';
3
3
  /**
4
4
  * rounds bbox to grid
5
5
  * @param bbox original bbox
@@ -14,4 +14,11 @@ export declare const snapBBoxToTileGrid: (bbox: BBox2d, zoomLevel: number) => BB
14
14
  * @returns
15
15
  */
16
16
  export declare const bboxFromTiles: (minTile: ITile, maxTile: ITile) => BBox2d;
17
+ /**
18
+ * coverts bbox to covering tile range of specified zoom level
19
+ * @param bbox
20
+ * @param zoom target zoom level
21
+ * @returns covering tile range
22
+ */
23
+ export declare const bboxToTileRange: (bbox: BBox2d, zoom: number) => ITileRange;
17
24
  //# sourceMappingURL=bboxUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bboxUtils.d.ts","sourceRoot":"","sources":["../../src/geo/bboxUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AASvD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,4BAA6B,MAAM,WAmBjE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,YAAa,KAAK,WAAW,KAAK,WAa3D,CAAC"}
1
+ {"version":3,"file":"bboxUtils.d.ts","sourceRoot":"","sources":["../../src/geo/bboxUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AASnE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,4BAA6B,MAAM,WAuBjE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,YAAa,KAAK,WAAW,KAAK,WAa3D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,uBAAwB,MAAM,KAAG,UAuB5D,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bboxFromTiles = exports.snapBBoxToTileGrid = void 0;
3
+ exports.bboxToTileRange = exports.bboxFromTiles = exports.snapBBoxToTileGrid = void 0;
4
4
  var geoConvertor_1 = require("./geoConvertor");
5
5
  var tiles_1 = require("./tiles");
6
6
  var snapMinCordToTileGrid = function (cord, tileRes) {
@@ -18,16 +18,22 @@ var snapBBoxToTileGrid = function (bbox, zoomLevel) {
18
18
  var minLat = Math.min(bbox[1], bbox[3]);
19
19
  var maxLon = Math.max(bbox[0], bbox[2]);
20
20
  var maxLat = Math.max(bbox[1], bbox[3]);
21
- var tileRes = tiles_1.degreesPerTile(zoomLevel);
21
+ var tileRes = (0, tiles_1.degreesPerTile)(zoomLevel);
22
22
  bbox[0] = snapMinCordToTileGrid(minLon, tileRes);
23
- bbox[1] = snapMinCordToTileGrid(minLat, tileRes);
24
23
  bbox[2] = snapMinCordToTileGrid(maxLon, tileRes);
25
24
  if (bbox[2] != maxLon) {
26
25
  bbox[2] += tileRes;
27
26
  }
28
- bbox[3] = snapMinCordToTileGrid(maxLat, tileRes);
29
- if (bbox[3] != maxLat) {
30
- bbox[3] += tileRes;
27
+ if (zoomLevel === 0) {
28
+ bbox[1] = -90;
29
+ bbox[3] = 90;
30
+ }
31
+ else {
32
+ bbox[1] = snapMinCordToTileGrid(minLat, tileRes);
33
+ bbox[3] = snapMinCordToTileGrid(maxLat, tileRes);
34
+ if (bbox[3] != maxLat) {
35
+ bbox[3] += tileRes;
36
+ }
31
37
  }
32
38
  return bbox;
33
39
  };
@@ -42,8 +48,8 @@ var bboxFromTiles = function (minTile, maxTile) {
42
48
  if (minTile.zoom !== maxTile.zoom) {
43
49
  throw new Error("Could not calcualte bbox from tiles due to not matching zoom levels");
44
50
  }
45
- var minPoint = geoConvertor_1.tileToDegrees(minTile);
46
- var maxPoint = geoConvertor_1.tileToDegrees({
51
+ var minPoint = (0, geoConvertor_1.tileToDegrees)(minTile);
52
+ var maxPoint = (0, geoConvertor_1.tileToDegrees)({
47
53
  x: maxTile.x + 1,
48
54
  y: maxTile.y + 1,
49
55
  zoom: maxTile.zoom,
@@ -51,4 +57,29 @@ var bboxFromTiles = function (minTile, maxTile) {
51
57
  return [minPoint.longitude, minPoint.latitude, maxPoint.longitude, maxPoint.latitude];
52
58
  };
53
59
  exports.bboxFromTiles = bboxFromTiles;
60
+ /**
61
+ * coverts bbox to covering tile range of specified zoom level
62
+ * @param bbox
63
+ * @param zoom target zoom level
64
+ * @returns covering tile range
65
+ */
66
+ var bboxToTileRange = function (bbox, zoom) {
67
+ bbox = (0, exports.snapBBoxToTileGrid)(bbox, zoom);
68
+ var minTile = (0, geoConvertor_1.degreesToTile)({
69
+ longitude: bbox[0],
70
+ latitude: bbox[1],
71
+ }, zoom);
72
+ var maxTile = (0, geoConvertor_1.degreesToTile)({
73
+ longitude: bbox[2],
74
+ latitude: bbox[3],
75
+ }, zoom);
76
+ return {
77
+ minX: minTile.x,
78
+ minY: minTile.y,
79
+ maxX: maxTile.x,
80
+ maxY: maxTile.y,
81
+ zoom: zoom,
82
+ };
83
+ };
84
+ exports.bboxToTileRange = bboxToTileRange;
54
85
  //# sourceMappingURL=bboxUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bboxUtils.js","sourceRoot":"","sources":["../../src/geo/bboxUtils.ts"],"names":[],"mappings":";;;AAEA,+CAA+C;AAC/C,iCAAyC;AAEzC,IAAM,qBAAqB,GAAG,UAAC,IAAY,EAAE,OAAe;IAC1D,IAAM,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;IAChD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;GAKG;AACI,IAAM,kBAAkB,GAAG,UAAC,IAAY,EAAE,SAAiB;IAChE,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1C,IAAM,OAAO,GAAG,sBAAc,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;QACrB,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;KACpB;IACD,IAAI,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;QACrB,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;KACpB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAnBW,QAAA,kBAAkB,sBAmB7B;AAEF;;;;;GAKG;AACI,IAAM,aAAa,GAAG,UAAC,OAAc,EAAE,OAAc;IAC1D,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;KACxF;IAED,IAAM,QAAQ,GAAG,4BAAa,CAAC,OAAO,CAAC,CAAC;IACxC,IAAM,QAAQ,GAAG,4BAAa,CAAC;QAC7B,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC;QAChB,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACxF,CAAC,CAAC;AAbW,QAAA,aAAa,iBAaxB"}
1
+ {"version":3,"file":"bboxUtils.js","sourceRoot":"","sources":["../../src/geo/bboxUtils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"geoConvertor.d.ts","sourceRoot":"","sources":["../../src/geo/geoConvertor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAGvD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,aAAa,MAAM,WAAU,UAAU,KAA2B,KAe5G,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,SAAU,KAAK,WAAU,UAAU,KAA2B,MAevF,CAAC"}
1
+ {"version":3,"file":"geoConvertor.d.ts","sourceRoot":"","sources":["../../src/geo/geoConvertor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAGvD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,aAAa,MAAM,WAAU,UAAU,KAA2B,KAgB5G,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,SAAU,KAAK,WAAU,UAAU,KAA2B,MAevF,CAAC"}
@@ -12,13 +12,14 @@ var tiles_1 = require("./tiles");
12
12
  */
13
13
  var degreesToTile = function (point, zoomLevel, origin) {
14
14
  if (origin === void 0) { origin = tileOrigin_1.TileOrigin.LOWER_LEFT; }
15
- var resolution = tiles_1.degreesPerTile(zoomLevel);
15
+ var resolution = (0, tiles_1.degreesPerTile)(zoomLevel);
16
16
  var lat = point.latitude;
17
17
  if (origin === tileOrigin_1.TileOrigin.UPPER_LEFT) {
18
18
  lat = -lat;
19
19
  }
20
20
  var xTile = point.longitude / resolution + (1 << zoomLevel);
21
- var yTile = lat / resolution + (1 << (zoomLevel - 1));
21
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers
22
+ var yTile = zoomLevel != 0 ? lat / resolution + (1 << (zoomLevel - 1)) : lat / resolution + 0.5;
22
23
  return {
23
24
  x: Math.floor(xTile),
24
25
  y: Math.floor(yTile),
@@ -36,7 +37,7 @@ var tileToDegrees = function (tile, origin) {
36
37
  if (origin === void 0) { origin = tileOrigin_1.TileOrigin.LOWER_LEFT; }
37
38
  var maxLon = 180;
38
39
  var maxLat = 90;
39
- var degPerTile = tiles_1.degreesPerTile(tile.zoom);
40
+ var degPerTile = (0, tiles_1.degreesPerTile)(tile.zoom);
40
41
  var lon = tile.x * degPerTile - maxLon;
41
42
  var lat = tile.y * degPerTile - maxLat;
42
43
  if (origin === tileOrigin_1.TileOrigin.UPPER_LEFT) {
@@ -1 +1 @@
1
- {"version":3,"file":"geoConvertor.js","sourceRoot":"","sources":["../../src/geo/geoConvertor.ts"],"names":[],"mappings":";;;AAAA,6DAA4D;AAG5D,iCAAyC;AAEzC;;;;;;GAMG;AACI,IAAM,aAAa,GAAG,UAAC,KAAa,EAAE,SAAiB,EAAE,MAA0C;IAA1C,uBAAA,EAAA,SAAqB,uBAAU,CAAC,UAAU;IACxG,IAAM,UAAU,GAAG,sBAAc,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;IACzB,IAAI,MAAM,KAAK,uBAAU,CAAC,UAAU,EAAE;QACpC,GAAG,GAAG,CAAC,GAAG,CAAC;KACZ;IAED,IAAM,KAAK,GAAG,KAAK,CAAC,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC;IAC9D,IAAM,KAAK,GAAG,GAAG,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;IAExD,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACpB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACpB,IAAI,EAAE,SAAS;KAChB,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,aAAa,iBAexB;AAEF;;;;;GAKG;AACI,IAAM,aAAa,GAAG,UAAC,IAAW,EAAE,MAA0C;IAA1C,uBAAA,EAAA,SAAqB,uBAAU,CAAC,UAAU;IACnF,IAAM,MAAM,GAAG,GAAG,CAAC;IACnB,IAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAM,UAAU,GAAG,sBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,CAAC;IACzC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,CAAC;IAEvC,IAAI,MAAM,KAAK,uBAAU,CAAC,UAAU,EAAE;QACpC,GAAG,GAAG,CAAC,GAAG,CAAC;KACZ;IAED,OAAO;QACL,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,GAAG;KACf,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,aAAa,iBAexB"}
1
+ {"version":3,"file":"geoConvertor.js","sourceRoot":"","sources":["../../src/geo/geoConvertor.ts"],"names":[],"mappings":";;;AAAA,6DAA4D;AAG5D,iCAAyC;AAEzC;;;;;;GAMG;AACI,IAAM,aAAa,GAAG,UAAC,KAAa,EAAE,SAAiB,EAAE,MAA0C;IAA1C,uBAAA,EAAA,SAAqB,uBAAU,CAAC,UAAU;IACxG,IAAM,UAAU,GAAG,IAAA,sBAAc,EAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;IACzB,IAAI,MAAM,KAAK,uBAAU,CAAC,UAAU,EAAE;QACpC,GAAG,GAAG,CAAC,GAAG,CAAC;KACZ;IAED,IAAM,KAAK,GAAG,KAAK,CAAC,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC;IAC9D,+DAA+D;IAC/D,IAAM,KAAK,GAAG,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,GAAG,GAAG,CAAC;IAElG,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACpB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACpB,IAAI,EAAE,SAAS;KAChB,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,aAAa,iBAgBxB;AAEF;;;;;GAKG;AACI,IAAM,aAAa,GAAG,UAAC,IAAW,EAAE,MAA0C;IAA1C,uBAAA,EAAA,SAAqB,uBAAU,CAAC,UAAU;IACnF,IAAM,MAAM,GAAG,GAAG,CAAC;IACnB,IAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAM,UAAU,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,CAAC;IACzC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,CAAC;IAEvC,IAAI,MAAM,KAAK,uBAAU,CAAC,UAAU,EAAE;QACpC,GAAG,GAAG,CAAC,GAAG,CAAC;KACZ;IAED,OAAO;QACL,QAAQ,EAAE,GAAG;QACb,SAAS,EAAE,GAAG;KACf,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,aAAa,iBAexB"}
@@ -91,14 +91,14 @@ function geoHash(precision, maxPrecision, polygon, bbox, parentHash) {
91
91
  case 2:
92
92
  if (!!hashes_1_1.done) return [3 /*break*/, 7];
93
93
  hash = hashes_1_1.value;
94
- hashBbox = exports.decodeGeoHash(hash);
95
- hashPoly = turf_1.bboxPolygon(hashBbox);
96
- intersection = turf_1.intersect(polygon, hashPoly);
94
+ hashBbox = (0, exports.decodeGeoHash)(hash);
95
+ hashPoly = (0, turf_1.bboxPolygon)(hashBbox);
96
+ intersection = (0, turf_1.intersect)(polygon, hashPoly);
97
97
  if (intersection === null || !isSubHash(hash, parentHash)) {
98
98
  return [3 /*break*/, 6];
99
99
  }
100
- intArea = turf_1.area(intersection);
101
- hashArea = turf_1.area(turf_1.bboxPolygon(exports.decodeGeoHash(hash)));
100
+ intArea = (0, turf_1.area)(intersection);
101
+ hashArea = (0, turf_1.area)(hashPoly);
102
102
  if (!(intArea == hashArea || precision == maxPrecision)) return [3 /*break*/, 4];
103
103
  return [4 /*yield*/, hash];
104
104
  case 3:
@@ -148,8 +148,8 @@ exports.decodeGeoHash = decodeGeoHash;
148
148
  */
149
149
  var createGeoHashGenerator = function (polygon, maxTileZoom) {
150
150
  if (maxTileZoom === void 0) { maxTileZoom = MAX_STANDARD_ZOOM; }
151
- var bbox = turf_1.bbox(polygon);
152
- bbox = bboxUtils_1.snapBBoxToTileGrid(bbox, maxTileZoom);
151
+ var bbox = (0, turf_1.bbox)(polygon);
152
+ bbox = (0, bboxUtils_1.snapBBoxToTileGrid)(bbox, maxTileZoom);
153
153
  //at this precision ea geo hash is a tile or smaller
154
154
  /* eslint-disable @typescript-eslint/no-magic-numbers */
155
155
  var zoomPrecision = Math.floor((2 / 5) * (maxTileZoom + 1));
@@ -177,7 +177,7 @@ function tileGenerator(polygon, tileZoom, origin) {
177
177
  return __generator(this, function (_b) {
178
178
  switch (_b.label) {
179
179
  case 0:
180
- hashGen = exports.createGeoHashGenerator(polygon, tileZoom);
180
+ hashGen = (0, exports.createGeoHashGenerator)(polygon, tileZoom);
181
181
  _b.label = 1;
182
182
  case 1:
183
183
  _b.trys.push([1, 10, 11, 12]);
@@ -186,12 +186,12 @@ function tileGenerator(polygon, tileZoom, origin) {
186
186
  case 2:
187
187
  if (!!hashGen_1_1.done) return [3 /*break*/, 9];
188
188
  hash = hashGen_1_1.value;
189
- bbox = exports.decodeGeoHash(hash);
190
- minTile = geoConvertor_1.degreesToTile({
189
+ bbox = (0, exports.decodeGeoHash)(hash);
190
+ minTile = (0, geoConvertor_1.degreesToTile)({
191
191
  longitude: bbox[0],
192
192
  latitude: bbox[1],
193
193
  }, tileZoom, origin);
194
- maxTile = geoConvertor_1.degreesToTile({
194
+ maxTile = (0, geoConvertor_1.degreesToTile)({
195
195
  longitude: bbox[2],
196
196
  latitude: bbox[3],
197
197
  }, tileZoom, origin);
@@ -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,qBAAa,CAAC,IAAI,CAAC,CAAC;gBAC/B,QAAQ,GAAG,kBAAW,CAAC,QAAQ,CAAC,CAAC;gBACjC,YAAY,GAAG,gBAAS,CAAC,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,WAAI,CAAC,YAAY,CAAC,CAAC;gBAC7B,QAAQ,GAAG,WAAI,CAAC,kBAAW,CAAC,qBAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACpD,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,WAAa,CAAC,OAAO,CAAW,CAAC;IAC5C,IAAI,GAAG,8BAAkB,CAAC,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,8BAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;;;;gBACvC,YAAA,SAAA,OAAO,CAAA;;;;gBAAf,IAAI;gBACP,IAAI,GAAG,qBAAa,CAAC,IAAI,CAAC,CAAC;gBAC3B,OAAO,GAAG,4BAAa,CAC3B;oBACE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;oBAClB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;iBAClB,EACD,QAAQ,EACR,MAAM,CACP,CAAC;gBACI,OAAO,GAAG,4BAAa,CAC3B;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":"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"}
@@ -2,4 +2,5 @@ export * from './bboxUtils';
2
2
  export * from './geoConvertor';
3
3
  export * from './geoHash';
4
4
  export * from './tiles';
5
+ export * from './tileRanger';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/geo/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/geo/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
package/dist/geo/index.js CHANGED
@@ -14,4 +14,5 @@ __exportStar(require("./bboxUtils"), exports);
14
14
  __exportStar(require("./geoConvertor"), exports);
15
15
  __exportStar(require("./geoHash"), exports);
16
16
  __exportStar(require("./tiles"), exports);
17
+ __exportStar(require("./tileRanger"), exports);
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/geo/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA4B;AAC5B,iDAA+B;AAC/B,4CAA0B;AAC1B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/geo/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA4B;AAC5B,iDAA+B;AAC/B,4CAA0B;AAC1B,0CAAwB;AACxB,+CAA6B"}
@@ -0,0 +1,40 @@
1
+ import { BBox2d } from '@turf/helpers/dist/js/lib/geojson';
2
+ import { Feature, MultiPolygon, Polygon } from '@turf/turf';
3
+ import { ITile, ITileRange } from '../models/interfaces/geo/iTile';
4
+ /**
5
+ * class for generating and decoding tile hashes
6
+ */
7
+ export declare class TileRanger {
8
+ /**
9
+ * converts tile to tile range of specified zoom level
10
+ * @param tile
11
+ * @param zoom target tile range zoom
12
+ * @returns
13
+ */
14
+ tileToRange(tile: ITile, zoom: number): ITileRange;
15
+ /**
16
+ * generate tile hashes
17
+ * @param footprint footprint to cover with generated tile hashes
18
+ * @param zoom max hash zoom
19
+ * @returns
20
+ */
21
+ encodeFootprint(footprint: Polygon | Feature<Polygon | MultiPolygon>, zoom: number): Generator<ITileRange>;
22
+ /**
23
+ * generate tile
24
+ * @param bbox bbox to cover with generated tiles
25
+ * @param zoom target tiles zoom level
26
+ */
27
+ generateTiles(bbox: BBox2d, zoom: number): Generator<ITile>;
28
+ /**
29
+ * generate tile
30
+ * @param footprint footprint to cover with generated tiles
31
+ * @param zoom target tiles zoom level
32
+ */
33
+ generateTiles(footprint: Polygon | Feature<Polygon | MultiPolygon>, zoom: number): Generator<ITile>;
34
+ private generateRanges;
35
+ private optimizeHash;
36
+ private generateSubTiles;
37
+ private readonly tileFootprintIntersection;
38
+ private isBbox;
39
+ }
40
+ //# sourceMappingURL=tileRanger.d.ts.map
@@ -0,0 +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,GAAG,SAAS,CAAC,UAAU,CAAC;IAalH;;;;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;IA8BvB,OAAO,CAAE,YAAY;IAiBrB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAgBxC;IAEF,OAAO,CAAC,MAAM;CAKf"}
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ var __generator = (this && this.__generator) || function (thisArg, body) {
3
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
4
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
5
+ function verb(n) { return function (v) { return step([n, v]); }; }
6
+ function step(op) {
7
+ if (f) throw new TypeError("Generator is already executing.");
8
+ while (_) try {
9
+ 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;
10
+ if (y = 0, t) op = [op[0] & 2, t.value];
11
+ switch (op[0]) {
12
+ case 0: case 1: t = op; break;
13
+ case 4: _.label++; return { value: op[1], done: false };
14
+ case 5: _.label++; y = op[1]; op = [0]; continue;
15
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
16
+ default:
17
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
18
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
19
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
20
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
21
+ if (t[2]) _.ops.pop();
22
+ _.trys.pop(); continue;
23
+ }
24
+ op = body.call(thisArg, _);
25
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
26
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
27
+ }
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.");
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.TileRanger = void 0;
42
+ var turf_1 = require("@turf/turf");
43
+ var bboxUtils_1 = require("./bboxUtils");
44
+ var tiles_1 = require("./tiles");
45
+ var tilesGenerator_1 = require("./tilesGenerator");
46
+ var TileIntersectionState;
47
+ (function (TileIntersectionState) {
48
+ TileIntersectionState["FULL"] = "full";
49
+ TileIntersectionState["PARTIAL"] = "partial";
50
+ TileIntersectionState["NONE"] = "none";
51
+ })(TileIntersectionState || (TileIntersectionState = {}));
52
+ /**
53
+ * class for generating and decoding tile hashes
54
+ */
55
+ var TileRanger = /** @class */ (function () {
56
+ function TileRanger() {
57
+ this.tileFootprintIntersection = function (tile, intersectionParams) {
58
+ var tileBbox = (0, tiles_1.tileToBbox)(tile);
59
+ var tilePoly = (0, turf_1.bboxPolygon)(tileBbox);
60
+ var intersection = (0, turf_1.intersect)(intersectionParams.footprint, tilePoly);
61
+ if (intersection === null) {
62
+ return TileIntersectionState.NONE;
63
+ }
64
+ if (tile.zoom === intersectionParams.maxZoom) {
65
+ return TileIntersectionState.FULL;
66
+ }
67
+ var intArea = (0, turf_1.area)(intersection);
68
+ var hashArea = (0, turf_1.area)(tilePoly);
69
+ if (intArea == hashArea) {
70
+ return TileIntersectionState.FULL;
71
+ }
72
+ return TileIntersectionState.PARTIAL;
73
+ };
74
+ }
75
+ /**
76
+ * converts tile to tile range of specified zoom level
77
+ * @param tile
78
+ * @param zoom target tile range zoom
79
+ * @returns
80
+ */
81
+ TileRanger.prototype.tileToRange = function (tile, zoom) {
82
+ var minX, minY, maxX, maxY;
83
+ minX = tile.x;
84
+ maxX = tile.x + 1;
85
+ minY = tile.y;
86
+ maxY = tile.y + 1;
87
+ if (tile.zoom < zoom) {
88
+ var dz = zoom - tile.zoom;
89
+ minX = minX << dz;
90
+ maxX = maxX << dz;
91
+ minY = minY << dz;
92
+ maxY = maxY << dz;
93
+ }
94
+ else if (tile.zoom > zoom) {
95
+ var dz = tile.zoom - zoom;
96
+ minX = minX >> dz;
97
+ minY = minY >> dz;
98
+ maxX = minX + 1;
99
+ maxY = minY + 1;
100
+ }
101
+ return {
102
+ minX: minX,
103
+ minY: minY,
104
+ maxX: maxX,
105
+ maxY: maxY,
106
+ zoom: zoom,
107
+ };
108
+ };
109
+ /**
110
+ * generate tile hashes
111
+ * @param footprint footprint to cover with generated tile hashes
112
+ * @param zoom max hash zoom
113
+ * @returns
114
+ */
115
+ TileRanger.prototype.encodeFootprint = function (footprint, zoom) {
116
+ var bbox, intersectionParams;
117
+ return __generator(this, function (_a) {
118
+ switch (_a.label) {
119
+ case 0:
120
+ bbox = (0, turf_1.bbox)(footprint);
121
+ if (!this.isBbox(footprint)) return [3 /*break*/, 2];
122
+ return [4 /*yield*/, (0, bboxUtils_1.bboxToTileRange)(bbox, zoom)];
123
+ case 1:
124
+ _a.sent();
125
+ return [3 /*break*/, 4];
126
+ case 2:
127
+ intersectionParams = {
128
+ footprint: footprint,
129
+ maxZoom: zoom,
130
+ };
131
+ return [5 /*yield**/, __values(this.generateRanges(bbox, zoom, intersectionParams, this.tileFootprintIntersection))];
132
+ case 3:
133
+ _a.sent();
134
+ _a.label = 4;
135
+ case 4: return [2 /*return*/];
136
+ }
137
+ });
138
+ };
139
+ TileRanger.prototype.generateTiles = function (area, zoom) {
140
+ var gen;
141
+ if (Array.isArray(area)) {
142
+ gen = [(0, bboxUtils_1.bboxToTileRange)(area, zoom)];
143
+ }
144
+ else {
145
+ gen = this.encodeFootprint(area, zoom);
146
+ }
147
+ return (0, tilesGenerator_1.tilesGenerator)(gen);
148
+ };
149
+ TileRanger.prototype.generateRanges = function (bbox, zoom, intersectionTarget, intersectionFunction) {
150
+ var boundingRange, dx, dy, minXZoom, minYZoom, minZoom, minimalRange, x, y, tile, intersection;
151
+ return __generator(this, function (_a) {
152
+ switch (_a.label) {
153
+ case 0:
154
+ boundingRange = (0, bboxUtils_1.bboxToTileRange)(bbox, zoom);
155
+ dx = boundingRange.maxX - boundingRange.minX;
156
+ dy = boundingRange.maxY - boundingRange.minY;
157
+ minXZoom = Math.max(Math.floor(Math.log2(1 << (zoom + 1)) / dx) - 1, 0);
158
+ minYZoom = Math.max(Math.floor(Math.log2(1 << zoom) / dy), 0);
159
+ minZoom = Math.min(minXZoom, minYZoom);
160
+ minimalRange = (0, bboxUtils_1.bboxToTileRange)(bbox, minZoom);
161
+ x = minimalRange.minX;
162
+ _a.label = 1;
163
+ case 1:
164
+ if (!(x < minimalRange.maxX)) return [3 /*break*/, 8];
165
+ y = minimalRange.minY;
166
+ _a.label = 2;
167
+ case 2:
168
+ if (!(y < minimalRange.maxY)) return [3 /*break*/, 7];
169
+ tile = { x: x, y: y, zoom: minimalRange.zoom };
170
+ intersection = intersectionFunction(tile, intersectionTarget);
171
+ if (!(intersection === TileIntersectionState.FULL)) return [3 /*break*/, 4];
172
+ return [4 /*yield*/, this.tileToRange(tile, zoom)];
173
+ case 3:
174
+ _a.sent();
175
+ return [3 /*break*/, 6];
176
+ case 4:
177
+ if (!(intersection === TileIntersectionState.PARTIAL)) return [3 /*break*/, 6];
178
+ //optimize partial base hashes
179
+ return [5 /*yield**/, __values(this.optimizeHash(tile, zoom, intersectionTarget, intersectionFunction))];
180
+ case 5:
181
+ //optimize partial base hashes
182
+ _a.sent();
183
+ _a.label = 6;
184
+ case 6:
185
+ y++;
186
+ return [3 /*break*/, 2];
187
+ case 7:
188
+ x++;
189
+ return [3 /*break*/, 1];
190
+ case 8: return [2 /*return*/];
191
+ }
192
+ });
193
+ };
194
+ TileRanger.prototype.optimizeHash = function (tile, targetZoom, intersectionTarget, intersectionFunction) {
195
+ var tiles, tiles_2, tiles_2_1, subTile, intersection, e_1_1;
196
+ var e_1, _a;
197
+ return __generator(this, function (_b) {
198
+ switch (_b.label) {
199
+ case 0:
200
+ tiles = this.generateSubTiles(tile);
201
+ _b.label = 1;
202
+ case 1:
203
+ _b.trys.push([1, 8, 9, 10]);
204
+ tiles_2 = __values(tiles), tiles_2_1 = tiles_2.next();
205
+ _b.label = 2;
206
+ case 2:
207
+ if (!!tiles_2_1.done) return [3 /*break*/, 7];
208
+ subTile = tiles_2_1.value;
209
+ intersection = intersectionFunction(subTile, intersectionTarget);
210
+ if (!(intersection === TileIntersectionState.FULL)) return [3 /*break*/, 4];
211
+ return [4 /*yield*/, this.tileToRange(subTile, targetZoom)];
212
+ case 3:
213
+ _b.sent();
214
+ return [3 /*break*/, 6];
215
+ case 4:
216
+ if (!(intersection === TileIntersectionState.PARTIAL)) return [3 /*break*/, 6];
217
+ return [5 /*yield**/, __values(this.optimizeHash(subTile, targetZoom, intersectionTarget, intersectionFunction))];
218
+ case 5:
219
+ _b.sent();
220
+ _b.label = 6;
221
+ case 6:
222
+ tiles_2_1 = tiles_2.next();
223
+ return [3 /*break*/, 2];
224
+ case 7: return [3 /*break*/, 10];
225
+ case 8:
226
+ e_1_1 = _b.sent();
227
+ e_1 = { error: e_1_1 };
228
+ return [3 /*break*/, 10];
229
+ case 9:
230
+ try {
231
+ if (tiles_2_1 && !tiles_2_1.done && (_a = tiles_2.return)) _a.call(tiles_2);
232
+ }
233
+ finally { if (e_1) throw e_1.error; }
234
+ return [7 /*endfinally*/];
235
+ case 10: return [2 /*return*/];
236
+ }
237
+ });
238
+ };
239
+ TileRanger.prototype.generateSubTiles = function (tile) {
240
+ var tile0 = { x: tile.x << 1, y: tile.y << 1, zoom: tile.zoom + 1 };
241
+ var tile1 = { x: tile0.x + 1, y: tile0.y, zoom: tile0.zoom };
242
+ var tile2 = { x: tile0.x, y: tile0.y + 1, zoom: tile0.zoom };
243
+ var tile3 = { x: tile0.x + 1, y: tile0.y + 1, zoom: tile0.zoom };
244
+ var tiles = [tile0, tile1, tile2, tile3];
245
+ return tiles;
246
+ };
247
+ TileRanger.prototype.isBbox = function (footprint) {
248
+ var bbox = (0, turf_1.bbox)(footprint);
249
+ var bboxPoly = (0, turf_1.bboxPolygon)(bbox);
250
+ return (0, turf_1.booleanEqual)(footprint, bboxPoly);
251
+ };
252
+ return TileRanger;
253
+ }());
254
+ exports.TileRanger = TileRanger;
255
+ //# sourceMappingURL=tileRanger.js.map
@@ -0,0 +1 @@
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;QAoImB,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,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;IA1JC;;;;;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;IACK,oCAAe,GAAvB,UAAwB,SAAoD,EAAE,IAAY;;;;;oBAClF,IAAI,GAAG,IAAA,WAAa,EAAC,SAAS,CAAW,CAAC;yBAC5C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAtB,wBAAsB;oBACxB,qBAAM,IAAA,2BAAe,EAAC,IAAI,EAAE,IAAI,CAAC,EAAA;;oBAAjC,SAAiC,CAAC;;;oBAE5B,kBAAkB,GAAiC;wBACvD,SAAS,WAAA;wBACT,OAAO,EAAE,IAAI;qBACd,CAAC;oBACF,sBAAA,SAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAA,EAAA;;oBAA1F,SAA0F,CAAC;;;;;KAE9F;IAcM,kCAAa,GAApB,UAAqB,IAAwD,EAAE,IAAY;QACzF,IAAI,GAAyB,CAAC;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,GAAG,GAAG,CAAC,IAAA,2BAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;SACrC;aAAM;YACL,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACxC;QACD,OAAO,IAAA,+BAAc,EAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAEQ,mCAAc,GAAvB,UACE,IAAY,EACZ,IAAY,EACZ,kBAAqB,EACrB,oBAAiD;;;;;oBAE3C,aAAa,GAAG,IAAA,2BAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAE5C,EAAE,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;oBAC7C,EAAE,GAAG,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;oBAC7C,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;oBACxE,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;oBAC9D,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAGvC,YAAY,GAAG,IAAA,2BAAe,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAC3C,CAAC,GAAG,YAAY,CAAC,IAAI;;;yBAAE,CAAA,CAAC,GAAG,YAAY,CAAC,IAAI,CAAA;oBAC1C,CAAC,GAAG,YAAY,CAAC,IAAI;;;yBAAE,CAAA,CAAC,GAAG,YAAY,CAAC,IAAI,CAAA;oBAC7C,IAAI,GAAG,EAAE,CAAC,GAAA,EAAE,CAAC,GAAA,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC;oBACzC,YAAY,GAAG,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;yBAChE,CAAA,YAAY,KAAK,qBAAqB,CAAC,IAAI,CAAA,EAA3C,wBAA2C;oBAC7C,qBAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAA;;oBAAlC,SAAkC,CAAC;;;yBAC1B,CAAA,YAAY,KAAK,qBAAqB,CAAC,OAAO,CAAA,EAA9C,wBAA8C;oBACvD,8BAA8B;oBAC9B,sBAAA,SAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAA,EAAA;;oBAD9E,8BAA8B;oBAC9B,SAA8E,CAAC;;;oBAP5B,CAAC,EAAE,CAAA;;;oBADL,CAAC,EAAE,CAAA;;;;;KAY3D;IAEQ,iCAAY,GAArB,UACE,IAAW,EACX,UAAkB,EAClB,kBAAqB,EACrB,oBAAiD;;;;;;oBAE3C,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;yBACnE,CAAA,YAAY,KAAK,qBAAqB,CAAC,IAAI,CAAA,EAA3C,wBAA2C;oBAC7C,qBAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,EAAA;;oBAA3C,SAA2C,CAAC;;;yBACnC,CAAA,YAAY,KAAK,qBAAqB,CAAC,OAAO,CAAA,EAA9C,wBAA8C;oBACvD,sBAAA,SAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAAA,EAAA;;oBAAvF,SAAuF,CAAC;;;;;;;;;;;;;;;;;;;KAG7F;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;IAoBO,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,AA3JD,IA2JC;AA3JY,gCAAU"}
@@ -1,3 +1,4 @@
1
+ import { BBox2d } from '@turf/helpers/dist/js/lib/geojson';
1
2
  import { ITile } from '../models/interfaces/geo/iTile';
2
3
  /**
3
4
  * calculates tile size (resolution) in degrees
@@ -23,4 +24,10 @@ export declare function flipYAxis(tile: ITile): ITile;
23
24
  * @returns zoom level for given pixel size
24
25
  */
25
26
  export declare function degreesPerPixelToZoomLevel(resolution: number): number;
27
+ /**
28
+ * returns bbox of given tile
29
+ * @param tile
30
+ * @returns
31
+ */
32
+ export declare function tileToBbox(tile: ITile): BBox2d;
26
33
  //# sourceMappingURL=tiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tiles.d.ts","sourceRoot":"","sources":["../../src/geo/tiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,CAO5C;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAQrE"}
1
+ {"version":3,"file":"tiles.d.ts","sourceRoot":"","sources":["../../src/geo/tiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAGvD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,CAO5C;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAQrE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAI9C"}
package/dist/geo/tiles.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.degreesPerPixelToZoomLevel = exports.flipYAxis = exports.degreesPerPixel = exports.degreesPerTile = void 0;
3
+ exports.tileToBbox = exports.degreesPerPixelToZoomLevel = exports.flipYAxis = exports.degreesPerPixel = exports.degreesPerTile = void 0;
4
+ var geoConvertor_1 = require("./geoConvertor");
4
5
  /**
5
6
  * calculates tile size (resolution) in degrees
6
7
  * @param zoomLevel zoom level of returned tile size
@@ -46,9 +47,20 @@ function degreesPerPixelToZoomLevel(resolution) {
46
47
  // eslint-disable-next-line @typescript-eslint/no-magic-numbers
47
48
  var zoomLevel = Math.ceil(Math.log2(180 / (resolution * 256)));
48
49
  if (zoomLevel < MIN_ZOOM_LEVEL) {
49
- throw new Error("Invalid zoom level " + zoomLevel + " for resolution " + resolution);
50
+ throw new Error("Invalid zoom level ".concat(zoomLevel, " for resolution ").concat(resolution));
50
51
  }
51
52
  return zoomLevel;
52
53
  }
53
54
  exports.degreesPerPixelToZoomLevel = degreesPerPixelToZoomLevel;
55
+ /**
56
+ * returns bbox of given tile
57
+ * @param tile
58
+ * @returns
59
+ */
60
+ function tileToBbox(tile) {
61
+ var minPoint = (0, geoConvertor_1.tileToDegrees)(tile);
62
+ var tileSize = degreesPerTile(tile.zoom);
63
+ return [minPoint.longitude, minPoint.latitude, minPoint.longitude + tileSize, minPoint.latitude + tileSize];
64
+ }
65
+ exports.tileToBbox = tileToBbox;
54
66
  //# sourceMappingURL=tiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tiles.js","sourceRoot":"","sources":["../../src/geo/tiles.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,cAAc,CAAC,SAAiB;IAC9C,IAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,OAAO,QAAQ,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC;AACrC,CAAC;AAHD,wCAGC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,SAAiB;IAC/C,IAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,IAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1C,OAAO,OAAO,GAAG,QAAQ,CAAC;AAC5B,CAAC;AAJD,0CAIC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAC,IAAW;IACnC,IAAM,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;IAC9B,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;QACtB,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;AACJ,CAAC;AAPD,8BAOC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B,CAAC,UAAkB;IAC3D,IAAM,cAAc,GAAG,CAAC,CAAC;IACzB,+DAA+D;IAC/D,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,SAAS,GAAG,cAAc,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,wBAAsB,SAAS,wBAAmB,UAAY,CAAC,CAAC;KACjF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AARD,gEAQC"}
1
+ {"version":3,"file":"tiles.js","sourceRoot":"","sources":["../../src/geo/tiles.ts"],"names":[],"mappings":";;;AAEA,+CAA+C;AAE/C;;;;GAIG;AACH,SAAgB,cAAc,CAAC,SAAiB;IAC9C,IAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,OAAO,QAAQ,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC;AACrC,CAAC;AAHD,wCAGC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,SAAiB;IAC/C,IAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,IAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1C,OAAO,OAAO,GAAG,QAAQ,CAAC;AAC5B,CAAC;AAJD,0CAIC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAC,IAAW;IACnC,IAAM,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;IAC9B,OAAO;QACL,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;QACtB,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;AACJ,CAAC;AAPD,8BAOC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B,CAAC,UAAkB;IAC3D,IAAM,cAAc,GAAG,CAAC,CAAC;IACzB,+DAA+D;IAC/D,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,SAAS,GAAG,cAAc,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,6BAAsB,SAAS,6BAAmB,UAAU,CAAE,CAAC,CAAC;KACjF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AARD,gEAQC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,IAAW;IACpC,IAAM,QAAQ,GAAG,IAAA,4BAAa,EAAC,IAAI,CAAC,CAAC;IACrC,IAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,GAAG,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAC9G,CAAC;AAJD,gCAIC"}
@@ -0,0 +1,3 @@
1
+ import { ITile, ITileRange } from '../models/interfaces/geo/iTile';
2
+ export declare function tilesGenerator(rangeGen: Iterable<ITileRange>): Generator<ITile>;
3
+ //# sourceMappingURL=tilesGenerator.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __generator = (this && this.__generator) || function (thisArg, body) {
3
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
4
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
5
+ function verb(n) { return function (v) { return step([n, v]); }; }
6
+ function step(op) {
7
+ if (f) throw new TypeError("Generator is already executing.");
8
+ while (_) try {
9
+ 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;
10
+ if (y = 0, t) op = [op[0] & 2, t.value];
11
+ switch (op[0]) {
12
+ case 0: case 1: t = op; break;
13
+ case 4: _.label++; return { value: op[1], done: false };
14
+ case 5: _.label++; y = op[1]; op = [0]; continue;
15
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
16
+ default:
17
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
18
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
19
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
20
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
21
+ if (t[2]) _.ops.pop();
22
+ _.trys.pop(); continue;
23
+ }
24
+ op = body.call(thisArg, _);
25
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
26
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
27
+ }
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.");
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.tilesGenerator = void 0;
42
+ 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
+ }
92
+ });
93
+ }
94
+ exports.tilesGenerator = tilesGenerator;
95
+ //# sourceMappingURL=tilesGenerator.js.map
@@ -0,0 +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"}
@@ -6,4 +6,11 @@ export interface ITile {
6
6
  y: number;
7
7
  zoom: number;
8
8
  }
9
+ export interface ITileRange {
10
+ minX: number;
11
+ minY: number;
12
+ maxX: number;
13
+ maxY: number;
14
+ zoom: number;
15
+ }
9
16
  //# sourceMappingURL=iTile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iTile.d.ts","sourceRoot":"","sources":["../../../../src/models/interfaces/geo/iTile.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"iTile.d.ts","sourceRoot":"","sources":["../../../../src/models/interfaces/geo/iTile.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@map-colonies/mc-utils",
3
- "version": "1.0.2",
3
+ "version": "1.3.0",
4
4
  "description": "This is template for map colonies typescript packages",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {