@deck.gl/carto 8.7.0-beta.2 → 8.7.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/dist.dev.js +1425 -306
  2. package/dist/es5/api/index.js +6 -0
  3. package/dist/es5/api/index.js.map +1 -1
  4. package/dist/es5/api/layer-map.js +32 -17
  5. package/dist/es5/api/layer-map.js.map +1 -1
  6. package/dist/es5/api/maps-api-common.js +21 -1
  7. package/dist/es5/api/maps-api-common.js.map +1 -1
  8. package/dist/es5/api/maps-client.js +15 -18
  9. package/dist/es5/api/maps-client.js.map +1 -1
  10. package/dist/es5/api/maps-v3-client.js +241 -181
  11. package/dist/es5/api/maps-v3-client.js.map +1 -1
  12. package/dist/es5/api/parseMap.js +9 -12
  13. package/dist/es5/api/parseMap.js.map +1 -1
  14. package/dist/es5/basemap.js +7 -7
  15. package/dist/es5/basemap.js.map +1 -1
  16. package/dist/es5/config.js.map +1 -1
  17. package/dist/es5/index.js +15 -1
  18. package/dist/es5/index.js.map +1 -1
  19. package/dist/es5/layers/carto-layer.js +27 -16
  20. package/dist/es5/layers/carto-layer.js.map +1 -1
  21. package/dist/es5/layers/{carto-dynamic-tile-layer.js → carto-tile-layer.js} +79 -32
  22. package/dist/es5/layers/carto-tile-layer.js.map +1 -0
  23. package/dist/es5/layers/schema/carto-tile.js +197 -0
  24. package/dist/es5/layers/schema/carto-tile.js.map +1 -0
  25. package/dist/es5/style/color-bins-style.js +1 -1
  26. package/dist/es5/style/color-bins-style.js.map +1 -1
  27. package/dist/es5/style/color-categories-style.js +1 -1
  28. package/dist/es5/style/color-categories-style.js.map +1 -1
  29. package/dist/es5/style/color-continuous-style.js +1 -1
  30. package/dist/es5/style/color-continuous-style.js.map +1 -1
  31. package/dist/es5/style/palette.js +1 -6
  32. package/dist/es5/style/palette.js.map +1 -1
  33. package/dist/es5/style/utils.js +2 -6
  34. package/dist/es5/style/utils.js.map +1 -1
  35. package/dist/es5/utils.js +13 -0
  36. package/dist/es5/utils.js.map +1 -0
  37. package/dist/esm/api/index.js +1 -1
  38. package/dist/esm/api/index.js.map +1 -1
  39. package/dist/esm/api/layer-map.js +28 -12
  40. package/dist/esm/api/layer-map.js.map +1 -1
  41. package/dist/esm/api/maps-api-common.js +19 -0
  42. package/dist/esm/api/maps-api-common.js.map +1 -1
  43. package/dist/esm/api/maps-client.js +6 -10
  44. package/dist/esm/api/maps-client.js.map +1 -1
  45. package/dist/esm/api/maps-v3-client.js +73 -38
  46. package/dist/esm/api/maps-v3-client.js.map +1 -1
  47. package/dist/esm/api/parseMap.js +9 -8
  48. package/dist/esm/api/parseMap.js.map +1 -1
  49. package/dist/esm/basemap.js +7 -7
  50. package/dist/esm/basemap.js.map +1 -1
  51. package/dist/esm/config.js.map +1 -1
  52. package/dist/esm/index.js +3 -2
  53. package/dist/esm/index.js.map +1 -1
  54. package/dist/esm/layers/carto-layer.js +25 -13
  55. package/dist/esm/layers/carto-layer.js.map +1 -1
  56. package/dist/esm/layers/carto-tile-layer.js +141 -0
  57. package/dist/esm/layers/carto-tile-layer.js.map +1 -0
  58. package/dist/esm/layers/schema/carto-tile.js +190 -0
  59. package/dist/esm/layers/schema/carto-tile.js.map +1 -0
  60. package/dist/esm/style/color-bins-style.js +1 -1
  61. package/dist/esm/style/color-bins-style.js.map +1 -1
  62. package/dist/esm/style/color-categories-style.js +1 -1
  63. package/dist/esm/style/color-categories-style.js.map +1 -1
  64. package/dist/esm/style/color-continuous-style.js +1 -1
  65. package/dist/esm/style/color-continuous-style.js.map +1 -1
  66. package/dist/esm/style/palette.js +1 -6
  67. package/dist/esm/style/palette.js.map +1 -1
  68. package/dist/esm/style/utils.js +2 -6
  69. package/dist/esm/style/utils.js.map +1 -1
  70. package/dist/esm/utils.js +5 -0
  71. package/dist/esm/utils.js.map +1 -0
  72. package/dist.min.js +14 -14
  73. package/package.json +10 -3
  74. package/src/api/{index.js → index.ts} +1 -1
  75. package/src/api/{layer-map.js → layer-map.ts} +50 -23
  76. package/src/api/maps-api-common.ts +76 -0
  77. package/src/api/{maps-client.js → maps-client.ts} +55 -20
  78. package/src/api/{maps-v3-client.js → maps-v3-client.ts} +145 -57
  79. package/src/api/{parseMap.js → parseMap.ts} +8 -7
  80. package/src/basemap.ts +10 -0
  81. package/src/{config.js → config.ts} +22 -6
  82. package/src/{index.js → index.ts} +3 -1
  83. package/src/layers/carto-layer.js +30 -19
  84. package/src/layers/carto-tile-layer.js +121 -0
  85. package/src/layers/schema/carto-tile.js +195 -0
  86. package/src/style/color-bins-style.ts +26 -0
  87. package/src/style/{color-categories-style.js → color-categories-style.ts} +10 -4
  88. package/src/style/color-continuous-style.ts +25 -0
  89. package/src/style/{palette.js → palette.ts} +18 -15
  90. package/src/style/{utils.js → utils.ts} +7 -10
  91. package/src/utils.ts +5 -0
  92. package/dist/es5/layers/carto-dynamic-tile-layer.js.map +0 -1
  93. package/dist/esm/layers/carto-dynamic-tile-layer.js +0 -97
  94. package/dist/esm/layers/carto-dynamic-tile-layer.js.map +0 -1
  95. package/src/api/maps-api-common.js +0 -34
  96. package/src/basemap.js +0 -10
  97. package/src/layers/carto-dynamic-tile-layer.js +0 -86
  98. package/src/style/color-bins-style.js +0 -21
  99. package/src/style/color-continuous-style.js +0 -20
package/dist/dist.dev.js CHANGED
@@ -27662,6 +27662,101 @@ var forEach = function () {
27662
27662
  };
27663
27663
  }();
27664
27664
 
27665
+ /***/ }),
27666
+
27667
+ /***/ "../../node_modules/ieee754/index.js":
27668
+ /*!****************************************************************!*\
27669
+ !*** /Users/alasarr/dev/deck.gl/node_modules/ieee754/index.js ***!
27670
+ \****************************************************************/
27671
+ /*! no static exports found */
27672
+ /***/ (function(module, exports) {
27673
+
27674
+ exports.read = function (buffer, offset, isLE, mLen, nBytes) {
27675
+ var e, m
27676
+ var eLen = (nBytes * 8) - mLen - 1
27677
+ var eMax = (1 << eLen) - 1
27678
+ var eBias = eMax >> 1
27679
+ var nBits = -7
27680
+ var i = isLE ? (nBytes - 1) : 0
27681
+ var d = isLE ? -1 : 1
27682
+ var s = buffer[offset + i]
27683
+
27684
+ i += d
27685
+
27686
+ e = s & ((1 << (-nBits)) - 1)
27687
+ s >>= (-nBits)
27688
+ nBits += eLen
27689
+ for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}
27690
+
27691
+ m = e & ((1 << (-nBits)) - 1)
27692
+ e >>= (-nBits)
27693
+ nBits += mLen
27694
+ for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}
27695
+
27696
+ if (e === 0) {
27697
+ e = 1 - eBias
27698
+ } else if (e === eMax) {
27699
+ return m ? NaN : ((s ? -1 : 1) * Infinity)
27700
+ } else {
27701
+ m = m + Math.pow(2, mLen)
27702
+ e = e - eBias
27703
+ }
27704
+ return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
27705
+ }
27706
+
27707
+ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
27708
+ var e, m, c
27709
+ var eLen = (nBytes * 8) - mLen - 1
27710
+ var eMax = (1 << eLen) - 1
27711
+ var eBias = eMax >> 1
27712
+ var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
27713
+ var i = isLE ? 0 : (nBytes - 1)
27714
+ var d = isLE ? 1 : -1
27715
+ var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
27716
+
27717
+ value = Math.abs(value)
27718
+
27719
+ if (isNaN(value) || value === Infinity) {
27720
+ m = isNaN(value) ? 1 : 0
27721
+ e = eMax
27722
+ } else {
27723
+ e = Math.floor(Math.log(value) / Math.LN2)
27724
+ if (value * (c = Math.pow(2, -e)) < 1) {
27725
+ e--
27726
+ c *= 2
27727
+ }
27728
+ if (e + eBias >= 1) {
27729
+ value += rt / c
27730
+ } else {
27731
+ value += rt * Math.pow(2, 1 - eBias)
27732
+ }
27733
+ if (value * c >= 2) {
27734
+ e++
27735
+ c /= 2
27736
+ }
27737
+
27738
+ if (e + eBias >= eMax) {
27739
+ m = 0
27740
+ e = eMax
27741
+ } else if (e + eBias >= 1) {
27742
+ m = ((value * c) - 1) * Math.pow(2, mLen)
27743
+ e = e + eBias
27744
+ } else {
27745
+ m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
27746
+ e = 0
27747
+ }
27748
+ }
27749
+
27750
+ for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
27751
+
27752
+ e = (e << mLen) | m
27753
+ eLen += mLen
27754
+ for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
27755
+
27756
+ buffer[offset + i - d] |= s * 128
27757
+ }
27758
+
27759
+
27665
27760
  /***/ }),
27666
27761
 
27667
27762
  /***/ "../../node_modules/internmap/src/index.js":
@@ -50078,6 +50173,660 @@ webpackContext.id = "../../node_modules/moment/locale sync recursive ^\\.\\/.*$"
50078
50173
 
50079
50174
  /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/module.js */ "../../node_modules/webpack/buildin/module.js")(module)))
50080
50175
 
