@deck.gl/carto 8.7.0-alpha.1 → 8.7.0-alpha.10

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 (67) hide show
  1. package/dist/dist.dev.js +38143 -16628
  2. package/dist/es5/api/layer-map.js +4 -3
  3. package/dist/es5/api/layer-map.js.map +1 -1
  4. package/dist/es5/api/maps-client.js +2 -2
  5. package/dist/es5/api/maps-client.js.map +1 -1
  6. package/dist/es5/api/maps-v3-client.js +57 -43
  7. package/dist/es5/api/maps-v3-client.js.map +1 -1
  8. package/dist/es5/api/parseMap.js +9 -13
  9. package/dist/es5/api/parseMap.js.map +1 -1
  10. package/dist/es5/config.js +15 -24
  11. package/dist/es5/config.js.map +1 -1
  12. package/dist/es5/index.js +0 -16
  13. package/dist/es5/index.js.map +1 -1
  14. package/dist/es5/layers/carto-dynamic-tile-layer.js +168 -0
  15. package/dist/es5/layers/carto-dynamic-tile-layer.js.map +1 -0
  16. package/dist/es5/layers/carto-layer.js +59 -52
  17. package/dist/es5/layers/carto-layer.js.map +1 -1
  18. package/dist/es5/style/color-bins-style.js +6 -2
  19. package/dist/es5/style/color-bins-style.js.map +1 -1
  20. package/dist/es5/style/color-categories-style.js +7 -3
  21. package/dist/es5/style/color-categories-style.js.map +1 -1
  22. package/dist/es5/style/color-continuous-style.js +6 -2
  23. package/dist/es5/style/color-continuous-style.js.map +1 -1
  24. package/dist/es5/style/palette.js +6 -2
  25. package/dist/es5/style/palette.js.map +1 -1
  26. package/dist/esm/api/layer-map.js +3 -2
  27. package/dist/esm/api/layer-map.js.map +1 -1
  28. package/dist/esm/api/maps-client.js +1 -1
  29. package/dist/esm/api/maps-client.js.map +1 -1
  30. package/dist/esm/api/maps-v3-client.js +47 -25
  31. package/dist/esm/api/maps-v3-client.js.map +1 -1
  32. package/dist/esm/api/parseMap.js +3 -10
  33. package/dist/esm/api/parseMap.js.map +1 -1
  34. package/dist/esm/config.js +11 -26
  35. package/dist/esm/config.js.map +1 -1
  36. package/dist/esm/index.js +0 -2
  37. package/dist/esm/index.js.map +1 -1
  38. package/dist/esm/layers/carto-dynamic-tile-layer.js +98 -0
  39. package/dist/esm/layers/carto-dynamic-tile-layer.js.map +1 -0
  40. package/dist/esm/layers/carto-layer.js +35 -28
  41. package/dist/esm/layers/carto-layer.js.map +1 -1
  42. package/dist/esm/style/color-bins-style.js +1 -1
  43. package/dist/esm/style/color-bins-style.js.map +1 -1
  44. package/dist/esm/style/color-continuous-style.js +1 -1
  45. package/dist/esm/style/color-continuous-style.js.map +1 -1
  46. package/dist.min.js +14 -14
  47. package/package.json +8 -7
  48. package/src/api/layer-map.js +3 -2
  49. package/src/api/maps-client.js +3 -7
  50. package/src/api/maps-v3-client.js +53 -25
  51. package/src/api/parseMap.js +17 -26
  52. package/src/config.js +8 -39
  53. package/src/index.js +0 -2
  54. package/src/layers/carto-dynamic-tile-layer.js +87 -0
  55. package/src/layers/carto-layer.js +25 -25
  56. package/src/style/color-bins-style.js +2 -4
  57. package/src/style/color-continuous-style.js +2 -4
  58. package/dist/es5/layers/carto-bqtiler-layer.js +0 -65
  59. package/dist/es5/layers/carto-bqtiler-layer.js.map +0 -1
  60. package/dist/es5/layers/carto-sql-layer.js +0 -66
  61. package/dist/es5/layers/carto-sql-layer.js.map +0 -1
  62. package/dist/esm/layers/carto-bqtiler-layer.js +0 -16
  63. package/dist/esm/layers/carto-bqtiler-layer.js.map +0 -1
  64. package/dist/esm/layers/carto-sql-layer.js +0 -17
  65. package/dist/esm/layers/carto-sql-layer.js.map +0 -1
  66. package/src/layers/carto-bqtiler-layer.js +0 -21
  67. package/src/layers/carto-sql-layer.js +0 -22
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/parseMap.js"],"names":["parseMap","json","keplerMapConfig","datasets","log","assert","version","config","mapState","mapStyle","visState","layers","layerBlending","interactionConfig","id","title","description","createdAt","updatedAt","extractTextLayers","reverse","map","type","visualChannels","LAYER_MAP","Layer","propMap","defaultProps","dataId","dataset","find","d","data","createBlendingProps","textLabel","createInteractionProps","createStyleProps","createChannelProps","rest","configRest","filter","t","field","name","visConfig","opacity","parameters","blendFunc","blendEquation","pickable","tooltip","enabled","autoHighlight","mapProps","source","target","mapping","Array","isArray","sourceKey","sourceValue","targetKey","undefined","result","highlightColor","enable3d","colorField","colorScale","sizeField","sizeScale","strokeColorField","strokeColorScale","heightField","heightScale","textLabelField","getFillColor","colorRange","strokeOpacity","getLineColor","getElevation","heightRange","sizeRange","getPointRadius","radiusRange","getText","pointType","radius","getTextPixelOffset"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport {\n LAYER_MAP,\n getColorAccessor,\n getSizeAccessor,\n getTextAccessor,\n getTextPixelOffsetAccessor\n} from './layer-map';\nimport {_flatten as flatten, log} from '@deck.gl/core';\n\nexport function parseMap(json) {\n const {keplerMapConfig, datasets} = json;\n log.assert(keplerMapConfig.version === 'v1', 'Only support Kepler v1');\n const {mapState, mapStyle} = keplerMapConfig.config;\n const {layers, layerBlending, interactionConfig} = keplerMapConfig.config.visState;\n\n return {\n id: json.id,\n title: json.title,\n description: json.description,\n createdAt: json.createdAt,\n updatedAt: json.updatedAt,\n mapState,\n mapStyle,\n layers: extractTextLayers(layers.reverse()).map(({id, type, config, visualChannels}) => {\n log.assert(type in LAYER_MAP, `Unsupported layer type: ${type}`);\n const {Layer, propMap, defaultProps} = LAYER_MAP[type];\n\n const {dataId} = config;\n const dataset = datasets.find(d => d.id === dataId);\n log.assert(dataset, `No dataset matching dataId: ${dataId}`);\n const {data} = dataset;\n log.assert(data, `No data loaded for dataId: ${dataId}`);\n return new Layer({\n id,\n data,\n ...defaultProps,\n ...createBlendingProps(layerBlending),\n ...(!config.textLabel && createInteractionProps(interactionConfig)),\n ...createStyleProps(config, propMap),\n ...createChannelProps(visualChannels, type, config, data) // Must come after style\n });\n })\n };\n}\n\nfunction extractTextLayers(layers) {\n return flatten(\n layers.map(({id, config, ...rest}) => {\n const {textLabel, ...configRest} = config;\n return [\n // Original layer without textLabel\n {id, config: configRest, ...rest},\n\n // One layer per valid text label, with full opacity\n ...textLabel.filter(t => t.field).map(t => {\n return {\n id: `id-label-${t.field.name}`,\n config: {\n textLabel: t,\n ...configRest,\n visConfig: {...configRest.visConfig, opacity: 1}\n },\n ...rest\n };\n })\n ];\n })\n );\n}\n\nfunction createBlendingProps(layerBlending) {\n if (layerBlending === 'additive') {\n return {\n parameters: {\n blendFunc: [GL.SRC_ALPHA, GL.DST_ALPHA],\n blendEquation: GL.FUNC_ADD\n }\n };\n } else if (layerBlending === 'subtractive') {\n return {\n parameters: {\n blendFunc: [GL.ONE, GL.ONE_MINUS_DST_COLOR, GL.SRC_ALPHA, GL.DST_ALPHA],\n blendEquation: [GL.FUNC_SUBTRACT, GL.FUNC_ADD]\n }\n };\n }\n\n return {};\n}\n\nfunction createInteractionProps(interactionConfig) {\n const pickable = interactionConfig && interactionConfig.tooltip.enabled;\n return {\n autoHighlight: pickable,\n pickable\n };\n}\n\nfunction mapProps(source, target, mapping) {\n if (Array.isArray(source)) {\n source = source[0];\n }\n if (!source) {\n return;\n }\n for (const sourceKey in mapping) {\n const sourceValue = source[sourceKey];\n const targetKey = mapping[sourceKey];\n if (sourceValue === undefined) {\n // eslint-disable-next-line no-continue\n continue;\n }\n if (typeof targetKey === 'string') {\n target[targetKey] = sourceValue;\n } else if (typeof targetKey === 'object') {\n // Nested definition, recurse down one level\n mapProps(sourceValue, target, targetKey);\n }\n }\n}\n\nfunction createStyleProps(config, mapping) {\n const result = {};\n mapProps(config, result, mapping);\n result.highlightColor = config.visConfig.enable3d ? [255, 255, 255, 60] : [252, 242, 26, 255];\n return result;\n}\n\n/* eslint-disable complexity */\nfunction createChannelProps(visualChannels, type, config, data) {\n const {\n colorField,\n colorScale,\n sizeField,\n sizeScale,\n strokeColorField,\n strokeColorScale\n } = visualChannels;\n let {heightField, heightScale} = visualChannels;\n if (type === 'hexagonId') {\n heightField = sizeField;\n heightScale = sizeScale;\n }\n const {textLabel, visConfig} = config;\n const result = {};\n const textLabelField = textLabel && textLabel.field;\n if (colorField) {\n result.getFillColor = getColorAccessor(\n colorField,\n colorScale,\n visConfig.colorRange,\n 1, // Rely on layer opacity\n data\n );\n }\n if (strokeColorField) {\n const opacity =\n visConfig.strokeOpacity !== undefined ? visConfig.strokeOpacity / visConfig.opacity : 1;\n result.getLineColor = getColorAccessor(\n strokeColorField,\n strokeColorScale,\n visConfig.colorRange,\n opacity,\n data\n );\n }\n if (heightField) {\n result.getElevation = getSizeAccessor(\n heightField,\n heightScale,\n visConfig.heightRange || visConfig.sizeRange,\n data\n );\n }\n if (sizeField) {\n result.getPointRadius = getSizeAccessor(\n sizeField,\n sizeScale,\n visConfig.radiusRange || visConfig.sizeRange,\n data\n );\n }\n if (textLabelField) {\n result.getText = getTextAccessor(textLabelField, data);\n result.pointType = 'text';\n const radius = result.getPointRadius || visConfig.radius;\n result.getTextPixelOffset = getTextPixelOffsetAccessor(textLabel, radius);\n }\n\n return result;\n}\n"],"file":"parseMap.js"}
1
+ {"version":3,"sources":["../../../src/api/parseMap.js"],"names":["parseMap","json","keplerMapConfig","datasets","log","assert","version","config","mapState","mapStyle","visState","layers","layerBlending","interactionConfig","id","title","description","createdAt","updatedAt","initialViewState","extractTextLayers","reverse","map","type","visualChannels","LAYER_MAP","Layer","propMap","defaultProps","dataId","dataset","find","d","data","createBlendingProps","textLabel","createInteractionProps","createStyleProps","createChannelProps","rest","configRest","filter","t","field","name","label","visConfig","opacity","parameters","blendFunc","blendEquation","pickable","tooltip","enabled","autoHighlight","mapProps","source","target","mapping","sourceKey","sourceValue","targetKey","undefined","result","highlightColor","enable3d","colorField","colorScale","sizeField","sizeScale","strokeColorField","strokeColorScale","heightField","heightScale","textLabelField","getFillColor","colorRange","strokeOpacity","getLineColor","getElevation","heightRange","sizeRange","getPointRadius","radiusRange","getText","pointType","radius","getTextPixelOffset"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport {\n LAYER_MAP,\n getColorAccessor,\n getSizeAccessor,\n getTextAccessor,\n getTextPixelOffsetAccessor\n} from './layer-map';\nimport {_flatten as flatten, log} from '@deck.gl/core';\n\nexport function parseMap(json) {\n const {keplerMapConfig, datasets} = json;\n log.assert(keplerMapConfig.version === 'v1', 'Only support Kepler v1');\n const {mapState, mapStyle} = keplerMapConfig.config;\n const {layers, layerBlending, interactionConfig} = keplerMapConfig.config.visState;\n\n return {\n id: json.id,\n title: json.title,\n description: json.description,\n createdAt: json.createdAt,\n updatedAt: json.updatedAt,\n initialViewState: mapState,\n mapStyle,\n layers: extractTextLayers(layers.reverse()).map(({id, type, config, visualChannels}) => {\n log.assert(type in LAYER_MAP, `Unsupported layer type: ${type}`);\n const {Layer, propMap, defaultProps} = LAYER_MAP[type];\n\n const {dataId} = config;\n const dataset = datasets.find(d => d.id === dataId);\n log.assert(dataset, `No dataset matching dataId: ${dataId}`);\n const {data} = dataset;\n log.assert(data, `No data loaded for dataId: ${dataId}`);\n return new Layer({\n id,\n data,\n ...defaultProps,\n ...createBlendingProps(layerBlending),\n ...(!config.textLabel && createInteractionProps(interactionConfig)),\n ...createStyleProps(config, propMap),\n ...createChannelProps(visualChannels, type, config, data) // Must come after style\n });\n })\n };\n}\n\nfunction extractTextLayers(layers) {\n return flatten(\n layers.map(({id, config, ...rest}) => {\n const {textLabel, ...configRest} = config;\n return [\n // Original layer without textLabel\n {id, config: configRest, ...rest},\n\n // One layer per valid text label, with full opacity\n ...textLabel\n .filter(t => t.field)\n .map(t => {\n return {\n id: `${id}-label-${t.field.name}`,\n config: {\n textLabel: t,\n ...configRest,\n label: `${config.label}-label-${t.field.name}`,\n visConfig: {...configRest.visConfig, opacity: 1}\n },\n ...rest\n };\n })\n ];\n })\n );\n}\n\nfunction createBlendingProps(layerBlending) {\n if (layerBlending === 'additive') {\n return {\n parameters: {\n blendFunc: [GL.SRC_ALPHA, GL.DST_ALPHA],\n blendEquation: GL.FUNC_ADD\n }\n };\n } else if (layerBlending === 'subtractive') {\n return {\n parameters: {\n blendFunc: [GL.ONE, GL.ONE_MINUS_DST_COLOR, GL.SRC_ALPHA, GL.DST_ALPHA],\n blendEquation: [GL.FUNC_SUBTRACT, GL.FUNC_ADD]\n }\n };\n }\n\n return {};\n}\n\nfunction createInteractionProps(interactionConfig) {\n const pickable = interactionConfig && interactionConfig.tooltip.enabled;\n return {\n autoHighlight: pickable,\n pickable\n };\n}\n\nfunction mapProps(source, target, mapping) {\n for (const sourceKey in mapping) {\n const sourceValue = source[sourceKey];\n const targetKey = mapping[sourceKey];\n if (sourceValue === undefined) {\n // eslint-disable-next-line no-continue\n continue;\n }\n if (typeof targetKey === 'string') {\n target[targetKey] = sourceValue;\n } else if (typeof targetKey === 'object') {\n // Nested definition, recurse down one level\n mapProps(sourceValue, target, targetKey);\n }\n }\n}\n\nfunction createStyleProps(config, mapping) {\n const result = {};\n mapProps(config, result, mapping);\n result.highlightColor = config.visConfig.enable3d ? [255, 255, 255, 60] : [252, 242, 26, 255];\n return result;\n}\n\n/* eslint-disable complexity */\nfunction createChannelProps(visualChannels, type, config, data) {\n const {colorField, colorScale, sizeField, sizeScale, strokeColorField, strokeColorScale} =\n visualChannels;\n let {heightField, heightScale} = visualChannels;\n if (type === 'hexagonId') {\n heightField = sizeField;\n heightScale = sizeScale;\n }\n const {textLabel, visConfig} = config;\n const result = {};\n const textLabelField = textLabel && textLabel.field;\n if (colorField) {\n result.getFillColor = getColorAccessor(\n colorField,\n colorScale,\n visConfig.colorRange,\n 1, // Rely on layer opacity\n data\n );\n }\n if (strokeColorField) {\n const opacity =\n visConfig.strokeOpacity !== undefined ? visConfig.strokeOpacity / visConfig.opacity : 1;\n result.getLineColor = getColorAccessor(\n strokeColorField,\n strokeColorScale,\n visConfig.colorRange,\n opacity,\n data\n );\n }\n if (heightField) {\n result.getElevation = getSizeAccessor(\n heightField,\n heightScale,\n visConfig.heightRange || visConfig.sizeRange,\n data\n );\n }\n if (sizeField) {\n result.getPointRadius = getSizeAccessor(\n sizeField,\n sizeScale,\n visConfig.radiusRange || visConfig.sizeRange,\n data\n );\n }\n if (textLabelField) {\n result.getText = getTextAccessor(textLabelField, data);\n result.pointType = 'text';\n const radius = result.getPointRadius || visConfig.radius;\n result.getTextPixelOffset = getTextPixelOffsetAccessor(textLabel, radius);\n }\n\n return result;\n}\n"],"file":"parseMap.js"}
@@ -8,59 +8,50 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.setDefaultCredentials = setDefaultCredentials;
9
9
  exports.getDefaultCredentials = getDefaultCredentials;
10
10
  exports.buildMapsUrlFromBase = buildMapsUrlFromBase;
11
- exports.defaultClassicCredentials = void 0;
11
+ exports.defaultCloudNativeCredentials = exports.defaultClassicCredentials = void 0;
12
12
 
13
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
14
 
15
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
16
+
15
17
  var _mapsApiCommon = require("./api/maps-api-common");
16
18
 
17
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
19
+ var _excluded = ["apiVersion"];
20
+
21
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
18
22
 
19
23
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
20
24
 
21
25
  var defaultClassicCredentials = {
22
- username: 'public',
23
26
  apiKey: 'default_public',
24
27
  region: 'us',
25
- mapsUrl: null
28
+ username: 'public'
26
29
  };
27
30
  exports.defaultClassicCredentials = defaultClassicCredentials;
28
31
  var defaultCloudNativeCredentials = {
29
- accessToken: null,
30
- apiBaseUrl: null,
31
- mapsUrl: null
32
+ apiBaseUrl: 'https://gcp-us-east1.api.carto.com'
32
33
  };
34
+ exports.defaultCloudNativeCredentials = defaultCloudNativeCredentials;
33
35
  var credentials = {};
34
36
  setDefaultCredentials({});
35
37
 
36
- function setDefaultCredentials(opts) {
37
- var apiVersion = opts.apiVersion || _mapsApiCommon.API_VERSIONS.V2;
38
+ function setDefaultCredentials(_ref) {
39
+ var apiVersion = _ref.apiVersion,
40
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
41
+ apiVersion = apiVersion || _mapsApiCommon.API_VERSIONS.V3;
38
42
 
39
43
  switch (apiVersion) {
40
44
  case _mapsApiCommon.API_VERSIONS.V1:
41
- opts.mapsUrl = opts.mapsUrl || _mapsApiCommon.DEFAULT_MAPS_URL_FORMAT[apiVersion];
42
- credentials = _objectSpread(_objectSpread({
43
- apiVersion: apiVersion
44
- }, defaultClassicCredentials), opts);
45
- break;
46
-
47
45
  case _mapsApiCommon.API_VERSIONS.V2:
48
- opts.mapsUrl = opts.mapsUrl || _mapsApiCommon.DEFAULT_MAPS_URL_FORMAT[apiVersion];
49
46
  credentials = _objectSpread(_objectSpread({
50
47
  apiVersion: apiVersion
51
- }, defaultClassicCredentials), opts);
48
+ }, defaultClassicCredentials), rest);
52
49
  break;
53
50
 
54
51
  case _mapsApiCommon.API_VERSIONS.V3:
55
- if (!opts.apiBaseUrl) {
56
- throw new Error("API version ".concat(_mapsApiCommon.API_VERSIONS.V3, " requires to define apiBaseUrl at credentials. Go to https://app.carto.com to get your apiBaseUrl."));
57
- }
58
-
59
- var apiBaseUrl = opts.apiBaseUrl || defaultCloudNativeCredentials.apiBaseUrl;
60
- opts.mapsUrl = opts.mapsUrl || buildMapsUrlFromBase(apiBaseUrl);
61
52
  credentials = _objectSpread(_objectSpread({
62
53
  apiVersion: apiVersion
63
- }, defaultCloudNativeCredentials), opts);
54
+ }, defaultCloudNativeCredentials), rest);
64
55
  break;
65
56
 
66
57
  default:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config.js"],"names":["defaultClassicCredentials","username","apiKey","region","mapsUrl","defaultCloudNativeCredentials","accessToken","apiBaseUrl","credentials","setDefaultCredentials","opts","apiVersion","API_VERSIONS","V2","V1","DEFAULT_MAPS_URL_FORMAT","V3","Error","buildMapsUrlFromBase","getDefaultCredentials","suffix","endsWith","substring"],"mappings":";;;;;;;;;;;;;;AAAA;;;;;;AAEO,IAAMA,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,IAAMC,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;;AAEO,SAASA,qBAAT,CAA+BC,IAA/B,EAAqC;AAC1C,MAAMC,UAAU,GAAGD,IAAI,CAACC,UAAL,IAAmBC,4BAAaC,EAAnD;;AAEA,UAAQF,UAAR;AACE,SAAKC,4BAAaE,EAAlB;AACEJ,MAAAA,IAAI,CAACN,OAAL,GAAeM,IAAI,CAACN,OAAL,IAAgBW,uCAAwBJ,UAAxB,CAA/B;AACAH,MAAAA,WAAW;AACTG,QAAAA,UAAU,EAAVA;AADS,SAENX,yBAFM,GAGNU,IAHM,CAAX;AAKA;;AAEF,SAAKE,4BAAaC,EAAlB;AACEH,MAAAA,IAAI,CAACN,OAAL,GAAeM,IAAI,CAACN,OAAL,IAAgBW,uCAAwBJ,UAAxB,CAA/B;AACAH,MAAAA,WAAW;AACTG,QAAAA,UAAU,EAAVA;AADS,SAENX,yBAFM,GAGNU,IAHM,CAAX;AAMA;;AACF,SAAKE,4BAAaI,EAAlB;AACE,UAAI,CAACN,IAAI,CAACH,UAAV,EAAsB;AACpB,cAAM,IAAIU,KAAJ,uBAEFL,4BAAaI,EAFX,wGAAN;AAKD;;AAED,UAAMT,UAAU,GAAGG,IAAI,CAACH,UAAL,IAAmBF,6BAA6B,CAACE,UAApE;AACAG,MAAAA,IAAI,CAACN,OAAL,GAAeM,IAAI,CAACN,OAAL,IAAgBc,oBAAoB,CAACX,UAAD,CAAnD;AACAC,MAAAA,WAAW;AACTG,QAAAA,UAAU,EAAVA;AADS,SAENN,6BAFM,GAGNK,IAHM,CAAX;AAKA;;AACF;AACE,YAAM,IAAIO,KAAJ,+BAAiCN,UAAjC,8BAAN;AArCJ;AAuCD;;AAEM,SAASQ,qBAAT,GAAiC;AACtC,SAAOX,WAAP;AACD;;AAEM,SAASU,oBAAT,CAA8BX,UAA9B,EAA0C;AAC/C,MAAIa,MAAM,GAAG,UAAb;;AACA,MAAIb,UAAU,CAACc,QAAX,CAAoB,GAApB,CAAJ,EAA8B;AAC5BD,IAAAA,MAAM,GAAGA,MAAM,CAACE,SAAP,CAAiB,CAAjB,CAAT;AACD;;AAED,mBAAUf,UAAV,SAAuBa,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"}
1
+ {"version":3,"sources":["../../src/config.js"],"names":["defaultClassicCredentials","apiKey","region","username","defaultCloudNativeCredentials","apiBaseUrl","credentials","setDefaultCredentials","apiVersion","rest","API_VERSIONS","V3","V1","V2","Error","getDefaultCredentials","buildMapsUrlFromBase","suffix","endsWith","substring"],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;AAEO,IAAMA,yBAAyB,GAAG;AACvCC,EAAAA,MAAM,EAAE,gBAD+B;AAEvCC,EAAAA,MAAM,EAAE,IAF+B;AAGvCC,EAAAA,QAAQ,EAAE;AAH6B,CAAlC;;AAMA,IAAMC,6BAA6B,GAAG;AAC3CC,EAAAA,UAAU,EAAE;AAD+B,CAAtC;;AAIP,IAAIC,WAAW,GAAG,EAAlB;AAEAC,qBAAqB,CAAC,EAAD,CAArB;;AAEO,SAASA,qBAAT,OAAsD;AAAA,MAAtBC,UAAsB,QAAtBA,UAAsB;AAAA,MAAPC,IAAO;AAC3DD,EAAAA,UAAU,GAAGA,UAAU,IAAIE,4BAAaC,EAAxC;;AAEA,UAAQH,UAAR;AACE,SAAKE,4BAAaE,EAAlB;AACA,SAAKF,4BAAaG,EAAlB;AACEP,MAAAA,WAAW;AAAIE,QAAAA,UAAU,EAAVA;AAAJ,SAAmBR,yBAAnB,GAAiDS,IAAjD,CAAX;AACA;;AACF,SAAKC,4BAAaC,EAAlB;AACEL,MAAAA,WAAW;AAAIE,QAAAA,UAAU,EAAVA;AAAJ,SAAmBJ,6BAAnB,GAAqDK,IAArD,CAAX;AACA;;AACF;AACE,YAAM,IAAIK,KAAJ,+BAAiCN,UAAjC,8BAAN;AATJ;AAWD;;AAEM,SAASO,qBAAT,GAAiC;AACtC,SAAOT,WAAP;AACD;;AAEM,SAASU,oBAAT,CAA8BX,UAA9B,EAA0C;AAC/C,MAAIY,MAAM,GAAG,UAAb;;AACA,MAAIZ,UAAU,CAACa,QAAX,CAAoB,GAApB,CAAJ,EAA8B;AAC5BD,IAAAA,MAAM,GAAGA,MAAM,CAACE,SAAP,CAAiB,CAAjB,CAAT;AACD;;AAED,mBAAUd,UAAV,SAAuBY,MAAvB;AACD","sourcesContent":["import {API_VERSIONS} from './api/maps-api-common';\n\nexport const defaultClassicCredentials = {\n apiKey: 'default_public',\n region: 'us',\n username: 'public'\n};\n\nexport const defaultCloudNativeCredentials = {\n apiBaseUrl: 'https://gcp-us-east1.api.carto.com'\n};\n\nlet credentials = {};\n\nsetDefaultCredentials({});\n\nexport function setDefaultCredentials({apiVersion, ...rest}) {\n apiVersion = apiVersion || API_VERSIONS.V3;\n\n switch (apiVersion) {\n case API_VERSIONS.V1:\n case API_VERSIONS.V2:\n credentials = {apiVersion, ...defaultClassicCredentials, ...rest};\n break;\n case API_VERSIONS.V3:\n credentials = {apiVersion, ...defaultCloudNativeCredentials, ...rest};\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/es5/index.js CHANGED
@@ -17,18 +17,6 @@ Object.defineProperty(exports, "setDefaultCredentials", {
17
17
  return _config.setDefaultCredentials;
18
18
  }
19
19
  });
20
- Object.defineProperty(exports, "CartoSQLLayer", {
21
- enumerable: true,
22
- get: function get() {
23
- return _cartoSqlLayer.default;
24
- }
25
- });
26
- Object.defineProperty(exports, "CartoBQTilerLayer", {
27
- enumerable: true,
28
- get: function get() {
29
- return _cartoBqtilerLayer.default;
30
- }
31
- });
32
20
  Object.defineProperty(exports, "CartoLayer", {
33
21
  enumerable: true,
34
22
  get: function get() {
@@ -110,10 +98,6 @@ Object.defineProperty(exports, "_mapInstantiation", {
110
98
 
111
99
  var _config = require("./config.js");
112
100
 
113
- var _cartoSqlLayer = _interopRequireDefault(require("./layers/carto-sql-layer"));
114
-
115
- var _cartoBqtilerLayer = _interopRequireDefault(require("./layers/carto-bqtiler-layer"));
116
-
117
101
  var _cartoLayer = _interopRequireDefault(require("./layers/carto-layer"));
118
102
 
119
103
  var _basemap = _interopRequireDefault(require("./basemap"));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","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 fetchMap,\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":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["export {getDefaultCredentials, setDefaultCredentials} from './config.js';\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 fetchMap,\n getDataV2 as _getDataV2,\n getData,\n mapInstantiation as _mapInstantiation\n} from './api';\n"],"file":"index.js"}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
25
+
26
+ var _core = require("@deck.gl/core");
27
+
28
+ var _extensions = require("@deck.gl/extensions");
29
+
30
+ var _geoLayers = require("@deck.gl/geo-layers");
31
+
32
+ var _layers = require("@deck.gl/layers");
33
+
34
+ var _gis = require("@loaders.gl/gis");
35
+
36
+ var _mapsApiCommon = require("../api/maps-api-common");
37
+
38
+ var _utils = require("@deck.gl/geo-layers/tile-layer/utils");
39
+
40
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
41
+
42
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
43
+
44
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
45
+
46
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
47
+
48
+ function parseJSON(arrayBuffer) {
49
+ return JSON.parse(new TextDecoder().decode(arrayBuffer));
50
+ }
51
+
52
+ function parseCartoDynamicTile(arrayBuffer, options) {
53
+ if (!arrayBuffer) return null;
54
+ var formatTiles = options && options.cartoDynamicTile && options.cartoDynamicTile.formatTiles;
55
+ if (formatTiles === 'geojson') return (0, _gis.geojsonToBinary)(parseJSON(arrayBuffer).features);
56
+ return null;
57
+ }
58
+
59
+ var CartoDynamicTileLoader = {
60
+ name: 'CARTO Dynamic Tile',
61
+ id: 'cartoDynamicTile',
62
+ module: 'carto',
63
+ extensions: ['pbf'],
64
+ mimeTypes: ['application/x-protobuf'],
65
+ category: 'geometry',
66
+ worker: false,
67
+ parse: function () {
68
+ var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
69
+ return _regenerator.default.wrap(function _callee$(_context) {
70
+ while (1) {
71
+ switch (_context.prev = _context.next) {
72
+ case 0:
73
+ return _context.abrupt("return", parseCartoDynamicTile(arrayBuffer, options));
74
+
75
+ case 1:
76
+ case "end":
77
+ return _context.stop();
78
+ }
79
+ }
80
+ }, _callee);
81
+ }));
82
+
83
+ function parse(_x, _x2) {
84
+ return _parse.apply(this, arguments);
85
+ }
86
+
87
+ return parse;
88
+ }(),
89
+ parseSync: parseCartoDynamicTile,
90
+ options: {
91
+ cartoDynamicTile: {
92
+ formatTiles: 'geojson'
93
+ }
94
+ }
95
+ };
96
+
97
+ var CartoDynamicTileLayer = function (_MVTLayer) {
98
+ (0, _inherits2.default)(CartoDynamicTileLayer, _MVTLayer);
99
+
100
+ var _super = _createSuper(CartoDynamicTileLayer);
101
+
102
+ function CartoDynamicTileLayer() {
103
+ (0, _classCallCheck2.default)(this, CartoDynamicTileLayer);
104
+ return _super.apply(this, arguments);
105
+ }
106
+
107
+ (0, _createClass2.default)(CartoDynamicTileLayer, [{
108
+ key: "getTileData",
109
+ value: function getTileData(tile) {
110
+ var url = (0, _utils.getURLFromTemplate)(this.state.data, tile);
111
+
112
+ if (!url) {
113
+ return Promise.reject('Invalid URL');
114
+ }
115
+
116
+ var loadOptions = this.getLoadOptions();
117
+ var _this$props = this.props,
118
+ fetch = _this$props.fetch,
119
+ formatTiles = _this$props.formatTiles;
120
+ var signal = tile.signal;
121
+ loadOptions = _objectSpread(_objectSpread({}, loadOptions), {}, {
122
+ mimeType: 'application/x-protobuf'
123
+ });
124
+
125
+ if (formatTiles) {
126
+ _core.log.assert(['geojson'].includes(formatTiles), "Invalid value for formatTiles: ".concat(formatTiles));
127
+
128
+ url += "&".concat((0, _mapsApiCommon.encodeParameter)('formatTiles', formatTiles));
129
+ loadOptions.cartoBinaryTile = {
130
+ formatTiles: formatTiles
131
+ };
132
+ }
133
+
134
+ return fetch(url, {
135
+ propName: 'data',
136
+ layer: this,
137
+ loadOptions: loadOptions,
138
+ signal: signal
139
+ });
140
+ }
141
+ }, {
142
+ key: "renderSubLayers",
143
+ value: function renderSubLayers(props) {
144
+ if (props.data === null) {
145
+ return null;
146
+ }
147
+
148
+ props.autoHighlight = false;
149
+ var _props$tile$bbox = props.tile.bbox,
150
+ west = _props$tile$bbox.west,
151
+ south = _props$tile$bbox.south,
152
+ east = _props$tile$bbox.east,
153
+ north = _props$tile$bbox.north;
154
+ props.extensions = [new _extensions.ClipExtension()];
155
+ props.clipBounds = [west, south, east, north];
156
+ var subLayer = new _layers.GeoJsonLayer(_objectSpread({}, props));
157
+ return subLayer;
158
+ }
159
+ }]);
160
+ return CartoDynamicTileLayer;
161
+ }(_geoLayers.MVTLayer);
162
+
163
+ exports.default = CartoDynamicTileLayer;
164
+ CartoDynamicTileLayer.layerName = 'CartoDynamicTileLayer';
165
+ CartoDynamicTileLayer.defaultProps = _objectSpread(_objectSpread({}, _geoLayers.MVTLayer.defaultProps), {}, {
166
+ loaders: [CartoDynamicTileLoader]
167
+ });
168
+ //# sourceMappingURL=carto-dynamic-tile-layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/layers/carto-dynamic-tile-layer.js"],"names":["parseJSON","arrayBuffer","JSON","parse","TextDecoder","decode","parseCartoDynamicTile","options","formatTiles","cartoDynamicTile","features","CartoDynamicTileLoader","name","id","module","extensions","mimeTypes","category","worker","parseSync","CartoDynamicTileLayer","tile","url","state","data","Promise","reject","loadOptions","getLoadOptions","props","fetch","signal","mimeType","log","assert","includes","cartoBinaryTile","propName","layer","autoHighlight","bbox","west","south","east","north","ClipExtension","clipBounds","subLayer","GeoJsonLayer","MVTLayer","layerName","defaultProps","loaders"],"mappings":"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","sourcesContent":["/* global TextDecoder */\nimport {log} from '@deck.gl/core';\nimport {ClipExtension} from '@deck.gl/extensions';\nimport {MVTLayer} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {encodeParameter} from '../api/maps-api-common';\nimport {getURLFromTemplate} from '@deck.gl/geo-layers/tile-layer/utils';\n\nfunction parseJSON(arrayBuffer) {\n return JSON.parse(new TextDecoder().decode(arrayBuffer));\n}\n\nfunction parseCartoDynamicTile(arrayBuffer, options) {\n if (!arrayBuffer) return null;\n const formatTiles = options && options.cartoDynamicTile && options.cartoDynamicTile.formatTiles;\n if (formatTiles === 'geojson') return geojsonToBinary(parseJSON(arrayBuffer).features);\n return null;\n}\n\nconst CartoDynamicTileLoader = {\n name: 'CARTO Dynamic Tile',\n id: 'cartoDynamicTile',\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/x-protobuf'],\n category: 'geometry',\n worker: false,\n parse: async (arrayBuffer, options) => parseCartoDynamicTile(arrayBuffer, options),\n parseSync: parseCartoDynamicTile,\n options: {\n cartoDynamicTile: {\n formatTiles: 'geojson'\n }\n }\n};\n\nexport default class CartoDynamicTileLayer extends MVTLayer {\n getTileData(tile) {\n let url = getURLFromTemplate(this.state.data, tile);\n if (!url) {\n return Promise.reject('Invalid URL');\n }\n\n let loadOptions = this.getLoadOptions();\n const {fetch, formatTiles} = this.props;\n const {signal} = tile;\n\n loadOptions = {\n ...loadOptions,\n mimeType: 'application/x-protobuf'\n };\n\n if (formatTiles) {\n log.assert(\n ['geojson'].includes(formatTiles),\n `Invalid value for formatTiles: ${formatTiles}`\n );\n url += `&${encodeParameter('formatTiles', formatTiles)}`;\n loadOptions.cartoBinaryTile = {formatTiles};\n }\n\n return fetch(url, {propName: 'data', layer: this, loadOptions, signal});\n }\n\n renderSubLayers(props) {\n if (props.data === null) {\n return null;\n }\n\n props.autoHighlight = false;\n\n const {\n bbox: {west, south, east, north}\n } = props.tile;\n props.extensions = [new ClipExtension()];\n props.clipBounds = [west, south, east, north];\n\n const subLayer = new GeoJsonLayer({\n ...props\n });\n return subLayer;\n }\n}\n\nCartoDynamicTileLayer.layerName = 'CartoDynamicTileLayer';\nCartoDynamicTileLayer.defaultProps = {...MVTLayer.defaultProps, loaders: [CartoDynamicTileLoader]};\n"],"file":"carto-dynamic-tile-layer.js"}
@@ -9,6 +9,8 @@ exports.default = void 0;
9
9
 
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
12
14
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
15
 
14
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -27,6 +29,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
27
29
 
28
30
  var _core = require("@deck.gl/core");
29
31
 
32
+ var _cartoDynamicTileLayer = _interopRequireDefault(require("./carto-dynamic-tile-layer"));
33
+
30
34
  var _geoLayers = require("@deck.gl/geo-layers");
31
35
 
32
36
  var _layers = require("@deck.gl/layers");
@@ -37,13 +41,15 @@ var _mapsApiCommon = require("../api/maps-api-common");
37
41
 
38
42
  var _config = require("../config");
39
43
 
40
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
44
+ var _excluded = ["type", "data", "clientId", "credentials"];
45
+
46
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
41
47
 
42
48
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
43
49
 
44
50
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
45
51
 
46
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
52
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
47
53
 
48
54
  var defaultProps = {
49
55
  data: null,
@@ -59,8 +65,11 @@ var defaultProps = {
59
65
  compare: false,
60
66
  optional: true
61
67
  },
68
+ uniqueIdProperty: 'cartodb_id',
62
69
  credentials: null,
63
70
  connection: null,
71
+ format: null,
72
+ clientId: null,
64
73
  geoColumn: null,
65
74
  columns: {
66
75
  type: 'array',
@@ -86,6 +95,11 @@ var CartoLayer = function (_CompositeLayer) {
86
95
  apiVersion: null
87
96
  };
88
97
  }
98
+ }, {
99
+ key: "isLoaded",
100
+ get: function get() {
101
+ return this.getSubLayers().length > 0 && (0, _get2.default)((0, _getPrototypeOf2.default)(CartoLayer.prototype), "isLoaded", this);
102
+ }
89
103
  }, {
90
104
  key: "_checkProps",
91
105
  value: function _checkProps(props) {
@@ -149,89 +163,79 @@ var CartoLayer = function (_CompositeLayer) {
149
163
  key: "_updateData",
150
164
  value: function () {
151
165
  var _updateData2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
152
- var _this$props, type, source, connection, credentials, geoColumn, columns, localConfig, apiVersion, data;
166
+ var _this$props, type, source, clientId, credentials, rest, localConfig, apiVersion, result;
153
167
 
154
168
  return _regenerator.default.wrap(function _callee$(_context) {
155
169
  while (1) {
156
170
  switch (_context.prev = _context.next) {
157
171
  case 0:
158
172
  _context.prev = 0;
159
- _this$props = this.props, type = _this$props.type, source = _this$props.data, connection = _this$props.connection, credentials = _this$props.credentials, geoColumn = _this$props.geoColumn, columns = _this$props.columns;
173
+ _this$props = this.props, type = _this$props.type, source = _this$props.data, clientId = _this$props.clientId, credentials = _this$props.credentials, rest = (0, _objectWithoutProperties2.default)(_this$props, _excluded);
160
174
  localConfig = _objectSpread(_objectSpread({}, (0, _config.getDefaultCredentials)()), credentials);
161
175
  apiVersion = localConfig.apiVersion;
162
176
 
163
- if (!(apiVersion === _api.API_VERSIONS.V3)) {
164
- _context.next = 10;
177
+ if (!(apiVersion === _api.API_VERSIONS.V1 || apiVersion === _api.API_VERSIONS.V2)) {
178
+ _context.next = 11;
165
179
  break;
166
180
  }
167
181
 
168
182
  _context.next = 7;
169
- return (0, _api.getData)({
183
+ return (0, _api.getDataV2)({
170
184
  type: type,
171
185
  source: source,
172
- connection: connection,
173
- credentials: credentials,
174
- geoColumn: geoColumn,
175
- columns: columns
186
+ credentials: credentials
176
187
  });
177
188
 
178
189
  case 7:
179
- data = _context.sent;
180
- _context.next = 17;
190
+ _context.t0 = _context.sent;
191
+ result = {
192
+ data: _context.t0
193
+ };
194
+ _context.next = 14;
181
195
  break;
182
196
 
183
- case 10:
184
- if (!(apiVersion === _api.API_VERSIONS.V1 || apiVersion === _api.API_VERSIONS.V2)) {
185
- _context.next = 16;
186
- break;
187
- }
188
-
197
+ case 11:
189
198
  _context.next = 13;
190
- return (0, _api.getDataV2)({
199
+ return (0, _api.fetchLayerData)(_objectSpread({
191
200
  type: type,
192
201
  source: source,
202
+ clientId: clientId,
193
203
  credentials: credentials
194
- });
204
+ }, rest));
195
205
 
196
206
  case 13:
197
- data = _context.sent;
198
- _context.next = 17;
199
- break;
200
-
201
- case 16:
202
- _core.log.assert("Unknow apiVersion ".concat(apiVersion, ". Use API_VERSIONS enum."));
207
+ result = _context.sent;
203
208
 
204
- case 17:
205
- this.setState({
206
- data: data,
209
+ case 14:
210
+ this.setState(_objectSpread(_objectSpread({}, result), {}, {
207
211
  apiVersion: apiVersion
208
- });
209
- this.props.onDataLoad(data);
210
- _context.next = 28;
212
+ }));
213
+ this.props.onDataLoad(result.data);
214
+ _context.next = 25;
211
215
  break;
212
216
 
213
- case 21:
214
- _context.prev = 21;
215
- _context.t0 = _context["catch"](0);
217
+ case 18:
218
+ _context.prev = 18;
219
+ _context.t1 = _context["catch"](0);
216
220
 
217
221
  if (!this.props.onDataError) {
218
- _context.next = 27;
222
+ _context.next = 24;
219
223
  break;
220
224
  }
221
225
 
222
- this.props.onDataError(_context.t0);
223
- _context.next = 28;
226
+ this.props.onDataError(_context.t1);
227
+ _context.next = 25;
224
228
  break;
225
229
 
226
- case 27:
227
- throw _context.t0;
230
+ case 24:
231
+ throw _context.t1;
228
232
 
229
- case 28:
233
+ case 25:
230
234
  case "end":
231
235
  return _context.stop();
232
236
  }
233
237
  }
234
- }, _callee, this, [[0, 21]]);
238
+ }, _callee, this, [[0, 18]]);
235
239
  }));
236
240
 
237
241
  function _updateData() {
@@ -245,19 +249,27 @@ var CartoLayer = function (_CompositeLayer) {
245
249
  value: function renderLayers() {
246
250
  var _this$state = this.state,
247
251
  data = _this$state.data,
252
+ format = _this$state.format,
248
253
  apiVersion = _this$state.apiVersion;
249
- var type = this.props.type;
250
254
  if (!data) return null;
251
- var updateTriggers = this.props.updateTriggers;
255
+ var _this$props2 = this.props,
256
+ type = _this$props2.type,
257
+ updateTriggers = _this$props2.updateTriggers;
252
258
  var layer;
253
259
 
254
- if (apiVersion === _api.API_VERSIONS.V1 || apiVersion === _api.API_VERSIONS.V2 || type === _mapsApiCommon.MAP_TYPES.TILESET) {
260
+ if (apiVersion === _api.API_VERSIONS.V3 && type === _mapsApiCommon.MAP_TYPES.TABLE && format === _mapsApiCommon.FORMATS.TILEJSON) {
261
+ layer = _cartoDynamicTileLayer.default;
262
+ } else if (apiVersion === _api.API_VERSIONS.V1 || apiVersion === _api.API_VERSIONS.V2 || format === _mapsApiCommon.FORMATS.TILEJSON) {
255
263
  layer = _geoLayers.MVTLayer;
256
264
  } else {
257
265
  layer = _layers.GeoJsonLayer;
258
266
  }
259
267
 
260
- var props = _objectSpread({}, this.props);
268
+ var uniqueIdProperty = defaultProps.uniqueIdProperty;
269
+
270
+ var props = _objectSpread({
271
+ uniqueIdProperty: uniqueIdProperty
272
+ }, this.props);
261
273
 
262
274
  delete props.data;
263
275
  return new layer(props, this.getSubLayerProps({
@@ -266,11 +278,6 @@ var CartoLayer = function (_CompositeLayer) {
266
278
  updateTriggers: updateTriggers
267
279
  }));
268
280
  }
269
- }, {
270
- key: "isLoaded",
271
- get: function get() {
272
- return this.getSubLayers().length > 0 && (0, _get2.default)((0, _getPrototypeOf2.default)(CartoLayer.prototype), "isLoaded", this);
273
- }
274
281
  }]);
275
282
  return CartoLayer;
276
283
  }(_core.CompositeLayer);