@deck.gl/carto 8.6.5 → 8.7.0-alpha.7
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/dist/dist.dev.js +25233 -1744
- package/dist/es5/api/index.js +6 -0
- package/dist/es5/api/index.js.map +1 -1
- package/dist/es5/api/layer-map.js +256 -0
- package/dist/es5/api/layer-map.js.map +1 -0
- package/dist/es5/api/maps-client.js +2 -2
- package/dist/es5/api/maps-client.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +284 -47
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/api/parseMap.js +207 -0
- package/dist/es5/api/parseMap.js.map +1 -0
- package/dist/es5/config.js +15 -24
- package/dist/es5/config.js.map +1 -1
- package/dist/es5/index.js +6 -16
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +50 -51
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/style/color-bins-style.js +6 -2
- package/dist/es5/style/color-bins-style.js.map +1 -1
- package/dist/es5/style/color-categories-style.js +7 -3
- package/dist/es5/style/color-categories-style.js.map +1 -1
- package/dist/es5/style/color-continuous-style.js +6 -2
- package/dist/es5/style/color-continuous-style.js.map +1 -1
- package/dist/es5/style/palette.js +6 -2
- package/dist/es5/style/palette.js.map +1 -1
- package/dist/esm/api/index.js +1 -1
- package/dist/esm/api/index.js.map +1 -1
- package/dist/esm/api/layer-map.js +220 -0
- package/dist/esm/api/layer-map.js.map +1 -0
- package/dist/esm/api/maps-client.js +1 -1
- package/dist/esm/api/maps-client.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +145 -16
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/api/parseMap.js +195 -0
- package/dist/esm/api/parseMap.js.map +1 -0
- package/dist/esm/config.js +11 -26
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/index.js +1 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +28 -28
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/style/color-bins-style.js +1 -1
- package/dist/esm/style/color-bins-style.js.map +1 -1
- package/dist/esm/style/color-continuous-style.js +1 -1
- package/dist/esm/style/color-continuous-style.js.map +1 -1
- package/dist.min.js +278 -1
- package/package.json +12 -8
- package/src/api/index.js +1 -1
- package/src/api/layer-map.js +195 -0
- package/src/api/maps-client.js +3 -7
- package/src/api/maps-v3-client.js +114 -11
- package/src/api/parseMap.js +183 -0
- package/src/config.js +8 -39
- package/src/index.js +1 -2
- package/src/layers/carto-layer.js +17 -23
- package/src/style/color-bins-style.js +2 -4
- package/src/style/color-continuous-style.js +2 -4
- package/dist/es5/layers/carto-bqtiler-layer.js +0 -65
- package/dist/es5/layers/carto-bqtiler-layer.js.map +0 -1
- package/dist/es5/layers/carto-sql-layer.js +0 -66
- package/dist/es5/layers/carto-sql-layer.js.map +0 -1
- package/dist/esm/layers/carto-bqtiler-layer.js +0 -16
- package/dist/esm/layers/carto-bqtiler-layer.js.map +0 -1
- package/dist/esm/layers/carto-sql-layer.js +0 -17
- package/dist/esm/layers/carto-sql-layer.js.map +0 -1
- package/src/layers/carto-bqtiler-layer.js +0 -21
- package/src/layers/carto-sql-layer.js +0 -22
|
@@ -8,20 +8,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.mapInstantiation = mapInstantiation;
|
|
9
9
|
exports.fetchLayerData = fetchLayerData;
|
|
10
10
|
exports.getData = getData;
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
exports.fetchMap = fetchMap;
|
|
13
12
|
|
|
14
13
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
15
14
|
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
|
|
16
17
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
18
|
|
|
18
19
|
var _config = require("../config");
|
|
19
20
|
|
|
20
21
|
var _mapsApiCommon = require("./maps-api-common");
|
|
21
22
|
|
|
23
|
+
var _parseMap = require("./parseMap");
|
|
24
|
+
|
|
22
25
|
var _core = require("@deck.gl/core");
|
|
23
26
|
|
|
24
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
27
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
25
28
|
|
|
26
29
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
27
30
|
|
|
@@ -223,7 +226,7 @@ function getUrlFromMetadata(metadata, format) {
|
|
|
223
226
|
return null;
|
|
224
227
|
}
|
|
225
228
|
|
|
226
|
-
function
|
|
229
|
+
function checkFetchLayerDataParameters(_ref5) {
|
|
227
230
|
var type = _ref5.type,
|
|
228
231
|
source = _ref5.source,
|
|
229
232
|
connection = _ref5.connection,
|
|
@@ -248,16 +251,77 @@ function fetchLayerData(_x3) {
|
|
|
248
251
|
|
|
249
252
|
function _fetchLayerData() {
|
|
250
253
|
_fetchLayerData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(_ref6) {
|
|
251
|
-
var type, source, connection, credentials, geoColumn, columns, format, schema,
|
|
254
|
+
var type, source, connection, credentials, geoColumn, columns, format, schema, _yield$_fetchDataUrl, url, accessToken, mapFormat, metadata, data, result;
|
|
252
255
|
|
|
253
256
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
254
257
|
while (1) {
|
|
255
258
|
switch (_context3.prev = _context3.next) {
|
|
256
259
|
case 0:
|
|
257
260
|
type = _ref6.type, source = _ref6.source, connection = _ref6.connection, credentials = _ref6.credentials, geoColumn = _ref6.geoColumn, columns = _ref6.columns, format = _ref6.format, schema = _ref6.schema;
|
|
261
|
+
_context3.next = 3;
|
|
262
|
+
return _fetchDataUrl({
|
|
263
|
+
type: type,
|
|
264
|
+
source: source,
|
|
265
|
+
connection: connection,
|
|
266
|
+
credentials: credentials,
|
|
267
|
+
geoColumn: geoColumn,
|
|
268
|
+
columns: columns,
|
|
269
|
+
format: format,
|
|
270
|
+
schema: schema
|
|
271
|
+
});
|
|
272
|
+
|
|
273
|
+
case 3:
|
|
274
|
+
_yield$_fetchDataUrl = _context3.sent;
|
|
275
|
+
url = _yield$_fetchDataUrl.url;
|
|
276
|
+
accessToken = _yield$_fetchDataUrl.accessToken;
|
|
277
|
+
mapFormat = _yield$_fetchDataUrl.mapFormat;
|
|
278
|
+
metadata = _yield$_fetchDataUrl.metadata;
|
|
279
|
+
_context3.next = 10;
|
|
280
|
+
return request({
|
|
281
|
+
url: url,
|
|
282
|
+
format: mapFormat,
|
|
283
|
+
accessToken: accessToken
|
|
284
|
+
});
|
|
285
|
+
|
|
286
|
+
case 10:
|
|
287
|
+
data = _context3.sent;
|
|
288
|
+
result = {
|
|
289
|
+
data: data,
|
|
290
|
+
format: mapFormat
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
if (schema) {
|
|
294
|
+
result.schema = metadata.schema;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
return _context3.abrupt("return", result);
|
|
298
|
+
|
|
299
|
+
case 14:
|
|
300
|
+
case "end":
|
|
301
|
+
return _context3.stop();
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}, _callee3);
|
|
305
|
+
}));
|
|
306
|
+
return _fetchLayerData.apply(this, arguments);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
function _fetchDataUrl(_x4) {
|
|
310
|
+
return _fetchDataUrl2.apply(this, arguments);
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
function _fetchDataUrl2() {
|
|
314
|
+
_fetchDataUrl2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(_ref7) {
|
|
315
|
+
var type, source, connection, credentials, geoColumn, columns, format, schema, defaultCredentials, localCreds, metadata, url, mapFormat, prioritizedFormats, _i, _prioritizedFormats, f, accessToken;
|
|
316
|
+
|
|
317
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
318
|
+
while (1) {
|
|
319
|
+
switch (_context4.prev = _context4.next) {
|
|
320
|
+
case 0:
|
|
321
|
+
type = _ref7.type, source = _ref7.source, connection = _ref7.connection, credentials = _ref7.credentials, geoColumn = _ref7.geoColumn, columns = _ref7.columns, format = _ref7.format, schema = _ref7.schema;
|
|
258
322
|
defaultCredentials = (0, _config.getDefaultCredentials)();
|
|
259
323
|
localCreds = _objectSpread(_objectSpread({}, defaultCredentials.apiVersion === _mapsApiCommon.API_VERSIONS.V3 && defaultCredentials), credentials);
|
|
260
|
-
|
|
324
|
+
checkFetchLayerDataParameters({
|
|
261
325
|
type: type,
|
|
262
326
|
source: source,
|
|
263
327
|
connection: connection,
|
|
@@ -268,7 +332,7 @@ function _fetchLayerData() {
|
|
|
268
332
|
localCreds.mapsUrl = (0, _config.buildMapsUrlFromBase)(localCreds.apiBaseUrl);
|
|
269
333
|
}
|
|
270
334
|
|
|
271
|
-
|
|
335
|
+
_context4.next = 7;
|
|
272
336
|
return mapInstantiation({
|
|
273
337
|
type: type,
|
|
274
338
|
source: source,
|
|
@@ -280,10 +344,10 @@ function _fetchLayerData() {
|
|
|
280
344
|
});
|
|
281
345
|
|
|
282
346
|
case 7:
|
|
283
|
-
metadata =
|
|
347
|
+
metadata = _context4.sent;
|
|
284
348
|
|
|
285
349
|
if (!format) {
|
|
286
|
-
|
|
350
|
+
_context4.next = 14;
|
|
287
351
|
break;
|
|
288
352
|
}
|
|
289
353
|
|
|
@@ -292,16 +356,16 @@ function _fetchLayerData() {
|
|
|
292
356
|
|
|
293
357
|
_core.log.assert(url, "Format ".concat(format, " not available"));
|
|
294
358
|
|
|
295
|
-
|
|
359
|
+
_context4.next = 25;
|
|
296
360
|
break;
|
|
297
361
|
|
|
298
362
|
case 14:
|
|
299
|
-
prioritizedFormats = [_mapsApiCommon.FORMATS.GEOJSON, _mapsApiCommon.FORMATS.NDJSON, _mapsApiCommon.FORMATS.TILEJSON];
|
|
363
|
+
prioritizedFormats = [_mapsApiCommon.FORMATS.GEOJSON, _mapsApiCommon.FORMATS.JSON, _mapsApiCommon.FORMATS.NDJSON, _mapsApiCommon.FORMATS.TILEJSON];
|
|
300
364
|
_i = 0, _prioritizedFormats = prioritizedFormats;
|
|
301
365
|
|
|
302
366
|
case 16:
|
|
303
367
|
if (!(_i < _prioritizedFormats.length)) {
|
|
304
|
-
|
|
368
|
+
_context4.next = 25;
|
|
305
369
|
break;
|
|
306
370
|
}
|
|
307
371
|
|
|
@@ -309,63 +373,53 @@ function _fetchLayerData() {
|
|
|
309
373
|
url = getUrlFromMetadata(metadata, f);
|
|
310
374
|
|
|
311
375
|
if (!url) {
|
|
312
|
-
|
|
376
|
+
_context4.next = 22;
|
|
313
377
|
break;
|
|
314
378
|
}
|
|
315
379
|
|
|
316
380
|
mapFormat = f;
|
|
317
|
-
return
|
|
381
|
+
return _context4.abrupt("break", 25);
|
|
318
382
|
|
|
319
383
|
case 22:
|
|
320
384
|
_i++;
|
|
321
|
-
|
|
385
|
+
_context4.next = 16;
|
|
322
386
|
break;
|
|
323
387
|
|
|
324
388
|
case 25:
|
|
325
389
|
accessToken = localCreds.accessToken;
|
|
326
|
-
|
|
327
|
-
return request({
|
|
390
|
+
return _context4.abrupt("return", {
|
|
328
391
|
url: url,
|
|
329
|
-
|
|
330
|
-
|
|
392
|
+
accessToken: accessToken,
|
|
393
|
+
mapFormat: mapFormat,
|
|
394
|
+
metadata: metadata
|
|
331
395
|
});
|
|
332
396
|
|
|
333
|
-
case
|
|
334
|
-
data = _context3.sent;
|
|
335
|
-
result = {
|
|
336
|
-
data: data,
|
|
337
|
-
format: mapFormat
|
|
338
|
-
};
|
|
339
|
-
|
|
340
|
-
if (schema) {
|
|
341
|
-
result.schema = metadata.schema;
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
return _context3.abrupt("return", result);
|
|
345
|
-
|
|
346
|
-
case 32:
|
|
397
|
+
case 27:
|
|
347
398
|
case "end":
|
|
348
|
-
return
|
|
399
|
+
return _context4.stop();
|
|
349
400
|
}
|
|
350
401
|
}
|
|
351
|
-
},
|
|
402
|
+
}, _callee4);
|
|
352
403
|
}));
|
|
353
|
-
return
|
|
404
|
+
return _fetchDataUrl2.apply(this, arguments);
|
|
354
405
|
}
|
|
355
406
|
|
|
356
|
-
function getData(
|
|
407
|
+
function getData(_x5) {
|
|
357
408
|
return _getData.apply(this, arguments);
|
|
358
409
|
}
|
|
359
410
|
|
|
360
411
|
function _getData() {
|
|
361
|
-
_getData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function
|
|
412
|
+
_getData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(_ref8) {
|
|
362
413
|
var type, source, connection, credentials, geoColumn, columns, format, layerData;
|
|
363
|
-
return _regenerator.default.wrap(function
|
|
414
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
364
415
|
while (1) {
|
|
365
|
-
switch (
|
|
416
|
+
switch (_context5.prev = _context5.next) {
|
|
366
417
|
case 0:
|
|
367
|
-
type =
|
|
368
|
-
|
|
418
|
+
type = _ref8.type, source = _ref8.source, connection = _ref8.connection, credentials = _ref8.credentials, geoColumn = _ref8.geoColumn, columns = _ref8.columns, format = _ref8.format;
|
|
419
|
+
|
|
420
|
+
_core.log.deprecated('getData', 'fetchLayerData')();
|
|
421
|
+
|
|
422
|
+
_context5.next = 4;
|
|
369
423
|
return fetchLayerData({
|
|
370
424
|
type: type,
|
|
371
425
|
source: source,
|
|
@@ -377,17 +431,200 @@ function _getData() {
|
|
|
377
431
|
schema: false
|
|
378
432
|
});
|
|
379
433
|
|
|
434
|
+
case 4:
|
|
435
|
+
layerData = _context5.sent;
|
|
436
|
+
return _context5.abrupt("return", layerData.data);
|
|
437
|
+
|
|
438
|
+
case 6:
|
|
439
|
+
case "end":
|
|
440
|
+
return _context5.stop();
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
}, _callee5);
|
|
444
|
+
}));
|
|
445
|
+
return _getData.apply(this, arguments);
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
function _fetchMapDataset(_x6, _x7, _x8) {
|
|
449
|
+
return _fetchMapDataset2.apply(this, arguments);
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
function _fetchMapDataset2() {
|
|
453
|
+
_fetchMapDataset2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(dataset, accessToken, credentials) {
|
|
454
|
+
var connection, source, type, _yield$_fetchDataUrl2, url, mapFormat, cache, data;
|
|
455
|
+
|
|
456
|
+
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
457
|
+
while (1) {
|
|
458
|
+
switch (_context6.prev = _context6.next) {
|
|
459
|
+
case 0:
|
|
460
|
+
connection = dataset.connectionName, source = dataset.source, type = dataset.type;
|
|
461
|
+
_context6.next = 3;
|
|
462
|
+
return _fetchDataUrl({
|
|
463
|
+
credentials: _objectSpread(_objectSpread({}, credentials), {}, {
|
|
464
|
+
accessToken: accessToken
|
|
465
|
+
}),
|
|
466
|
+
connection: connection,
|
|
467
|
+
source: source,
|
|
468
|
+
type: type
|
|
469
|
+
});
|
|
470
|
+
|
|
380
471
|
case 3:
|
|
381
|
-
|
|
382
|
-
|
|
472
|
+
_yield$_fetchDataUrl2 = _context6.sent;
|
|
473
|
+
url = _yield$_fetchDataUrl2.url;
|
|
474
|
+
mapFormat = _yield$_fetchDataUrl2.mapFormat;
|
|
475
|
+
cache = parseInt(new URLSearchParams(url).get('cache'), 10);
|
|
476
|
+
|
|
477
|
+
if (!(cache && dataset.cache === cache)) {
|
|
478
|
+
_context6.next = 9;
|
|
479
|
+
break;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
return _context6.abrupt("return", false);
|
|
483
|
+
|
|
484
|
+
case 9:
|
|
485
|
+
dataset.cache = cache;
|
|
486
|
+
_context6.next = 12;
|
|
487
|
+
return request({
|
|
488
|
+
url: url,
|
|
489
|
+
format: mapFormat,
|
|
490
|
+
accessToken: accessToken
|
|
491
|
+
});
|
|
492
|
+
|
|
493
|
+
case 12:
|
|
494
|
+
data = _context6.sent;
|
|
495
|
+
dataset.data = data;
|
|
496
|
+
return _context6.abrupt("return", true);
|
|
497
|
+
|
|
498
|
+
case 15:
|
|
499
|
+
case "end":
|
|
500
|
+
return _context6.stop();
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
}, _callee6);
|
|
504
|
+
}));
|
|
505
|
+
return _fetchMapDataset2.apply(this, arguments);
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
function fillInMapDatasets(_x9, _x10) {
|
|
509
|
+
return _fillInMapDatasets.apply(this, arguments);
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
function _fillInMapDatasets() {
|
|
513
|
+
_fillInMapDatasets = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(_ref9, credentials) {
|
|
514
|
+
var datasets, token, promises;
|
|
515
|
+
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
516
|
+
while (1) {
|
|
517
|
+
switch (_context7.prev = _context7.next) {
|
|
518
|
+
case 0:
|
|
519
|
+
datasets = _ref9.datasets, token = _ref9.token;
|
|
520
|
+
promises = datasets.map(function (dataset) {
|
|
521
|
+
return _fetchMapDataset(dataset, token, credentials);
|
|
522
|
+
});
|
|
523
|
+
_context7.next = 4;
|
|
524
|
+
return Promise.all(promises);
|
|
525
|
+
|
|
526
|
+
case 4:
|
|
527
|
+
return _context7.abrupt("return", _context7.sent);
|
|
383
528
|
|
|
384
529
|
case 5:
|
|
385
530
|
case "end":
|
|
386
|
-
return
|
|
531
|
+
return _context7.stop();
|
|
387
532
|
}
|
|
388
533
|
}
|
|
389
|
-
},
|
|
534
|
+
}, _callee7);
|
|
390
535
|
}));
|
|
391
|
-
return
|
|
536
|
+
return _fillInMapDatasets.apply(this, arguments);
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
function fetchMap(_x11) {
|
|
540
|
+
return _fetchMap.apply(this, arguments);
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
function _fetchMap() {
|
|
544
|
+
_fetchMap = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee9(_ref10) {
|
|
545
|
+
var cartoMapId, credentials, autoRefresh, onNewData, defaultCredentials, localCreds, url, map, stopAutoRefresh, intervalId;
|
|
546
|
+
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
547
|
+
while (1) {
|
|
548
|
+
switch (_context9.prev = _context9.next) {
|
|
549
|
+
case 0:
|
|
550
|
+
cartoMapId = _ref10.cartoMapId, credentials = _ref10.credentials, autoRefresh = _ref10.autoRefresh, onNewData = _ref10.onNewData;
|
|
551
|
+
defaultCredentials = (0, _config.getDefaultCredentials)();
|
|
552
|
+
localCreds = _objectSpread(_objectSpread({}, defaultCredentials.apiVersion === _mapsApiCommon.API_VERSIONS.V3 && defaultCredentials), credentials);
|
|
553
|
+
|
|
554
|
+
_core.log.assert(cartoMapId, "Must define CARTO map id: fetchMap({cartoMapId: 'XXXX-XXXX-XXXX'})");
|
|
555
|
+
|
|
556
|
+
_core.log.assert(localCreds.apiVersion === _mapsApiCommon.API_VERSIONS.V3, 'Method only available for v3');
|
|
557
|
+
|
|
558
|
+
_core.log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');
|
|
559
|
+
|
|
560
|
+
if (!localCreds.mapsUrl) {
|
|
561
|
+
localCreds.mapsUrl = (0, _config.buildMapsUrlFromBase)(localCreds.apiBaseUrl);
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
if (autoRefresh || onNewData) {
|
|
565
|
+
_core.log.assert(onNewData, 'Must define `onNewData` when using autoRefresh');
|
|
566
|
+
|
|
567
|
+
_core.log.assert(typeof onNewData === 'function', '`onNewData` must be a function');
|
|
568
|
+
|
|
569
|
+
_core.log.assert(autoRefresh > 0, '`autoRefresh` must be a positive number');
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
url = "".concat(localCreds.mapsUrl, "/public/").concat(cartoMapId);
|
|
573
|
+
_context9.next = 11;
|
|
574
|
+
return request({
|
|
575
|
+
url: url
|
|
576
|
+
});
|
|
577
|
+
|
|
578
|
+
case 11:
|
|
579
|
+
map = _context9.sent;
|
|
580
|
+
|
|
581
|
+
if (autoRefresh) {
|
|
582
|
+
intervalId = setInterval((0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8() {
|
|
583
|
+
var changed;
|
|
584
|
+
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
585
|
+
while (1) {
|
|
586
|
+
switch (_context8.prev = _context8.next) {
|
|
587
|
+
case 0:
|
|
588
|
+
_context8.next = 2;
|
|
589
|
+
return fillInMapDatasets(map, credentials);
|
|
590
|
+
|
|
591
|
+
case 2:
|
|
592
|
+
changed = _context8.sent;
|
|
593
|
+
|
|
594
|
+
if (changed.some(function (v) {
|
|
595
|
+
return v === true;
|
|
596
|
+
})) {
|
|
597
|
+
onNewData((0, _parseMap.parseMap)(map));
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
case 4:
|
|
601
|
+
case "end":
|
|
602
|
+
return _context8.stop();
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
}, _callee8);
|
|
606
|
+
})), autoRefresh * 1000);
|
|
607
|
+
|
|
608
|
+
stopAutoRefresh = function stopAutoRefresh() {
|
|
609
|
+
clearInterval(intervalId);
|
|
610
|
+
};
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
_context9.next = 15;
|
|
614
|
+
return fillInMapDatasets(map, credentials);
|
|
615
|
+
|
|
616
|
+
case 15:
|
|
617
|
+
return _context9.abrupt("return", _objectSpread(_objectSpread({}, (0, _parseMap.parseMap)(map)), {
|
|
618
|
+
stopAutoRefresh: stopAutoRefresh
|
|
619
|
+
}));
|
|
620
|
+
|
|
621
|
+
case 16:
|
|
622
|
+
case "end":
|
|
623
|
+
return _context9.stop();
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
}, _callee9);
|
|
627
|
+
}));
|
|
628
|
+
return _fetchMap.apply(this, arguments);
|
|
392
629
|
}
|
|
393
630
|
//# sourceMappingURL=maps-v3-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/maps-v3-client.js"],"names":["MAX_GET_LENGTH","request","method","url","format","accessToken","body","headers","Accept","Authorization","fetch","response","Error","FORMATS","NDJSON","json","ok","dealWithError","error","rows","status","getParameters","type","source","geoColumn","columns","schema","parameters","push","sourceName","MAP_TYPES","QUERY","TABLE","join","mapInstantiation","connection","credentials","baseUrl","mapsUrl","length","JSON","stringify","q","client","getUrlFromMetadata","metadata","m","checkGetLayerDataParameters","localCreds","log","assert","apiVersion","API_VERSIONS","V3","apiBaseUrl","fetchLayerData","defaultCredentials","mapFormat","prioritizedFormats","GEOJSON","TILEJSON","f","data","result","getData","layerData"],"mappings":"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","sourcesContent":["/**\n * Maps API Client for Carto 3\n */\nimport {getDefaultCredentials, buildMapsUrlFromBase} from '../config';\nimport {API_VERSIONS, encodeParameter, FORMATS, MAP_TYPES} from './maps-api-common';\nimport {log} from '@deck.gl/core';\n\nconst MAX_GET_LENGTH = 2048;\n\n/**\n * Request against Maps API\n */\nasync function request({method, url, format, accessToken, body}) {\n let response;\n\n const headers = {\n Accept: 'application/json'\n };\n\n if (accessToken) {\n headers.Authorization = `Bearer ${accessToken}`;\n }\n\n if (method === 'POST') {\n headers['Content-Type'] = 'application/json';\n }\n\n try {\n /* global fetch */\n /* eslint no-undef: \"error\" */\n response = await fetch(url, {\n method,\n headers,\n body\n });\n } catch (error) {\n throw new Error(`Failed to connect to Maps API: ${error}`);\n }\n\n if (format === FORMATS.NDJSON) {\n return response;\n }\n\n const json = await response.json();\n\n if (!response.ok) {\n dealWithError({response, error: json.error});\n }\n\n return json.rows ? json.rows : json;\n}\n\n/**\n * Display proper message from Maps API error\n */\nfunction dealWithError({response, error}) {\n switch (response.status) {\n case 400:\n throw new Error(`Bad request. ${error}`);\n case 401:\n case 403:\n throw new Error(`Unauthorized access. ${error}`);\n default:\n throw new Error(error);\n }\n}\n\n/**\n * Build a URL with all required parameters\n */\nfunction getParameters({type, source, geoColumn, columns, schema}) {\n const parameters = [encodeParameter('client', 'deck-gl-carto')];\n if (schema) {\n parameters.push(encodeParameter('schema', true));\n }\n\n const sourceName = type === MAP_TYPES.QUERY ? 'q' : 'name';\n parameters.push(encodeParameter(sourceName, source));\n\n if (type === MAP_TYPES.TABLE) {\n if (geoColumn) {\n parameters.push(encodeParameter('geo_column', geoColumn));\n }\n if (columns) {\n parameters.push(encodeParameter('columns', columns.join(',')));\n }\n }\n\n return parameters.join('&');\n}\n\nexport async function mapInstantiation({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n schema\n}) {\n const baseUrl = `${credentials.mapsUrl}/${connection}/${type}`;\n const url = `${baseUrl}?${getParameters({type, source, geoColumn, columns, schema})}`;\n const {accessToken} = credentials;\n\n const format = 'json';\n\n if (url.length > MAX_GET_LENGTH && type === MAP_TYPES.QUERY) {\n // need to be a POST request\n const body = JSON.stringify({\n q: source,\n client: 'deck-gl-carto'\n });\n return await request({method: 'POST', url: baseUrl, format, accessToken, body});\n }\n\n return await request({url, format, accessToken});\n}\n\nfunction getUrlFromMetadata(metadata, format) {\n const m = metadata[format];\n\n if (m && !m.error && m.url) {\n return m.url[0];\n }\n\n return null;\n}\n\nfunction checkGetLayerDataParameters({type, source, connection, localCreds}) {\n log.assert(connection, 'Must define connection');\n log.assert(type, 'Must define a type');\n log.assert(source, 'Must define a source');\n\n log.assert(localCreds.apiVersion === API_VERSIONS.V3, 'Method only available for v3');\n log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');\n log.assert(localCreds.accessToken, 'Must define an accessToken');\n}\n\nexport async function fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema\n}) {\n const defaultCredentials = getDefaultCredentials();\n // Only pick up default credentials if they have been defined for\n // correct API version\n const localCreds = {\n ...(defaultCredentials.apiVersion === API_VERSIONS.V3 && defaultCredentials),\n ...credentials\n };\n checkGetLayerDataParameters({type, source, connection, localCreds});\n\n if (!localCreds.mapsUrl) {\n localCreds.mapsUrl = buildMapsUrlFromBase(localCreds.apiBaseUrl);\n }\n\n const metadata = await mapInstantiation({\n type,\n source,\n connection,\n credentials: localCreds,\n geoColumn,\n columns,\n schema\n });\n let url;\n let mapFormat;\n\n if (format) {\n mapFormat = format;\n url = getUrlFromMetadata(metadata, format);\n log.assert(url, `Format ${format} not available`);\n } else {\n // guess map format\n const prioritizedFormats = [FORMATS.GEOJSON, FORMATS.NDJSON, FORMATS.TILEJSON];\n for (const f of prioritizedFormats) {\n url = getUrlFromMetadata(metadata, f);\n if (url) {\n mapFormat = f;\n break;\n }\n }\n }\n\n const {accessToken} = localCreds;\n\n const data = await request({url, format: mapFormat, accessToken});\n const result = {data, format: mapFormat};\n if (schema) {\n result.schema = metadata.schema;\n }\n\n return result;\n}\n\nexport async function getData({type, source, connection, credentials, geoColumn, columns, format}) {\n const layerData = await fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema: false\n });\n return layerData.data;\n}\n"],"file":"maps-v3-client.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/api/maps-v3-client.js"],"names":["MAX_GET_LENGTH","request","method","url","format","accessToken","body","headers","Accept","Authorization","fetch","response","Error","FORMATS","NDJSON","json","ok","dealWithError","error","rows","status","getParameters","type","source","geoColumn","columns","schema","parameters","push","sourceName","MAP_TYPES","QUERY","TABLE","join","mapInstantiation","connection","credentials","baseUrl","mapsUrl","length","JSON","stringify","q","client","getUrlFromMetadata","metadata","m","checkFetchLayerDataParameters","localCreds","log","assert","apiVersion","API_VERSIONS","V3","apiBaseUrl","fetchLayerData","_fetchDataUrl","mapFormat","data","result","defaultCredentials","prioritizedFormats","GEOJSON","TILEJSON","f","getData","deprecated","layerData","_fetchMapDataset","dataset","connectionName","cache","parseInt","URLSearchParams","get","fillInMapDatasets","datasets","token","promises","map","Promise","all","fetchMap","cartoMapId","autoRefresh","onNewData","intervalId","setInterval","changed","some","v","stopAutoRefresh","clearInterval"],"mappings":"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","sourcesContent":["/**\n * Maps API Client for Carto 3\n */\nimport {getDefaultCredentials, buildMapsUrlFromBase} from '../config';\nimport {API_VERSIONS, encodeParameter, FORMATS, MAP_TYPES} from './maps-api-common';\nimport {parseMap} from './parseMap';\nimport {log} from '@deck.gl/core';\n\nconst MAX_GET_LENGTH = 2048;\n\n/**\n * Request against Maps API\n */\nasync function request({method, url, format, accessToken, body}) {\n let response;\n\n const headers = {\n Accept: 'application/json'\n };\n\n if (accessToken) {\n headers.Authorization = `Bearer ${accessToken}`;\n }\n\n if (method === 'POST') {\n headers['Content-Type'] = 'application/json';\n }\n\n try {\n /* global fetch */\n /* eslint no-undef: \"error\" */\n response = await fetch(url, {\n method,\n headers,\n body\n });\n } catch (error) {\n throw new Error(`Failed to connect to Maps API: ${error}`);\n }\n\n if (format === FORMATS.NDJSON) {\n return response;\n }\n\n const json = await response.json();\n\n if (!response.ok) {\n dealWithError({response, error: json.error});\n }\n\n return json.rows ? json.rows : json;\n}\n\n/**\n * Display proper message from Maps API error\n */\nfunction dealWithError({response, error}) {\n switch (response.status) {\n case 400:\n throw new Error(`Bad request. ${error}`);\n case 401:\n case 403:\n throw new Error(`Unauthorized access. ${error}`);\n default:\n throw new Error(error);\n }\n}\n\n/**\n * Build a URL with all required parameters\n */\nfunction getParameters({type, source, geoColumn, columns, schema}) {\n const parameters = [encodeParameter('client', 'deck-gl-carto')];\n if (schema) {\n parameters.push(encodeParameter('schema', true));\n }\n\n const sourceName = type === MAP_TYPES.QUERY ? 'q' : 'name';\n parameters.push(encodeParameter(sourceName, source));\n\n if (type === MAP_TYPES.TABLE) {\n if (geoColumn) {\n parameters.push(encodeParameter('geo_column', geoColumn));\n }\n if (columns) {\n parameters.push(encodeParameter('columns', columns.join(',')));\n }\n }\n\n return parameters.join('&');\n}\n\nexport async function mapInstantiation({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n schema\n}) {\n const baseUrl = `${credentials.mapsUrl}/${connection}/${type}`;\n const url = `${baseUrl}?${getParameters({type, source, geoColumn, columns, schema})}`;\n const {accessToken} = credentials;\n\n const format = 'json';\n\n if (url.length > MAX_GET_LENGTH && type === MAP_TYPES.QUERY) {\n // need to be a POST request\n const body = JSON.stringify({\n q: source,\n client: 'deck-gl-carto'\n });\n return await request({method: 'POST', url: baseUrl, format, accessToken, body});\n }\n\n return await request({url, format, accessToken});\n}\n\nfunction getUrlFromMetadata(metadata, format) {\n const m = metadata[format];\n\n if (m && !m.error && m.url) {\n return m.url[0];\n }\n\n return null;\n}\n\nfunction checkFetchLayerDataParameters({type, source, connection, localCreds}) {\n log.assert(connection, 'Must define connection');\n log.assert(type, 'Must define a type');\n log.assert(source, 'Must define a source');\n\n log.assert(localCreds.apiVersion === API_VERSIONS.V3, 'Method only available for v3');\n log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');\n log.assert(localCreds.accessToken, 'Must define an accessToken');\n}\n\nexport async function fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema\n}) {\n // Internally we split data fetching into two parts to allow us to\n // conditionally fetch the actual data, depending on the metadata state\n const {url, accessToken, mapFormat, metadata} = await _fetchDataUrl({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema\n });\n\n const data = await request({url, format: mapFormat, accessToken});\n const result = {data, format: mapFormat};\n if (schema) {\n result.schema = metadata.schema;\n }\n\n return result;\n}\n\nasync function _fetchDataUrl({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema\n}) {\n const defaultCredentials = getDefaultCredentials();\n // Only pick up default credentials if they have been defined for\n // correct API version\n const localCreds = {\n ...(defaultCredentials.apiVersion === API_VERSIONS.V3 && defaultCredentials),\n ...credentials\n };\n checkFetchLayerDataParameters({type, source, connection, localCreds});\n\n if (!localCreds.mapsUrl) {\n localCreds.mapsUrl = buildMapsUrlFromBase(localCreds.apiBaseUrl);\n }\n\n const metadata = await mapInstantiation({\n type,\n source,\n connection,\n credentials: localCreds,\n geoColumn,\n columns,\n schema\n });\n let url;\n let mapFormat;\n\n if (format) {\n mapFormat = format;\n url = getUrlFromMetadata(metadata, format);\n log.assert(url, `Format ${format} not available`);\n } else {\n // guess map format\n const prioritizedFormats = [FORMATS.GEOJSON, FORMATS.JSON, FORMATS.NDJSON, FORMATS.TILEJSON];\n for (const f of prioritizedFormats) {\n url = getUrlFromMetadata(metadata, f);\n if (url) {\n mapFormat = f;\n break;\n }\n }\n }\n\n const {accessToken} = localCreds;\n return {url, accessToken, mapFormat, metadata};\n}\n\nexport async function getData({type, source, connection, credentials, geoColumn, columns, format}) {\n log.deprecated('getData', 'fetchLayerData')();\n const layerData = await fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema: false\n });\n return layerData.data;\n}\n\n/* global clearInterval, setInterval, URLSearchParams */\nasync function _fetchMapDataset(dataset, accessToken, credentials) {\n // First fetch metadata\n const {connectionName: connection, source, type} = dataset;\n const {url, mapFormat} = await _fetchDataUrl({\n credentials: {...credentials, accessToken},\n connection,\n source,\n type\n });\n\n // Extract the last time the data changed\n const cache = parseInt(new URLSearchParams(url).get('cache'), 10);\n if (cache && dataset.cache === cache) {\n return false;\n }\n dataset.cache = cache;\n\n // Only fetch if the data has changed\n const data = await request({url, format: mapFormat, accessToken});\n dataset.data = data;\n return true;\n}\n\nasync function fillInMapDatasets({datasets, token}, credentials) {\n const promises = datasets.map(dataset => _fetchMapDataset(dataset, token, credentials));\n return await Promise.all(promises);\n}\n\nexport async function fetchMap({cartoMapId, credentials, autoRefresh, onNewData}) {\n const defaultCredentials = getDefaultCredentials();\n const localCreds = {\n ...(defaultCredentials.apiVersion === API_VERSIONS.V3 && defaultCredentials),\n ...credentials\n };\n\n log.assert(cartoMapId, `Must define CARTO map id: fetchMap({cartoMapId: 'XXXX-XXXX-XXXX'})`);\n\n log.assert(localCreds.apiVersion === API_VERSIONS.V3, 'Method only available for v3');\n log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');\n if (!localCreds.mapsUrl) {\n localCreds.mapsUrl = buildMapsUrlFromBase(localCreds.apiBaseUrl);\n }\n\n if (autoRefresh || onNewData) {\n log.assert(onNewData, 'Must define `onNewData` when using autoRefresh');\n log.assert(typeof onNewData === 'function', '`onNewData` must be a function');\n log.assert(autoRefresh > 0, '`autoRefresh` must be a positive number');\n }\n\n const url = `${localCreds.mapsUrl}/public/${cartoMapId}`;\n const map = await request({url});\n\n // Periodically check if the data has changed. Note that this\n // will not update when a map is published.\n let stopAutoRefresh;\n if (autoRefresh) {\n const intervalId = setInterval(async () => {\n const changed = await fillInMapDatasets(map, credentials);\n if (changed.some(v => v === true)) {\n onNewData(parseMap(map));\n }\n }, autoRefresh * 1000);\n stopAutoRefresh = () => {\n clearInterval(intervalId);\n };\n }\n\n // Mutates map.datasets so that dataset.data contains data\n await fillInMapDatasets(map, credentials);\n return {\n ...parseMap(map),\n ...{stopAutoRefresh}\n };\n}\n"],"file":"maps-v3-client.js"}
|