50176
+ /***/ }),
50177
+
50178
+ /***/ "../../node_modules/pbf/index.js":
50179
+ /*!************************************************************!*\
50180
+ !*** /Users/alasarr/dev/deck.gl/node_modules/pbf/index.js ***!
50181
+ \************************************************************/
50182
+ /*! no static exports found */
50183
+ /***/ (function(module, exports, __webpack_require__) {
50184
+
50185
+ "use strict";
50186
+
50187
+
50188
+ module.exports = Pbf;
50189
+
50190
+ var ieee754 = __webpack_require__(/*! ieee754 */ "../../node_modules/ieee754/index.js");
50191
+
50192
+ function Pbf(buf) {
50193
+ this.buf = ArrayBuffer.isView && ArrayBuffer.isView(buf) ? buf : new Uint8Array(buf || 0);
50194
+ this.pos = 0;
50195
+ this.type = 0;
50196
+ this.length = this.buf.length;
50197
+ }
50198
+
50199
+ Pbf.Varint = 0; // varint: int32, int64, uint32, uint64, sint32, sint64, bool, enum
50200
+ Pbf.Fixed64 = 1; // 64-bit: double, fixed64, sfixed64
50201
+ Pbf.Bytes = 2; // length-delimited: string, bytes, embedded messages, packed repeated fields
50202
+ Pbf.Fixed32 = 5; // 32-bit: float, fixed32, sfixed32
50203
+
50204
+ var SHIFT_LEFT_32 = (1 << 16) * (1 << 16),
50205
+ SHIFT_RIGHT_32 = 1 / SHIFT_LEFT_32;
50206
+
50207
+ // Threshold chosen based on both benchmarking and knowledge about browser string
50208
+ // data structures (which currently switch structure types at 12 bytes or more)
50209
+ var TEXT_DECODER_MIN_LENGTH = 12;
50210
+ var utf8TextDecoder = typeof TextDecoder === 'undefined' ? null : new TextDecoder('utf8');
50211
+
50212
+ Pbf.prototype = {
50213
+
50214
+ destroy: function() {
50215
+ this.buf = null;
50216
+ },
50217
+
50218
+ // === READING =================================================================
50219
+
50220
+ readFields: function(readField, result, end) {
50221
+ end = end || this.length;
50222
+
50223
+ while (this.pos < end) {
50224
+ var val = this.readVarint(),
50225
+ tag = val >> 3,
50226
+ startPos = this.pos;
50227
+
50228
+ this.type = val & 0x7;
50229
+ readField(tag, result, this);
50230
+
50231
+ if (this.pos === startPos) this.skip(val);
50232
+ }
50233
+ return result;
50234
+ },
50235
+
50236
+ readMessage: function(readField, result) {
50237
+ return this.readFields(readField, result, this.readVarint() + this.pos);
50238
+ },
50239
+
50240
+ readFixed32: function() {
50241
+ var val = readUInt32(this.buf, this.pos);
50242
+ this.pos += 4;
50243
+ return val;
50244
+ },
50245
+
50246
+ readSFixed32: function() {
50247
+ var val = readInt32(this.buf, this.pos);
50248
+ this.pos += 4;
50249
+ return val;
50250
+ },
50251
+
50252
+ // 64-bit int handling is based on github.com/dpw/node-buffer-more-ints (MIT-licensed)
50253
+
50254
+ readFixed64: function() {
50255
+ var val = readUInt32(this.buf, this.pos) + readUInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32;
50256
+ this.pos += 8;
50257
+ return val;
50258
+ },
50259
+
50260
+ readSFixed64: function() {
50261
+ var val = readUInt32(this.buf, this.pos) + readInt32(this.buf, this.pos + 4) * SHIFT_LEFT_32;
50262
+ this.pos += 8;
50263
+ return val;
50264
+ },
50265
+
50266
+ readFloat: function() {
50267
+ var val = ieee754.read(this.buf, this.pos, true, 23, 4);
50268
+ this.pos += 4;
50269
+ return val;
50270
+ },
50271
+
50272
+ readDouble: function() {
50273
+ var val = ieee754.read(this.buf, this.pos, true, 52, 8);
50274
+ this.pos += 8;
50275
+ return val;
50276
+ },
50277
+
50278
+ readVarint: function(isSigned) {
50279
+ var buf = this.buf,
50280
+ val, b;
50281
+
50282
+ b = buf[this.pos++]; val = b & 0x7f; if (b < 0x80) return val;
50283
+ b = buf[this.pos++]; val |= (b & 0x7f) << 7; if (b < 0x80) return val;
50284
+ b = buf[this.pos++]; val |= (b & 0x7f) << 14; if (b < 0x80) return val;
50285
+ b = buf[this.pos++]; val |= (b & 0x7f) << 21; if (b < 0x80) return val;
50286
+ b = buf[this.pos]; val |= (b & 0x0f) << 28;
50287
+
50288
+ return readVarintRemainder(val, isSigned, this);
50289
+ },
50290
+
50291
+ readVarint64: function() { // for compatibility with v2.0.1
50292
+ return this.readVarint(true);
50293
+ },
50294
+
50295
+ readSVarint: function() {
50296
+ var num = this.readVarint();
50297
+ return num % 2 === 1 ? (num + 1) / -2 : num / 2; // zigzag encoding
50298
+ },
50299
+
50300
+ readBoolean: function() {
50301
+ return Boolean(this.readVarint());
50302
+ },
50303
+
50304
+ readString: function() {
50305
+ var end = this.readVarint() + this.pos;
50306
+ var pos = this.pos;
50307
+ this.pos = end;
50308
+
50309
+ if (end - pos >= TEXT_DECODER_MIN_LENGTH && utf8TextDecoder) {
50310
+ // longer strings are fast with the built-in browser TextDecoder API
50311
+ return readUtf8TextDecoder(this.buf, pos, end);
50312
+ }
50313
+ // short strings are fast with our custom implementation
50314
+ return readUtf8(this.buf, pos, end);
50315
+ },
50316
+
50317
+ readBytes: function() {
50318
+ var end = this.readVarint() + this.pos,
50319
+ buffer = this.buf.subarray(this.pos, end);
50320
+ this.pos = end;
50321
+ return buffer;
50322
+ },
50323
+
50324
+ // verbose for performance reasons; doesn't affect gzipped size
50325
+
50326
+ readPackedVarint: function(arr, isSigned) {
50327
+ if (this.type !== Pbf.Bytes) return arr.push(this.readVarint(isSigned));
50328
+ var end = readPackedEnd(this);
50329
+ arr = arr || [];
50330
+ while (this.pos < end) arr.push(this.readVarint(isSigned));
50331
+ return arr;
50332
+ },
50333
+ readPackedSVarint: function(arr) {
50334
+ if (this.type !== Pbf.Bytes) return arr.push(this.readSVarint());
50335
+ var end = readPackedEnd(this);
50336
+ arr = arr || [];
50337
+ while (this.pos < end) arr.push(this.readSVarint());
50338
+ return arr;
50339
+ },
50340
+ readPackedBoolean: function(arr) {
50341
+ if (this.type !== Pbf.Bytes) return arr.push(this.readBoolean());
50342
+ var end = readPackedEnd(this);
50343
+ arr = arr || [];
50344
+ while (this.pos < end) arr.push(this.readBoolean());
50345
+ return arr;
50346
+ },
50347
+ readPackedFloat: function(arr) {
50348
+ if (this.type !== Pbf.Bytes) return arr.push(this.readFloat());
50349
+ var end = readPackedEnd(this);
50350
+ arr = arr || [];
50351
+ while (this.pos < end) arr.push(this.readFloat());
50352
+ return arr;
50353
+ },
50354
+ readPackedDouble: function(arr) {
50355
+ if (this.type !== Pbf.Bytes) return arr.push(this.readDouble());
50356
+ var end = readPackedEnd(this);
50357
+ arr = arr || [];
50358
+ while (this.pos < end) arr.push(this.readDouble());
50359
+ return arr;
50360
+ },
50361
+ readPackedFixed32: function(arr) {
50362
+ if (this.type !== Pbf.Bytes) return arr.push(this.readFixed32());
50363
+ var end = readPackedEnd(this);
50364
+ arr = arr || [];
50365
+ while (this.pos < end) arr.push(this.readFixed32());
50366
+ return arr;
50367
+ },
50368
+ readPackedSFixed32: function(arr) {
50369
+ if (this.type !== Pbf.Bytes) return arr.push(this.readSFixed32());
50370
+ var end = readPackedEnd(this);
50371
+ arr = arr || [];
50372
+ while (this.pos < end) arr.push(this.readSFixed32());
50373
+ return arr;
50374
+ },
50375
+ readPackedFixed64: function(arr) {
50376
+ if (this.type !== Pbf.Bytes) return arr.push(this.readFixed64());
50377
+ var end = readPackedEnd(this);
50378
+ arr = arr || [];
50379
+ while (this.pos < end) arr.push(this.readFixed64());
50380
+ return arr;
50381
+ },
50382
+ readPackedSFixed64: function(arr) {
50383
+ if (this.type !== Pbf.Bytes) return arr.push(this.readSFixed64());
50384
+ var end = readPackedEnd(this);
50385
+ arr = arr || [];
50386
+ while (this.pos < end) arr.push(this.readSFixed64());
50387
+ return arr;
50388
+ },
50389
+
50390
+ skip: function(val) {
50391
+ var type = val & 0x7;
50392
+ if (type === Pbf.Varint) while (this.buf[this.pos++] > 0x7f) {}
50393
+ else if (type === Pbf.Bytes) this.pos = this.readVarint() + this.pos;
50394
+ else if (type === Pbf.Fixed32) this.pos += 4;
50395
+ else if (type === Pbf.Fixed64) this.pos += 8;
50396
+ else throw new Error('Unimplemented type: ' + type);
50397
+ },
50398
+
50399
+ // === WRITING =================================================================
50400
+
50401
+ writeTag: function(tag, type) {
50402
+ this.writeVarint((tag << 3) | type);
50403
+ },
50404
+
50405
+ realloc: function(min) {
50406
+ var length = this.length || 16;
50407
+
50408
+ while (length < this.pos + min) length *= 2;
50409
+
50410
+ if (length !== this.length) {
50411
+ var buf = new Uint8Array(length);
50412
+ buf.set(this.buf);
50413
+ this.buf = buf;
50414
+ this.length = length;
50415
+ }
50416
+ },
50417
+
50418
+ finish: function() {
50419
+ this.length = this.pos;
50420
+ this.pos = 0;
50421
+ return this.buf.subarray(0, this.length);
50422
+ },
50423
+
50424
+ writeFixed32: function(val) {
50425
+ this.realloc(4);
50426
+ writeInt32(this.buf, val, this.pos);
50427
+ this.pos += 4;
50428
+ },
50429
+
50430
+ writeSFixed32: function(val) {
50431
+ this.realloc(4);
50432
+ writeInt32(this.buf, val, this.pos);
50433
+ this.pos += 4;
50434
+ },
50435
+
50436
+ writeFixed64: function(val) {
50437
+ this.realloc(8);
50438
+ writeInt32(this.buf, val & -1, this.pos);
50439
+ writeInt32(this.buf, Math.floor(val * SHIFT_RIGHT_32), this.pos + 4);
50440
+ this.pos += 8;
50441
+ },
50442
+
50443
+ writeSFixed64: function(val) {
50444
+ this.realloc(8);
50445
+ writeInt32(this.buf, val & -1, this.pos);
50446
+ writeInt32(this.buf, Math.floor(val * SHIFT_RIGHT_32), this.pos + 4);
50447
+ this.pos += 8;
50448
+ },
50449
+
50450
+ writeVarint: function(val) {
50451
+ val = +val || 0;
50452
+
50453
+ if (val > 0xfffffff || val < 0) {
50454
+ writeBigVarint(val, this);
50455
+ return;
50456
+ }
50457
+
50458
+ this.realloc(4);
50459
+
50460
+ this.buf[this.pos++] = val & 0x7f | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return;
50461
+ this.buf[this.pos++] = ((val >>>= 7) & 0x7f) | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return;
50462
+ this.buf[this.pos++] = ((val >>>= 7) & 0x7f) | (val > 0x7f ? 0x80 : 0); if (val <= 0x7f) return;
50463
+ this.buf[this.pos++] = (val >>> 7) & 0x7f;
50464
+ },
50465
+
50466
+ writeSVarint: function(val) {
50467
+ this.writeVarint(val < 0 ? -val * 2 - 1 : val * 2);
50468
+ },
50469
+
50470
+ writeBoolean: function(val) {
50471
+ this.writeVarint(Boolean(val));
50472
+ },
50473
+
50474
+ writeString: function(str) {
50475
+ str = String(str);
50476
+ this.realloc(str.length * 4);
50477
+
50478
+ this.pos++; // reserve 1 byte for short string length
50479
+
50480
+ var startPos = this.pos;
50481
+ // write the string directly to the buffer and see how much was written
50482
+ this.pos = writeUtf8(this.buf, str, this.pos);
50483
+ var len = this.pos - startPos;
50484
+
50485
+ if (len >= 0x80) makeRoomForExtraLength(startPos, len, this);
50486
+
50487
+ // finally, write the message length in the reserved place and restore the position
50488
+ this.pos = startPos - 1;
50489
+ this.writeVarint(len);
50490
+ this.pos += len;
50491
+ },
50492
+
50493
+ writeFloat: function(val) {
50494
+ this.realloc(4);
50495
+ ieee754.write(this.buf, val, this.pos, true, 23, 4);
50496
+ this.pos += 4;
50497
+ },
50498
+
50499
+ writeDouble: function(val) {
50500
+ this.realloc(8);
50501
+ ieee754.write(this.buf, val, this.pos, true, 52, 8);
50502
+ this.pos += 8;
50503
+ },
50504
+
50505
+ writeBytes: function(buffer) {
50506
+ var len = buffer.length;
50507
+ this.writeVarint(len);
50508
+ this.realloc(len);
50509
+ for (var i = 0; i < len; i++) this.buf[this.pos++] = buffer[i];
50510
+ },
50511
+
50512
+ writeRawMessage: function(fn, obj) {
50513
+ this.pos++; // reserve 1 byte for short message length
50514
+
50515
+ // write the message directly to the buffer and see how much was written
50516
+ var startPos = this.pos;
50517
+ fn(obj, this);
50518
+ var len = this.pos - startPos;
50519
+
50520
+ if (len >= 0x80) makeRoomForExtraLength(startPos, len, this);
50521
+
50522
+ // finally, write the message length in the reserved place and restore the position
50523
+ this.pos = startPos - 1;
50524
+ this.writeVarint(len);
50525
+ this.pos += len;
50526
+ },
50527
+
50528
+ writeMessage: function(tag, fn, obj) {
50529
+ this.writeTag(tag, Pbf.Bytes);
50530
+ this.writeRawMessage(fn, obj);
50531
+ },
50532
+
50533
+ writePackedVarint: function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedVarint, arr); },
50534
+ writePackedSVarint: function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedSVarint, arr); },
50535
+ writePackedBoolean: function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedBoolean, arr); },
50536
+ writePackedFloat: function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedFloat, arr); },
50537
+ writePackedDouble: function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedDouble, arr); },
50538
+ writePackedFixed32: function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedFixed32, arr); },
50539
+ writePackedSFixed32: function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedSFixed32, arr); },
50540
+ writePackedFixed64: function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedFixed64, arr); },
50541
+ writePackedSFixed64: function(tag, arr) { if (arr.length) this.writeMessage(tag, writePackedSFixed64, arr); },
50542
+
50543
+ writeBytesField: function(tag, buffer) {
50544
+ this.writeTag(tag, Pbf.Bytes);
50545
+ this.writeBytes(buffer);
50546
+ },
50547
+ writeFixed32Field: function(tag, val) {
50548
+ this.writeTag(tag, Pbf.Fixed32);
50549
+ this.writeFixed32(val);
50550
+ },
50551
+ writeSFixed32Field: function(tag, val) {
50552
+ this.writeTag(tag, Pbf.Fixed32);
50553
+ this.writeSFixed32(val);
50554
+ },
50555
+ writeFixed64Field: function(tag, val) {
50556
+ this.writeTag(tag, Pbf.Fixed64);
50557
+ this.writeFixed64(val);
50558
+ },
50559
+ writeSFixed64Field: function(tag, val) {
50560
+ this.writeTag(tag, Pbf.Fixed64);
50561
+ this.writeSFixed64(val);
50562
+ },
50563
+ writeVarintField: function(tag, val) {
50564
+ this.writeTag(tag, Pbf.Varint);
50565
+ this.writeVarint(val);
50566
+ },
50567
+ writeSVarintField: function(tag, val) {
50568
+ this.writeTag(tag, Pbf.Varint);
50569
+ this.writeSVarint(val);
50570
+ },
50571
+ writeStringField: function(tag, str) {
50572
+ this.writeTag(tag, Pbf.Bytes);
50573
+ this.writeString(str);
50574
+ },
50575
+ writeFloatField: function(tag, val) {
50576
+ this.writeTag(tag, Pbf.Fixed32);
50577
+ this.writeFloat(val);
50578
+ },
50579
+ writeDoubleField: function(tag, val) {
50580
+ this.writeTag(tag, Pbf.Fixed64);
50581
+ this.writeDouble(val);
50582
+ },
50583
+ writeBooleanField: function(tag, val) {
50584
+ this.writeVarintField(tag, Boolean(val));
50585
+ }
50586
+ };
50587
+
50588
+ function readVarintRemainder(l, s, p) {
50589
+ var buf = p.buf,
50590
+ h, b;
50591
+
50592
+ b = buf[p.pos++]; h = (b & 0x70) >> 4; if (b < 0x80) return toNum(l, h, s);
50593
+ b = buf[p.pos++]; h |= (b & 0x7f) << 3; if (b < 0x80) return toNum(l, h, s);
50594
+ b = buf[p.pos++]; h |= (b & 0x7f) << 10; if (b < 0x80) return toNum(l, h, s);
50595
+ b = buf[p.pos++]; h |= (b & 0x7f) << 17; if (b < 0x80) return toNum(l, h, s);
50596
+ b = buf[p.pos++]; h |= (b & 0x7f) << 24; if (b < 0x80) return toNum(l, h, s);
50597
+ b = buf[p.pos++]; h |= (b & 0x01) << 31; if (b < 0x80) return toNum(l, h, s);
50598
+
50599
+ throw new Error('Expected varint not more than 10 bytes');
50600
+ }
50601
+
50602
+ function readPackedEnd(pbf) {
50603
+ return pbf.type === Pbf.Bytes ?
50604
+ pbf.readVarint() + pbf.pos : pbf.pos + 1;
50605
+ }
50606
+
50607
+ function toNum(low, high, isSigned) {
50608
+ if (isSigned) {
50609
+ return high * 0x100000000 + (low >>> 0);
50610
+ }
50611
+
50612
+ return ((high >>> 0) * 0x100000000) + (low >>> 0);
50613
+ }
50614
+
50615
+ function writeBigVarint(val, pbf) {
50616
+ var low, high;
50617
+
50618
+ if (val >= 0) {
50619
+ low = (val % 0x100000000) | 0;
50620
+ high = (val / 0x100000000) | 0;
50621
+ } else {
50622
+ low = ~(-val % 0x100000000);
50623
+ high = ~(-val / 0x100000000);
50624
+
50625
+ if (low ^ 0xffffffff) {
50626
+ low = (low + 1) | 0;
50627
+ } else {
50628
+ low = 0;
50629
+ high = (high + 1) | 0;
50630
+ }
50631
+ }
50632
+
50633
+ if (val >= 0x10000000000000000 || val < -0x10000000000000000) {
50634
+ throw new Error('Given varint doesn\'t fit into 10 bytes');
50635
+ }
50636
+
50637
+ pbf.realloc(10);
50638
+
50639
+ writeBigVarintLow(low, high, pbf);
50640
+ writeBigVarintHigh(high, pbf);
50641
+ }
50642
+
50643
+ function writeBigVarintLow(low, high, pbf) {
50644
+ pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;
50645
+ pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;
50646
+ pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;
50647
+ pbf.buf[pbf.pos++] = low & 0x7f | 0x80; low >>>= 7;
50648
+ pbf.buf[pbf.pos] = low & 0x7f;
50649
+ }
50650
+
50651
+ function writeBigVarintHigh(high, pbf) {
50652
+ var lsb = (high & 0x07) << 4;
50653
+
50654
+ pbf.buf[pbf.pos++] |= lsb | ((high >>>= 3) ? 0x80 : 0); if (!high) return;
50655
+ pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;
50656
+ pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;
50657
+ pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;
50658
+ pbf.buf[pbf.pos++] = high & 0x7f | ((high >>>= 7) ? 0x80 : 0); if (!high) return;
50659
+ pbf.buf[pbf.pos++] = high & 0x7f;
50660
+ }
50661
+
50662
+ function makeRoomForExtraLength(startPos, len, pbf) {
50663
+ var extraLen =
50664
+ len <= 0x3fff ? 1 :
50665
+ len <= 0x1fffff ? 2 :
50666
+ len <= 0xfffffff ? 3 : Math.floor(Math.log(len) / (Math.LN2 * 7));
50667
+
50668
+ // if 1 byte isn't enough for encoding message length, shift the data to the right
50669
+ pbf.realloc(extraLen);
50670
+ for (var i = pbf.pos - 1; i >= startPos; i--) pbf.buf[i + extraLen] = pbf.buf[i];
50671
+ }
50672
+
50673
+ function writePackedVarint(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeVarint(arr[i]); }
50674
+ function writePackedSVarint(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeSVarint(arr[i]); }
50675
+ function writePackedFloat(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeFloat(arr[i]); }
50676
+ function writePackedDouble(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeDouble(arr[i]); }
50677
+ function writePackedBoolean(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeBoolean(arr[i]); }
50678
+ function writePackedFixed32(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeFixed32(arr[i]); }
50679
+ function writePackedSFixed32(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeSFixed32(arr[i]); }
50680
+ function writePackedFixed64(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeFixed64(arr[i]); }
50681
+ function writePackedSFixed64(arr, pbf) { for (var i = 0; i < arr.length; i++) pbf.writeSFixed64(arr[i]); }
50682
+
50683
+ // Buffer code below from https://github.com/feross/buffer, MIT-licensed
50684
+
50685
+ function readUInt32(buf, pos) {
50686
+ return ((buf[pos]) |
50687
+ (buf[pos + 1] << 8) |
50688
+ (buf[pos + 2] << 16)) +
50689
+ (buf[pos + 3] * 0x1000000);
50690
+ }
50691
+
50692
+ function writeInt32(buf, val, pos) {
50693
+ buf[pos] = val;
50694
+ buf[pos + 1] = (val >>> 8);
50695
+ buf[pos + 2] = (val >>> 16);
50696
+ buf[pos + 3] = (val >>> 24);
50697
+ }
50698
+
50699
+ function readInt32(buf, pos) {
50700
+ return ((buf[pos]) |
50701
+ (buf[pos + 1] << 8) |
50702
+ (buf[pos + 2] << 16)) +
50703
+ (buf[pos + 3] << 24);
50704
+ }
50705
+
50706
+ function readUtf8(buf, pos, end) {
50707
+ var str = '';
50708
+ var i = pos;
50709
+
50710
+ while (i < end) {
50711
+ var b0 = buf[i];
50712
+ var c = null; // codepoint
50713
+ var bytesPerSequence =
50714
+ b0 > 0xEF ? 4 :
50715
+ b0 > 0xDF ? 3 :
50716
+ b0 > 0xBF ? 2 : 1;
50717
+
50718
+ if (i + bytesPerSequence > end) break;
50719
+
50720
+ var b1, b2, b3;
50721
+
50722
+ if (bytesPerSequence === 1) {
50723
+ if (b0 < 0x80) {
50724
+ c = b0;
50725
+ }
50726
+ } else if (bytesPerSequence === 2) {
50727
+ b1 = buf[i + 1];
50728
+ if ((b1 & 0xC0) === 0x80) {
50729
+ c = (b0 & 0x1F) << 0x6 | (b1 & 0x3F);
50730
+ if (c <= 0x7F) {
50731
+ c = null;
50732
+ }
50733
+ }
50734
+ } else if (bytesPerSequence === 3) {
50735
+ b1 = buf[i + 1];
50736
+ b2 = buf[i + 2];
50737
+ if ((b1 & 0xC0) === 0x80 && (b2 & 0xC0) === 0x80) {
50738
+ c = (b0 & 0xF) << 0xC | (b1 & 0x3F) << 0x6 | (b2 & 0x3F);
50739
+ if (c <= 0x7FF || (c >= 0xD800 && c <= 0xDFFF)) {
50740
+ c = null;
50741
+ }
50742
+ }
50743
+ } else if (bytesPerSequence === 4) {
50744
+ b1 = buf[i + 1];
50745
+ b2 = buf[i + 2];
50746
+ b3 = buf[i + 3];
50747
+ if ((b1 & 0xC0) === 0x80 && (b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) {
50748
+ c = (b0 & 0xF) << 0x12 | (b1 & 0x3F) << 0xC | (b2 & 0x3F) << 0x6 | (b3 & 0x3F);
50749
+ if (c <= 0xFFFF || c >= 0x110000) {
50750
+ c = null;
50751
+ }
50752
+ }
50753
+ }
50754
+
50755
+ if (c === null) {
50756
+ c = 0xFFFD;
50757
+ bytesPerSequence = 1;
50758
+
50759
+ } else if (c > 0xFFFF) {
50760
+ c -= 0x10000;
50761
+ str += String.fromCharCode(c >>> 10 & 0x3FF | 0xD800);
50762
+ c = 0xDC00 | c & 0x3FF;
50763
+ }
50764
+
50765
+ str += String.fromCharCode(c);
50766
+ i += bytesPerSequence;
50767
+ }
50768
+
50769
+ return str;
50770
+ }
50771
+
50772
+ function readUtf8TextDecoder(buf, pos, end) {
50773
+ return utf8TextDecoder.decode(buf.subarray(pos, end));
50774
+ }
50775
+
50776
+ function writeUtf8(buf, str, pos) {
50777
+ for (var i = 0, c, lead; i < str.length; i++) {
50778
+ c = str.charCodeAt(i); // code point
50779
+
50780
+ if (c > 0xD7FF && c < 0xE000) {
50781
+ if (lead) {
50782
+ if (c < 0xDC00) {
50783
+ buf[pos++] = 0xEF;
50784
+ buf[pos++] = 0xBF;
50785
+ buf[pos++] = 0xBD;
50786
+ lead = c;
50787
+ continue;
50788
+ } else {
50789
+ c = lead - 0xD800 << 10 | c - 0xDC00 | 0x10000;
50790
+ lead = null;
50791
+ }
50792
+ } else {
50793
+ if (c > 0xDBFF || (i + 1 === str.length)) {
50794
+ buf[pos++] = 0xEF;
50795
+ buf[pos++] = 0xBF;
50796
+ buf[pos++] = 0xBD;
50797
+ } else {
50798
+ lead = c;
50799
+ }
50800
+ continue;
50801
+ }
50802
+ } else if (lead) {
50803
+ buf[pos++] = 0xEF;
50804
+ buf[pos++] = 0xBF;
50805
+ buf[pos++] = 0xBD;
50806
+ lead = null;
50807
+ }
50808
+
50809
+ if (c < 0x80) {
50810
+ buf[pos++] = c;
50811
+ } else {
50812
+ if (c < 0x800) {
50813
+ buf[pos++] = c >> 0x6 | 0xC0;
50814
+ } else {
50815
+ if (c < 0x10000) {
50816
+ buf[pos++] = c >> 0xC | 0xE0;
50817
+ } else {
50818
+ buf[pos++] = c >> 0x12 | 0xF0;
50819
+ buf[pos++] = c >> 0xC & 0x3F | 0x80;
50820
+ }
50821
+ buf[pos++] = c >> 0x6 & 0x3F | 0x80;
50822
+ }
50823
+ buf[pos++] = c & 0x3F | 0x80;
50824
+ }
50825
+ }
50826
+ return pos;
50827
+ }
50828
+
50829
+
50081
50830
  /***/ }),
