@deck.gl/carto 8.6.0 → 8.6.4

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 (51) hide show
  1. package/dist/dist.dev.js +85 -20
  2. package/dist/es5/api/index.js +13 -7
  3. package/dist/es5/api/index.js.map +1 -1
  4. package/dist/es5/api/maps-api-common.js +11 -6
  5. package/dist/es5/api/maps-api-common.js.map +1 -1
  6. package/dist/es5/api/maps-client.js +98 -151
  7. package/dist/es5/api/maps-client.js.map +1 -1
  8. package/dist/es5/api/maps-v3-client.js +206 -253
  9. package/dist/es5/api/maps-v3-client.js.map +1 -1
  10. package/dist/es5/basemap.js +1 -1
  11. package/dist/es5/basemap.js.map +1 -1
  12. package/dist/es5/config.js +25 -25
  13. package/dist/es5/config.js.map +1 -1
  14. package/dist/es5/index.js +21 -15
  15. package/dist/es5/index.js.map +1 -1
  16. package/dist/es5/layers/carto-bqtiler-layer.js +6 -39
  17. package/dist/es5/layers/carto-bqtiler-layer.js.map +1 -1
  18. package/dist/es5/layers/carto-layer.js +132 -211
  19. package/dist/es5/layers/carto-layer.js.map +1 -1
  20. package/dist/es5/layers/carto-sql-layer.js +6 -39
  21. package/dist/es5/layers/carto-sql-layer.js.map +1 -1
  22. package/dist/es5/style/color-bins-style.js +10 -11
  23. package/dist/es5/style/color-bins-style.js.map +1 -1
  24. package/dist/es5/style/color-categories-style.js +13 -38
  25. package/dist/es5/style/color-categories-style.js.map +1 -1
  26. package/dist/es5/style/color-continuous-style.js +10 -11
  27. package/dist/es5/style/color-continuous-style.js.map +1 -1
  28. package/dist/es5/style/palette.js +11 -19
  29. package/dist/es5/style/palette.js.map +1 -1
  30. package/dist/es5/style/utils.js +6 -13
  31. package/dist/es5/style/utils.js.map +1 -1
  32. package/dist/esm/api/index.js +1 -1
  33. package/dist/esm/api/index.js.map +1 -1
  34. package/dist/esm/api/maps-api-common.js +4 -0
  35. package/dist/esm/api/maps-api-common.js.map +1 -1
  36. package/dist/esm/api/maps-client.js +11 -6
  37. package/dist/esm/api/maps-client.js.map +1 -1
  38. package/dist/esm/api/maps-v3-client.js +70 -16
  39. package/dist/esm/api/maps-v3-client.js.map +1 -1
  40. package/dist/esm/config.js +4 -4
  41. package/dist/esm/config.js.map +1 -1
  42. package/dist/esm/index.js +1 -1
  43. package/dist/esm/index.js.map +1 -1
  44. package/dist.min.js +1 -1
  45. package/package.json +2 -2
  46. package/src/api/index.js +1 -1
  47. package/src/api/maps-api-common.js +5 -0
  48. package/src/api/maps-client.js +16 -3
  49. package/src/api/maps-v3-client.js +52 -11
  50. package/src/config.js +4 -4
  51. package/src/index.js +1 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/style/color-categories-style.js"],"names":["colorCategories","attr","domain","colors","DEFAULT_PALETTE","nullColor","NULL_COLOR","othersColor","OTHERS_COLOR","Array","isArray","colorsByCategory","palette","length","entries","i","c","d","value","Number","isFinite"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;;;;;;;AAEe,SAASA,eAAT,OAMZ;AAAA,MALDC,IAKC,QALDA,IAKC;AAAA,MAJDC,MAIC,QAJDA,MAIC;AAAA,yBAHDC,MAGC;AAAA,MAHDA,MAGC,4BAHQC,wBAGR;AAAA,4BAFDC,SAEC;AAAA,MAFDA,SAEC,+BAFWC,mBAEX;AAAA,8BADDC,WACC;AAAA,MADDA,WACC,iCADaC,qBACb;AACD,qBAAOC,KAAK,CAACC,OAAN,CAAcR,MAAd,CAAP,EAA8B,wDAA9B;AAEA,MAAMS,gBAAgB,GAAG,EAAzB;AACA,MAAMC,OAAO,GAAG,OAAOT,MAAP,KAAkB,QAAlB,GAA6B,sBAAWA,MAAX,EAAmBD,MAAM,CAACW,MAA1B,CAA7B,GAAiEV,MAAjF;;AAJC,6CAMoBD,MAAM,CAACY,OAAP,EANpB;AAAA;;AAAA;AAMD,wDAAuC;AAAA;AAAA,UAA3BC,CAA2B;AAAA,UAAxBC,CAAwB;;AACrCL,MAAAA,gBAAgB,CAACK,CAAD,CAAhB,GAAsBJ,OAAO,CAACG,CAAD,CAA7B;AACD;AARA;AAAA;AAAA;AAAA;AAAA;;AAUD,SAAO,UAAAE,CAAC,EAAI;AACV,QAAMC,KAAK,GAAG,yBAAajB,IAAb,EAAmBgB,CAAnB,CAAd;AACA,WAAOE,MAAM,CAACC,QAAP,CAAgBF,KAAhB,KAA0B,OAAOA,KAAP,KAAiB,QAA3C,GACHP,gBAAgB,CAACO,KAAD,CAAhB,IAA2BX,WADxB,GAEHF,SAFJ;AAGD,GALD;AAMD","sourcesContent":["import getPalette, {DEFAULT_PALETTE, NULL_COLOR, OTHERS_COLOR} from './palette';\nimport {assert, getAttrValue} from './utils';\n\nexport default function colorCategories({\n attr,\n domain,\n colors = DEFAULT_PALETTE,\n nullColor = NULL_COLOR,\n othersColor = OTHERS_COLOR\n}) {\n assert(Array.isArray(domain), 'Expected \"domain\" to be an array of numbers or strings');\n\n const colorsByCategory = {};\n const palette = typeof colors === 'string' ? getPalette(colors, domain.length) : colors;\n\n for (const [i, c] of domain.entries()) {\n colorsByCategory[c] = palette[i];\n }\n\n return d => {\n const value = getAttrValue(attr, d);\n return Number.isFinite(value) || typeof value === 'string'\n ? colorsByCategory[value] || othersColor\n : nullColor;\n };\n}\n"],"file":"color-categories-style.js"}