50082
50831
 
50083
50832
  /***/ "../../node_modules/webpack/buildin/module.js":
@@ -52121,7 +52870,7 @@ attribute float instanceOffsets;
52121
52870
  /*! no static exports found */
52122
52871
  /***/ (function(module, exports, __webpack_require__) {
52123
52872
 
52124
- const CartoUtils = __webpack_require__(/*! ./src */ "./src/index.js");
52873
+ const CartoUtils = __webpack_require__(/*! ./src */ "./src/index.ts");
52125
52874
 
52126
52875
  const deck = globalThis.deck || {}; // Check if peer dependencies are included
52127
52876
 
@@ -52135,28 +52884,30 @@ module.exports = Object.assign(deck, {
52135
52884
 
52136
52885
  /***/ }),
52137
52886
 
52138
- /***/ "./src/api/index.js":
52887
+ /***/ "./src/api/index.ts":
52139
52888
  /*!**************************!*\
52140
- !*** ./src/api/index.js ***!
52889
+ !*** ./src/api/index.ts ***!
52141
52890
  \**************************/
52142
- /*! exports provided: FORMATS, MAP_TYPES, API_VERSIONS, getDataV2, CONNECTIONS, fetchLayerData, fetchMap, getData, mapInstantiation */
52891
+ /*! exports provided: FORMATS, TILE_FORMATS, MAP_TYPES, API_VERSIONS, getDataV2, CONNECTIONS, fetchLayerData, fetchMap, getData, mapInstantiation */
52143
52892
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
52144
52893
 
52145
52894
  "use strict";
52146
52895
  __webpack_require__.r(__webpack_exports__);
52147
- /* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.js");
52896
+ /* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.ts");
52148
52897
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FORMATS", function() { return _maps_api_common__WEBPACK_IMPORTED_MODULE_0__["FORMATS"]; });
52149
52898
 
52899
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TILE_FORMATS", function() { return _maps_api_common__WEBPACK_IMPORTED_MODULE_0__["TILE_FORMATS"]; });
52900
+
52150
52901
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MAP_TYPES", function() { return _maps_api_common__WEBPACK_IMPORTED_MODULE_0__["MAP_TYPES"]; });
52151
52902
 
52152
52903
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "API_VERSIONS", function() { return _maps_api_common__WEBPACK_IMPORTED_MODULE_0__["API_VERSIONS"]; });
52153
52904
 
52154
- /* harmony import */ var _maps_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./maps-client */ "./src/api/maps-client.js");
52905
+ /* harmony import */ var _maps_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./maps-client */ "./src/api/maps-client.ts");
52155
52906
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getDataV2", function() { return _maps_client__WEBPACK_IMPORTED_MODULE_1__["getDataV2"]; });
52156
52907
 
52157
52908
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CONNECTIONS", function() { return _maps_client__WEBPACK_IMPORTED_MODULE_1__["CONNECTIONS"]; });
52158
52909
 
52159
- /* harmony import */ var _maps_v3_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./maps-v3-client */ "./src/api/maps-v3-client.js");
52910
+ /* harmony import */ var _maps_v3_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./maps-v3-client */ "./src/api/maps-v3-client.ts");
52160
52911
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchLayerData", function() { return _maps_v3_client__WEBPACK_IMPORTED_MODULE_2__["fetchLayerData"]; });
52161
52912
 
52162
52913
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchMap", function() { return _maps_v3_client__WEBPACK_IMPORTED_MODULE_2__["fetchMap"]; });
@@ -52171,9 +52922,9 @@ __webpack_require__.r(__webpack_exports__);
52171
52922
 
52172
52923
  /***/ }),
52173
52924
 
52174
- /***/ "./src/api/layer-map.js":
52925
+ /***/ "./src/api/layer-map.ts":
52175
52926
  /*!******************************!*\
52176
- !*** ./src/api/layer-map.js ***!
52927
+ !*** ./src/api/layer-map.ts ***!
52177
52928
  \******************************/
52178
52929
  /*! exports provided: getLayer, getColorAccessor, getSizeAccessor, getTextAccessor, getTextPixelOffsetAccessor, _domainFromValues */
52179
52930
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -52192,8 +52943,13 @@ __webpack_require__.r(__webpack_exports__);
52192
52943
  /* harmony import */ var d3_format__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! d3-format */ "../../node_modules/d3-format/src/index.js");
52193
52944
  /* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! moment-timezone */ "../../node_modules/moment-timezone/index.js");
52194
52945
  /* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(moment_timezone__WEBPACK_IMPORTED_MODULE_4__);
52195
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
52196
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_5__);
52946
+ /* harmony import */ var _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @deck.gl/geo-layers */ "@deck.gl/core");
52947
+ /* harmony import */ var _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_5__);
52948
+ /* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../layers/carto-tile-layer */ "./src/layers/carto-tile-layer.js");
52949
+ /* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.ts");
52950
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils */ "./src/utils.ts");
52951
+
52952
+
52197
52953
 
52198
52954
 
52199
52955
 
@@ -52210,8 +52966,8 @@ const SCALE_FUNCS = {
52210
52966
  quantile: d3_scale__WEBPACK_IMPORTED_MODULE_2__["scaleQuantile"],
52211
52967
  quantize: d3_scale__WEBPACK_IMPORTED_MODULE_2__["scaleQuantize"],
52212
52968
  sqrt: d3_scale__WEBPACK_IMPORTED_MODULE_2__["scaleSqrt"]
52213
- }; // Kepler -> Deck.gl
52214
-
52969
+ };
52970
+ // Kepler -> Deck.gl
52215
52971
  const sharedPropMap = {
52216
52972
  color: 'getFillColor',
52217
52973
  isVisible: 'visible',
@@ -52252,11 +53008,15 @@ function mergePropMaps(a, b) {
52252
53008
  };
52253
53009
  }
52254
53010
 