1
+ {"version":3,"sources":["../../../src/style/color-categories-style.js"],"names":["colorCategories","attr","domain","colors","DEFAULT_PALETTE","nullColor","NULL_COLOR","othersColor","OTHERS_COLOR","Array","isArray","colorsByCategory","palette","length","i","c","entries","d","value","Number","isFinite"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEe,SAASA,eAAT,CAAyB;AACtCC,EAAAA,IADsC;AAEtCC,EAAAA,MAFsC;AAGtCC,EAAAA,MAAM,GAAGC,wBAH6B;AAItCC,EAAAA,SAAS,GAAGC,mBAJ0B;AAKtCC,EAAAA,WAAW,GAAGC;AALwB,CAAzB,EAMZ;AACD,qBAAOC,KAAK,CAACC,OAAN,CAAcR,MAAd,CAAP,EAA8B,wDAA9B;AAEA,QAAMS,gBAAgB,GAAG,EAAzB;AACA,QAAMC,OAAO,GAAG,OAAOT,MAAP,KAAkB,QAAlB,GAA6B,sBAAWA,MAAX,EAAmBD,MAAM,CAACW,MAA1B,CAA7B,GAAiEV,MAAjF;;AAEA,OAAK,MAAM,CAACW,CAAD,EAAIC,CAAJ,CAAX,IAAqBb,MAAM,CAACc,OAAP,EAArB,EAAuC;AACrCL,IAAAA,gBAAgB,CAACI,CAAD,CAAhB,GAAsBH,OAAO,CAACE,CAAD,CAA7B;AACD;;AAED,SAAOG,CAAC,IAAI;AACV,UAAMC,KAAK,GAAG,yBAAajB,IAAb,EAAmBgB,CAAnB,CAAd;AACA,WAAOE,MAAM,CAACC,QAAP,CAAgBF,KAAhB,KAA0B,OAAOA,KAAP,KAAiB,QAA3C,GACHP,gBAAgB,CAACO,KAAD,CAAhB,IAA2BX,WADxB,GAEHF,SAFJ;AAGD,GALD;AAMD","sourcesContent":["import getPalette, {DEFAULT_PALETTE, NULL_COLOR, OTHERS_COLOR} from './palette';\nimport {assert, getAttrValue} from './utils';\n\nexport default function colorCategories({\n attr,\n domain,\n colors = DEFAULT_PALETTE,\n nullColor = NULL_COLOR,\n othersColor = OTHERS_COLOR\n}) {\n assert(Array.isArray(domain), 'Expected \"domain\" to be an array of numbers or strings');\n\n const colorsByCategory = {};\n const palette = typeof colors === 'string' ? getPalette(colors, domain.length) : colors;\n\n for (const [i, c] of domain.entries()) {\n colorsByCategory[c] = palette[i];\n }\n\n return d => {\n const value = getAttrValue(attr, d);\n return Number.isFinite(value) || typeof value === 'string'\n ? colorsByCategory[value] || othersColor\n : nullColor;\n };\n}\n"],"file":"color-categories-style.js"}
@@ -13,18 +13,17 @@ var _palette = _interopRequireWildcard(require("./palette"));
13
13
 
14
14
  var _utils = require("./utils");
15
15
 
16
- function colorContinuous(_ref) {
17
- var attr = _ref.attr,
18
- domain = _ref.domain,
19
- _ref$colors = _ref.colors,
20
- colors = _ref$colors === void 0 ? _palette.DEFAULT_PALETTE : _ref$colors,
21
- _ref$nullColor = _ref.nullColor,
22
- nullColor = _ref$nullColor === void 0 ? _palette.NULL_COLOR : _ref$nullColor;
16
+ function colorContinuous({
17
+ attr,
18
+ domain,
19
+ colors = _palette.DEFAULT_PALETTE,
20
+ nullColor = _palette.NULL_COLOR
21
+ }) {
23
22
  (0, _utils.assert)(Array.isArray(domain), 'Expected "domain" to be an array of numbers');
24
- var palette = typeof colors === 'string' ? (0, _palette.default)(colors) : colors;
25
- var color = (0, _d3Scale.scaleLinear)().domain(domain).range(palette);
26
- return function (d) {
27
- var value = (0, _utils.getAttrValue)(attr, d);
23
+ const palette = typeof colors === 'string' ? (0, _palette.default)(colors) : colors;
24
+ const color = (0, _d3Scale.scaleLinear)().domain(domain).range(palette);
25
+ return d => {
26
+ const value = (0, _utils.getAttrValue)(attr, d);
28
27
  return Number.isFinite(value) ? color(value) : nullColor;
29
28
  };
30
29
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/style/color-continuous-style.js"],"names":["colorContinuous","attr","domain","colors","DEFAULT_PALETTE","nullColor","NULL_COLOR","Array","isArray","palette","color","range","d","value","Number","isFinite"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEe,SAASA,eAAT,OAKZ;AAAA,MAJDC,IAIC,QAJDA,IAIC;AAAA,MAHDC,MAGC,QAHDA,MAGC;AAAA,yBAFDC,MAEC;AAAA,MAFDA,MAEC,4BAFQC,wBAER;AAAA,4BADDC,SACC;AAAA,MADDA,SACC,+BADWC,mBACX;AACD,qBAAOC,KAAK,CAACC,OAAN,CAAcN,MAAd,CAAP,EAA8B,6CAA9B;AAEA,MAAMO,OAAO,GAAG,OAAON,MAAP,KAAkB,QAAlB,GAA6B,sBAAWA,MAAX,CAA7B,GAAkDA,MAAlE;AACA,MAAMO,KAAK,GAAG,4BACXR,MADW,CACJA,MADI,EAEXS,KAFW,CAELF,OAFK,CAAd;AAIA,SAAO,UAAAG,CAAC,EAAI;AACV,QAAMC,KAAK,GAAG,yBAAaZ,IAAb,EAAmBW,CAAnB,CAAd;AACA,WAAOE,MAAM,CAACC,QAAP,CAAgBF,KAAhB,IAAyBH,KAAK,CAACG,KAAD,CAA9B,GAAwCR,SAA/C;AACD,GAHD;AAID","sourcesContent":["import {scaleLinear} from 'd3-scale';\nimport getPalette, {DEFAULT_PALETTE, NULL_COLOR} from './palette';\nimport {assert, getAttrValue} from './utils';\n\nexport default function colorContinuous({\n attr,\n domain,\n colors = DEFAULT_PALETTE,\n nullColor = NULL_COLOR\n}) {\n assert(Array.isArray(domain), 'Expected \"domain\" to be an array of numbers');\n\n const palette = typeof colors === 'string' ? getPalette(colors) : colors;\n const color = scaleLinear()\n .domain(domain)\n .range(palette);\n\n return d => {\n const value = getAttrValue(attr, d);\n return Number.isFinite(value) ? color(value) : nullColor;\n };\n}\n"],"file":"color-continuous-style.js"}
1
+ {"version":3,"sources":["../../../src/style/color-continuous-style.js"],"names":["colorContinuous","attr","domain","colors","DEFAULT_PALETTE","nullColor","NULL_COLOR","Array","isArray","palette","color","range","d","value","Number","isFinite"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEe,SAASA,eAAT,CAAyB;AACtCC,EAAAA,IADsC;AAEtCC,EAAAA,MAFsC;AAGtCC,EAAAA,MAAM,GAAGC,wBAH6B;AAItCC,EAAAA,SAAS,GAAGC;AAJ0B,CAAzB,EAKZ;AACD,qBAAOC,KAAK,CAACC,OAAN,CAAcN,MAAd,CAAP,EAA8B,6CAA9B;AAEA,QAAMO,OAAO,GAAG,OAAON,MAAP,KAAkB,QAAlB,GAA6B,sBAAWA,MAAX,CAA7B,GAAkDA,MAAlE;AACA,QAAMO,KAAK,GAAG,4BACXR,MADW,CACJA,MADI,EAEXS,KAFW,CAELF,OAFK,CAAd;AAIA,SAAOG,CAAC,IAAI;AACV,UAAMC,KAAK,GAAG,yBAAaZ,IAAb,EAAmBW,CAAnB,CAAd;AACA,WAAOE,MAAM,CAACC,QAAP,CAAgBF,KAAhB,IAAyBH,KAAK,CAACG,KAAD,CAA9B,GAAwCR,SAA/C;AACD,GAHD;AAID","sourcesContent":["import {scaleLinear} from 'd3-scale';\nimport getPalette, {DEFAULT_PALETTE, NULL_COLOR} from './palette';\nimport {assert, getAttrValue} from './utils';\n\nexport default function colorContinuous({\n attr,\n domain,\n colors = DEFAULT_PALETTE,\n nullColor = NULL_COLOR\n}) {\n assert(Array.isArray(domain), 'Expected \"domain\" to be an array of numbers');\n\n const palette = typeof colors === 'string' ? getPalette(colors) : colors;\n const color = scaleLinear()\n .domain(domain)\n .range(palette);\n\n return d => {\n const value = getAttrValue(attr, d);\n return Number.isFinite(value) ? color(value) : nullColor;\n };\n}\n"],"file":"color-continuous-style.js"}
@@ -2,8 +2,6 @@
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
4
 
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -11,28 +9,24 @@ exports.default = getPalette;
11
9
  exports.hexToRgb = hexToRgb;
12
10
  exports.OTHERS_COLOR = exports.NULL_COLOR = exports.DEFAULT_PALETTE = void 0;
13
11
 
14
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
-
16
12
  var cartoColors = _interopRequireWildcard(require("cartocolor"));
17
13
 
18
14
  var _utils = require("./utils");
19
15
 
20
- var DEFAULT_PALETTE = 'PurpOr';
16
+ const DEFAULT_PALETTE = 'PurpOr';
21
17
  exports.DEFAULT_PALETTE = DEFAULT_PALETTE;
22
- var NULL_COLOR = [204, 204, 204];
18
+ const NULL_COLOR = [204, 204, 204];
23
19
  exports.NULL_COLOR = NULL_COLOR;
24
- var OTHERS_COLOR = [119, 119, 119];
20
+ const OTHERS_COLOR = [119, 119, 119];
25
21
  exports.OTHERS_COLOR = OTHERS_COLOR;
26
22
 
27
23
  function getPalette(name, numCategories) {
28
- var palette = cartoColors[name];
29
- var paletteIndex = numCategories;
24
+ const palette = cartoColors[name];
25
+ let paletteIndex = numCategories;
30
26
  (0, _utils.assert)(palette, "Palette \"".concat(name, "\" not found. Expected a CARTOColors string"));
31
- var palettesColorVariants = Object.keys(palette).filter(function (p) {
32
- return p !== 'tags';
33
- }).map(Number);
34
- var longestPaletteIndex = Math.max.apply(Math, (0, _toConsumableArray2.default)(palettesColorVariants));
35
- var smallestPaletteIndex = Math.min.apply(Math, (0, _toConsumableArray2.default)(palettesColorVariants));
27
+ const palettesColorVariants = Object.keys(palette).filter(p => p !== 'tags').map(Number);
28
+ const longestPaletteIndex = Math.max(...palettesColorVariants);
29
+ const smallestPaletteIndex = Math.min(...palettesColorVariants);
36
30
 
37
31
  if (!Number.isInteger(numCategories) || numCategories > longestPaletteIndex) {
38
32
  paletteIndex = longestPaletteIndex;
@@ -40,19 +34,17 @@ function getPalette(name, numCategories) {
40
34
  paletteIndex = smallestPaletteIndex;
41
35
  }
42
36
 
43
- var colors = palette[paletteIndex];
37
+ let colors = palette[paletteIndex];
44
38
 
45
39
  if (palette.tags && palette.tags.includes('qualitative')) {
46
40
  colors = colors.slice(0, -1);
47
41
  }
48
42
 
49
- return colors.map(function (c) {
50
- return hexToRgb(c);
51
- });
43
+ return colors.map(c => hexToRgb(c));
52
44
  }
53
45
 
54
46
  function hexToRgb(hex) {
55
- var result = /^#?([a-f\d]{1})([a-f\d]{1})([a-f\d]{1})$/i.exec(hex);
47
+ let result = /^#?([a-f\d]{1})([a-f\d]{1})([a-f\d]{1})$/i.exec(hex);
56
48
 
57
49
  if (result) {
58
50
  return [parseInt(result[1] + result[1], 16), parseInt(result[2] + result[2], 16), parseInt(result[3] + result[3], 16), 255];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/style/palette.js"],"names":["DEFAULT_PALETTE","NULL_COLOR","OTHERS_COLOR","getPalette","name","numCategories","palette","cartoColors","paletteIndex","palettesColorVariants","Object","keys","filter","p","map","Number","longestPaletteIndex","Math","max","smallestPaletteIndex","min","isInteger","colors","tags","includes","slice","c","hexToRgb","hex","result","exec","parseInt"],"mappings":"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","sourcesContent":["import * as cartoColors from 'cartocolor';\nimport {assert} from './utils';\n\nexport const DEFAULT_PALETTE = 'PurpOr';\nexport const NULL_COLOR = [204, 204, 204];\nexport const OTHERS_COLOR = [119, 119, 119];\n\nexport default function getPalette(name, numCategories) {\n const palette = cartoColors[name];\n let paletteIndex = numCategories;\n\n assert(palette, `Palette \"${name}\" not found. Expected a CARTOColors string`);\n\n const palettesColorVariants = Object.keys(palette)\n .filter(p => p !== 'tags')\n .map(Number);\n\n const longestPaletteIndex = Math.max(...palettesColorVariants);\n const smallestPaletteIndex = Math.min(...palettesColorVariants);\n\n if (!Number.isInteger(numCategories) || numCategories > longestPaletteIndex) {\n paletteIndex = longestPaletteIndex;\n } else if (numCategories < smallestPaletteIndex) {\n paletteIndex = smallestPaletteIndex;\n }\n\n let colors = palette[paletteIndex];\n\n if (palette.tags && palette.tags.includes('qualitative')) {\n colors = colors.slice(0, -1);\n }\n\n return colors.map(c => hexToRgb(c));\n}\n\nexport function hexToRgb(hex) {\n // Evaluate #ABC\n let result = /^#?([a-f\\d]{1})([a-f\\d]{1})([a-f\\d]{1})$/i.exec(hex);\n\n if (result) {\n return [\n parseInt(result[1] + result[1], 16),\n parseInt(result[2] + result[2], 16),\n parseInt(result[3] + result[3], 16),\n 255\n ];\n }\n\n // Evaluate #ABCD\n result = /^#?([a-f\\d]{1})([a-f\\d]{1})([a-f\\d]{1})([a-f\\d]{1})$/i.exec(hex);\n\n if (result) {\n return [\n parseInt(result[1] + result[1], 16),\n parseInt(result[2] + result[2], 16),\n parseInt(result[3] + result[3], 16),\n parseInt(result[4] + result[4], 16)\n ];\n }\n\n // Evaluate #ABCDEF\n result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\n if (result) {\n return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16), 255];\n }\n\n // Evaluate #ABCDEFAF\n result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\n if (result) {\n return [\n parseInt(result[1], 16),\n parseInt(result[2], 16),\n parseInt(result[3], 16),\n parseInt(result[4], 16)\n ];\n }\n\n assert(result, `Hexadecimal color \"${hex}\" was not parsed correctly`);\n\n return NULL_COLOR;\n}\n"],"file":"palette.js"}
1
+ {"version":3,"sources":["../../../src/style/palette.js"],"names":["DEFAULT_PALETTE","NULL_COLOR","OTHERS_COLOR","getPalette","name","numCategories","palette","cartoColors","paletteIndex","palettesColorVariants","Object","keys","filter","p","map","Number","longestPaletteIndex","Math","max","smallestPaletteIndex","min","isInteger","colors","tags","includes","slice","c","hexToRgb","hex","result","exec","parseInt"],"mappings":"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","sourcesContent":["import * as cartoColors from 'cartocolor';\nimport {assert} from './utils';\n\nexport const DEFAULT_PALETTE = 'PurpOr';\nexport const NULL_COLOR = [204, 204, 204];\nexport const OTHERS_COLOR = [119, 119, 119];\n\nexport default function getPalette(name, numCategories) {\n const palette = cartoColors[name];\n let paletteIndex = numCategories;\n\n assert(palette, `Palette \"${name}\" not found. Expected a CARTOColors string`);\n\n const palettesColorVariants = Object.keys(palette)\n .filter(p => p !== 'tags')\n .map(Number);\n\n const longestPaletteIndex = Math.max(...palettesColorVariants);\n const smallestPaletteIndex = Math.min(...palettesColorVariants);\n\n if (!Number.isInteger(numCategories) || numCategories > longestPaletteIndex) {\n paletteIndex = longestPaletteIndex;\n } else if (numCategories < smallestPaletteIndex) {\n paletteIndex = smallestPaletteIndex;\n }\n\n let colors = palette[paletteIndex];\n\n if (palette.tags && palette.tags.includes('qualitative')) {\n colors = colors.slice(0, -1);\n }\n\n return colors.map(c => hexToRgb(c));\n}\n\nexport function hexToRgb(hex) {\n // Evaluate #ABC\n let result = /^#?([a-f\\d]{1})([a-f\\d]{1})([a-f\\d]{1})$/i.exec(hex);\n\n if (result) {\n return [\n parseInt(result[1] + result[1], 16),\n parseInt(result[2] + result[2], 16),\n parseInt(result[3] + result[3], 16),\n 255\n ];\n }\n\n // Evaluate #ABCD\n result = /^#?([a-f\\d]{1})([a-f\\d]{1})([a-f\\d]{1})([a-f\\d]{1})$/i.exec(hex);\n\n if (result) {\n return [\n parseInt(result[1] + result[1], 16),\n parseInt(result[2] + result[2], 16),\n parseInt(result[3] + result[3], 16),\n parseInt(result[4] + result[4], 16)\n ];\n }\n\n // Evaluate #ABCDEF\n result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\n if (result) {\n return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16), 255];\n }\n\n // Evaluate #ABCDEFAF\n result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\n if (result) {\n return [\n parseInt(result[1], 16),\n parseInt(result[2], 16),\n parseInt(result[3], 16),\n parseInt(result[4], 16)\n ];\n }\n\n assert(result, `Hexadecimal color \"${hex}\" was not parsed correctly`);\n\n return NULL_COLOR;\n}\n"],"file":"palette.js"}
@@ -1,35 +1,28 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.getAttrValue = getAttrValue;
9
7
  exports.assert = assert;
10
-
11
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
12
-
13
- var ALLOWED_ATTR_TYPES = Object.freeze(['function', 'string']);
8
+ const ALLOWED_ATTR_TYPES = Object.freeze(['function', 'string']);
14
9
 
15
10
  function getAttrValue(attr, d) {
16
- assert((0, _typeof2.default)(d) === 'object', 'Expected "data" to be an object');
17
- assert(ALLOWED_ATTR_TYPES.includes((0, _typeof2.default)(attr)), 'Expected "attr" to be a function or string');
11
+ assert(typeof d === 'object', 'Expected "data" to be an object');
12
+ assert(ALLOWED_ATTR_TYPES.includes(typeof attr), 'Expected "attr" to be a function or string');
18
13
 
19
- if ((0, _typeof2.default)(attr) === ALLOWED_ATTR_TYPES[0]) {
14
+ if (typeof attr === ALLOWED_ATTR_TYPES[0]) {
20
15
  return attr(d);
21
16
  }
22
17
 
23
- if ((0, _typeof2.default)(attr) === ALLOWED_ATTR_TYPES[1]) {
18
+ if (typeof attr === ALLOWED_ATTR_TYPES[1]) {
24
19
  return d.properties[attr];
25
20
  }
26
21
 
27
22
  return {};
28
23
  }
29
24
 
30
- function assert(condition) {
31
- var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
32
-
25
+ function assert(condition, message = '') {
33
26
  if (!condition) {
34
27
  throw new Error("CARTO style error: ".concat(message));
35
28
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/style/utils.js"],"names":["ALLOWED_ATTR_TYPES","Object","freeze","getAttrValue","attr","d","assert","includes","properties","condition","message","Error"],"mappings":";;;;;;;;;;;;AAAA,IAAMA,kBAAkB,GAAGC,MAAM,CAACC,MAAP,CAAc,CAAC,UAAD,EAAa,QAAb,CAAd,CAA3B;;AAEO,SAASC,YAAT,CAAsBC,IAAtB,EAA4BC,CAA5B,EAA+B;AACpCC,EAAAA,MAAM,CAAC,sBAAOD,CAAP,MAAa,QAAd,EAAwB,iCAAxB,CAAN;AACAC,EAAAA,MAAM,CAACN,kBAAkB,CAACO,QAAnB,uBAAmCH,IAAnC,EAAD,EAA2C,4CAA3C,CAAN;;AAGA,MAAI,sBAAOA,IAAP,MAAgBJ,kBAAkB,CAAC,CAAD,CAAtC,EAA2C;AACzC,WAAOI,IAAI,CAACC,CAAD,CAAX;AACD;;AAGD,MAAI,sBAAOD,IAAP,MAAgBJ,kBAAkB,CAAC,CAAD,CAAtC,EAA2C;AACzC,WAAOK,CAAC,CAACG,UAAF,CAAaJ,IAAb,CAAP;AACD;;AAED,SAAO,EAAP;AACD;;AAEM,SAASE,MAAT,CAAgBG,SAAhB,EAAyC;AAAA,MAAdC,OAAc,uEAAJ,EAAI;;AAC9C,MAAI,CAACD,SAAL,EAAgB;AACd,UAAM,IAAIE,KAAJ,8BAAgCD,OAAhC,EAAN;AACD;AACF","sourcesContent":["const ALLOWED_ATTR_TYPES = Object.freeze(['function', 'string']);\n\nexport function getAttrValue(attr, d) {\n assert(typeof d === 'object', 'Expected \"data\" to be an object');\n assert(ALLOWED_ATTR_TYPES.includes(typeof attr), 'Expected \"attr\" to be a function or string');\n\n // Is function\n if (typeof attr === ALLOWED_ATTR_TYPES[0]) {\n return attr(d);\n }\n\n // Is string\n if (typeof attr === ALLOWED_ATTR_TYPES[1]) {\n return d.properties[attr];\n }\n\n return {};\n}\n\nexport function assert(condition, message = '') {\n if (!condition) {\n throw new Error(`CARTO style error: ${message}`);\n }\n}\n"],"file":"utils.js"}
1
+ {"version":3,"sources":["../../../src/style/utils.js"],"names":["ALLOWED_ATTR_TYPES","Object","freeze","getAttrValue","attr","d","assert","includes","properties","condition","message","Error"],"mappings":";;;;;;;AAAA,MAAMA,kBAAkB,GAAGC,MAAM,CAACC,MAAP,CAAc,CAAC,UAAD,EAAa,QAAb,CAAd,CAA3B;;AAEO,SAASC,YAAT,CAAsBC,IAAtB,EAA4BC,CAA5B,EAA+B;AACpCC,EAAAA,MAAM,CAAC,OAAOD,CAAP,KAAa,QAAd,EAAwB,iCAAxB,CAAN;AACAC,EAAAA,MAAM,CAACN,kBAAkB,CAACO,QAAnB,CAA4B,OAAOH,IAAnC,CAAD,EAA2C,4CAA3C,CAAN;;AAGA,MAAI,OAAOA,IAAP,KAAgBJ,kBAAkB,CAAC,CAAD,CAAtC,EAA2C;AACzC,WAAOI,IAAI,CAACC,CAAD,CAAX;AACD;;AAGD,MAAI,OAAOD,IAAP,KAAgBJ,kBAAkB,CAAC,CAAD,CAAtC,EAA2C;AACzC,WAAOK,CAAC,CAACG,UAAF,CAAaJ,IAAb,CAAP;AACD;;AAED,SAAO,EAAP;AACD;;AAEM,SAASE,MAAT,CAAgBG,SAAhB,EAA2BC,OAAO,GAAG,EAArC,EAAyC;AAC9C,MAAI,CAACD,SAAL,EAAgB;AACd,UAAM,IAAIE,KAAJ,8BAAgCD,OAAhC,EAAN;AACD;AACF","sourcesContent":["const ALLOWED_ATTR_TYPES = Object.freeze(['function', 'string']);\n\nexport function getAttrValue(attr, d) {\n assert(typeof d === 'object', 'Expected \"data\" to be an object');\n assert(ALLOWED_ATTR_TYPES.includes(typeof attr), 'Expected \"attr\" to be a function or string');\n\n // Is function\n if (typeof attr === ALLOWED_ATTR_TYPES[0]) {\n return attr(d);\n }\n\n // Is string\n if (typeof attr === ALLOWED_ATTR_TYPES[1]) {\n return d.properties[attr];\n }\n\n return {};\n}\n\nexport function assert(condition, message = '') {\n if (!condition) {\n throw new Error(`CARTO style error: ${message}`);\n }\n}\n"],"file":"utils.js"}
@@ -1,4 +1,4 @@
1
1
  export { FORMATS, MAP_TYPES, API_VERSIONS } from './maps-api-common';
2
2
  export { getDataV2, CONNECTIONS } from './maps-client';
3
- export { getData, mapInstantiation } from './maps-v3-client';
3
+ export { fetchLayerData, getData, mapInstantiation } from './maps-v3-client';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/index.js"],"names":["FORMATS","MAP_TYPES","API_VERSIONS","getDataV2","CONNECTIONS","getData","mapInstantiation"],"mappings":"AAAA,SAAQA,OAAR,EAAiBC,SAAjB,EAA4BC,YAA5B,QAA+C,mBAA/C;AACA,SAAQC,SAAR,EAAmBC,WAAnB,QAAqC,eAArC;AACA,SAAQC,OAAR,EAAiBC,gBAAjB,QAAwC,kBAAxC","sourcesContent":["export {FORMATS, MAP_TYPES, API_VERSIONS} from './maps-api-common';\nexport {getDataV2, CONNECTIONS} from './maps-client';\nexport {getData, mapInstantiation} from './maps-v3-client';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/api/index.js"],"names":["FORMATS","MAP_TYPES","API_VERSIONS","getDataV2","CONNECTIONS","fetchLayerData","getData","mapInstantiation"],"mappings":"AAAA,SAAQA,OAAR,EAAiBC,SAAjB,EAA4BC,YAA5B,QAA+C,mBAA/C;AACA,SAAQC,SAAR,EAAmBC,WAAnB,QAAqC,eAArC;AACA,SAAQC,cAAR,EAAwBC,OAAxB,EAAiCC,gBAAjC,QAAwD,kBAAxD","sourcesContent":["export {FORMATS, MAP_TYPES, API_VERSIONS} from './maps-api-common';\nexport {getDataV2, CONNECTIONS} from './maps-client';\nexport {fetchLayerData, getData, mapInstantiation} from './maps-v3-client';\n"],"file":"index.js"}
@@ -5,6 +5,10 @@ export const API_VERSIONS = {
5
5
  V2: 'v2',
6
6
  V3: 'v3'
7
7
  };
8
+ export const DEFAULT_MAPS_URL_FORMAT = {
9
+ [API_VERSIONS.V1]: "https://".concat(DEFAULT_USER_COMPONENT_IN_URL, ".carto.com/api/v1/map"),
10
+ [API_VERSIONS.V2]: "https://maps-api-v2.".concat(DEFAULT_REGION_COMPONENT_IN_URL, ".carto.com/user/").concat(DEFAULT_USER_COMPONENT_IN_URL)
11
+ };
8
12
  export const MAP_TYPES = {
9
13
  QUERY: 'query',
10
14
  TABLE: 'table',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/maps-api-common.js"],"names":["DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","API_VERSIONS","V1","V2","V3","MAP_TYPES","QUERY","TABLE","TILESET","FORMATS","GEOJSON","NDJSON","TILEJSON","JSON","encodeParameter","name","value","encodeURIComponent"],"mappings":"AAAA,OAAO,MAAMA,6BAA6B,GAAG,QAAtC;AACP,OAAO,MAAMC,+BAA+B,GAAG,UAAxC;AAEP,OAAO,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,EAAE,EAAE,IADsB;AAE1BC,EAAAA,EAAE,EAAE,IAFsB;AAG1BC,EAAAA,EAAE,EAAE;AAHsB,CAArB;AAMP,OAAO,MAAMC,SAAS,GAAG;AACvBC,EAAAA,KAAK,EAAE,OADgB;AAEvBC,EAAAA,KAAK,EAAE,OAFgB;AAGvBC,EAAAA,OAAO,EAAE;AAHc,CAAlB;AAOP,OAAO,MAAMC,OAAO,GAAG;AACrBC,EAAAA,OAAO,EAAE,SADY;AAErBC,EAAAA,MAAM,EAAE,QAFa;AAGrBC,EAAAA,QAAQ,EAAE,UAHW;AAIrBC,EAAAA,IAAI,EAAE;AAJe,CAAhB;AAUP,OAAO,SAASC,eAAT,CAAyBC,IAAzB,EAA+BC,KAA/B,EAAsC;AAC3C,mBAAUD,IAAV,cAAkBE,kBAAkB,CAACD,KAAD,CAApC;AACD","sourcesContent":["export const DEFAULT_USER_COMPONENT_IN_URL = '{user}';\nexport const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';\n\nexport const API_VERSIONS = {\n V1: 'v1',\n V2: 'v2',\n V3: 'v3'\n};\n\nexport const MAP_TYPES = {\n QUERY: 'query',\n TABLE: 'table',\n TILESET: 'tileset'\n};\n\n// AVAILABLE FORMATS\nexport const FORMATS = {\n GEOJSON: 'geojson',\n NDJSON: 'ndjson',\n TILEJSON: 'tilejson',\n JSON: 'json'\n};\n\n/**\n * Simple encode parameter\n */\nexport function encodeParameter(name, value) {\n return `${name}=${encodeURIComponent(value)}`;\n}\n"],"file":"maps-api-common.js"}
1
+ {"version":3,"sources":["../../../src/api/maps-api-common.js"],"names":["DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","API_VERSIONS","V1","V2","V3","DEFAULT_MAPS_URL_FORMAT","MAP_TYPES","QUERY","TABLE","TILESET","FORMATS","GEOJSON","NDJSON","TILEJSON","JSON","encodeParameter","name","value","encodeURIComponent"],"mappings":"AAAA,OAAO,MAAMA,6BAA6B,GAAG,QAAtC;AACP,OAAO,MAAMC,+BAA+B,GAAG,UAAxC;AAEP,OAAO,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,EAAE,EAAE,IADsB;AAE1BC,EAAAA,EAAE,EAAE,IAFsB;AAG1BC,EAAAA,EAAE,EAAE;AAHsB,CAArB;AAMP,OAAO,MAAMC,uBAAuB,GAAG;AACrC,GAACJ,YAAY,CAACC,EAAd,qBAA8BH,6BAA9B,0BADqC;AAErC,GAACE,YAAY,CAACE,EAAd,iCAA0CH,+BAA1C,6BAA4FD,6BAA5F;AAFqC,CAAhC;AAKP,OAAO,MAAMO,SAAS,GAAG;AACvBC,EAAAA,KAAK,EAAE,OADgB;AAEvBC,EAAAA,KAAK,EAAE,OAFgB;AAGvBC,EAAAA,OAAO,EAAE;AAHc,CAAlB;AAOP,OAAO,MAAMC,OAAO,GAAG;AACrBC,EAAAA,OAAO,EAAE,SADY;AAErBC,EAAAA,MAAM,EAAE,QAFa;AAGrBC,EAAAA,QAAQ,EAAE,UAHW;AAIrBC,EAAAA,IAAI,EAAE;AAJe,CAAhB;AAUP,OAAO,SAASC,eAAT,CAAyBC,IAAzB,EAA+BC,KAA/B,EAAsC;AAC3C,mBAAUD,IAAV,cAAkBE,kBAAkB,CAACD,KAAD,CAApC;AACD","sourcesContent":["export const DEFAULT_USER_COMPONENT_IN_URL = '{user}';\nexport const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';\n\nexport const API_VERSIONS = {\n V1: 'v1',\n V2: 'v2',\n V3: 'v3'\n};\n\nexport const DEFAULT_MAPS_URL_FORMAT = {\n [API_VERSIONS.V1]: `https://${DEFAULT_USER_COMPONENT_IN_URL}.carto.com/api/v1/map`,\n [API_VERSIONS.V2]: `https://maps-api-v2.${DEFAULT_REGION_COMPONENT_IN_URL}.carto.com/user/${DEFAULT_USER_COMPONENT_IN_URL}`\n};\n\nexport const MAP_TYPES = {\n QUERY: 'query',\n TABLE: 'table',\n TILESET: 'tileset'\n};\n\n// AVAILABLE FORMATS\nexport const FORMATS = {\n GEOJSON: 'geojson',\n NDJSON: 'ndjson',\n TILEJSON: 'tilejson',\n JSON: 'json'\n};\n\n/**\n * Simple encode parameter\n */\nexport function encodeParameter(name, value) {\n return `${name}=${encodeURIComponent(value)}`;\n}\n"],"file":"maps-api-common.js"}
@@ -1,5 +1,5 @@
1
- import { getDefaultCredentials } from '../config';
2
- import { API_VERSIONS, DEFAULT_REGION_COMPONENT_IN_URL, DEFAULT_USER_COMPONENT_IN_URL, encodeParameter, MAP_TYPES } from './maps-api-common';
1
+ import { defaultClassicCredentials, getDefaultCredentials } from '../config';
2
+ import { API_VERSIONS, DEFAULT_MAPS_URL_FORMAT, DEFAULT_REGION_COMPONENT_IN_URL, DEFAULT_USER_COMPONENT_IN_URL, encodeParameter, MAP_TYPES } from './maps-api-common';
3
3
  export const CONNECTIONS = {
4
4
  BIGQUERY: 'bigquery',
5
5
  CARTO: 'carto'
@@ -11,12 +11,17 @@ export async function getDataV2({
11
11
  source,
12
12
  credentials
13
13
  }) {
14
- const localCreds = { ...getDefaultCredentials(),
14
+ const defaultCredentials = getDefaultCredentials();
15
+ const apiVersion = credentials && credentials.apiVersion || defaultCredentials.apiVersion;
16
+ const localCreds = { ...defaultClassicCredentials,
17
+ ...(defaultCredentials.apiVersion === apiVersion && defaultCredentials),
15
18
  ...credentials
16
19
  };
17
- const {
18
- apiVersion
19
- } = localCreds;
20
+
21
+ if (!localCreds.mapsUrl) {
22
+ localCreds.mapsUrl = DEFAULT_MAPS_URL_FORMAT[apiVersion];
23
+ }
24
+
20
25
  let url;
21
26
  const connection = type === 'tileset' ? CONNECTIONS.BIGQUERY : CONNECTIONS.CARTO;
22
27
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/maps-client.js"],"names":["getDefaultCredentials","API_VERSIONS","DEFAULT_REGION_COMPONENT_IN_URL","DEFAULT_USER_COMPONENT_IN_URL","encodeParameter","MAP_TYPES","CONNECTIONS","BIGQUERY","CARTO","BUFFER_SIZE","TILE_EXTENT","getDataV2","type","source","credentials","localCreds","apiVersion","url","connection","V1","mapConfig","createMapConfig","buildURLMapsAPIv1","layergroup","request","metadata","tilejson","vector","V2","buildURLMapsAPIv2","Error","response","fetch","headers","Accept","error","json","ok","dealWithError","status","username","apiKey","e","JSON","stringify","errors","initURLParameters","encodedApiKey","encodedClient","parameters","cfg","mapsUrl","join","mapsApiType","QUERY","replace","region","sql","version","buffersize","mvt","layers","options","vector_extent"],"mappings":"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","sourcesContent":["/**\n * Maps API Client for Maps API v1 and Maps API v2\n */\nimport {getDefaultCredentials} from '../config';\nimport {\n API_VERSIONS,\n DEFAULT_REGION_COMPONENT_IN_URL,\n DEFAULT_USER_COMPONENT_IN_URL,\n encodeParameter,\n MAP_TYPES\n} from './maps-api-common';\n\nexport const CONNECTIONS = {\n BIGQUERY: 'bigquery',\n CARTO: 'carto'\n};\n\nconst BUFFER_SIZE = 16;\nconst TILE_EXTENT = 4096;\n\n/**\n * Obtain a TileJson from Maps API v1 and v2\n */\nexport async function getDataV2({type, source, credentials}) {\n const localCreds = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localCreds;\n let url;\n\n const connection = type === 'tileset' ? CONNECTIONS.BIGQUERY : CONNECTIONS.CARTO;\n\n switch (apiVersion) {\n case API_VERSIONS.V1:\n // Maps API v1\n const mapConfig = createMapConfig(source);\n url = buildURLMapsAPIv1({mapConfig, credentials: localCreds});\n const layergroup = await request({url, credentials: localCreds});\n return layergroup.metadata.tilejson.vector;\n\n case API_VERSIONS.V2:\n // Maps API v2\n url = buildURLMapsAPIv2({connection, type, source, credentials: localCreds});\n return await request({url, credentials: localCreds});\n\n default:\n throw new Error(\n `Invalid maps API version. It shoud be ${API_VERSIONS.V1} or ${API_VERSIONS.V2}`\n );\n }\n}\n\n/**\n * Request against Maps API\n */\nasync function request({url, credentials}) {\n let response;\n\n try {\n /* global fetch */\n /* eslint no-undef: \"error\" */\n response = await fetch(url, {\n headers: {\n Accept: 'application/json'\n }\n });\n } catch (error) {\n throw new Error(`Failed to connect to Maps API: ${error}`);\n }\n\n const json = await response.json();\n\n if (!response.ok) {\n dealWithError({response, json, credentials});\n }\n\n return json;\n}\n\n/**\n * Display proper message from Maps API error\n */\nfunction dealWithError({response, json, credentials}) {\n switch (response.status) {\n case 401:\n throw new Error(\n `Unauthorized access to Maps API: invalid combination of user ('${\n credentials.username\n }') and apiKey ('${credentials.apiKey}')`\n );\n case 403:\n throw new Error(\n `Unauthorized access to dataset: the provided apiKey('${\n credentials.apiKey\n }') doesn't provide access to the requested data`\n );\n\n default:\n const e =\n credentials.apiVersion === API_VERSIONS.V1 ? JSON.stringify(json.errors) : json.error;\n throw new Error(e);\n }\n}\n\nfunction initURLParameters(credentials) {\n const encodedApiKey = encodeParameter('api_key', credentials.apiKey);\n const encodedClient = encodeParameter('client', `deck-gl-carto`);\n return [encodedApiKey, encodedClient];\n}\n\n/**\n * Build a URL with all required parameters\n */\nfunction buildURLMapsAPIv1({mapConfig, credentials}) {\n const parameters = initURLParameters(credentials);\n const cfg = JSON.stringify(mapConfig);\n return `${mapsUrl(credentials)}?${parameters.join('&')}&${encodeParameter('config', cfg)}`;\n}\n\nfunction buildURLMapsAPIv2({connection, type, source, credentials}) {\n const parameters = initURLParameters(credentials);\n // Query type is mapped to 'sql' at maps api v1\n const mapsApiType = type === MAP_TYPES.QUERY ? 'sql' : type;\n let url = `${mapsUrl(credentials)}/${connection}/${mapsApiType}?`;\n url += `${encodeParameter('source', source)}&format=tilejson&${parameters.join('&')}`;\n return url;\n}\n\n/**\n * Prepare a url valid for the specified user\n */\nfunction mapsUrl(credentials) {\n return credentials.mapsUrl\n .replace(DEFAULT_USER_COMPONENT_IN_URL, credentials.username)\n .replace(DEFAULT_REGION_COMPONENT_IN_URL, credentials.region);\n}\n\nfunction createMapConfig(sql) {\n return {\n version: '1.3.1',\n buffersize: {\n mvt: BUFFER_SIZE\n },\n layers: [\n {\n type: 'mapnik',\n options: {\n sql,\n vector_extent: TILE_EXTENT\n }\n }\n ]\n };\n}\n"],"file":"maps-client.js"}
1
+ {"version":3,"sources":["../../../src/api/maps-client.js"],"names":["defaultClassicCredentials","getDefaultCredentials","API_VERSIONS","DEFAULT_MAPS_URL_FORMAT","DEFAULT_REGION_COMPONENT_IN_URL","DEFAULT_USER_COMPONENT_IN_URL","encodeParameter","MAP_TYPES","CONNECTIONS","BIGQUERY","CARTO","BUFFER_SIZE","TILE_EXTENT","getDataV2","type","source","credentials","defaultCredentials","apiVersion","localCreds","mapsUrl","url","connection","V1","mapConfig","createMapConfig","buildURLMapsAPIv1","layergroup","request","metadata","tilejson","vector","V2","buildURLMapsAPIv2","Error","response","fetch","headers","Accept","error","json","ok","dealWithError","status","username","apiKey","e","JSON","stringify","errors","initURLParameters","encodedApiKey","encodedClient","parameters","cfg","join","mapsApiType","QUERY","replace","region","sql","version","buffersize","mvt","layers","options","vector_extent"],"mappings":"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","sourcesContent":["/**\n * Maps API Client for Maps API v1 and Maps API v2\n */\nimport {defaultClassicCredentials, getDefaultCredentials} from '../config';\nimport {\n API_VERSIONS,\n DEFAULT_MAPS_URL_FORMAT,\n DEFAULT_REGION_COMPONENT_IN_URL,\n DEFAULT_USER_COMPONENT_IN_URL,\n encodeParameter,\n MAP_TYPES\n} from './maps-api-common';\n\nexport const CONNECTIONS = {\n BIGQUERY: 'bigquery',\n CARTO: 'carto'\n};\n\nconst BUFFER_SIZE = 16;\nconst TILE_EXTENT = 4096;\n\n/**\n * Obtain a TileJson from Maps API v1 and v2\n */\nexport async function getDataV2({type, source, credentials}) {\n const defaultCredentials = getDefaultCredentials();\n const apiVersion = (credentials && credentials.apiVersion) || defaultCredentials.apiVersion;\n // Only pick up default credentials if they have been defined for\n // correct API version\n const localCreds = {\n ...defaultClassicCredentials,\n ...(defaultCredentials.apiVersion === apiVersion && defaultCredentials),\n ...credentials\n };\n\n if (!localCreds.mapsUrl) {\n localCreds.mapsUrl = DEFAULT_MAPS_URL_FORMAT[apiVersion];\n }\n\n let url;\n\n const connection = type === 'tileset' ? CONNECTIONS.BIGQUERY : CONNECTIONS.CARTO;\n\n switch (apiVersion) {\n case API_VERSIONS.V1:\n // Maps API v1\n const mapConfig = createMapConfig(source);\n url = buildURLMapsAPIv1({mapConfig, credentials: localCreds});\n const layergroup = await request({url, credentials: localCreds});\n return layergroup.metadata.tilejson.vector;\n\n case API_VERSIONS.V2:\n // Maps API v2\n url = buildURLMapsAPIv2({connection, type, source, credentials: localCreds});\n return await request({url, credentials: localCreds});\n\n default:\n throw new Error(\n `Invalid maps API version. It shoud be ${API_VERSIONS.V1} or ${API_VERSIONS.V2}`\n );\n }\n}\n\n/**\n * Request against Maps API\n */\nasync function request({url, credentials}) {\n let response;\n\n try {\n /* global fetch */\n /* eslint no-undef: \"error\" */\n response = await fetch(url, {\n headers: {\n Accept: 'application/json'\n }\n });\n } catch (error) {\n throw new Error(`Failed to connect to Maps API: ${error}`);\n }\n\n const json = await response.json();\n\n if (!response.ok) {\n dealWithError({response, json, credentials});\n }\n\n return json;\n}\n\n/**\n * Display proper message from Maps API error\n */\nfunction dealWithError({response, json, credentials}) {\n switch (response.status) {\n case 401:\n throw new Error(\n `Unauthorized access to Maps API: invalid combination of user ('${\n credentials.username\n }') and apiKey ('${credentials.apiKey}')`\n );\n case 403:\n throw new Error(\n `Unauthorized access to dataset: the provided apiKey('${\n credentials.apiKey\n }') doesn't provide access to the requested data`\n );\n\n default:\n const e =\n credentials.apiVersion === API_VERSIONS.V1 ? JSON.stringify(json.errors) : json.error;\n throw new Error(e);\n }\n}\n\nfunction initURLParameters(credentials) {\n const encodedApiKey = encodeParameter('api_key', credentials.apiKey);\n const encodedClient = encodeParameter('client', `deck-gl-carto`);\n return [encodedApiKey, encodedClient];\n}\n\n/**\n * Build a URL with all required parameters\n */\nfunction buildURLMapsAPIv1({mapConfig, credentials}) {\n const parameters = initURLParameters(credentials);\n const cfg = JSON.stringify(mapConfig);\n return `${mapsUrl(credentials)}?${parameters.join('&')}&${encodeParameter('config', cfg)}`;\n}\n\nfunction buildURLMapsAPIv2({connection, type, source, credentials}) {\n const parameters = initURLParameters(credentials);\n // Query type is mapped to 'sql' at maps api v1\n const mapsApiType = type === MAP_TYPES.QUERY ? 'sql' : type;\n let url = `${mapsUrl(credentials)}/${connection}/${mapsApiType}?`;\n url += `${encodeParameter('source', source)}&format=tilejson&${parameters.join('&')}`;\n return url;\n}\n\n/**\n * Prepare a url valid for the specified user\n */\nfunction mapsUrl(credentials) {\n return credentials.mapsUrl\n .replace(DEFAULT_USER_COMPONENT_IN_URL, credentials.username)\n .replace(DEFAULT_REGION_COMPONENT_IN_URL, credentials.region);\n}\n\nfunction createMapConfig(sql) {\n return {\n version: '1.3.1',\n buffersize: {\n mvt: BUFFER_SIZE\n },\n layers: [\n {\n type: 'mapnik',\n options: {\n sql,\n vector_extent: TILE_EXTENT\n }\n }\n ]\n };\n}\n"],"file":"maps-client.js"}
@@ -70,10 +70,15 @@ function getParameters({
70
70
  type,
71
71
  source,
72
72
  geoColumn,
73
- columns
73
+ columns,
74
+ schema
74
75
  }) {
75
- const encodedClient = encodeParameter('client', 'deck-gl-carto');
76
- const parameters = [encodedClient];
76
+ const parameters = [encodeParameter('client', 'deck-gl-carto')];
77
+
78
+ if (schema) {
79
+ parameters.push(encodeParameter('schema', true));
80
+ }
81
+
77
82
  const sourceName = type === MAP_TYPES.QUERY ? 'q' : 'name';
78
83
  parameters.push(encodeParameter(sourceName, source));
79
84
 
@@ -96,14 +101,16 @@ export async function mapInstantiation({
96
101
  connection,
97
102
  credentials,
98
103
  geoColumn,
99
- columns
104
+ columns,
105
+ schema
100
106
  }) {
101
107
  const baseUrl = "".concat(credentials.mapsUrl, "/").concat(connection, "/").concat(type);
102
108
  const url = "".concat(baseUrl, "?").concat(getParameters({
103
109
  type,
104
110
  source,
105
111
  geoColumn,
106
- columns
112
+ columns,
113
+ schema
107
114
  }));
108
115
  const {
109
116
  accessToken
@@ -141,25 +148,40 @@ function getUrlFromMetadata(metadata, format) {
141
148
  return null;
142
149
  }
143
150
 
144
- export async function getData({
151
+ function checkGetLayerDataParameters({
145
152
  type,
146
153
  source,
147
154
  connection,
148
- credentials,
149
- geoColumn,
150
- columns,
151
- format
155
+ localCreds
152
156
  }) {
153
- const localCreds = { ...getDefaultCredentials(),
154
- ...credentials
155
- };
156
157
  log.assert(connection, 'Must define connection');
157
158
  log.assert(type, 'Must define a type');
158
159
  log.assert(source, 'Must define a source');
159
160
  log.assert(localCreds.apiVersion === API_VERSIONS.V3, 'Method only available for v3');
160
161
  log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');
161
162
  log.assert(localCreds.accessToken, 'Must define an accessToken');
162
- log.assert(localCreds.mapsUrl, 'mapsUrl cannot be undefined');
163
+ }
164
+
165
+ export async function fetchLayerData({
166
+ type,
167
+ source,
168
+ connection,
169
+ credentials,
170
+ geoColumn,
171
+ columns,
172
+ format,
173
+ schema
174
+ }) {
175
+ const defaultCredentials = getDefaultCredentials();
176
+ const localCreds = { ...(defaultCredentials.apiVersion === API_VERSIONS.V3 && defaultCredentials),
177
+ ...credentials
178
+ };
179
+ checkGetLayerDataParameters({
180
+ type,
181
+ source,
182
+ connection,
183
+ localCreds
184
+ });
163
185
 
164
186
  if (!localCreds.mapsUrl) {
165
187
  localCreds.mapsUrl = buildMapsUrlFromBase(localCreds.apiBaseUrl);
@@ -171,7 +193,8 @@ export async function getData({
171
193
  connection,
172
194
  credentials: localCreds,
173
195
  geoColumn,
174
- columns
196
+ columns,
197
+ schema
175
198
  });
176
199
  let url;
177
200
  let mapFormat;
@@ -196,10 +219,41 @@ export async function getData({
196
219
  const {
197
220
  accessToken
198
221
  } = localCreds;
199
- return await request({
222
+ const data = await request({
200
223
  url,
201
224
  format: mapFormat,
202
225
  accessToken
203
226
  });
227
+ const result = {
228
+ data,
229
+ format: mapFormat
230
+ };
231
+
232
+ if (schema) {
233
+ result.schema = metadata.schema;
234
+ }
235
+
236
+ return result;
237
+ }
238
+ export async function getData({
239
+ type,
240
+ source,
241
+ connection,
242
+ credentials,
243
+ geoColumn,
244
+ columns,
245
+ format
246
+ }) {
247
+ const layerData = await fetchLayerData({
248
+ type,
249
+ source,
250
+ connection,
251
+ credentials,
252
+ geoColumn,
253
+ columns,
254
+ format,
255
+ schema: false
256
+ });
257
+ return layerData.data;
204
258
  }
205
259
  //# sourceMappingURL=maps-v3-client.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/maps-v3-client.js"],"names":["getDefaultCredentials","buildMapsUrlFromBase","API_VERSIONS","encodeParameter","FORMATS","MAP_TYPES","log","MAX_GET_LENGTH","request","method","url","format","accessToken","body","response","headers","Accept","Authorization","fetch","error","Error","NDJSON","json","ok","dealWithError","rows","status","getParameters","type","source","geoColumn","columns","encodedClient","parameters","sourceName","QUERY","push","TABLE","join","mapInstantiation","connection","credentials","baseUrl","mapsUrl","length","JSON","stringify","q","client","getUrlFromMetadata","metadata","m","getData","localCreds","assert","apiVersion","V3","apiBaseUrl","mapFormat","prioritizedFormats","GEOJSON","TILEJSON","f"],"mappings":"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","sourcesContent":["/**\n * Maps API Client for Carto 3\n */\nimport {getDefaultCredentials, buildMapsUrlFromBase} from '../config';\nimport {API_VERSIONS, encodeParameter, FORMATS, MAP_TYPES} from './maps-api-common';\nimport {log} from '@deck.gl/core';\n\nconst MAX_GET_LENGTH = 2048;\n\n/**\n * Request against Maps API\n */\nasync function request({method, url, format, accessToken, body}) {\n let response;\n\n const headers = {\n Accept: 'application/json'\n };\n\n if (accessToken) {\n headers.Authorization = `Bearer ${accessToken}`;\n }\n\n if (method === 'POST') {\n headers['Content-Type'] = 'application/json';\n }\n\n try {\n /* global fetch */\n /* eslint no-undef: \"error\" */\n response = await fetch(url, {\n method,\n headers,\n body\n });\n } catch (error) {\n throw new Error(`Failed to connect to Maps API: ${error}`);\n }\n\n if (format === FORMATS.NDJSON) {\n return response;\n }\n\n const json = await response.json();\n\n if (!response.ok) {\n dealWithError({response, error: json.error});\n }\n\n return json.rows ? json.rows : json;\n}\n\n/**\n * Display proper message from Maps API error\n */\nfunction dealWithError({response, error}) {\n switch (response.status) {\n case 400:\n throw new Error(`Bad request. ${error}`);\n case 401:\n case 403:\n throw new Error(`Unauthorized access. ${error}`);\n default:\n throw new Error(error);\n }\n}\n\n/**\n * Build a URL with all required parameters\n */\nfunction getParameters({type, source, geoColumn, columns}) {\n const encodedClient = encodeParameter('client', 'deck-gl-carto');\n const parameters = [encodedClient];\n\n const sourceName = type === MAP_TYPES.QUERY ? 'q' : 'name';\n parameters.push(encodeParameter(sourceName, source));\n\n if (type === MAP_TYPES.TABLE) {\n if (geoColumn) {\n parameters.push(encodeParameter('geo_column', geoColumn));\n }\n if (columns) {\n parameters.push(encodeParameter('columns', columns.join(',')));\n }\n }\n\n return parameters.join('&');\n}\n\nexport async function mapInstantiation({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns\n}) {\n const baseUrl = `${credentials.mapsUrl}/${connection}/${type}`;\n const url = `${baseUrl}?${getParameters({type, source, geoColumn, columns})}`;\n const {accessToken} = credentials;\n\n const format = 'json';\n\n if (url.length > MAX_GET_LENGTH && type === MAP_TYPES.QUERY) {\n // need to be a POST request\n const body = JSON.stringify({\n q: source,\n client: 'deck-gl-carto'\n });\n return await request({method: 'POST', url: baseUrl, format, accessToken, body});\n }\n\n return await request({url, format, accessToken});\n}\n\nfunction getUrlFromMetadata(metadata, format) {\n const m = metadata[format];\n\n if (m && !m.error && m.url) {\n return m.url[0];\n }\n\n return null;\n}\n\nexport async function getData({type, source, connection, credentials, geoColumn, columns, format}) {\n const localCreds = {...getDefaultCredentials(), ...credentials};\n\n log.assert(connection, 'Must define connection');\n log.assert(type, 'Must define a type');\n log.assert(source, 'Must define a source');\n\n log.assert(localCreds.apiVersion === API_VERSIONS.V3, 'Method only available for v3');\n log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');\n log.assert(localCreds.accessToken, 'Must define an accessToken');\n log.assert(localCreds.mapsUrl, 'mapsUrl cannot be undefined');\n\n if (!localCreds.mapsUrl) {\n localCreds.mapsUrl = buildMapsUrlFromBase(localCreds.apiBaseUrl);\n }\n\n const metadata = await mapInstantiation({\n type,\n source,\n connection,\n credentials: localCreds,\n geoColumn,\n columns\n });\n let url;\n let mapFormat;\n\n if (format) {\n mapFormat = format;\n url = getUrlFromMetadata(metadata, format);\n log.assert(url, `Format ${format} not available`);\n } else {\n // guess map format\n const prioritizedFormats = [FORMATS.GEOJSON, FORMATS.NDJSON, FORMATS.TILEJSON];\n for (const f of prioritizedFormats) {\n url = getUrlFromMetadata(metadata, f);\n if (url) {\n mapFormat = f;\n break;\n }\n }\n }\n\n const {accessToken} = localCreds;\n\n return await request({url, format: mapFormat, accessToken});\n}\n"],"file":"maps-v3-client.js"}
1
+ {"version":3,"sources":["../../../src/api/maps-v3-client.js"],"names":["getDefaultCredentials","buildMapsUrlFromBase","API_VERSIONS","encodeParameter","FORMATS","MAP_TYPES","log","MAX_GET_LENGTH","request","method","url","format","accessToken","body","response","headers","Accept","Authorization","fetch","error","Error","NDJSON","json","ok","dealWithError","rows","status","getParameters","type","source","geoColumn","columns","schema","parameters","push","sourceName","QUERY","TABLE","join","mapInstantiation","connection","credentials","baseUrl","mapsUrl","length","JSON","stringify","q","client","getUrlFromMetadata","metadata","m","checkGetLayerDataParameters","localCreds","assert","apiVersion","V3","apiBaseUrl","fetchLayerData","defaultCredentials","mapFormat","prioritizedFormats","GEOJSON","TILEJSON","f","data","result","getData","layerData"],"mappings":"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","sourcesContent":["/**\n * Maps API Client for Carto 3\n */\nimport {getDefaultCredentials, buildMapsUrlFromBase} from '../config';\nimport {API_VERSIONS, encodeParameter, FORMATS, MAP_TYPES} from './maps-api-common';\nimport {log} from '@deck.gl/core';\n\nconst MAX_GET_LENGTH = 2048;\n\n/**\n * Request against Maps API\n */\nasync function request({method, url, format, accessToken, body}) {\n let response;\n\n const headers = {\n Accept: 'application/json'\n };\n\n if (accessToken) {\n headers.Authorization = `Bearer ${accessToken}`;\n }\n\n if (method === 'POST') {\n headers['Content-Type'] = 'application/json';\n }\n\n try {\n /* global fetch */\n /* eslint no-undef: \"error\" */\n response = await fetch(url, {\n method,\n headers,\n body\n });\n } catch (error) {\n throw new Error(`Failed to connect to Maps API: ${error}`);\n }\n\n if (format === FORMATS.NDJSON) {\n return response;\n }\n\n const json = await response.json();\n\n if (!response.ok) {\n dealWithError({response, error: json.error});\n }\n\n return json.rows ? json.rows : json;\n}\n\n/**\n * Display proper message from Maps API error\n */\nfunction dealWithError({response, error}) {\n switch (response.status) {\n case 400:\n throw new Error(`Bad request. ${error}`);\n case 401:\n case 403:\n throw new Error(`Unauthorized access. ${error}`);\n default:\n throw new Error(error);\n }\n}\n\n/**\n * Build a URL with all required parameters\n */\nfunction getParameters({type, source, geoColumn, columns, schema}) {\n const parameters = [encodeParameter('client', 'deck-gl-carto')];\n if (schema) {\n parameters.push(encodeParameter('schema', true));\n }\n\n const sourceName = type === MAP_TYPES.QUERY ? 'q' : 'name';\n parameters.push(encodeParameter(sourceName, source));\n\n if (type === MAP_TYPES.TABLE) {\n if (geoColumn) {\n parameters.push(encodeParameter('geo_column', geoColumn));\n }\n if (columns) {\n parameters.push(encodeParameter('columns', columns.join(',')));\n }\n }\n\n return parameters.join('&');\n}\n\nexport async function mapInstantiation({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n schema\n}) {\n const baseUrl = `${credentials.mapsUrl}/${connection}/${type}`;\n const url = `${baseUrl}?${getParameters({type, source, geoColumn, columns, schema})}`;\n const {accessToken} = credentials;\n\n const format = 'json';\n\n if (url.length > MAX_GET_LENGTH && type === MAP_TYPES.QUERY) {\n // need to be a POST request\n const body = JSON.stringify({\n q: source,\n client: 'deck-gl-carto'\n });\n return await request({method: 'POST', url: baseUrl, format, accessToken, body});\n }\n\n return await request({url, format, accessToken});\n}\n\nfunction getUrlFromMetadata(metadata, format) {\n const m = metadata[format];\n\n if (m && !m.error && m.url) {\n return m.url[0];\n }\n\n return null;\n}\n\nfunction checkGetLayerDataParameters({type, source, connection, localCreds}) {\n log.assert(connection, 'Must define connection');\n log.assert(type, 'Must define a type');\n log.assert(source, 'Must define a source');\n\n log.assert(localCreds.apiVersion === API_VERSIONS.V3, 'Method only available for v3');\n log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');\n log.assert(localCreds.accessToken, 'Must define an accessToken');\n}\n\nexport async function fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema\n}) {\n const defaultCredentials = getDefaultCredentials();\n // Only pick up default credentials if they have been defined for\n // correct API version\n const localCreds = {\n ...(defaultCredentials.apiVersion === API_VERSIONS.V3 && defaultCredentials),\n ...credentials\n };\n checkGetLayerDataParameters({type, source, connection, localCreds});\n\n if (!localCreds.mapsUrl) {\n localCreds.mapsUrl = buildMapsUrlFromBase(localCreds.apiBaseUrl);\n }\n\n const metadata = await mapInstantiation({\n type,\n source,\n connection,\n credentials: localCreds,\n geoColumn,\n columns,\n schema\n });\n let url;\n let mapFormat;\n\n if (format) {\n mapFormat = format;\n url = getUrlFromMetadata(metadata, format);\n log.assert(url, `Format ${format} not available`);\n } else {\n // guess map format\n const prioritizedFormats = [FORMATS.GEOJSON, FORMATS.NDJSON, FORMATS.TILEJSON];\n for (const f of prioritizedFormats) {\n url = getUrlFromMetadata(metadata, f);\n if (url) {\n mapFormat = f;\n break;\n }\n }\n }\n\n const {accessToken} = localCreds;\n\n const data = await request({url, format: mapFormat, accessToken});\n const result = {data, format: mapFormat};\n if (schema) {\n result.schema = metadata.schema;\n }\n\n return result;\n}\n\nexport async function getData({type, source, connection, credentials, geoColumn, columns, format}) {\n const layerData = await fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema: false\n });\n return layerData.data;\n}\n"],"file":"maps-v3-client.js"}
@@ -1,5 +1,5 @@
1
- import { API_VERSIONS } from './api/maps-api-common';
2
- const defaultClassicCredentials = {
1
+ import { API_VERSIONS, DEFAULT_MAPS_URL_FORMAT } from './api/maps-api-common';
2
+ export const defaultClassicCredentials = {
3
3
  username: 'public',
4
4
  apiKey: 'default_public',
5
5
  region: 'us',
@@ -17,7 +17,7 @@ export function setDefaultCredentials(opts) {
17
17
 
18
18
  switch (apiVersion) {
19
19
  case API_VERSIONS.V1:
20
- opts.mapsUrl = opts.mapsUrl || 'https://{user}.carto.com/api/v1/map';
20
+ opts.mapsUrl = opts.mapsUrl || DEFAULT_MAPS_URL_FORMAT[apiVersion];
21
21
  credentials = {
22
22
  apiVersion,
23
23
  ...defaultClassicCredentials,
@@ -26,7 +26,7 @@ export function setDefaultCredentials(opts) {
26
26
  break;
27
27
 
28
28
  case API_VERSIONS.V2:
29
- opts.mapsUrl = opts.mapsUrl || 'https://maps-api-v2.{region}.carto.com/user/{user}';
29
+ opts.mapsUrl = opts.mapsUrl || DEFAULT_MAPS_URL_FORMAT[apiVersion];
30
30
  credentials = {
31
31
  apiVersion,
32
32
  ...defaultClassicCredentials,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config.js"],"names":["API_VERSIONS","defaultClassicCredentials","username","apiKey","region","mapsUrl","defaultCloudNativeCredentials","accessToken","apiBaseUrl","credentials","setDefaultCredentials","opts","apiVersion","V2","V1","V3","Error","buildMapsUrlFromBase","getDefaultCredentials","suffix","endsWith","substring"],"mappings":"AAAA,SAAQA,YAAR,QAA2B,uBAA3B;AAEA,MAAMC,yBAAyB,GAAG;AAChCC,EAAAA,QAAQ,EAAE,QADsB;AAEhCC,EAAAA,MAAM,EAAE,gBAFwB;AAGhCC,EAAAA,MAAM,EAAE,IAHwB;AAIhCC,EAAAA,OAAO,EAAE;AAJuB,CAAlC;AAOA,MAAMC,6BAA6B,GAAG;AACpCC,EAAAA,WAAW,EAAE,IADuB;AAEpCC,EAAAA,UAAU,EAAE,IAFwB;AAGpCH,EAAAA,OAAO,EAAE;AAH2B,CAAtC;AAMA,IAAII,WAAW,GAAG,EAAlB;AAEAC,qBAAqB,CAAC,EAAD,CAArB;AAEA,OAAO,SAASA,qBAAT,CAA+BC,IAA/B,EAAqC;AAC1C,QAAMC,UAAU,GAAGD,IAAI,CAACC,UAAL,IAAmBZ,YAAY,CAACa,EAAnD;;AAEA,UAAQD,UAAR;AACE,SAAKZ,YAAY,CAACc,EAAlB;AACEH,MAAAA,IAAI,CAACN,OAAL,GAAeM,IAAI,CAACN,OAAL,IAAgB,qCAA/B;AACAI,MAAAA,WAAW,GAAG;AACZG,QAAAA,UADY;AAEZ,WAAGX,yBAFS;AAGZ,WAAGU;AAHS,OAAd;AAKA;;AAEF,SAAKX,YAAY,CAACa,EAAlB;AACEF,MAAAA,IAAI,CAACN,OAAL,GAAeM,IAAI,CAACN,OAAL,IAAgB,oDAA/B;AACAI,MAAAA,WAAW,GAAG;AACZG,QAAAA,UADY;AAEZ,WAAGX,yBAFS;AAGZ,WAAGU;AAHS,OAAd;AAMA;;AACF,SAAKX,YAAY,CAACe,EAAlB;AACE,UAAI,CAACJ,IAAI,CAACH,UAAV,EAAsB;AACpB,cAAM,IAAIQ,KAAJ,uBAEFhB,YAAY,CAACe,EAFX,wGAAN;AAKD;;AAED,YAAMP,UAAU,GAAGG,IAAI,CAACH,UAAL,IAAmBF,6BAA6B,CAACE,UAApE;AACAG,MAAAA,IAAI,CAACN,OAAL,GAAeM,IAAI,CAACN,OAAL,IAAgBY,oBAAoB,CAACT,UAAD,CAAnD;AACAC,MAAAA,WAAW,GAAG;AACZG,QAAAA,UADY;AAEZ,WAAGN,6BAFS;AAGZ,WAAGK;AAHS,OAAd;AAKA;;AACF;AACE,YAAM,IAAIK,KAAJ,+BAAiCJ,UAAjC,8BAAN;AArCJ;AAuCD;AAED,OAAO,SAASM,qBAAT,GAAiC;AACtC,SAAOT,WAAP;AACD;AAED,OAAO,SAASQ,oBAAT,CAA8BT,UAA9B,EAA0C;AAC/C,MAAIW,MAAM,GAAG,UAAb;;AACA,MAAIX,UAAU,CAACY,QAAX,CAAoB,GAApB,CAAJ,EAA8B;AAC5BD,IAAAA,MAAM,GAAGA,MAAM,CAACE,SAAP,CAAiB,CAAjB,CAAT;AACD;;AAED,mBAAUb,UAAV,SAAuBW,MAAvB;AACD","sourcesContent":["import {API_VERSIONS} from './api/maps-api-common';\n\nconst defaultClassicCredentials = {\n username: 'public',\n apiKey: 'default_public',\n region: 'us',\n mapsUrl: null\n};\n\nconst defaultCloudNativeCredentials = {\n accessToken: null,\n apiBaseUrl: null,\n mapsUrl: null\n};\n\nlet credentials = {};\n\nsetDefaultCredentials({});\n\nexport function setDefaultCredentials(opts) {\n const apiVersion = opts.apiVersion || API_VERSIONS.V2;\n\n switch (apiVersion) {\n case API_VERSIONS.V1:\n opts.mapsUrl = opts.mapsUrl || 'https://{user}.carto.com/api/v1/map';\n credentials = {\n apiVersion,\n ...defaultClassicCredentials,\n ...opts\n };\n break;\n\n case API_VERSIONS.V2:\n opts.mapsUrl = opts.mapsUrl || 'https://maps-api-v2.{region}.carto.com/user/{user}';\n credentials = {\n apiVersion,\n ...defaultClassicCredentials,\n ...opts\n };\n\n break;\n case API_VERSIONS.V3:\n if (!opts.apiBaseUrl) {\n throw new Error(\n `API version ${\n API_VERSIONS.V3\n } requires to define apiBaseUrl at credentials. Go to https://app.carto.com to get your apiBaseUrl.`\n );\n }\n\n const apiBaseUrl = opts.apiBaseUrl || defaultCloudNativeCredentials.apiBaseUrl;\n opts.mapsUrl = opts.mapsUrl || buildMapsUrlFromBase(apiBaseUrl);\n credentials = {\n apiVersion,\n ...defaultCloudNativeCredentials,\n ...opts\n };\n break;\n default:\n throw new Error(`Invalid API version ${apiVersion}. Use API_VERSIONS enum.`);\n }\n}\n\nexport function getDefaultCredentials() {\n return credentials;\n}\n\nexport function buildMapsUrlFromBase(apiBaseUrl) {\n let suffix = '/v3/maps';\n if (apiBaseUrl.endsWith('/')) {\n suffix = suffix.substring(1);\n }\n\n return `${apiBaseUrl}${suffix}`;\n}\n"],"file":"config.js"}
1
+ {"version":3,"sources":["../../src/config.js"],"names":["API_VERSIONS","DEFAULT_MAPS_URL_FORMAT","defaultClassicCredentials","username","apiKey","region","mapsUrl","defaultCloudNativeCredentials","accessToken","apiBaseUrl","credentials","setDefaultCredentials","opts","apiVersion","V2","V1","V3","Error","buildMapsUrlFromBase","getDefaultCredentials","suffix","endsWith","substring"],"mappings":"AAAA,SAAQA,YAAR,EAAsBC,uBAAtB,QAAoD,uBAApD;AAEA,OAAO,MAAMC,yBAAyB,GAAG;AACvCC,EAAAA,QAAQ,EAAE,QAD6B;AAEvCC,EAAAA,MAAM,EAAE,gBAF+B;AAGvCC,EAAAA,MAAM,EAAE,IAH+B;AAIvCC,EAAAA,OAAO,EAAE;AAJ8B,CAAlC;AAOP,MAAMC,6BAA6B,GAAG;AACpCC,EAAAA,WAAW,EAAE,IADuB;AAEpCC,EAAAA,UAAU,EAAE,IAFwB;AAGpCH,EAAAA,OAAO,EAAE;AAH2B,CAAtC;AAMA,IAAII,WAAW,GAAG,EAAlB;AAEAC,qBAAqB,CAAC,EAAD,CAArB;AAEA,OAAO,SAASA,qBAAT,CAA+BC,IAA/B,EAAqC;AAC1C,QAAMC,UAAU,GAAGD,IAAI,CAACC,UAAL,IAAmBb,YAAY,CAACc,EAAnD;;AAEA,UAAQD,UAAR;AACE,SAAKb,YAAY,CAACe,EAAlB;AACEH,MAAAA,IAAI,CAACN,OAAL,GAAeM,IAAI,CAACN,OAAL,IAAgBL,uBAAuB,CAACY,UAAD,CAAtD;AACAH,MAAAA,WAAW,GAAG;AACZG,QAAAA,UADY;AAEZ,WAAGX,yBAFS;AAGZ,WAAGU;AAHS,OAAd;AAKA;;AAEF,SAAKZ,YAAY,CAACc,EAAlB;AACEF,MAAAA,IAAI,CAACN,OAAL,GAAeM,IAAI,CAACN,OAAL,IAAgBL,uBAAuB,CAACY,UAAD,CAAtD;AACAH,MAAAA,WAAW,GAAG;AACZG,QAAAA,UADY;AAEZ,WAAGX,yBAFS;AAGZ,WAAGU;AAHS,OAAd;AAMA;;AACF,SAAKZ,YAAY,CAACgB,EAAlB;AACE,UAAI,CAACJ,IAAI,CAACH,UAAV,EAAsB;AACpB,cAAM,IAAIQ,KAAJ,uBAEFjB,YAAY,CAACgB,EAFX,wGAAN;AAKD;;AAED,YAAMP,UAAU,GAAGG,IAAI,CAACH,UAAL,IAAmBF,6BAA6B,CAACE,UAApE;AACAG,MAAAA,IAAI,CAACN,OAAL,GAAeM,IAAI,CAACN,OAAL,IAAgBY,oBAAoB,CAACT,UAAD,CAAnD;AACAC,MAAAA,WAAW,GAAG;AACZG,QAAAA,UADY;AAEZ,WAAGN,6BAFS;AAGZ,WAAGK;AAHS,OAAd;AAKA;;AACF;AACE,YAAM,IAAIK,KAAJ,+BAAiCJ,UAAjC,8BAAN;AArCJ;AAuCD;AAED,OAAO,SAASM,qBAAT,GAAiC;AACtC,SAAOT,WAAP;AACD;AAED,OAAO,SAASQ,oBAAT,CAA8BT,UAA9B,EAA0C;AAC/C,MAAIW,MAAM,GAAG,UAAb;;AACA,MAAIX,UAAU,CAACY,QAAX,CAAoB,GAApB,CAAJ,EAA8B;AAC5BD,IAAAA,MAAM,GAAGA,MAAM,CAACE,SAAP,CAAiB,CAAjB,CAAT;AACD;;AAED,mBAAUb,UAAV,SAAuBW,MAAvB;AACD","sourcesContent":["import {API_VERSIONS, DEFAULT_MAPS_URL_FORMAT} from './api/maps-api-common';\n\nexport const defaultClassicCredentials = {\n username: 'public',\n apiKey: 'default_public',\n region: 'us',\n mapsUrl: null\n};\n\nconst defaultCloudNativeCredentials = {\n accessToken: null,\n apiBaseUrl: null,\n mapsUrl: null\n};\n\nlet credentials = {};\n\nsetDefaultCredentials({});\n\nexport function setDefaultCredentials(opts) {\n const apiVersion = opts.apiVersion || API_VERSIONS.V2;\n\n switch (apiVersion) {\n case API_VERSIONS.V1:\n opts.mapsUrl = opts.mapsUrl || DEFAULT_MAPS_URL_FORMAT[apiVersion];\n credentials = {\n apiVersion,\n ...defaultClassicCredentials,\n ...opts\n };\n break;\n\n case API_VERSIONS.V2:\n opts.mapsUrl = opts.mapsUrl || DEFAULT_MAPS_URL_FORMAT[apiVersion];\n credentials = {\n apiVersion,\n ...defaultClassicCredentials,\n ...opts\n };\n\n break;\n case API_VERSIONS.V3:\n if (!opts.apiBaseUrl) {\n throw new Error(\n `API version ${\n API_VERSIONS.V3\n } requires to define apiBaseUrl at credentials. Go to https://app.carto.com to get your apiBaseUrl.`\n );\n }\n\n const apiBaseUrl = opts.apiBaseUrl || defaultCloudNativeCredentials.apiBaseUrl;\n opts.mapsUrl = opts.mapsUrl || buildMapsUrlFromBase(apiBaseUrl);\n credentials = {\n apiVersion,\n ...defaultCloudNativeCredentials,\n ...opts\n };\n break;\n default:\n throw new Error(`Invalid API version ${apiVersion}. Use API_VERSIONS enum.`);\n }\n}\n\nexport function getDefaultCredentials() {\n return credentials;\n}\n\nexport function buildMapsUrlFromBase(apiBaseUrl) {\n let suffix = '/v3/maps';\n if (apiBaseUrl.endsWith('/')) {\n suffix = suffix.substring(1);\n }\n\n return `${apiBaseUrl}${suffix}`;\n}\n"],"file":"config.js"}
package/dist/esm/index.js CHANGED
@@ -6,5 +6,5 @@ export { default as BASEMAP } from './basemap';
6
6
  export { default as colorBins } from './style/color-bins-style';
7
7
  export { default as colorCategories } from './style/color-categories-style';
8
8
  export { default as colorContinuous } from './style/color-continuous-style';
9
- export { FORMATS, MAP_TYPES, API_VERSIONS, getDataV2 as _getDataV2, getData, mapInstantiation as _mapInstantiation } from './api';
9
+ export { FORMATS, MAP_TYPES, API_VERSIONS, fetchLayerData, getDataV2 as _getDataV2, getData, mapInstantiation as _mapInstantiation } from './api';
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.js"],"names":["getDefaultCredentials","setDefaultCredentials","default","CartoSQLLayer","CartoBQTilerLayer","CartoLayer","BASEMAP","colorBins","colorCategories","colorContinuous","FORMATS","MAP_TYPES","API_VERSIONS","getDataV2","_getDataV2","getData","mapInstantiation","_mapInstantiation"],"mappings":"AAAA,SAAQA,qBAAR,EAA+BC,qBAA/B,QAA2D,aAA3D;AACA,SAAQC,OAAO,IAAIC,aAAnB,QAAuC,0BAAvC;AACA,SAAQD,OAAO,IAAIE,iBAAnB,QAA2C,8BAA3C;AACA,SAAQF,OAAO,IAAIG,UAAnB,QAAoC,sBAApC;AACA,SAAQH,OAAO,IAAII,OAAnB,QAAiC,WAAjC;AACA,SAAQJ,OAAO,IAAIK,SAAnB,QAAmC,0BAAnC;AACA,SAAQL,OAAO,IAAIM,eAAnB,QAAyC,gCAAzC;AACA,SAAQN,OAAO,IAAIO,eAAnB,QAAyC,gCAAzC;AACA,SACEC,OADF,EAEEC,SAFF,EAGEC,YAHF,EAIEC,SAAS,IAAIC,UAJf,EAKEC,OALF,EAMEC,gBAAgB,IAAIC,iBANtB,QAOO,OAPP","sourcesContent":["export {getDefaultCredentials, setDefaultCredentials} from './config.js';\nexport {default as CartoSQLLayer} from './layers/carto-sql-layer';\nexport {default as CartoBQTilerLayer} from './layers/carto-bqtiler-layer';\nexport {default as CartoLayer} from './layers/carto-layer';\nexport {default as BASEMAP} from './basemap';\nexport {default as colorBins} from './style/color-bins-style';\nexport {default as colorCategories} from './style/color-categories-style';\nexport {default as colorContinuous} from './style/color-continuous-style';\nexport {\n FORMATS,\n MAP_TYPES,\n API_VERSIONS,\n getDataV2 as _getDataV2,\n getData,\n mapInstantiation as _mapInstantiation\n} from './api';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.js"],"names":["getDefaultCredentials","setDefaultCredentials","default","CartoSQLLayer","CartoBQTilerLayer","CartoLayer","BASEMAP","colorBins","colorCategories","colorContinuous","FORMATS","MAP_TYPES","API_VERSIONS","fetchLayerData","getDataV2","_getDataV2","getData","mapInstantiation","_mapInstantiation"],"mappings":"AAAA,SAAQA,qBAAR,EAA+BC,qBAA/B,QAA2D,aAA3D;AACA,SAAQC,OAAO,IAAIC,aAAnB,QAAuC,0BAAvC;AACA,SAAQD,OAAO,IAAIE,iBAAnB,QAA2C,8BAA3C;AACA,SAAQF,OAAO,IAAIG,UAAnB,QAAoC,sBAApC;AACA,SAAQH,OAAO,IAAII,OAAnB,QAAiC,WAAjC;AACA,SAAQJ,OAAO,IAAIK,SAAnB,QAAmC,0BAAnC;AACA,SAAQL,OAAO,IAAIM,eAAnB,QAAyC,gCAAzC;AACA,SAAQN,OAAO,IAAIO,eAAnB,QAAyC,gCAAzC;AACA,SACEC,OADF,EAEEC,SAFF,EAGEC,YAHF,EAIEC,cAJF,EAKEC,SAAS,IAAIC,UALf,EAMEC,OANF,EAOEC,gBAAgB,IAAIC,iBAPtB,QAQO,OARP","sourcesContent":["export {getDefaultCredentials, setDefaultCredentials} from './config.js';\nexport {default as CartoSQLLayer} from './layers/carto-sql-layer';\nexport {default as CartoBQTilerLayer} from './layers/carto-bqtiler-layer';\nexport {default as CartoLayer} from './layers/carto-layer';\nexport {default as BASEMAP} from './basemap';\nexport {default as colorBins} from './style/color-bins-style';\nexport {default as colorCategories} from './style/color-categories-style';\nexport {default as colorContinuous} from './style/color-continuous-style';\nexport {\n FORMATS,\n MAP_TYPES,\n API_VERSIONS,\n fetchLayerData,\n getDataV2 as _getDataV2,\n getData,\n mapInstantiation as _mapInstantiation\n} from './api';\n"],"file":"index.js"}