52255
- function getLayer(type, config) {
53011
+ function getLayer(type, config, dataset) {
53012
+ if (type === 'mvt' || type === 'tileset') {
53013
+ return getTileLayer(dataset);
53014
+ }
53015
+
52256
53016
  const hexagonId = config.columns?.hex_id;
52257
53017
  const layer = {
52258
53018
  point: {
52259
- Layer: _deck_gl_core__WEBPACK_IMPORTED_MODULE_5__["GeoJsonLayer"],
53019
+ Layer: _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_5__["GeoJsonLayer"],
52260
53020
  propMap: mergePropMaps(sharedPropMap, {
52261
53021
  visConfig: {
52262
53022
  outline: 'stroked'
@@ -52265,14 +53025,14 @@ function getLayer(type, config) {
52265
53025
  defaultProps
52266
53026
  },
52267
53027
  geojson: {
52268
- Layer: _deck_gl_core__WEBPACK_IMPORTED_MODULE_5__["GeoJsonLayer"],
53028
+ Layer: _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_5__["GeoJsonLayer"],
52269
53029
  propMap: sharedPropMap,
52270
53030
  defaultProps: { ...defaultProps,
52271
53031
  lineWidthScale: 2
52272
53032
  }
52273
53033
  },
52274
53034
  hexagonId: {
52275
- Layer: _deck_gl_core__WEBPACK_IMPORTED_MODULE_5__["H3HexagonLayer"],
53035
+ Layer: _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_5__["H3HexagonLayer"],
52276
53036
  propMap: mergePropMaps(sharedPropMap, {
52277
53037
  visConfig: {
52278
53038
  coverage: 'coverage',
@@ -52282,25 +53042,37 @@ function getLayer(type, config) {
52282
53042
  defaultProps: { ...defaultProps,
52283
53043
  getHexagon: d => d[hexagonId]
52284
53044
  }
52285
- },
52286
- mvt: {
52287
- Layer: _deck_gl_core__WEBPACK_IMPORTED_MODULE_5__["MVTLayer"],
52288
- propMap: sharedPropMap,
52289
- defaultProps: { ...defaultProps,
52290
- pointRadiusScale: 0.3,
52291
- lineWidthScale: 2,
52292
- uniqueIdProperty: 'geoid'
52293
- }
52294
53045
  }
52295
53046
  }[type];
52296
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_5__["log"].assert(layer, `Unsupported layer type: ${type}`);
53047
+ Object(_utils__WEBPACK_IMPORTED_MODULE_8__["assert"])(layer, `Unsupported layer type: ${type}`);
52297
53048
  return layer;
52298
53049
  }
52299
53050
 
52300
- function domainFromAttribute(attribute, scaleType) {
52301
- if (scaleType === 'ordinal' || scaleType === 'point') {
52302
- return attribute.categories.map(c => c.category).filter(c => c !== undefined && c !== null);
52303
- }
53051
+ function getTileLayer(dataset) {
53052
+ const {
53053
+ data: {
53054
+ tiles: [tileUrl]
53055
+ }
53056
+ } = dataset;
53057
+ /* global URL */
53058
+
53059
+ const formatTiles = new URL(tileUrl).searchParams.get('formatTiles') || _maps_api_common__WEBPACK_IMPORTED_MODULE_7__["TILE_FORMATS"].MVT;
53060
+ return {
53061
+ Layer: formatTiles === _maps_api_common__WEBPACK_IMPORTED_MODULE_7__["TILE_FORMATS"].MVT ? _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_5__["MVTLayer"] : _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_6__["default"],
53062
+ propMap: sharedPropMap,
53063
+ defaultProps: { ...defaultProps,
53064
+ pointRadiusScale: 0.3,
53065
+ lineWidthScale: 2,
53066
+ uniqueIdProperty: 'geoid',
53067
+ formatTiles
53068
+ }
53069
+ };
53070
+ }
53071
+
53072
+ function domainFromAttribute(attribute, scaleType) {
53073
+ if (scaleType === 'ordinal' || scaleType === 'point') {
53074
+ return attribute.categories.map(c => c.category).filter(c => c !== undefined && c !== null);
53075
+ }
52304
53076
 
52305
53077
  let {
52306
53078
  min
@@ -52433,11 +53205,11 @@ function getTextPixelOffsetAccessor({
52433
53205
 
52434
53206
  /***/ }),
52435
53207
 
52436
- /***/ "./src/api/maps-api-common.js":
53208
+ /***/ "./src/api/maps-api-common.ts":
52437
53209
  /*!************************************!*\
52438
- !*** ./src/api/maps-api-common.js ***!
53210
+ !*** ./src/api/maps-api-common.ts ***!
52439
53211
  \************************************/
52440
- /*! exports provided: DEFAULT_USER_COMPONENT_IN_URL, DEFAULT_REGION_COMPONENT_IN_URL, API_VERSIONS, DEFAULT_MAPS_URL_FORMAT, MAP_TYPES, FORMATS, encodeParameter */
53212
+ /*! exports provided: DEFAULT_USER_COMPONENT_IN_URL, DEFAULT_REGION_COMPONENT_IN_URL, API_VERSIONS, DEFAULT_MAPS_URL_FORMAT, MAP_TYPES, FORMATS, TILE_FORMATS, SchemaFieldType, encodeParameter */
52441
53213
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
52442
53214
 
52443
53215
  "use strict";
@@ -52448,6 +53220,8 @@ __webpack_require__.r(__webpack_exports__);
52448
53220
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DEFAULT_MAPS_URL_FORMAT", function() { return DEFAULT_MAPS_URL_FORMAT; });
52449
53221
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MAP_TYPES", function() { return MAP_TYPES; });
52450
53222
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FORMATS", function() { return FORMATS; });
53223
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TILE_FORMATS", function() { return TILE_FORMATS; });
53224
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SchemaFieldType", function() { return SchemaFieldType; });
52451
53225
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "encodeParameter", function() { return encodeParameter; });
52452
53226
  const DEFAULT_USER_COMPONENT_IN_URL = '{user}';
52453
53227
  const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';
@@ -52464,27 +53238,46 @@ const MAP_TYPES = {
52464
53238
  QUERY: 'query',
52465
53239
  TABLE: 'table',
52466
53240
  TILESET: 'tileset'
52467
- }; // AVAILABLE FORMATS
52468
-
53241
+ };
53242
+ // AVAILABLE FORMATS
52469
53243
  const FORMATS = {
52470
53244
  GEOJSON: 'geojson',
52471
53245
  NDJSON: 'ndjson',
52472
53246
  TILEJSON: 'tilejson',
52473
53247
  JSON: 'json'
52474
53248
  };
53249
+ // AVAILABLE FORMATS FOR TILES
53250
+ const TILE_FORMATS = {
53251
+ MVT: 'mvt',
53252
+ GEOJSON: 'geojson',
53253
+ BINARY: 'binary'
53254
+ };
53255
+ let SchemaFieldType;
53256
+
53257
+ (function (SchemaFieldType) {
53258
+ SchemaFieldType["Number"] = "number";
53259
+ SchemaFieldType["Bigint"] = "bigint";
53260
+ SchemaFieldType["String"] = "string";
53261
+ SchemaFieldType["Geometry"] = "geometry";
53262
+ SchemaFieldType["Timestamp"] = "timestamp";
53263
+ SchemaFieldType["Object"] = "object";
53264
+ SchemaFieldType["Boolean"] = "boolean";
53265
+ SchemaFieldType["Variant"] = "variant";
53266
+ SchemaFieldType["Unknown"] = "unknown";
53267
+ })(SchemaFieldType || (SchemaFieldType = {}));
53268
+
52475
53269
  /**
52476
53270
  * Simple encode parameter
52477
53271
  */
52478
-
52479
53272
  function encodeParameter(name, value) {
52480
53273
  return `${name}=${encodeURIComponent(value)}`;
52481
53274
  }
52482
53275
 
52483
53276
  /***/ }),
52484
53277
 
52485
- /***/ "./src/api/maps-client.js":
53278
+ /***/ "./src/api/maps-client.ts":
52486
53279
  /*!********************************!*\
52487
- !*** ./src/api/maps-client.js ***!
53280
+ !*** ./src/api/maps-client.ts ***!
52488
53281
  \********************************/
52489
53282
  /*! exports provided: CONNECTIONS, getDataV2 */
52490
53283
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -52493,8 +53286,8 @@ function encodeParameter(name, value) {
52493
53286
  __webpack_require__.r(__webpack_exports__);
52494
53287
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CONNECTIONS", function() { return CONNECTIONS; });
52495
53288
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDataV2", function() { return getDataV2; });
52496
- /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../config */ "./src/config.js");
52497
- /* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.js");
53289
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../config */ "./src/config.ts");
53290
+ /* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.ts");
52498
53291
  /**
52499
53292
  * Maps API Client for Maps API v1 and Maps API v2
52500
53293
  */
@@ -52516,20 +53309,16 @@ async function getDataV2({
52516
53309
  credentials
52517
53310
  }) {
52518
53311
  const defaultCredentials = Object(_config__WEBPACK_IMPORTED_MODULE_0__["getDefaultCredentials"])();
52519
- const apiVersion = credentials && credentials.apiVersion || defaultCredentials.apiVersion; // Only pick up default credentials if they have been defined for
53312
+ const apiVersion = credentials?.apiVersion || defaultCredentials.apiVersion; // Only pick up default credentials if they have been defined for
52520
53313
  // correct API version
52521
53314
 
52522
- const localCreds = { ..._config__WEBPACK_IMPORTED_MODULE_0__["defaultClassicCredentials"],
53315
+ const localCreds = { ...(apiVersion === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V3 ? _config__WEBPACK_IMPORTED_MODULE_0__["defaultCloudNativeCredentials"] : _config__WEBPACK_IMPORTED_MODULE_0__["defaultClassicCredentials"]),
53316
+ mapsUrl: _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["DEFAULT_MAPS_URL_FORMAT"][apiVersion],
52523
53317
  ...(defaultCredentials.apiVersion === apiVersion && defaultCredentials),
52524
53318
  ...credentials
52525
53319
  };
52526
-
52527
- if (!localCreds.mapsUrl) {
52528
- localCreds.mapsUrl = _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["DEFAULT_MAPS_URL_FORMAT"][apiVersion];
52529
- }
52530
-
52531
53320
  let url;
52532
- const connection = type === 'tileset' ? CONNECTIONS.BIGQUERY : CONNECTIONS.CARTO;
53321
+ const connection = type === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["MAP_TYPES"].TILESET ? CONNECTIONS.BIGQUERY : CONNECTIONS.CARTO;
52533
53322
 
52534
53323
  switch (apiVersion) {
52535
53324
  case _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V1:
@@ -52574,8 +53363,6 @@ async function request({
52574
53363
 
52575
53364
  try {
52576
53365
  /* global fetch */
52577
-
52578
- /* eslint no-undef: "error" */
52579
53366
  response = await fetch(url, {
52580
53367
  headers: {
52581
53368
  Accept: 'application/json'
@@ -52622,7 +53409,7 @@ function dealWithError({
52622
53409
 
52623
53410
  function initURLParameters(credentials) {
52624
53411
  const encodedApiKey = Object(_maps_api_common__WEBPACK_IMPORTED_MODULE_1__["encodeParameter"])('api_key', credentials.apiKey);
52625
- const encodedClient = Object(_maps_api_common__WEBPACK_IMPORTED_MODULE_1__["encodeParameter"])('client', `deck-gl-carto`);
53412
+ const encodedClient = Object(_maps_api_common__WEBPACK_IMPORTED_MODULE_1__["encodeParameter"])('client', 'deck-gl-carto');
52626
53413
  return [encodedApiKey, encodedClient];
52627
53414
  }
52628
53415
  /**
@@ -52671,6 +53458,7 @@ function createMapConfig(sql) {
52671
53458
  type: 'mapnik',
52672
53459
  options: {
52673
53460
  sql,
53461
+ // eslint-disable-next-line camelcase
52674
53462
  vector_extent: TILE_EXTENT
52675
53463
  }
52676
53464
  }]
@@ -52679,9 +53467,9 @@ function createMapConfig(sql) {
52679
53467
 
52680
53468
  /***/ }),
52681
53469
 
52682
- /***/ "./src/api/maps-v3-client.js":
53470
+ /***/ "./src/api/maps-v3-client.ts":
52683
53471
  /*!***********************************!*\
52684
- !*** ./src/api/maps-v3-client.js ***!
53472
+ !*** ./src/api/maps-v3-client.ts ***!
52685
53473
  \***********************************/
52686
53474
  /*! exports provided: mapInstantiation, fetchLayerData, getData, fetchMap */
52687
53475
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -52692,11 +53480,12 @@ __webpack_require__.r(__webpack_exports__);
52692
53480
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fetchLayerData", function() { return fetchLayerData; });
52693
53481
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getData", function() { return getData; });
52694
53482
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fetchMap", function() { return fetchMap; });
52695
- /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../config */ "./src/config.js");
52696
- /* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.js");
52697
- /* harmony import */ var _parseMap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./parseMap */ "./src/api/parseMap.js");
53483
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../config */ "./src/config.ts");
53484
+ /* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.ts");
53485
+ /* harmony import */ var _parseMap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./parseMap */ "./src/api/parseMap.ts");
52698
53486
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
52699
53487
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_3__);
53488
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ "./src/utils.ts");
52700
53489
  /**
52701
53490
  * Maps API Client for Carto 3
52702
53491
  */
@@ -52704,20 +53493,19 @@ __webpack_require__.r(__webpack_exports__);
52704
53493
 
52705
53494
 
52706
53495
 
53496
+
52707
53497
  const MAX_GET_LENGTH = 2048;
52708
53498
  const DEFAULT_CLIENT = 'deck-gl-carto';
53499
+
52709
53500
  /**
52710
53501
  * Request against Maps API
52711
53502
  */
52712
-
52713
53503
  async function request({
52714
53504
  method,
52715
53505
  url,
52716
- format,
52717
53506
  accessToken,
52718
53507
  body
52719
53508
  }) {
52720
- let response;
52721
53509
  const headers = {
52722
53510
  Accept: 'application/json'
52723
53511
  };
@@ -52732,9 +53520,7 @@ async function request({
52732
53520
 
52733
53521
  try {
52734
53522
  /* global fetch */
52735
-
52736
- /* eslint no-undef: "error" */
52737
- response = await fetch(url, {
53523
+ return await fetch(url, {
52738
53524
  method,
52739
53525
  headers,
52740
53526
  body
@@ -52742,11 +53528,20 @@ async function request({
52742
53528
  } catch (error) {
52743
53529
  throw new Error(`Failed to connect to Maps API: ${error}`);
52744
53530
  }
53531
+ }
52745
53532
 
52746
- if (format === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].NDJSON) {
52747
- return response;
52748
- }
52749
-
53533
+ async function requestJson({
53534
+ method,
53535
+ url,
53536
+ accessToken,
53537
+ body
53538
+ }) {
53539
+ const response = await request({
53540
+ method,
53541
+ url,
53542
+ accessToken,
53543
+ body
53544
+ });
52750
53545
  const json = await response.json();
52751
53546
 
52752
53547
  if (!response.ok) {
@@ -52756,7 +53551,32 @@ async function request({
52756
53551
  });
52757
53552
  }
52758
53553
 
52759
- return json.rows ? json.rows : json;
53554
+ return json;
53555
+ }
53556
+
53557
+ async function requestData({
53558
+ method,
53559
+ url,
53560
+ accessToken,
53561
+ format,
53562
+ body
53563
+ }) {
53564
+ if (format === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].NDJSON) {
53565
+ return request({
53566
+ method,
53567
+ url,
53568
+ accessToken,
53569
+ body
53570
+ });
53571
+ }
53572
+
53573
+ const data = await requestJson({
53574
+ method,
53575
+ url,
53576
+ accessToken,
53577
+ body
53578
+ });
53579
+ return data.rows ? data.rows : data;
52760
53580
  }
52761
53581
  /**
52762
53582
  * Display proper message from Maps API error
@@ -52779,11 +53599,10 @@ function dealWithError({
52779
53599
  throw new Error(error);
52780
53600
  }
52781
53601
  }
53602
+
52782
53603
  /**
52783
53604
  * Build a URL with all required parameters
52784
53605
  */
52785
-
52786
-
52787
53606
  function getParameters({
52788
53607
  type,
52789
53608
  source,
@@ -52836,7 +53655,6 @@ async function mapInstantiation({
52836
53655
  const {
52837
53656
  accessToken
52838
53657
  } = credentials;
52839
- const format = 'json';
52840
53658
 
52841
53659
  if (url.length > MAX_GET_LENGTH && type === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["MAP_TYPES"].QUERY) {
52842
53660
  // need to be a POST request
@@ -52844,18 +53662,16 @@ async function mapInstantiation({
52844
53662
  q: source,
52845
53663
  client: clientId || DEFAULT_CLIENT
52846
53664
  });
52847
- return await request({
53665
+ return await requestJson({
52848
53666
  method: 'POST',
52849
53667
  url: baseUrl,
52850
- format,
52851
53668
  accessToken,
52852
53669
  body
52853
53670
  });
52854
53671
  }
52855
53672
 
52856
- return await request({
53673
+ return await requestJson({
52857
53674
  url,
52858
- format,
52859
53675
  accessToken
52860
53676
  });
52861
53677
  }
@@ -52874,14 +53690,14 @@ function checkFetchLayerDataParameters({
52874
53690
  type,
52875
53691
  source,
52876
53692
  connection,
52877
- localCreds
53693
+ credentials
52878
53694
  }) {
52879
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(connection, 'Must define connection');
52880
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(type, 'Must define a type');
52881
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(source, 'Must define a source');
52882
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(localCreds.apiVersion === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V3, 'Method only available for v3');
52883
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');
52884
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(localCreds.accessToken, 'Must define an accessToken');
53695
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(connection, 'Must define connection');
53696
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(type, 'Must define a type');
53697
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(source, 'Must define a source');
53698
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(credentials.apiVersion === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V3, 'Method only available for v3');
53699
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(credentials.apiBaseUrl, 'Must define apiBaseUrl');
53700
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(credentials.accessToken, 'Must define an accessToken');
52885
53701
  }
52886
53702
 
52887
53703
  async function fetchLayerData({
@@ -52913,7 +53729,7 @@ async function fetchLayerData({
52913
53729
  schema,
52914
53730
  clientId
52915
53731
  });
52916
- const data = await request({
53732
+ const data = await requestData({
52917
53733
  url,
52918
53734
  format: mapFormat,
52919
53735
  accessToken
@@ -52951,7 +53767,7 @@ async function _fetchDataUrl({
52951
53767
  type,
52952
53768
  source,
52953
53769
  connection,
52954
- localCreds
53770
+ credentials: localCreds
52955
53771
  });
52956
53772
 
52957
53773
  if (!localCreds.mapsUrl) {
@@ -52968,13 +53784,13 @@ async function _fetchDataUrl({
52968
53784
  schema,
52969
53785
  clientId
52970
53786
  });
52971
- let url;
53787
+ let url = null;
52972
53788
  let mapFormat;
52973
53789
 
52974
53790
  if (format) {
52975
53791
  mapFormat = format;
52976
53792
  url = getUrlFromMetadata(metadata, format);
52977
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(url, `Format ${format} not available`);
53793
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(url, `Format ${format} not available`);
52978
53794
  } else {
52979
53795
  // guess map format
52980
53796
  const prioritizedFormats = [_maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].GEOJSON, _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].JSON, _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].NDJSON, _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].TILEJSON];
@@ -52987,6 +53803,8 @@ async function _fetchDataUrl({
52987
53803
  break;
52988
53804
  }
52989
53805
  }
53806
+
53807
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(url && mapFormat, 'Unsupported data formats received from backend.');
52990
53808
  }
52991
53809
 
52992
53810
  const {
@@ -53024,7 +53842,7 @@ async function getData({
53024
53842
  });
53025
53843
  return layerData.data;
53026
53844
  }
53027
- /* global clearInterval, setInterval, URLSearchParams */
53845
+ /* global clearInterval, setInterval, URL */
53028
53846
 
53029
53847
  async function _fetchMapDataset(dataset, accessToken, credentials, clientId) {
53030
53848
  // First fetch metadata
@@ -53046,7 +53864,7 @@ async function _fetchMapDataset(dataset, accessToken, credentials, clientId) {
53046
53864
  clientId
53047
53865
  }); // Extract the last time the data changed
53048
53866
 
53049
- const cache = parseInt(new URLSearchParams(url).get('cache'), 10);
53867
+ const cache = parseInt(new URL(url).searchParams.get('cache') || '', 10);
53050
53868
 
53051
53869
  if (cache && dataset.cache === cache) {
53052
53870
  return false;
@@ -53054,12 +53872,11 @@ async function _fetchMapDataset(dataset, accessToken, credentials, clientId) {
53054
53872
 
53055
53873
  dataset.cache = cache; // Only fetch if the data has changed
53056
53874
 
53057
- const data = await request({
53875
+ dataset.data = await requestData({
53058
53876
  url,
53059
53877
  format: mapFormat,
53060
53878
  accessToken
53061
53879
  });
53062
- dataset.data = data;
53063
53880
  return true;
53064
53881
  }
53065
53882
 
@@ -53082,33 +53899,38 @@ async function fetchMap({
53082
53899
  const localCreds = { ...(defaultCredentials.apiVersion === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V3 && defaultCredentials),
53083
53900
  ...credentials
53084
53901
  };
53085
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(cartoMapId, `Must define CARTO map id: fetchMap({cartoMapId: 'XXXX-XXXX-XXXX'})`);
53086
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(localCreds.apiVersion === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V3, 'Method only available for v3');
53087
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');
53902
+ const {
53903
+ accessToken
53904
+ } = localCreds;
53905
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(cartoMapId, 'Must define CARTO map id: fetchMap({cartoMapId: "XXXX-XXXX-XXXX"})');
53906
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(localCreds.apiVersion === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V3, 'Method only available for v3');
53907
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(localCreds.apiBaseUrl, 'Must define apiBaseUrl');
53088
53908
 
53089
53909
  if (!localCreds.mapsUrl) {
53090
53910
  localCreds.mapsUrl = Object(_config__WEBPACK_IMPORTED_MODULE_0__["buildMapsUrlFromBase"])(localCreds.apiBaseUrl);
53091
53911
  }
53092
53912
 
53093
53913
  if (autoRefresh || onNewData) {
53094
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(onNewData, 'Must define `onNewData` when using autoRefresh');
53095
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(typeof onNewData === 'function', '`onNewData` must be a function');
53096
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_3__["log"].assert(autoRefresh > 0, '`autoRefresh` must be a positive number');
53914
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(onNewData, 'Must define `onNewData` when using autoRefresh');
53915
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(typeof onNewData === 'function', '`onNewData` must be a function');
53916
+ Object(_utils__WEBPACK_IMPORTED_MODULE_4__["assert"])(typeof autoRefresh === 'number' && autoRefresh > 0, '`autoRefresh` must be a positive number');
53097
53917
  }
53098
53918
 
53099
53919
  const url = `${localCreds.mapsUrl}/public/${cartoMapId}`;
53100
- const map = await request({
53101
- url
53920
+ const map = await requestJson({
53921
+ url,
53922
+ accessToken
53102
53923
  }); // Periodically check if the data has changed. Note that this
53103
53924
  // will not update when a map is published.
53104
53925
 
53105
53926
  let stopAutoRefresh;
53106
53927
 
53107
53928
  if (autoRefresh) {
53929
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
53108
53930
  const intervalId = setInterval(async () => {
53109
- const changed = await fillInMapDatasets(map, clientId, credentials);
53931
+ const changed = await fillInMapDatasets(map, clientId, localCreds);
53110
53932
 
53111
- if (changed.some(v => v === true)) {
53933
+ if (onNewData && changed.some(v => v === true)) {
53112
53934
  onNewData(Object(_parseMap__WEBPACK_IMPORTED_MODULE_2__["parseMap"])(map));
53113
53935
  }
53114
53936
  }, autoRefresh * 1000);
@@ -53119,7 +53941,7 @@ async function fetchMap({
53119
53941
  } // Mutates map.datasets so that dataset.data contains data
53120
53942
 
53121
53943
 
53122
- await fillInMapDatasets(map, clientId, credentials);
53944
+ await fillInMapDatasets(map, clientId, localCreds);
53123
53945
  return { ...Object(_parseMap__WEBPACK_IMPORTED_MODULE_2__["parseMap"])(map),
53124
53946
  ...{
53125
53947
  stopAutoRefresh
@@ -53129,9 +53951,9 @@ async function fetchMap({
53129
53951
 
53130
53952
  /***/ }),
53131
53953
 
53132
- /***/ "./src/api/parseMap.js":
53954
+ /***/ "./src/api/parseMap.ts":
53133
53955
  /*!*****************************!*\
53134
- !*** ./src/api/parseMap.js ***!
53956
+ !*** ./src/api/parseMap.ts ***!
53135
53957
  \*****************************/
53136
53958
  /*! exports provided: parseMap */
53137
53959
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -53140,9 +53962,11 @@ async function fetchMap({
53140
53962
  __webpack_require__.r(__webpack_exports__);
53141
53963
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseMap", function() { return parseMap; });
53142
53964
  /* harmony import */ var _luma_gl_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @luma.gl/constants */ "../../node_modules/@luma.gl/constants/dist/esm/index.js");
53143
- /* harmony import */ var _layer_map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./layer-map */ "./src/api/layer-map.js");
53965
+ /* harmony import */ var _layer_map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./layer-map */ "./src/api/layer-map.ts");
53144
53966
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
53145
53967
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_2__);
53968
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ "./src/utils.ts");
53969
+
53146
53970
 
53147
53971
 
53148
53972
 
@@ -53151,7 +53975,7 @@ function parseMap(json) {
53151
53975
  keplerMapConfig,
53152
53976
  datasets
53153
53977
  } = json;
53154
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["log"].assert(keplerMapConfig.version === 'v1', 'Only support Kepler v1');
53978
+ Object(_utils__WEBPACK_IMPORTED_MODULE_3__["assert"])(keplerMapConfig.version === 'v1', 'Only support Kepler v1');
53155
53979
  const {
53156
53980
  mapState,
53157
53981
  mapStyle
@@ -53176,20 +54000,20 @@ function parseMap(json) {
53176
54000
  visualChannels
53177
54001
  }) => {
53178
54002
  try {
53179
- const {
53180
- Layer,
53181
- propMap,
53182
- defaultProps
53183
- } = Object(_layer_map__WEBPACK_IMPORTED_MODULE_1__["getLayer"])(type, config);
53184
54003
  const {
53185
54004
  dataId
53186
54005
  } = config;
53187
54006
  const dataset = datasets.find(d => d.id === dataId);
53188
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["log"].assert(dataset, `No dataset matching dataId: ${dataId}`);
54007
+ Object(_utils__WEBPACK_IMPORTED_MODULE_3__["assert"])(dataset, `No dataset matching dataId: ${dataId}`);
53189
54008
  const {
53190
54009
  data
53191
54010
  } = dataset;
53192
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__["log"].assert(data, `No data loaded for dataId: ${dataId}`);
54011
+ Object(_utils__WEBPACK_IMPORTED_MODULE_3__["assert"])(data, `No data loaded for dataId: ${dataId}`);
54012
+ const {
54013
+ Layer,
54014
+ propMap,
54015
+ defaultProps
54016
+ } = Object(_layer_map__WEBPACK_IMPORTED_MODULE_1__["getLayer"])(type, config, dataset);
53193
54017
  return new Layer({
53194
54018
  id,
53195
54019
  data,
@@ -53353,30 +54177,30 @@ function createChannelProps(visualChannels, type, config, data) {
53353
54177
 
53354
54178
  /***/ }),
53355
54179
 
53356
- /***/ "./src/basemap.js":
54180
+ /***/ "./src/basemap.ts":
53357
54181
  /*!************************!*\
53358
- !*** ./src/basemap.js ***!
54182
+ !*** ./src/basemap.ts ***!
53359
54183
  \************************/
53360
54184
  /*! exports provided: default */
53361
54185
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
53362
54186
 
53363
54187
  "use strict";
53364
54188
  __webpack_require__.r(__webpack_exports__);
53365
- const base_url = 'https://basemaps.cartocdn.com/gl/{basemap}-gl-style/style.json';
54189
+ const baseUrl = 'https://basemaps.cartocdn.com/gl/{basemap}-gl-style/style.json';
53366
54190
  /* harmony default export */ __webpack_exports__["default"] = ({
53367
- VOYAGER: base_url.replace('{basemap}', 'voyager'),
53368
- POSITRON: base_url.replace('{basemap}', 'positron'),
53369
- DARK_MATTER: base_url.replace('{basemap}', 'dark-matter'),
53370
- VOYAGER_NOLABELS: base_url.replace('{basemap}', 'voyager-nolabels'),
53371
- POSITRON_NOLABELS: base_url.replace('{basemap}', 'positron-nolabels'),
53372
- DARK_MATTER_NOLABELS: base_url.replace('{basemap}', 'dark-matter-nolabels')
54191
+ VOYAGER: baseUrl.replace('{basemap}', 'voyager'),
54192
+ POSITRON: baseUrl.replace('{basemap}', 'positron'),
54193
+ DARK_MATTER: baseUrl.replace('{basemap}', 'dark-matter'),
54194
+ VOYAGER_NOLABELS: baseUrl.replace('{basemap}', 'voyager-nolabels'),
54195
+ POSITRON_NOLABELS: baseUrl.replace('{basemap}', 'positron-nolabels'),
54196
+ DARK_MATTER_NOLABELS: baseUrl.replace('{basemap}', 'dark-matter-nolabels')
53373
54197
  });
53374
54198
 
53375
54199
  /***/ }),
53376
54200
 
53377
- /***/ "./src/config.js":
54201
+ /***/ "./src/config.ts":
53378
54202
  /*!***********************!*\
53379
- !*** ./src/config.js ***!
54203
+ !*** ./src/config.ts ***!
53380
54204
  \***********************/
53381
54205
  /*! exports provided: defaultClassicCredentials, defaultCloudNativeCredentials, setDefaultCredentials, getDefaultCredentials, buildMapsUrlFromBase */
53382
54206
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -53388,7 +54212,7 @@ __webpack_require__.r(__webpack_exports__);
53388
54212
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setDefaultCredentials", function() { return setDefaultCredentials; });
53389
54213
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDefaultCredentials", function() { return getDefaultCredentials; });
53390
54214
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildMapsUrlFromBase", function() { return buildMapsUrlFromBase; });
53391
- /* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./api/maps-api-common */ "./src/api/maps-api-common.js");
54215
+ /* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./api/maps-api-common */ "./src/api/maps-api-common.ts");
53392
54216
 
53393
54217
  const defaultClassicCredentials = {
53394
54218
  apiKey: 'default_public',
@@ -53443,78 +54267,59 @@ function buildMapsUrlFromBase(apiBaseUrl) {
53443
54267
 
53444
54268
  /***/ }),
53445
54269
 
53446
- /***/ "./src/index.js":
54270
+ /***/ "./src/index.ts":
53447
54271
  /*!**********************!*\
53448
- !*** ./src/index.js ***!
54272
+ !*** ./src/index.ts ***!
53449
54273
  \**********************/
53450
- /*! exports provided: getDefaultCredentials, setDefaultCredentials, CartoLayer, BASEMAP, colorBins, colorCategories, colorContinuous, FORMATS, MAP_TYPES, API_VERSIONS, fetchLayerData, fetchMap, _getDataV2, getData, _mapInstantiation */
54274
+ /*! exports provided: getDefaultCredentials, setDefaultCredentials, CartoLayer, _CartoTileLayer, BASEMAP, colorBins, colorCategories, colorContinuous, FORMATS, TILE_FORMATS, MAP_TYPES, API_VERSIONS, fetchLayerData, fetchMap, _getDataV2, getData, _mapInstantiation */
53451
54275
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
53452
54276
 
53453
54277
  "use strict";
53454
54278
  __webpack_require__.r(__webpack_exports__);
53455
- /* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./config.js */ "./src/config.js");
53456
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getDefaultCredentials", function() { return _config_js__WEBPACK_IMPORTED_MODULE_0__["getDefaultCredentials"]; });
54279
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./config */ "./src/config.ts");
54280
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getDefaultCredentials", function() { return _config__WEBPACK_IMPORTED_MODULE_0__["getDefaultCredentials"]; });
53457
54281
 
53458
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setDefaultCredentials", function() { return _config_js__WEBPACK_IMPORTED_MODULE_0__["setDefaultCredentials"]; });
54282
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setDefaultCredentials", function() { return _config__WEBPACK_IMPORTED_MODULE_0__["setDefaultCredentials"]; });
53459
54283
 
53460
54284
  /* harmony import */ var _layers_carto_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./layers/carto-layer */ "./src/layers/carto-layer.js");
53461
54285
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CartoLayer", function() { return _layers_carto_layer__WEBPACK_IMPORTED_MODULE_1__["default"]; });
53462
54286
 
53463
- /* harmony import */ var _basemap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./basemap */ "./src/basemap.js");
53464
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BASEMAP", function() { return _basemap__WEBPACK_IMPORTED_MODULE_2__["default"]; });
53465
-
53466
- /* harmony import */ var _style_color_bins_style__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./style/color-bins-style */ "./src/style/color-bins-style.js");
53467
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colorBins", function() { return _style_color_bins_style__WEBPACK_IMPORTED_MODULE_3__["default"]; });
53468
-
53469
- /* harmony import */ var _style_color_categories_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./style/color-categories-style */ "./src/style/color-categories-style.js");
53470
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colorCategories", function() { return _style_color_categories_style__WEBPACK_IMPORTED_MODULE_4__["default"]; });
53471
-
53472
- /* harmony import */ var _style_color_continuous_style__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./style/color-continuous-style */ "./src/style/color-continuous-style.js");
53473
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colorContinuous", function() { return _style_color_continuous_style__WEBPACK_IMPORTED_MODULE_5__["default"]; });
53474
-
53475
- /* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./api */ "./src/api/index.js");
53476
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FORMATS", function() { return _api__WEBPACK_IMPORTED_MODULE_6__["FORMATS"]; });
53477
-
53478
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MAP_TYPES", function() { return _api__WEBPACK_IMPORTED_MODULE_6__["MAP_TYPES"]; });
54287
+ /* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layers/carto-tile-layer */ "./src/layers/carto-tile-layer.js");
54288
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_CartoTileLayer", function() { return _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"]; });
53479
54289
 
53480
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "API_VERSIONS", function() { return _api__WEBPACK_IMPORTED_MODULE_6__["API_VERSIONS"]; });
54290
+ /* harmony import */ var _basemap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./basemap */ "./src/basemap.ts");
54291
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BASEMAP", function() { return _basemap__WEBPACK_IMPORTED_MODULE_3__["default"]; });
53481
54292
 
53482
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchLayerData", function() { return _api__WEBPACK_IMPORTED_MODULE_6__["fetchLayerData"]; });
54293
+ /* harmony import */ var _style_color_bins_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./style/color-bins-style */ "./src/style/color-bins-style.ts");
54294
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colorBins", function() { return _style_color_bins_style__WEBPACK_IMPORTED_MODULE_4__["default"]; });
53483
54295
 
53484
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchMap", function() { return _api__WEBPACK_IMPORTED_MODULE_6__["fetchMap"]; });
54296
+ /* harmony import */ var _style_color_categories_style__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./style/color-categories-style */ "./src/style/color-categories-style.ts");
54297
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colorCategories", function() { return _style_color_categories_style__WEBPACK_IMPORTED_MODULE_5__["default"]; });
53485
54298
 
53486
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_getDataV2", function() { return _api__WEBPACK_IMPORTED_MODULE_6__["getDataV2"]; });
54299
+ /* harmony import */ var _style_color_continuous_style__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./style/color-continuous-style */ "./src/style/color-continuous-style.ts");
54300
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "colorContinuous", function() { return _style_color_continuous_style__WEBPACK_IMPORTED_MODULE_6__["default"]; });
53487
54301
 
53488
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getData", function() { return _api__WEBPACK_IMPORTED_MODULE_6__["getData"]; });
54302
+ /* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./api */ "./src/api/index.ts");
54303
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FORMATS", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["FORMATS"]; });
53489
54304
 
53490
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_mapInstantiation", function() { return _api__WEBPACK_IMPORTED_MODULE_6__["mapInstantiation"]; });
54305
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TILE_FORMATS", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["TILE_FORMATS"]; });
53491
54306
 
54307
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MAP_TYPES", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["MAP_TYPES"]; });
53492
54308
 
54309
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "API_VERSIONS", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["API_VERSIONS"]; });
53493
54310
 
54311
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchLayerData", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["fetchLayerData"]; });
53494
54312
 
54313
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchMap", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["fetchMap"]; });
53495
54314
 
54315
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_getDataV2", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["getDataV2"]; });
53496
54316
 
54317
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getData", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["getData"]; });
53497
54318
 
54319
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_mapInstantiation", function() { return _api__WEBPACK_IMPORTED_MODULE_7__["mapInstantiation"]; });
53498
54320
 
53499
54321
 
53500
- /***/ }),
53501
-
53502
- /***/ "./src/layers/carto-dynamic-tile-layer.js":
53503
- /*!************************************************!*\
53504
- !*** ./src/layers/carto-dynamic-tile-layer.js ***!
53505
- \************************************************/
53506
- /*! exports provided: default */
53507
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
53508
54322
 
53509
- "use strict";
53510
- __webpack_require__.r(__webpack_exports__);
53511
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return CartoDynamicTileLayer; });
53512
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
53513
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
53514
- /* harmony import */ var _deck_gl_extensions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/extensions */ "../extensions/src/index.ts");
53515
- /* harmony import */ var _loaders_gl_gis__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @loaders.gl/gis */ "../../node_modules/@loaders.gl/gis/dist/esm/index.js");
53516
- /* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../api/maps-api-common */ "./src/api/maps-api-common.js");
53517
- /* global TextDecoder */
53518
54323
 
53519
54324
 
53520
54325
 
@@ -53522,96 +54327,6 @@ __webpack_require__.r(__webpack_exports__);
53522
54327
 
53523
54328
 
53524
54329
 
53525
- function parseJSON(arrayBuffer) {
53526
- return JSON.parse(new TextDecoder().decode(arrayBuffer));
53527
- }
53528
-
53529
- function parseCartoDynamicTile(arrayBuffer, options) {
53530
- if (!arrayBuffer) return null;
53531
- const formatTiles = options && options.cartoDynamicTile && options.cartoDynamicTile.formatTiles;
53532
- if (formatTiles === 'geojson') return Object(_loaders_gl_gis__WEBPACK_IMPORTED_MODULE_2__["geojsonToBinary"])(parseJSON(arrayBuffer).features);
53533
- return null;
53534
- }
53535
-
53536
- const CartoDynamicTileLoader = {
53537
- name: 'CARTO Dynamic Tile',
53538
- id: 'cartoDynamicTile',
53539
- module: 'carto',
53540
- extensions: ['pbf'],
53541
- mimeTypes: ['application/x-protobuf'],
53542
- category: 'geometry',
53543
- worker: false,
53544
- parse: async (arrayBuffer, options) => parseCartoDynamicTile(arrayBuffer, options),
53545
- parseSync: parseCartoDynamicTile,
53546
- options: {
53547
- cartoDynamicTile: {
53548
- formatTiles: 'geojson'
53549
- }
53550
- }
53551
- };
53552
- class CartoDynamicTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["MVTLayer"] {
53553
- getTileData(tile) {
53554
- let url = Object(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["_getURLFromTemplate"])(this.state.data, tile);
53555
-
53556
- if (!url) {
53557
- return Promise.reject('Invalid URL');
53558
- }
53559
-
53560
- let loadOptions = this.getLoadOptions();
53561
- const {
53562
- fetch,
53563
- formatTiles
53564
- } = this.props;
53565
- const {
53566
- signal
53567
- } = tile;
53568
- loadOptions = { ...loadOptions,
53569
- mimeType: 'application/x-protobuf'
53570
- };
53571
-
53572
- if (formatTiles) {
53573
- _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(['geojson'].includes(formatTiles), `Invalid value for formatTiles: ${formatTiles}`);
53574
- url += `&${Object(_api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["encodeParameter"])('formatTiles', formatTiles)}`;
53575
- loadOptions.cartoBinaryTile = {
53576
- formatTiles
53577
- };
53578
- }
53579
-
53580
- return fetch(url, {
53581
- propName: 'data',
53582
- layer: this,
53583
- loadOptions,
53584
- signal
53585
- });
53586
- }
53587
-
53588
- renderSubLayers(props) {
53589
- if (props.data === null) {
53590
- return null;
53591
- }
53592
-
53593
- props.autoHighlight = false;
53594
- const {
53595
- bbox: {
53596
- west,
53597
- south,
53598
- east,
53599
- north
53600
- }
53601
- } = props.tile;
53602
- props.extensions = [new _deck_gl_extensions__WEBPACK_IMPORTED_MODULE_1__["ClipExtension"]()];
53603
- props.clipBounds = [west, south, east, north];
53604
- const subLayer = new _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["GeoJsonLayer"]({ ...props
53605
- });
53606
- return subLayer;
53607
- }
53608
-
53609
- }
53610
- CartoDynamicTileLayer.layerName = 'CartoDynamicTileLayer';
53611
- CartoDynamicTileLayer.defaultProps = { ..._deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["MVTLayer"].defaultProps,
53612
- loaders: [CartoDynamicTileLoader]
53613
- };
53614
-
53615
54330
  /***/ }),
53616
54331
 
53617
54332
  /***/ "./src/layers/carto-layer.js":
@@ -53626,10 +54341,10 @@ __webpack_require__.r(__webpack_exports__);
53626
54341
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return CartoLayer; });
53627
54342
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
53628
54343
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
53629
- /* harmony import */ var _carto_dynamic_tile_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./carto-dynamic-tile-layer */ "./src/layers/carto-dynamic-tile-layer.js");
53630
- /* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../api */ "./src/api/index.js");
53631
- /* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../api/maps-api-common */ "./src/api/maps-api-common.js");
53632
- /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../config */ "./src/config.js");
54344
+ /* harmony import */ var _carto_tile_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./carto-tile-layer */ "./src/layers/carto-tile-layer.js");
54345
+ /* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../api */ "./src/api/index.ts");
54346
+ /* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../api/maps-api-common */ "./src/api/maps-api-common.ts");
54347
+ /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../config */ "./src/config.ts");
53633
54348
 
53634
54349
 
53635
54350
 
@@ -53666,6 +54381,8 @@ const defaultProps = {
53666
54381
  connection: null,
53667
54382
  // (String, optional): format of data
53668
54383
  format: null,
54384
+ // (String, optional): force format of data for tiles
54385
+ formatTiles: null,
53669
54386
  // (String, optional): clientId identifier used for internal tracing, place here a string to identify the client who is doing the request.
53670
54387
  clientId: null,
53671
54388
  // (String, optional): name of the `geo_column` in the CARTO platform. Use this override the default column ('geom'), from which the geometry information should be fetched.
@@ -53791,31 +54508,44 @@ class CartoLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLa
53791
54508
  }
53792
54509
  }
53793
54510
 
53794
- renderLayers() {
54511
+ _getRenderLayer() {
53795
54512
  const {
53796
54513
  data,
53797
54514
  format,
53798
54515
  apiVersion
53799
54516
  } = this.state;
54517
+
54518
+ if (apiVersion === _api__WEBPACK_IMPORTED_MODULE_2__["API_VERSIONS"].V1 || apiVersion === _api__WEBPACK_IMPORTED_MODULE_2__["API_VERSIONS"].V2) {
54519
+ return _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["MVTLayer"];
54520
+ }
54521
+
54522
+ if (format === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["FORMATS"].TILEJSON) {
54523
+ /* global URL */
54524
+ const formatTiles = this.props.formatTiles || new URL(data.tiles[0]).searchParams.get('formatTiles') || _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["TILE_FORMATS"].MVT;
54525
+ return formatTiles === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["TILE_FORMATS"].MVT ? _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["MVTLayer"] : _carto_tile_layer__WEBPACK_IMPORTED_MODULE_1__["default"];
54526
+ } // It's a geojson layer
54527
+
54528
+
54529
+ return _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["GeoJsonLayer"];
54530
+ }
54531
+
54532
+ renderLayers() {
54533
+ const {
54534
+ data
54535
+ } = this.state;
53800
54536
  if (!data) return null;
53801
54537
  const {
53802
- type,
53803
54538
  updateTriggers
53804
54539
  } = this.props;
53805
- let layer;
53806
54540
 
53807
- if (apiVersion === _api__WEBPACK_IMPORTED_MODULE_2__["API_VERSIONS"].V3 && type === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["MAP_TYPES"].TABLE && format === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["FORMATS"].TILEJSON) {
53808
- layer = _carto_dynamic_tile_layer__WEBPACK_IMPORTED_MODULE_1__["default"];
53809
- } else if (apiVersion === _api__WEBPACK_IMPORTED_MODULE_2__["API_VERSIONS"].V1 || apiVersion === _api__WEBPACK_IMPORTED_MODULE_2__["API_VERSIONS"].V2 || format === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_3__["FORMATS"].TILEJSON) {
53810
- layer = _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["MVTLayer"];
53811
- } else {
53812
- layer = _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["GeoJsonLayer"];
53813
- }
54541
+ const layer = this._getRenderLayer();
53814
54542
 
53815
54543
  const {
54544
+ formatTiles,
53816
54545
  uniqueIdProperty
53817
54546
  } = defaultProps;
53818
54547
  const props = {
54548
+ formatTiles,
53819
54549
  uniqueIdProperty,
53820
54550
  ...this.props
53821
54551
  };
@@ -53834,9 +54564,389 @@ CartoLayer.defaultProps = defaultProps;
53834
54564
 
53835
54565
  /***/ }),
53836
54566
 
53837
- /***/ "./src/style/color-bins-style.js":
54567
+ /***/ "./src/layers/carto-tile-layer.js":
54568
+ /*!****************************************!*\
54569
+ !*** ./src/layers/carto-tile-layer.js ***!
54570
+ \****************************************/
54571
+ /*! exports provided: default */
54572
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
54573
+
54574
+ "use strict";
54575
+ __webpack_require__.r(__webpack_exports__);
54576
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return CartoTileLayer; });
54577
+ /* harmony import */ var pbf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pbf */ "../../node_modules/pbf/index.js");
54578
+ /* harmony import */ var pbf__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(pbf__WEBPACK_IMPORTED_MODULE_0__);
54579
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
54580
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__);
54581
+ /* harmony import */ var _deck_gl_extensions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/extensions */ "../extensions/src/index.ts");
54582
+ /* harmony import */ var _loaders_gl_gis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @loaders.gl/gis */ "../../node_modules/@loaders.gl/gis/dist/esm/index.js");
54583
+ /* harmony import */ var _schema_carto_tile__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./schema/carto-tile */ "./src/layers/schema/carto-tile.js");
54584
+ /* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../api/maps-api-common */ "./src/api/maps-api-common.ts");
54585
+ /* global TextDecoder */
54586
+
54587
+
54588
+
54589
+
54590
+
54591
+
54592
+
54593
+
54594
+
54595
+ function parseJSON(arrayBuffer) {
54596
+ return JSON.parse(new TextDecoder().decode(arrayBuffer));
54597
+ }
54598
+
54599
+ function parsePbf(buffer) {
54600
+ const pbf = new pbf__WEBPACK_IMPORTED_MODULE_0___default.a(buffer);
54601
+ const tile = _schema_carto_tile__WEBPACK_IMPORTED_MODULE_4__["Tile"].read(pbf);
54602
+ return tile;
54603
+ }
54604
+
54605
+ function unpackProperties(properties) {
54606
+ if (!properties || !properties.length) {
54607
+ return [];
54608
+ }
54609
+
54610
+ return properties.map(item => {
54611
+ const currentRecord = {};
54612
+ item.data.forEach(({
54613
+ key,
54614
+ value
54615
+ }) => {
54616
+ currentRecord[key] = value;
54617
+ });
54618
+ return currentRecord;
54619
+ });
54620
+ }
54621
+
54622
+ function parseCartoTile(arrayBuffer, options) {
54623
+ if (!arrayBuffer) return null;
54624
+ const formatTiles = options && options.cartoTile && options.cartoTile.formatTiles;
54625
+ if (formatTiles === _api_maps_api_common__WEBPACK_IMPORTED_MODULE_5__["TILE_FORMATS"].GEOJSON) return Object(_loaders_gl_gis__WEBPACK_IMPORTED_MODULE_3__["geojsonToBinary"])(parseJSON(arrayBuffer).features);
54626
+ const tile = parsePbf(arrayBuffer);
54627
+ const {
54628
+ points,
54629
+ lines,
54630
+ polygons
54631
+ } = tile;
54632
+ const data = {
54633
+ points: { ...points,
54634
+ properties: unpackProperties(points.properties)
54635
+ },
54636
+ lines: { ...lines,
54637
+ properties: unpackProperties(lines.properties)
54638
+ },
54639
+ polygons: { ...polygons,
54640
+ properties: unpackProperties(polygons.properties)
54641
+ }
54642
+ };
54643
+ return data;
54644
+ }
54645
+
54646
+ const CartoTileLoader = {
54647
+ name: 'CARTO Tile',
54648
+ id: 'cartoTile',
54649
+ module: 'carto',
54650
+ extensions: ['pbf'],
54651
+ mimeTypes: ['application/x-protobuf'],
54652
+ category: 'geometry',
54653
+ worker: false,
54654
+ parse: async (arrayBuffer, options) => parseCartoTile(arrayBuffer, options),
54655
+ parseSync: parseCartoTile,
54656
+ options: {
54657
+ cartoTile: {
54658
+ // TODO change to BINARY for 8.7 prod release
54659
+ formatTiles: _api_maps_api_common__WEBPACK_IMPORTED_MODULE_5__["TILE_FORMATS"].GEOJSON
54660
+ }
54661
+ }
54662
+ };
54663
+ class CartoTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["MVTLayer"] {
54664
+ getTileData(tile) {
54665
+ let url = Object(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["_getURLFromTemplate"])(this.state.data, tile);
54666
+
54667
+ if (!url) {
54668
+ return Promise.reject('Invalid URL');
54669
+ }
54670
+
54671
+ let loadOptions = this.getLoadOptions();
54672
+ const {
54673
+ fetch,
54674
+ formatTiles
54675
+ } = this.props;
54676
+ const {
54677
+ signal
54678
+ } = tile;
54679
+ loadOptions = { ...loadOptions,
54680
+ mimeType: 'application/x-protobuf'
54681
+ };
54682
+
54683
+ if (formatTiles) {
54684
+ _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["log"].assert(Object.values(_api_maps_api_common__WEBPACK_IMPORTED_MODULE_5__["TILE_FORMATS"]).includes(formatTiles), `Invalid value for formatTiles: ${formatTiles}. Use value from TILE_FORMATS`); // eslint-disable-next-line no-undef
54685
+
54686
+ const newUrl = new URL(url);
54687
+ newUrl.searchParams.set('formatTiles', formatTiles);
54688
+ url = newUrl.toString();
54689
+ loadOptions.cartoTile = {
54690
+ formatTiles
54691
+ };
54692
+ }
54693
+
54694
+ return fetch(url, {
54695
+ propName: 'data',
54696
+ layer: this,
54697
+ loadOptions,
54698
+ signal
54699
+ });
54700
+ }
54701
+
54702
+ renderSubLayers(props) {
54703
+ if (props.data === null) {
54704
+ return null;
54705
+ }
54706
+
54707
+ props.autoHighlight = false;
54708
+ const {
54709
+ bbox: {
54710
+ west,
54711
+ south,
54712
+ east,
54713
+ north
54714
+ }
54715
+ } = props.tile;
54716
+ props.extensions = [new _deck_gl_extensions__WEBPACK_IMPORTED_MODULE_2__["ClipExtension"](), ...(props.extensions || [])];
54717
+ props.clipBounds = [west, south, east, north];
54718
+ const subLayer = new _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["GeoJsonLayer"]({ ...props
54719
+ });
54720
+ return subLayer;
54721
+ }
54722
+
54723
+ }
54724
+ CartoTileLayer.layerName = 'CartoTileLayer';
54725
+ CartoTileLayer.defaultProps = { ..._deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["MVTLayer"].defaultProps,
54726
+ loaders: [CartoTileLoader]
54727
+ };
54728
+
54729
+ /***/ }),
54730
+
54731
+ /***/ "./src/layers/schema/carto-tile.js":
54732
+ /*!*****************************************!*\
54733
+ !*** ./src/layers/schema/carto-tile.js ***!
54734
+ \*****************************************/
54735
+ /*! exports provided: Tile */
54736
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
54737
+
54738
+ "use strict";
54739
+ __webpack_require__.r(__webpack_exports__);
54740
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Tile", function() { return Tile; });
54741
+ // KeyValueObject ========================================
54742
+ const KeyValueObject = {};
54743
+
54744
+ KeyValueObject.read = function (pbf, end) {
54745
+ return pbf.readFields(KeyValueObject._readField, {
54746
+ key: '',
54747
+ value: ''
54748
+ }, end);
54749
+ };
54750
+
54751
+ KeyValueObject._readField = function (tag, obj, pbf) {
54752
+ if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readString();
54753
+ }; // Properties ========================================
54754
+
54755
+
54756
+ const Properties = {};
54757
+
54758
+ Properties.read = function (pbf, end) {
54759
+ return pbf.readFields(Properties._readField, {
54760
+ data: []
54761
+ }, end);
54762
+ };
54763
+
54764
+ Properties._readField = function (tag, obj, pbf) {
54765
+ if (tag === 1) obj.data.push(KeyValueObject.read(pbf, pbf.readVarint() + pbf.pos));
54766
+ }; // Doubles ========================================
54767
+
54768
+
54769
+ const Doubles = {};
54770
+
54771
+ Doubles.read = function (pbf, end) {
54772
+ // TODO perhaps we can do better and directly map from the source
54773
+ // ArrayBuffer using ArrayBuffer.slice()
54774
+ const {
54775
+ value,
54776
+ size
54777
+ } = pbf.readFields(Doubles._readField, {
54778
+ value: [],
54779
+ size: 0
54780
+ }, end);
54781
+ return {
54782
+ value: new Float32Array(value),
54783
+ size
54784
+ };
54785
+ };
54786
+
54787
+ Doubles._readField = function (tag, obj, pbf) {
54788
+ if (tag === 1) pbf.readPackedDouble(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
54789
+ }; // Ints ========================================
54790
+
54791
+
54792
+ const Ints = {};
54793
+
54794
+ Ints.read = function (pbf, end) {
54795
+ const {
54796
+ value,
54797
+ size
54798
+ } = pbf.readFields(Ints._readField, {
54799
+ value: [],
54800
+ size: 0
54801
+ }, end);
54802
+ return {
54803
+ value: new Uint32Array(value),
54804
+ size
54805
+ };
54806
+ };
54807
+
54808
+ Ints._readField = function (tag, obj, pbf) {
54809
+ if (tag === 1) pbf.readPackedVarint(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
54810
+ }; // NumericProp ========================================
54811
+
54812
+
54813
+ const NumericProp = {};
54814
+
54815
+ NumericProp.read = function (pbf, end) {
54816
+ return pbf.readFields(NumericProp._readField, {
54817
+ value: []
54818
+ }, end);
54819
+ };
54820
+
54821
+ NumericProp._readField = function (tag, obj, pbf) {
54822
+ if (tag === 1) pbf.readPackedDouble(obj.value);
54823
+ }; // NumericPropKeyValue ========================================
54824
+
54825
+
54826
+ const NumericPropKeyValue = {};
54827
+
54828
+ NumericPropKeyValue.read = function (pbf, end) {
54829
+ return pbf.readFields(NumericPropKeyValue._readField, {
54830
+ key: '',
54831
+ value: null
54832
+ }, end);
54833
+ };
54834
+
54835
+ NumericPropKeyValue._readField = function (tag, obj, pbf) {
54836
+ if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = NumericProp.read(pbf, pbf.readVarint() + pbf.pos);
54837
+ }; // NumericProp._FieldEntry1 ========================================
54838
+
54839
+
54840
+ NumericProp._FieldEntry1 = {};
54841
+
54842
+ NumericProp._FieldEntry1.read = function (pbf, end) {
54843
+ return pbf.readFields(NumericProp._FieldEntry1._readField, {
54844
+ key: '',
54845
+ value: 0
54846
+ }, end);
54847
+ };
54848
+
54849
+ NumericProp._FieldEntry1._readField = function (tag, obj, pbf) {
54850
+ if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readDouble();
54851
+ }; // StringProp ========================================
54852
+
54853
+
54854
+ const StringProp = {};
54855
+
54856
+ StringProp.read = function (pbf, end) {
54857
+ return pbf.readFields(StringProp._readField, {
54858
+ value: []
54859
+ }, end);
54860
+ };
54861
+
54862
+ StringProp._readField = function (tag, obj, pbf) {
54863
+ if (tag === 1) obj.value.push(pbf.readString());
54864
+ }; // Points ========================================
54865
+
54866
+
54867
+ const Points = {};
54868
+
54869
+ Points.read = function (pbf, end) {
54870
+ return pbf.readFields(Points._readField, {
54871
+ positions: null,
54872
+ globalFeatureIds: null,
54873
+ featureIds: null,
54874
+ properties: [],
54875
+ numericProps: {}
54876
+ }, end);
54877
+ };
54878
+
54879
+ Points._readField = function (tag, obj, pbf) {
54880
+ if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 5) {
54881
+ const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);
54882
+ obj.numericProps[entry.key] = entry.value;
54883
+ }
54884
+ }; // Lines ========================================
54885
+
54886
+
54887
+ const Lines = {};
54888
+
54889
+ Lines.read = function (pbf, end) {
54890
+ return pbf.readFields(Lines._readField, {
54891
+ positions: null,
54892
+ pathIndices: null,
54893
+ globalFeatureIds: null,
54894
+ featureIds: null,
54895
+ properties: [],
54896
+ numericProps: {}
54897
+ }, end);
54898
+ };
54899
+
54900
+ Lines._readField = function (tag, obj, pbf) {
54901
+ if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.pathIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 6) {
54902
+ const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);
54903
+ obj.numericProps[entry.key] = entry.value;
54904
+ }
54905
+ }; // Polygons ========================================
54906
+
54907
+
54908
+ const Polygons = {};
54909
+
54910
+ Polygons.read = function (pbf, end) {
54911
+ return pbf.readFields(Polygons._readField, {
54912
+ positions: null,
54913
+ polygonIndices: null,
54914
+ globalFeatureIds: null,
54915
+ featureIds: null,
54916
+ primitivePolygonIndices: null,
54917
+ triangles: null,
54918
+ properties: [],
54919
+ numericProps: {}
54920
+ }, end);
54921
+ };
54922
+
54923
+ Polygons._readField = function (tag, obj, pbf) {
54924
+ if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.polygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.primitivePolygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 6) obj.triangles = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 7) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 8) {
54925
+ const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);
54926
+ obj.numericProps[entry.key] = entry.value;
54927
+ }
54928
+ }; // Tile ========================================
54929
+
54930
+
54931
+ const Tile = {};
54932
+
54933
+ Tile.read = function (pbf, end) {
54934
+ return pbf.readFields(Tile._readField, {
54935
+ points: null,
54936
+ lines: null,
54937
+ polygons: null
54938
+ }, end);
54939
+ };
54940
+
54941
+ Tile._readField = function (tag, obj, pbf) {
54942
+ if (tag === 1) obj.points = Points.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.lines = Lines.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.polygons = Polygons.read(pbf, pbf.readVarint() + pbf.pos);
54943
+ };
54944
+
54945
+ /***/ }),
54946
+
54947
+ /***/ "./src/style/color-bins-style.ts":
53838
54948
  /*!***************************************!*\
53839
- !*** ./src/style/color-bins-style.js ***!
54949
+ !*** ./src/style/color-bins-style.ts ***!
53840
54950
  \***************************************/
53841
54951
  /*! exports provided: default */
53842
54952
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -53845,8 +54955,8 @@ CartoLayer.defaultProps = defaultProps;
53845
54955
  __webpack_require__.r(__webpack_exports__);
53846
54956
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return colorBins; });
53847
54957
  /* harmony import */ var d3_scale__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-scale */ "../../node_modules/d3-scale/src/index.js");
53848
- /* harmony import */ var _palette__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./palette */ "./src/style/palette.js");
53849
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./src/style/utils.js");
54958
+ /* harmony import */ var _palette__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./palette */ "./src/style/palette.ts");
54959
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./src/style/utils.ts");
53850
54960
 
53851
54961
 
53852
54962
 
@@ -53861,15 +54971,15 @@ function colorBins({
53861
54971
  const color = Object(d3_scale__WEBPACK_IMPORTED_MODULE_0__["scaleThreshold"])().domain(domain).range(palette);
53862
54972
  return d => {
53863
54973
  const value = Object(_utils__WEBPACK_IMPORTED_MODULE_2__["getAttrValue"])(attr, d);
53864
- return Number.isFinite(value) ? color(value) : nullColor;
54974
+ return typeof value === 'number' && Number.isFinite(value) ? color(value) : nullColor;
53865
54975
  };
53866
54976
  }
53867
54977
 
53868
54978
  /***/ }),
53869
54979
 
53870
- /***/ "./src/style/color-categories-style.js":
54980
+ /***/ "./src/style/color-categories-style.ts":
53871
54981
  /*!*********************************************!*\
53872
- !*** ./src/style/color-categories-style.js ***!
54982
+ !*** ./src/style/color-categories-style.ts ***!
53873
54983
  \*********************************************/
53874
54984
  /*! exports provided: default */
53875
54985
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -53877,8 +54987,8 @@ function colorBins({
53877
54987
  "use strict";
53878
54988
  __webpack_require__.r(__webpack_exports__);
53879
54989
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return colorCategories; });
53880
- /* harmony import */ var _palette__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./palette */ "./src/style/palette.js");
53881
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/style/utils.js");
54990
+ /* harmony import */ var _palette__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./palette */ "./src/style/palette.ts");
54991
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/style/utils.ts");
53882
54992
 
53883
54993
 
53884
54994
  function colorCategories({
@@ -53898,15 +55008,15 @@ function colorCategories({
53898
55008
 
53899
55009
  return d => {
53900
55010
  const value = Object(_utils__WEBPACK_IMPORTED_MODULE_1__["getAttrValue"])(attr, d);
53901
- return Number.isFinite(value) || typeof value === 'string' ? colorsByCategory[value] || othersColor : nullColor;
55011
+ return typeof value === 'number' && Number.isFinite(value) || typeof value === 'string' ? colorsByCategory[value] || othersColor : nullColor;
53902
55012
  };
53903
55013
  }
53904
55014
 
53905
55015
  /***/ }),
53906
55016
 
53907
- /***/ "./src/style/color-continuous-style.js":
55017
+ /***/ "./src/style/color-continuous-style.ts":
53908
55018
  /*!*********************************************!*\
53909
- !*** ./src/style/color-continuous-style.js ***!
55019
+ !*** ./src/style/color-continuous-style.ts ***!
53910
55020
  \*********************************************/
53911
55021
  /*! exports provided: default */
53912
55022
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -53915,8 +55025,8 @@ function colorCategories({
53915
55025
  __webpack_require__.r(__webpack_exports__);
53916
55026
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return colorContinuous; });
53917
55027
  /* harmony import */ var d3_scale__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! d3-scale */ "../../node_modules/d3-scale/src/index.js");
53918
- /* harmony import */ var _palette__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./palette */ "./src/style/palette.js");
53919
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./src/style/utils.js");
55028
+ /* harmony import */ var _palette__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./palette */ "./src/style/palette.ts");
55029
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./src/style/utils.ts");
53920
55030
 
53921
55031
 
53922
55032
 
@@ -53931,15 +55041,15 @@ function colorContinuous({
53931
55041
  const color = Object(d3_scale__WEBPACK_IMPORTED_MODULE_0__["scaleLinear"])().domain(domain).range(palette);
53932
55042
  return d => {
53933
55043
  const value = Object(_utils__WEBPACK_IMPORTED_MODULE_2__["getAttrValue"])(attr, d);
53934
- return Number.isFinite(value) ? color(value) : nullColor;
55044
+ return typeof value === 'number' && Number.isFinite(value) ? color(value) : nullColor;
53935
55045
  };
53936
55046
  }
53937
55047
 
53938
55048
  /***/ }),
53939
55049
 
53940
- /***/ "./src/style/palette.js":
55050
+ /***/ "./src/style/palette.ts":
53941
55051
  /*!******************************!*\
53942
- !*** ./src/style/palette.js ***!
55052
+ !*** ./src/style/palette.ts ***!
53943
55053
  \******************************/
53944
55054
  /*! exports provided: DEFAULT_PALETTE, NULL_COLOR, OTHERS_COLOR, default, hexToRgb */
53945
55055
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -53953,7 +55063,7 @@ __webpack_require__.r(__webpack_exports__);
53953
55063
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hexToRgb", function() { return hexToRgb; });
53954
55064
  /* harmony import */ var cartocolor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! cartocolor */ "../../node_modules/cartocolor/index.js");
53955
55065
  /* harmony import */ var cartocolor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cartocolor__WEBPACK_IMPORTED_MODULE_0__);
53956
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/style/utils.js");
55066
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/style/utils.ts");
53957
55067
 
53958
55068
 
53959
55069
  const DEFAULT_PALETTE = 'PurpOr';
@@ -54005,20 +55115,15 @@ function hexToRgb(hex) {
54005
55115
 
54006
55116
 
54007
55117
  result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
54008
-
54009
- if (result) {
54010
- return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16), parseInt(result[4], 16)];
54011
- }
54012
-
54013
55118
  Object(_utils__WEBPACK_IMPORTED_MODULE_1__["assert"])(result, `Hexadecimal color "${hex}" was not parsed correctly`);
54014
- return NULL_COLOR;
55119
+ return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16), parseInt(result[4], 16)];
54015
55120
  }
54016
55121
 
54017
55122
  /***/ }),
54018
55123
 
54019
- /***/ "./src/style/utils.js":
55124
+ /***/ "./src/style/utils.ts":
54020
55125
  /*!****************************!*\
54021
- !*** ./src/style/utils.js ***!
55126
+ !*** ./src/style/utils.ts ***!
54022
55127
  \****************************/
54023
55128
  /*! exports provided: getAttrValue, assert */
54024
55129
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -54032,16 +55137,11 @@ function getAttrValue(attr, d) {
54032
55137
  assert(typeof d === 'object', 'Expected "data" to be an object');
54033
55138
  assert(ALLOWED_ATTR_TYPES.includes(typeof attr), 'Expected "attr" to be a function or string'); // Is function
54034
55139
 
54035
- if (typeof attr === ALLOWED_ATTR_TYPES[0]) {
55140
+ if (typeof attr === 'function') {
54036
55141
  return attr(d);
54037
- } // Is string
54038
-
54039
-
54040
- if (typeof attr === ALLOWED_ATTR_TYPES[1]) {
54041
- return d.properties[attr];
54042
55142
  }
54043
55143
 
54044
- return {};
55144
+ return d.properties[attr];
54045
55145
  }
54046
55146
  function assert(condition, message = '') {
54047
55147
  if (!condition) {
@@ -54051,6 +55151,25 @@ function assert(condition, message = '') {
54051
55151
 
54052
55152
  /***/ }),
54053
55153
 
55154
+ /***/ "./src/utils.ts":
55155
+ /*!**********************!*\
55156
+ !*** ./src/utils.ts ***!
55157
+ \**********************/
55158
+ /*! exports provided: assert */
55159
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
55160
+
55161
+ "use strict";
55162
+ __webpack_require__.r(__webpack_exports__);
55163
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "assert", function() { return assert; });
55164
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
55165
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
55166
+
55167
+ function assert(condition, message) {
55168
+ _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["log"].assert(condition, message);
55169
+ }
55170
+
55171
+ /***/ }),
55172
+
54054
55173
  /***/ "@deck.gl/core":
54055
55174
  /*!***********************!*\
54056
55175
  !*** external "deck" ***!