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

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 (62) hide show
  1. package/dist/dist.dev.js +1521 -1700
  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 +34 -27
  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-layer.js +50 -51
  15. package/dist/es5/layers/carto-layer.js.map +1 -1
  16. package/dist/es5/style/color-bins-style.js +6 -2
  17. package/dist/es5/style/color-bins-style.js.map +1 -1
  18. package/dist/es5/style/color-categories-style.js +7 -3
  19. package/dist/es5/style/color-categories-style.js.map +1 -1
  20. package/dist/es5/style/color-continuous-style.js +6 -2
  21. package/dist/es5/style/color-continuous-style.js.map +1 -1
  22. package/dist/es5/style/palette.js +6 -2
  23. package/dist/es5/style/palette.js.map +1 -1
  24. package/dist/esm/api/layer-map.js +3 -2
  25. package/dist/esm/api/layer-map.js.map +1 -1
  26. package/dist/esm/api/maps-client.js +1 -1
  27. package/dist/esm/api/maps-client.js.map +1 -1
  28. package/dist/esm/api/maps-v3-client.js +23 -13
  29. package/dist/esm/api/maps-v3-client.js.map +1 -1
  30. package/dist/esm/api/parseMap.js +3 -10
  31. package/dist/esm/api/parseMap.js.map +1 -1
  32. package/dist/esm/config.js +11 -26
  33. package/dist/esm/config.js.map +1 -1
  34. package/dist/esm/index.js +0 -2
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/layers/carto-layer.js +28 -28
  37. package/dist/esm/layers/carto-layer.js.map +1 -1
  38. package/dist/esm/style/color-bins-style.js +1 -1
  39. package/dist/esm/style/color-bins-style.js.map +1 -1
  40. package/dist/esm/style/color-continuous-style.js +1 -1
  41. package/dist/esm/style/color-continuous-style.js.map +1 -1
  42. package/dist.min.js +4 -4
  43. package/package.json +7 -7
  44. package/src/api/layer-map.js +3 -2
  45. package/src/api/maps-client.js +3 -7
  46. package/src/api/maps-v3-client.js +24 -13
  47. package/src/api/parseMap.js +17 -26
  48. package/src/config.js +8 -39
  49. package/src/index.js +0 -2
  50. package/src/layers/carto-layer.js +17 -23
  51. package/src/style/color-bins-style.js +2 -4
  52. package/src/style/color-continuous-style.js +2 -4
  53. package/dist/es5/layers/carto-bqtiler-layer.js +0 -65
  54. package/dist/es5/layers/carto-bqtiler-layer.js.map +0 -1
  55. package/dist/es5/layers/carto-sql-layer.js +0 -66
  56. package/dist/es5/layers/carto-sql-layer.js.map +0 -1
  57. package/dist/esm/layers/carto-bqtiler-layer.js +0 -16
  58. package/dist/esm/layers/carto-bqtiler-layer.js.map +0 -1
  59. package/dist/esm/layers/carto-sql-layer.js +0 -17
  60. package/dist/esm/layers/carto-sql-layer.js.map +0 -1
  61. package/src/layers/carto-bqtiler-layer.js +0 -21
  62. package/src/layers/carto-sql-layer.js +0 -22
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/layer-map.js"],"names":["extent","rgb","scaleLinear","scaleOrdinal","scaleLog","scalePoint","scaleQuantile","scaleQuantize","scaleSqrt","format","d3Format","moment","H3HexagonLayer","MVTLayer","GeoJsonLayer","SCALE_FUNCS","linear","ordinal","log","point","quantile","quantize","sqrt","sharedPropMap","color","isVisible","textLabel","alignment","anchor","size","visConfig","enable3d","filled","opacity","strokeColor","stroked","thickness","radius","wireframe","RADIUS_DOWNSCALE","defaultProps","lineMiterLimit","lineWidthUnits","pointRadiusScale","pointRadiusUnits","rounded","wrapLongitude","mergePropMaps","a","b","LAYER_MAP","Layer","propMap","outline","geojson","lineWidthScale","hexagonId","coverage","elevationScale","getHexagon","d","h3","mvt","domainFromAttribute","attribute","scaleType","categories","map","c","category","filter","undefined","min","max","domainFromValues","values","Set","sort","calculateDomain","data","name","tilestats","attributes","layers","find","features","properties","Array","isArray","normalizeAccessor","accessor","getColorAccessor","colors","scale","domain","range","alpha","Math","pow","rgba","r","g","getSizeAccessor","FORMATS","date","s","utc","integer","float","timestamp","default","String","getTextAccessor","type","getTextPixelOffsetAccessor","padding","signX","signY","sizeOffset","calculateOffset"],"mappings":"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","sourcesContent":["import {extent} from 'd3-array';\nimport {rgb} from 'd3-color';\nimport {\n scaleLinear,\n scaleOrdinal,\n scaleLog,\n scalePoint,\n scaleQuantile,\n scaleQuantize,\n scaleSqrt\n} from 'd3-scale';\nimport {format as d3Format} from 'd3-format';\nimport moment from 'moment-timezone';\nimport {H3HexagonLayer, MVTLayer} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\n\nconst SCALE_FUNCS = {\n linear: scaleLinear,\n ordinal: scaleOrdinal,\n log: scaleLog,\n point: scalePoint,\n quantile: scaleQuantile,\n quantize: scaleQuantize,\n sqrt: scaleSqrt\n};\n\n// Kepler -> Deck.gl\nconst sharedPropMap = {\n color: 'getFillColor',\n isVisible: 'visible',\n textLabel: {\n alignment: 'getTextAlignmentBaseline',\n anchor: 'getTextAnchor',\n color: 'getTextColor',\n size: 'getTextSize'\n },\n visConfig: {\n enable3d: 'extruded',\n filled: 'filled',\n opacity: 'opacity',\n strokeColor: 'getLineColor',\n stroked: 'stroked',\n thickness: 'getLineWidth',\n radius: 'getPointRadius',\n wireframe: 'wireframe'\n }\n};\n\nconst RADIUS_DOWNSCALE = 0.2;\n\nconst defaultProps = {\n lineMiterLimit: 2,\n lineWidthUnits: 'pixels',\n pointRadiusScale: RADIUS_DOWNSCALE,\n pointRadiusUnits: 'pixels',\n rounded: true,\n wrapLongitude: false\n};\n\nfunction mergePropMaps(a, b) {\n return {...a, ...b, visConfig: {...a.visConfig, ...b.visConfig}};\n}\n\nexport const LAYER_MAP = {\n point: {\n Layer: GeoJsonLayer,\n propMap: mergePropMaps(sharedPropMap, {\n visConfig: {outline: 'stroked'}\n }),\n defaultProps\n },\n geojson: {\n Layer: GeoJsonLayer,\n propMap: sharedPropMap,\n defaultProps: {...defaultProps, lineWidthScale: 2}\n },\n hexagonId: {\n Layer: H3HexagonLayer,\n propMap: mergePropMaps(sharedPropMap, {\n visConfig: {coverage: 'coverage', elevationScale: 'elevationScale'}\n }),\n defaultProps: {...defaultProps, getHexagon: d => d.h3}\n },\n mvt: {\n Layer: MVTLayer,\n propMap: sharedPropMap,\n defaultProps: {...defaultProps, pointRadiusScale: 0.3, lineWidthScale: 2}\n }\n};\n\nfunction domainFromAttribute(attribute, scaleType) {\n if (scaleType === 'ordinal' || scaleType === 'point') {\n return attribute.categories.map(c => c.category).filter(c => c !== undefined && c !== null);\n }\n\n let {min} = attribute;\n if (scaleType === 'log' && min === 0) {\n min = 1e-5;\n }\n return [min, attribute.max];\n}\n\nfunction domainFromValues(values, scaleType) {\n if (scaleType === 'ordinal') {\n return [...new Set(values)].sort();\n }\n return extent(values);\n}\n\nfunction calculateDomain(data, name, scaleType) {\n if (data.tilestats) {\n // Tileset data type\n const {attributes} = data.tilestats.layers[0];\n const attribute = attributes.find(a => a.attribute === name);\n return domainFromAttribute(attribute, scaleType);\n } else if (data.features) {\n // GeoJSON data type\n const values = data.features.map(({properties}) => properties[name]);\n return domainFromValues(values, scaleType);\n } else if (Array.isArray(data) && data[0][name]) {\n // JSON data type\n const values = data.map(properties => properties[name]);\n return domainFromValues(values, scaleType);\n }\n\n return [0, 1];\n}\n\nfunction normalizeAccessor(accessor, data) {\n if (data.features || data.tilestats) {\n return ({properties}) => {\n return accessor(properties);\n };\n }\n return accessor;\n}\n\nexport function getColorAccessor({name}, scaleType, {colors}, opacity, data) {\n const scale = SCALE_FUNCS[scaleType]();\n scale.domain(calculateDomain(data, name, scaleType));\n scale.range(colors);\n const alpha = opacity !== undefined ? 255 * Math.pow(opacity, 1 / 2.2) : 255;\n\n const accessor = properties => {\n const rgba = rgb(scale(properties[name]));\n return [rgba.r, rgba.g, rgba.b, alpha];\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport function getSizeAccessor({name}, scaleType, range, data) {\n const scale = SCALE_FUNCS[scaleType]();\n scale.domain(calculateDomain(data, name, scaleType));\n scale.range(range);\n\n const accessor = properties => {\n return scale(properties[name]);\n };\n return normalizeAccessor(accessor, data);\n}\n\nconst FORMATS = {\n date: s => moment.utc(s).format('MM/DD/YY HH:mm:ssa'),\n integer: d3Format('i'),\n float: d3Format('.5f'),\n timestamp: s => moment.utc(s).format('X'),\n default: String\n};\n\nexport function getTextAccessor({name, type}, data) {\n const format = FORMATS[type] || FORMATS.default;\n const accessor = properties => {\n return format(properties[name]);\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport function getTextPixelOffsetAccessor({alignment, anchor, size}, radius) {\n const padding = 20;\n const signX = anchor === 'middle' ? 0 : anchor === 'start' ? 1 : -1;\n const signY = alignment === 'center' ? 0 : alignment === 'bottom' ? 1 : -1;\n const sizeOffset = alignment === 'center' ? 0 : size;\n\n const calculateOffset = r => {\n r = RADIUS_DOWNSCALE * r;\n return [signX * (r + padding), signY * (r + padding + sizeOffset)];\n };\n\n return typeof radius === 'function'\n ? d => {\n return calculateOffset(radius(d));\n }\n : calculateOffset(radius);\n}\n"],"file":"layer-map.js"}
1
+ {"version":3,"sources":["../../../src/api/layer-map.js"],"names":["extent","rgb","scaleLinear","scaleOrdinal","scaleLog","scalePoint","scaleQuantile","scaleQuantize","scaleSqrt","format","d3Format","moment","H3HexagonLayer","MVTLayer","GeoJsonLayer","SCALE_FUNCS","linear","ordinal","log","point","quantile","quantize","sqrt","sharedPropMap","color","isVisible","label","textLabel","alignment","anchor","size","visConfig","enable3d","filled","opacity","strokeColor","stroked","thickness","radius","wireframe","RADIUS_DOWNSCALE","defaultProps","lineMiterLimit","lineWidthUnits","pointRadiusScale","pointRadiusUnits","rounded","wrapLongitude","mergePropMaps","a","b","LAYER_MAP","Layer","propMap","outline","geojson","lineWidthScale","hexagonId","coverage","elevationScale","getHexagon","d","h3","mvt","domainFromAttribute","attribute","scaleType","categories","map","c","category","filter","undefined","min","max","domainFromValues","values","Set","sort","calculateDomain","data","name","tilestats","attributes","layers","find","features","properties","Array","isArray","normalizeAccessor","accessor","getColorAccessor","colors","scale","domain","range","alpha","Math","round","pow","rgba","r","g","getSizeAccessor","FORMATS","date","s","utc","integer","float","timestamp","default","String","getTextAccessor","type","getTextPixelOffsetAccessor","padding","signX","signY","sizeOffset","calculateOffset"],"mappings":"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","sourcesContent":["import {extent} from 'd3-array';\nimport {rgb} from 'd3-color';\nimport {\n scaleLinear,\n scaleOrdinal,\n scaleLog,\n scalePoint,\n scaleQuantile,\n scaleQuantize,\n scaleSqrt\n} from 'd3-scale';\nimport {format as d3Format} from 'd3-format';\nimport moment from 'moment-timezone';\nimport {H3HexagonLayer, MVTLayer} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\n\nconst SCALE_FUNCS = {\n linear: scaleLinear,\n ordinal: scaleOrdinal,\n log: scaleLog,\n point: scalePoint,\n quantile: scaleQuantile,\n quantize: scaleQuantize,\n sqrt: scaleSqrt\n};\n\n// Kepler -> Deck.gl\nconst sharedPropMap = {\n color: 'getFillColor',\n isVisible: 'visible',\n label: 'cartoLabel',\n textLabel: {\n alignment: 'getTextAlignmentBaseline',\n anchor: 'getTextAnchor',\n color: 'getTextColor',\n size: 'getTextSize'\n },\n visConfig: {\n enable3d: 'extruded',\n filled: 'filled',\n opacity: 'opacity',\n strokeColor: 'getLineColor',\n stroked: 'stroked',\n thickness: 'getLineWidth',\n radius: 'getPointRadius',\n wireframe: 'wireframe'\n }\n};\n\nconst RADIUS_DOWNSCALE = 0.2;\n\nconst defaultProps = {\n lineMiterLimit: 2,\n lineWidthUnits: 'pixels',\n pointRadiusScale: RADIUS_DOWNSCALE,\n pointRadiusUnits: 'pixels',\n rounded: true,\n wrapLongitude: false\n};\n\nfunction mergePropMaps(a, b) {\n return {...a, ...b, visConfig: {...a.visConfig, ...b.visConfig}};\n}\n\nexport const LAYER_MAP = {\n point: {\n Layer: GeoJsonLayer,\n propMap: mergePropMaps(sharedPropMap, {\n visConfig: {outline: 'stroked'}\n }),\n defaultProps\n },\n geojson: {\n Layer: GeoJsonLayer,\n propMap: sharedPropMap,\n defaultProps: {...defaultProps, lineWidthScale: 2}\n },\n hexagonId: {\n Layer: H3HexagonLayer,\n propMap: mergePropMaps(sharedPropMap, {\n visConfig: {coverage: 'coverage', elevationScale: 'elevationScale'}\n }),\n defaultProps: {...defaultProps, getHexagon: d => d.h3}\n },\n mvt: {\n Layer: MVTLayer,\n propMap: sharedPropMap,\n defaultProps: {...defaultProps, pointRadiusScale: 0.3, lineWidthScale: 2}\n }\n};\n\nfunction domainFromAttribute(attribute, scaleType) {\n if (scaleType === 'ordinal' || scaleType === 'point') {\n return attribute.categories.map(c => c.category).filter(c => c !== undefined && c !== null);\n }\n\n let {min} = attribute;\n if (scaleType === 'log' && min === 0) {\n min = 1e-5;\n }\n return [min, attribute.max];\n}\n\nfunction domainFromValues(values, scaleType) {\n if (scaleType === 'ordinal') {\n return [...new Set(values)].sort();\n }\n return extent(values);\n}\n\nfunction calculateDomain(data, name, scaleType) {\n if (data.tilestats) {\n // Tileset data type\n const {attributes} = data.tilestats.layers[0];\n const attribute = attributes.find(a => a.attribute === name);\n return domainFromAttribute(attribute, scaleType);\n } else if (data.features) {\n // GeoJSON data type\n const values = data.features.map(({properties}) => properties[name]);\n return domainFromValues(values, scaleType);\n } else if (Array.isArray(data) && data[0][name] !== undefined) {\n // JSON data type\n const values = data.map(properties => properties[name]);\n return domainFromValues(values, scaleType);\n }\n\n return [0, 1];\n}\n\nfunction normalizeAccessor(accessor, data) {\n if (data.features || data.tilestats) {\n return ({properties}) => {\n return accessor(properties);\n };\n }\n return accessor;\n}\n\nexport function getColorAccessor({name}, scaleType, {colors}, opacity, data) {\n const scale = SCALE_FUNCS[scaleType]();\n scale.domain(calculateDomain(data, name, scaleType));\n scale.range(colors);\n const alpha = opacity !== undefined ? Math.round(255 * Math.pow(opacity, 1 / 2.2)) : 255;\n\n const accessor = properties => {\n const rgba = rgb(scale(properties[name]));\n return [rgba.r, rgba.g, rgba.b, alpha];\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport function getSizeAccessor({name}, scaleType, range, data) {\n const scale = SCALE_FUNCS[scaleType]();\n scale.domain(calculateDomain(data, name, scaleType));\n scale.range(range);\n\n const accessor = properties => {\n return scale(properties[name]);\n };\n return normalizeAccessor(accessor, data);\n}\n\nconst FORMATS = {\n date: s => moment.utc(s).format('MM/DD/YY HH:mm:ssa'),\n integer: d3Format('i'),\n float: d3Format('.5f'),\n timestamp: s => moment.utc(s).format('X'),\n default: String\n};\n\nexport function getTextAccessor({name, type}, data) {\n const format = FORMATS[type] || FORMATS.default;\n const accessor = properties => {\n return format(properties[name]);\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport function getTextPixelOffsetAccessor({alignment, anchor, size}, radius) {\n const padding = 20;\n const signX = anchor === 'middle' ? 0 : anchor === 'start' ? 1 : -1;\n const signY = alignment === 'center' ? 0 : alignment === 'bottom' ? 1 : -1;\n const sizeOffset = alignment === 'center' ? 0 : size;\n\n const calculateOffset = r => {\n r = RADIUS_DOWNSCALE * r;\n return [signX * (r + padding), signY * (r + padding + sizeOffset)];\n };\n\n return typeof radius === 'function'\n ? d => {\n return calculateOffset(radius(d));\n }\n : calculateOffset(radius);\n}\n"],"file":"layer-map.js"}
@@ -51,7 +51,7 @@ export async function getDataV2({
51
51
  });
52
52
 
53
53
  default:
54
- throw new Error("Invalid maps API version. It shoud be ".concat(API_VERSIONS.V1, " or ").concat(API_VERSIONS.V2));
54
+ throw new Error("Invalid maps API version. It should be ".concat(API_VERSIONS.V1, " or ").concat(API_VERSIONS.V2));
55
55
  }
56
56
  }
57
57
 
@@ -1 +1 @@
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"}
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 should 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 ('${credentials.username}') and apiKey ('${credentials.apiKey}')`\n );\n case 403:\n throw new Error(\n `Unauthorized access to dataset: the provided apiKey('${credentials.apiKey}') 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"}
@@ -293,7 +293,7 @@ export async function getData({
293
293
  return layerData.data;
294
294
  }
295
295
 
296
- async function _fetchMapDataset(dataset, accessToken) {
296
+ async function _fetchMapDataset(dataset, accessToken, credentials) {
297
297
  const {
298
298
  connectionName: connection,
299
299
  source,
@@ -303,7 +303,7 @@ async function _fetchMapDataset(dataset, accessToken) {
303
303
  url,
304
304
  mapFormat
305
305
  } = await _fetchDataUrl({
306
- credentials: {
306
+ credentials: { ...credentials,
307
307
  accessToken
308
308
  },
309
309
  connection,
@@ -328,22 +328,23 @@ async function _fetchMapDataset(dataset, accessToken) {
328
328
 
329
329
  async function fillInMapDatasets({
330
330
  datasets,
331
- publicToken
332
- }) {
333
- const promises = datasets.map(dataset => _fetchMapDataset(dataset, publicToken));
331
+ token
332
+ }, credentials) {
333
+ const promises = datasets.map(dataset => _fetchMapDataset(dataset, token, credentials));
334
334
  return await Promise.all(promises);
335
335
  }
336
336
 
337
337
  export async function fetchMap({
338
- mapId,
338
+ cartoMapId,
339
339
  credentials,
340
340
  autoRefresh,
341
341
  onNewData
342
342
  }) {
343
- const localCreds = { ...getDefaultCredentials(),
343
+ const defaultCredentials = getDefaultCredentials();
344
+ const localCreds = { ...(defaultCredentials.apiVersion === API_VERSIONS.V3 && defaultCredentials),
344
345
  ...credentials
345
346
  };
346
- log.assert(mapId, 'Must define map id');
347
+ log.assert(cartoMapId, "Must define CARTO map id: fetchMap({cartoMapId: 'XXXX-XXXX-XXXX'})");
347
348
  log.assert(localCreds.apiVersion === API_VERSIONS.V3, 'Method only available for v3');
348
349
  log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');
349
350
 
@@ -357,22 +358,31 @@ export async function fetchMap({
357
358
  log.assert(autoRefresh > 0, '`autoRefresh` must be a positive number');
358
359
  }
359
360
 
360
- const url = "".concat(localCreds.mapsUrl, "/public/").concat(mapId);
361
+ const url = "".concat(localCreds.mapsUrl, "/public/").concat(cartoMapId);
361
362
  const map = await request({
362
363
  url
363
364
  });
365
+ let stopAutoRefresh;
364
366
 
365
367
  if (autoRefresh) {
366
- setInterval(async () => {
367
- const changed = await fillInMapDatasets(map);
368
+ const intervalId = setInterval(async () => {
369
+ const changed = await fillInMapDatasets(map, credentials);
368
370
 
369
371
  if (changed.some(v => v === true)) {
370
372
  onNewData(parseMap(map));
371
373
  }
372
374
  }, autoRefresh * 1000);
375
+
376
+ stopAutoRefresh = () => {
377
+ clearInterval(intervalId);
378
+ };
373
379
  }
374
380
 
375
- await fillInMapDatasets(map);
376
- return parseMap(map);
381
+ await fillInMapDatasets(map, credentials);
382
+ return { ...parseMap(map),
383
+ ...{
384
+ stopAutoRefresh
385
+ }
386
+ };
377
387
  }
378
388
  //# 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","parseMap","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","checkFetchLayerDataParameters","localCreds","assert","apiVersion","V3","apiBaseUrl","fetchLayerData","mapFormat","_fetchDataUrl","data","result","defaultCredentials","prioritizedFormats","GEOJSON","TILEJSON","f","getData","deprecated","layerData","_fetchMapDataset","dataset","connectionName","cache","parseInt","URLSearchParams","get","fillInMapDatasets","datasets","publicToken","promises","map","Promise","all","fetchMap","mapId","autoRefresh","onNewData","setInterval","changed","some","v"],"mappings":"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","sourcesContent":["/**\n * Maps API Client for Carto 3\n */\nimport {getDefaultCredentials, buildMapsUrlFromBase} from '../config';\nimport {API_VERSIONS, encodeParameter, FORMATS, MAP_TYPES} from './maps-api-common';\nimport {parseMap} from './parseMap';\nimport {log} from '@deck.gl/core';\n\nconst MAX_GET_LENGTH = 2048;\n\n/**\n * Request against Maps API\n */\nasync function request({method, url, format, accessToken, body}) {\n let response;\n\n const headers = {\n Accept: 'application/json'\n };\n\n if (accessToken) {\n headers.Authorization = `Bearer ${accessToken}`;\n }\n\n if (method === 'POST') {\n headers['Content-Type'] = 'application/json';\n }\n\n try {\n /* global fetch */\n /* eslint no-undef: \"error\" */\n response = await fetch(url, {\n method,\n headers,\n body\n });\n } catch (error) {\n throw new Error(`Failed to connect to Maps API: ${error}`);\n }\n\n if (format === FORMATS.NDJSON) {\n return response;\n }\n\n const json = await response.json();\n\n if (!response.ok) {\n dealWithError({response, error: json.error});\n }\n\n return json.rows ? json.rows : json;\n}\n\n/**\n * Display proper message from Maps API error\n */\nfunction dealWithError({response, error}) {\n switch (response.status) {\n case 400:\n throw new Error(`Bad request. ${error}`);\n case 401:\n case 403:\n throw new Error(`Unauthorized access. ${error}`);\n default:\n throw new Error(error);\n }\n}\n\n/**\n * Build a URL with all required parameters\n */\nfunction getParameters({type, source, geoColumn, columns, schema}) {\n const parameters = [encodeParameter('client', 'deck-gl-carto')];\n if (schema) {\n parameters.push(encodeParameter('schema', true));\n }\n\n const sourceName = type === MAP_TYPES.QUERY ? 'q' : 'name';\n parameters.push(encodeParameter(sourceName, source));\n\n if (type === MAP_TYPES.TABLE) {\n if (geoColumn) {\n parameters.push(encodeParameter('geo_column', geoColumn));\n }\n if (columns) {\n parameters.push(encodeParameter('columns', columns.join(',')));\n }\n }\n\n return parameters.join('&');\n}\n\nexport async function mapInstantiation({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n schema\n}) {\n const baseUrl = `${credentials.mapsUrl}/${connection}/${type}`;\n const url = `${baseUrl}?${getParameters({type, source, geoColumn, columns, schema})}`;\n const {accessToken} = credentials;\n\n const format = 'json';\n\n if (url.length > MAX_GET_LENGTH && type === MAP_TYPES.QUERY) {\n // need to be a POST request\n const body = JSON.stringify({\n q: source,\n client: 'deck-gl-carto'\n });\n return await request({method: 'POST', url: baseUrl, format, accessToken, body});\n }\n\n return await request({url, format, accessToken});\n}\n\nfunction getUrlFromMetadata(metadata, format) {\n const m = metadata[format];\n\n if (m && !m.error && m.url) {\n return m.url[0];\n }\n\n return null;\n}\n\nfunction checkFetchLayerDataParameters({type, source, connection, localCreds}) {\n log.assert(connection, 'Must define connection');\n log.assert(type, 'Must define a type');\n log.assert(source, 'Must define a source');\n\n log.assert(localCreds.apiVersion === API_VERSIONS.V3, 'Method only available for v3');\n log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');\n log.assert(localCreds.accessToken, 'Must define an accessToken');\n}\n\nexport async function fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema\n}) {\n // Internally we split data fetching into two parts to allow us to\n // conditionally fetch the actual data, depending on the metadata state\n const {url, accessToken, mapFormat, metadata} = await _fetchDataUrl({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema\n });\n\n const data = await request({url, format: mapFormat, accessToken});\n const result = {data, format: mapFormat};\n if (schema) {\n result.schema = metadata.schema;\n }\n\n return result;\n}\n\nasync function _fetchDataUrl({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema\n}) {\n const defaultCredentials = getDefaultCredentials();\n // Only pick up default credentials if they have been defined for\n // correct API version\n const localCreds = {\n ...(defaultCredentials.apiVersion === API_VERSIONS.V3 && defaultCredentials),\n ...credentials\n };\n checkFetchLayerDataParameters({type, source, connection, localCreds});\n\n if (!localCreds.mapsUrl) {\n localCreds.mapsUrl = buildMapsUrlFromBase(localCreds.apiBaseUrl);\n }\n\n const metadata = await mapInstantiation({\n type,\n source,\n connection,\n credentials: localCreds,\n geoColumn,\n columns,\n schema\n });\n let url;\n let mapFormat;\n\n if (format) {\n mapFormat = format;\n url = getUrlFromMetadata(metadata, format);\n log.assert(url, `Format ${format} not available`);\n } else {\n // guess map format\n const prioritizedFormats = [FORMATS.GEOJSON, FORMATS.JSON, FORMATS.NDJSON, FORMATS.TILEJSON];\n for (const f of prioritizedFormats) {\n url = getUrlFromMetadata(metadata, f);\n if (url) {\n mapFormat = f;\n break;\n }\n }\n }\n\n const {accessToken} = localCreds;\n return {url, accessToken, mapFormat, metadata};\n}\n\nexport async function getData({type, source, connection, credentials, geoColumn, columns, format}) {\n log.deprecated('getData', 'fetchLayerData')();\n const layerData = await fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema: false\n });\n return layerData.data;\n}\n\n/* global setInterval, URLSearchParams */\nasync function _fetchMapDataset(dataset, accessToken) {\n // First fetch metadata\n const {connectionName: connection, source, type} = dataset;\n const {url, mapFormat} = await _fetchDataUrl({\n credentials: {accessToken},\n connection,\n source,\n type\n });\n\n // Extract the last time the data changed\n const cache = parseInt(new URLSearchParams(url).get('cache'), 10);\n if (cache && dataset.cache === cache) {\n return false;\n }\n dataset.cache = cache;\n\n // Only fetch if the data has changed\n const data = await request({url, format: mapFormat, accessToken});\n dataset.data = data;\n return true;\n}\n\nasync function fillInMapDatasets({datasets, publicToken}) {\n const promises = datasets.map(dataset => _fetchMapDataset(dataset, publicToken));\n return await Promise.all(promises);\n}\n\nexport async function fetchMap({mapId, credentials, autoRefresh, onNewData}) {\n const localCreds = {...getDefaultCredentials(), ...credentials};\n\n log.assert(mapId, 'Must define map id');\n\n log.assert(localCreds.apiVersion === API_VERSIONS.V3, 'Method only available for v3');\n log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');\n if (!localCreds.mapsUrl) {\n localCreds.mapsUrl = buildMapsUrlFromBase(localCreds.apiBaseUrl);\n }\n\n if (autoRefresh || onNewData) {\n log.assert(onNewData, 'Must define `onNewData` when using autoRefresh');\n log.assert(typeof onNewData === 'function', '`onNewData` must be a function');\n log.assert(autoRefresh > 0, '`autoRefresh` must be a positive number');\n }\n\n const url = `${localCreds.mapsUrl}/public/${mapId}`;\n const map = await request({url});\n\n // Periodically check if the data has changed. Note that this\n // will not update when a map is published.\n if (autoRefresh) {\n setInterval(async () => {\n const changed = await fillInMapDatasets(map);\n if (changed.some(v => v === true)) {\n onNewData(parseMap(map));\n }\n }, autoRefresh * 1000);\n }\n\n // Mutates map.datasets so that dataset.data contains data\n await fillInMapDatasets(map);\n return parseMap(map);\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","parseMap","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","checkFetchLayerDataParameters","localCreds","assert","apiVersion","V3","apiBaseUrl","fetchLayerData","mapFormat","_fetchDataUrl","data","result","defaultCredentials","prioritizedFormats","GEOJSON","TILEJSON","f","getData","deprecated","layerData","_fetchMapDataset","dataset","connectionName","cache","parseInt","URLSearchParams","get","fillInMapDatasets","datasets","token","promises","map","Promise","all","fetchMap","cartoMapId","autoRefresh","onNewData","stopAutoRefresh","intervalId","setInterval","changed","some","v","clearInterval"],"mappings":"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","sourcesContent":["/**\n * Maps API Client for Carto 3\n */\nimport {getDefaultCredentials, buildMapsUrlFromBase} from '../config';\nimport {API_VERSIONS, encodeParameter, FORMATS, MAP_TYPES} from './maps-api-common';\nimport {parseMap} from './parseMap';\nimport {log} from '@deck.gl/core';\n\nconst MAX_GET_LENGTH = 2048;\n\n/**\n * Request against Maps API\n */\nasync function request({method, url, format, accessToken, body}) {\n let response;\n\n const headers = {\n Accept: 'application/json'\n };\n\n if (accessToken) {\n headers.Authorization = `Bearer ${accessToken}`;\n }\n\n if (method === 'POST') {\n headers['Content-Type'] = 'application/json';\n }\n\n try {\n /* global fetch */\n /* eslint no-undef: \"error\" */\n response = await fetch(url, {\n method,\n headers,\n body\n });\n } catch (error) {\n throw new Error(`Failed to connect to Maps API: ${error}`);\n }\n\n if (format === FORMATS.NDJSON) {\n return response;\n }\n\n const json = await response.json();\n\n if (!response.ok) {\n dealWithError({response, error: json.error});\n }\n\n return json.rows ? json.rows : json;\n}\n\n/**\n * Display proper message from Maps API error\n */\nfunction dealWithError({response, error}) {\n switch (response.status) {\n case 400:\n throw new Error(`Bad request. ${error}`);\n case 401:\n case 403:\n throw new Error(`Unauthorized access. ${error}`);\n default:\n throw new Error(error);\n }\n}\n\n/**\n * Build a URL with all required parameters\n */\nfunction getParameters({type, source, geoColumn, columns, schema}) {\n const parameters = [encodeParameter('client', 'deck-gl-carto')];\n if (schema) {\n parameters.push(encodeParameter('schema', true));\n }\n\n const sourceName = type === MAP_TYPES.QUERY ? 'q' : 'name';\n parameters.push(encodeParameter(sourceName, source));\n\n if (type === MAP_TYPES.TABLE) {\n if (geoColumn) {\n parameters.push(encodeParameter('geo_column', geoColumn));\n }\n if (columns) {\n parameters.push(encodeParameter('columns', columns.join(',')));\n }\n }\n\n return parameters.join('&');\n}\n\nexport async function mapInstantiation({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n schema\n}) {\n const baseUrl = `${credentials.mapsUrl}/${connection}/${type}`;\n const url = `${baseUrl}?${getParameters({type, source, geoColumn, columns, schema})}`;\n const {accessToken} = credentials;\n\n const format = 'json';\n\n if (url.length > MAX_GET_LENGTH && type === MAP_TYPES.QUERY) {\n // need to be a POST request\n const body = JSON.stringify({\n q: source,\n client: 'deck-gl-carto'\n });\n return await request({method: 'POST', url: baseUrl, format, accessToken, body});\n }\n\n return await request({url, format, accessToken});\n}\n\nfunction getUrlFromMetadata(metadata, format) {\n const m = metadata[format];\n\n if (m && !m.error && m.url) {\n return m.url[0];\n }\n\n return null;\n}\n\nfunction checkFetchLayerDataParameters({type, source, connection, localCreds}) {\n log.assert(connection, 'Must define connection');\n log.assert(type, 'Must define a type');\n log.assert(source, 'Must define a source');\n\n log.assert(localCreds.apiVersion === API_VERSIONS.V3, 'Method only available for v3');\n log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');\n log.assert(localCreds.accessToken, 'Must define an accessToken');\n}\n\nexport async function fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema\n}) {\n // Internally we split data fetching into two parts to allow us to\n // conditionally fetch the actual data, depending on the metadata state\n const {url, accessToken, mapFormat, metadata} = await _fetchDataUrl({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema\n });\n\n const data = await request({url, format: mapFormat, accessToken});\n const result = {data, format: mapFormat};\n if (schema) {\n result.schema = metadata.schema;\n }\n\n return result;\n}\n\nasync function _fetchDataUrl({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema\n}) {\n const defaultCredentials = getDefaultCredentials();\n // Only pick up default credentials if they have been defined for\n // correct API version\n const localCreds = {\n ...(defaultCredentials.apiVersion === API_VERSIONS.V3 && defaultCredentials),\n ...credentials\n };\n checkFetchLayerDataParameters({type, source, connection, localCreds});\n\n if (!localCreds.mapsUrl) {\n localCreds.mapsUrl = buildMapsUrlFromBase(localCreds.apiBaseUrl);\n }\n\n const metadata = await mapInstantiation({\n type,\n source,\n connection,\n credentials: localCreds,\n geoColumn,\n columns,\n schema\n });\n let url;\n let mapFormat;\n\n if (format) {\n mapFormat = format;\n url = getUrlFromMetadata(metadata, format);\n log.assert(url, `Format ${format} not available`);\n } else {\n // guess map format\n const prioritizedFormats = [FORMATS.GEOJSON, FORMATS.JSON, FORMATS.NDJSON, FORMATS.TILEJSON];\n for (const f of prioritizedFormats) {\n url = getUrlFromMetadata(metadata, f);\n if (url) {\n mapFormat = f;\n break;\n }\n }\n }\n\n const {accessToken} = localCreds;\n return {url, accessToken, mapFormat, metadata};\n}\n\nexport async function getData({type, source, connection, credentials, geoColumn, columns, format}) {\n log.deprecated('getData', 'fetchLayerData')();\n const layerData = await fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema: false\n });\n return layerData.data;\n}\n\n/* global clearInterval, setInterval, URLSearchParams */\nasync function _fetchMapDataset(dataset, accessToken, credentials) {\n // First fetch metadata\n const {connectionName: connection, source, type} = dataset;\n const {url, mapFormat} = await _fetchDataUrl({\n credentials: {...credentials, accessToken},\n connection,\n source,\n type\n });\n\n // Extract the last time the data changed\n const cache = parseInt(new URLSearchParams(url).get('cache'), 10);\n if (cache && dataset.cache === cache) {\n return false;\n }\n dataset.cache = cache;\n\n // Only fetch if the data has changed\n const data = await request({url, format: mapFormat, accessToken});\n dataset.data = data;\n return true;\n}\n\nasync function fillInMapDatasets({datasets, token}, credentials) {\n const promises = datasets.map(dataset => _fetchMapDataset(dataset, token, credentials));\n return await Promise.all(promises);\n}\n\nexport async function fetchMap({cartoMapId, credentials, autoRefresh, onNewData}) {\n const defaultCredentials = getDefaultCredentials();\n const localCreds = {\n ...(defaultCredentials.apiVersion === API_VERSIONS.V3 && defaultCredentials),\n ...credentials\n };\n\n log.assert(cartoMapId, `Must define CARTO map id: fetchMap({cartoMapId: 'XXXX-XXXX-XXXX'})`);\n\n log.assert(localCreds.apiVersion === API_VERSIONS.V3, 'Method only available for v3');\n log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');\n if (!localCreds.mapsUrl) {\n localCreds.mapsUrl = buildMapsUrlFromBase(localCreds.apiBaseUrl);\n }\n\n if (autoRefresh || onNewData) {\n log.assert(onNewData, 'Must define `onNewData` when using autoRefresh');\n log.assert(typeof onNewData === 'function', '`onNewData` must be a function');\n log.assert(autoRefresh > 0, '`autoRefresh` must be a positive number');\n }\n\n const url = `${localCreds.mapsUrl}/public/${cartoMapId}`;\n const map = await request({url});\n\n // Periodically check if the data has changed. Note that this\n // will not update when a map is published.\n let stopAutoRefresh;\n if (autoRefresh) {\n const intervalId = setInterval(async () => {\n const changed = await fillInMapDatasets(map, credentials);\n if (changed.some(v => v === true)) {\n onNewData(parseMap(map));\n }\n }, autoRefresh * 1000);\n stopAutoRefresh = () => {\n clearInterval(intervalId);\n };\n }\n\n // Mutates map.datasets so that dataset.data contains data\n await fillInMapDatasets(map, credentials);\n return {\n ...parseMap(map),\n ...{stopAutoRefresh}\n };\n}\n"],"file":"maps-v3-client.js"}
@@ -21,7 +21,7 @@ export function parseMap(json) {
21
21
  description: json.description,
22
22
  createdAt: json.createdAt,
23
23
  updatedAt: json.updatedAt,
24
- mapState,
24
+ initialViewState: mapState,
25
25
  mapStyle,
26
26
  layers: extractTextLayers(layers.reverse()).map(({
27
27
  id,
@@ -73,10 +73,11 @@ function extractTextLayers(layers) {
73
73
  ...rest
74
74
  }, ...textLabel.filter(t => t.field).map(t => {
75
75
  return {
76
- id: "id-label-".concat(t.field.name),
76
+ id: "".concat(id, "-label-").concat(t.field.name),
77
77
  config: {
78
78
  textLabel: t,
79
79
  ...configRest,
80
+ label: "".concat(config.label, "-label-").concat(t.field.name),
80
81
  visConfig: { ...configRest.visConfig,
81
82
  opacity: 1
82
83
  }
@@ -116,14 +117,6 @@ function createInteractionProps(interactionConfig) {
116
117
  }
117
118
 
118
119
  function mapProps(source, target, mapping) {
119
- if (Array.isArray(source)) {
120
- source = source[0];
121
- }
122
-
123
- if (!source) {
124
- return;
125
- }
126
-
127
120
  for (const sourceKey in mapping) {
128
121
  const sourceValue = source[sourceKey];
129
122
  const targetKey = mapping[sourceKey];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/parseMap.js"],"names":["LAYER_MAP","getColorAccessor","getSizeAccessor","getTextAccessor","getTextPixelOffsetAccessor","_flatten","flatten","log","parseMap","json","keplerMapConfig","datasets","assert","version","mapState","mapStyle","config","layers","layerBlending","interactionConfig","visState","id","title","description","createdAt","updatedAt","extractTextLayers","reverse","map","type","visualChannels","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":"AACA,SACEA,SADF,EAEEC,gBAFF,EAGEC,eAHF,EAIEC,eAJF,EAKEC,0BALF,QAMO,aANP;AAOA,SAAQC,QAAQ,IAAIC,OAApB,EAA6BC,GAA7B,QAAuC,eAAvC;AAEA,OAAO,SAASC,QAAT,CAAkBC,IAAlB,EAAwB;AAC7B,QAAM;AAACC,IAAAA,eAAD;AAAkBC,IAAAA;AAAlB,MAA8BF,IAApC;AACAF,EAAAA,GAAG,CAACK,MAAJ,CAAWF,eAAe,CAACG,OAAhB,KAA4B,IAAvC,EAA6C,wBAA7C;AACA,QAAM;AAACC,IAAAA,QAAD;AAAWC,IAAAA;AAAX,MAAuBL,eAAe,CAACM,MAA7C;AACA,QAAM;AAACC,IAAAA,MAAD;AAASC,IAAAA,aAAT;AAAwBC,IAAAA;AAAxB,MAA6CT,eAAe,CAACM,MAAhB,CAAuBI,QAA1E;AAEA,SAAO;AACLC,IAAAA,EAAE,EAAEZ,IAAI,CAACY,EADJ;AAELC,IAAAA,KAAK,EAAEb,IAAI,CAACa,KAFP;AAGLC,IAAAA,WAAW,EAAEd,IAAI,CAACc,WAHb;AAILC,IAAAA,SAAS,EAAEf,IAAI,CAACe,SAJX;AAKLC,IAAAA,SAAS,EAAEhB,IAAI,CAACgB,SALX;AAMLX,IAAAA,QANK;AAOLC,IAAAA,QAPK;AAQLE,IAAAA,MAAM,EAAES,iBAAiB,CAACT,MAAM,CAACU,OAAP,EAAD,CAAjB,CAAoCC,GAApC,CAAwC,CAAC;AAACP,MAAAA,EAAD;AAAKQ,MAAAA,IAAL;AAAWb,MAAAA,MAAX;AAAmBc,MAAAA;AAAnB,KAAD,KAAwC;AACtFvB,MAAAA,GAAG,CAACK,MAAJ,CAAWiB,IAAI,IAAI7B,SAAnB,oCAAyD6B,IAAzD;AACA,YAAM;AAACE,QAAAA,KAAD;AAAQC,QAAAA,OAAR;AAAiBC,QAAAA;AAAjB,UAAiCjC,SAAS,CAAC6B,IAAD,CAAhD;AAEA,YAAM;AAACK,QAAAA;AAAD,UAAWlB,MAAjB;AACA,YAAMmB,OAAO,GAAGxB,QAAQ,CAACyB,IAAT,CAAcC,CAAC,IAAIA,CAAC,CAAChB,EAAF,KAASa,MAA5B,CAAhB;AACA3B,MAAAA,GAAG,CAACK,MAAJ,CAAWuB,OAAX,wCAAmDD,MAAnD;AACA,YAAM;AAACI,QAAAA;AAAD,UAASH,OAAf;AACA5B,MAAAA,GAAG,CAACK,MAAJ,CAAW0B,IAAX,uCAA+CJ,MAA/C;AACA,aAAO,IAAIH,KAAJ,CAAU;AACfV,QAAAA,EADe;AAEfiB,QAAAA,IAFe;AAGf,WAAGL,YAHY;AAIf,WAAGM,mBAAmB,CAACrB,aAAD,CAJP;AAKf,YAAI,CAACF,MAAM,CAACwB,SAAR,IAAqBC,sBAAsB,CAACtB,iBAAD,CAA/C,CALe;AAMf,WAAGuB,gBAAgB,CAAC1B,MAAD,EAASgB,OAAT,CANJ;AAOf,WAAGW,kBAAkB,CAACb,cAAD,EAAiBD,IAAjB,EAAuBb,MAAvB,EAA+BsB,IAA/B;AAPN,OAAV,CAAP;AASD,KAlBO;AARH,GAAP;AA4BD;;AAED,SAASZ,iBAAT,CAA2BT,MAA3B,EAAmC;AACjC,SAAOX,OAAO,CACZW,MAAM,CAACW,GAAP,CAAW,CAAC;AAACP,IAAAA,EAAD;AAAKL,IAAAA,MAAL;AAAa,OAAG4B;AAAhB,GAAD,KAA2B;AACpC,UAAM;AAACJ,MAAAA,SAAD;AAAY,SAAGK;AAAf,QAA6B7B,MAAnC;AACA,WAAO,CAEL;AAACK,MAAAA,EAAD;AAAKL,MAAAA,MAAM,EAAE6B,UAAb;AAAyB,SAAGD;AAA5B,KAFK,EAKL,GAAGJ,SAAS,CAACM,MAAV,CAAiBC,CAAC,IAAIA,CAAC,CAACC,KAAxB,EAA+BpB,GAA/B,CAAmCmB,CAAC,IAAI;AACzC,aAAO;AACL1B,QAAAA,EAAE,qBAAc0B,CAAC,CAACC,KAAF,CAAQC,IAAtB,CADG;AAELjC,QAAAA,MAAM,EAAE;AACNwB,UAAAA,SAAS,EAAEO,CADL;AAEN,aAAGF,UAFG;AAGNK,UAAAA,SAAS,EAAE,EAAC,GAAGL,UAAU,CAACK,SAAf;AAA0BC,YAAAA,OAAO,EAAE;AAAnC;AAHL,SAFH;AAOL,WAAGP;AAPE,OAAP;AASD,KAVE,CALE,CAAP;AAiBD,GAnBD,CADY,CAAd;AAsBD;;AAED,SAASL,mBAAT,CAA6BrB,aAA7B,EAA4C;AAC1C,MAAIA,aAAa,KAAK,UAAtB,EAAkC;AAChC,WAAO;AACLkC,MAAAA,UAAU,EAAE;AACVC,QAAAA,SAAS,EAAE,UADD;AAEVC,QAAAA,aAAa;AAFH;AADP,KAAP;AAMD,GAPD,MAOO,IAAIpC,aAAa,KAAK,aAAtB,EAAqC;AAC1C,WAAO;AACLkC,MAAAA,UAAU,EAAE;AACVC,QAAAA,SAAS,EAAE,kBADD;AAEVC,QAAAA,aAAa,EAAE;AAFL;AADP,KAAP;AAMD;;AAED,SAAO,EAAP;AACD;;AAED,SAASb,sBAAT,CAAgCtB,iBAAhC,EAAmD;AACjD,QAAMoC,QAAQ,GAAGpC,iBAAiB,IAAIA,iBAAiB,CAACqC,OAAlB,CAA0BC,OAAhE;AACA,SAAO;AACLC,IAAAA,aAAa,EAAEH,QADV;AAELA,IAAAA;AAFK,GAAP;AAID;;AAED,SAASI,QAAT,CAAkBC,MAAlB,EAA0BC,MAA1B,EAAkCC,OAAlC,EAA2C;AACzC,MAAIC,KAAK,CAACC,OAAN,CAAcJ,MAAd,CAAJ,EAA2B;AACzBA,IAAAA,MAAM,GAAGA,MAAM,CAAC,CAAD,CAAf;AACD;;AACD,MAAI,CAACA,MAAL,EAAa;AACX;AACD;;AACD,OAAK,MAAMK,SAAX,IAAwBH,OAAxB,EAAiC;AAC/B,UAAMI,WAAW,GAAGN,MAAM,CAACK,SAAD,CAA1B;AACA,UAAME,SAAS,GAAGL,OAAO,CAACG,SAAD,CAAzB;;AACA,QAAIC,WAAW,KAAKE,SAApB,EAA+B;AAE7B;AACD;;AACD,QAAI,OAAOD,SAAP,KAAqB,QAAzB,EAAmC;AACjCN,MAAAA,MAAM,CAACM,SAAD,CAAN,GAAoBD,WAApB;AACD,KAFD,MAEO,IAAI,OAAOC,SAAP,KAAqB,QAAzB,EAAmC;AAExCR,MAAAA,QAAQ,CAACO,WAAD,EAAcL,MAAd,EAAsBM,SAAtB,CAAR;AACD;AACF;AACF;;AAED,SAASzB,gBAAT,CAA0B1B,MAA1B,EAAkC8C,OAAlC,EAA2C;AACzC,QAAMO,MAAM,GAAG,EAAf;AACAV,EAAAA,QAAQ,CAAC3C,MAAD,EAASqD,MAAT,EAAiBP,OAAjB,CAAR;AACAO,EAAAA,MAAM,CAACC,cAAP,GAAwBtD,MAAM,CAACkC,SAAP,CAAiBqB,QAAjB,GAA4B,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,EAAhB,CAA5B,GAAkD,CAAC,GAAD,EAAM,GAAN,EAAW,EAAX,EAAe,GAAf,CAA1E;AACA,SAAOF,MAAP;AACD;;AAGD,SAAS1B,kBAAT,CAA4Bb,cAA5B,EAA4CD,IAA5C,EAAkDb,MAAlD,EAA0DsB,IAA1D,EAAgE;AAC9D,QAAM;AACJkC,IAAAA,UADI;AAEJC,IAAAA,UAFI;AAGJC,IAAAA,SAHI;AAIJC,IAAAA,SAJI;AAKJC,IAAAA,gBALI;AAMJC,IAAAA;AANI,MAOF/C,cAPJ;AAQA,MAAI;AAACgD,IAAAA,WAAD;AAAcC,IAAAA;AAAd,MAA6BjD,cAAjC;;AACA,MAAID,IAAI,KAAK,WAAb,EAA0B;AACxBiD,IAAAA,WAAW,GAAGJ,SAAd;AACAK,IAAAA,WAAW,GAAGJ,SAAd;AACD;;AACD,QAAM;AAACnC,IAAAA,SAAD;AAAYU,IAAAA;AAAZ,MAAyBlC,MAA/B;AACA,QAAMqD,MAAM,GAAG,EAAf;AACA,QAAMW,cAAc,GAAGxC,SAAS,IAAIA,SAAS,CAACQ,KAA9C;;AACA,MAAIwB,UAAJ,EAAgB;AACdH,IAAAA,MAAM,CAACY,YAAP,GAAsBhF,gBAAgB,CACpCuE,UADoC,EAEpCC,UAFoC,EAGpCvB,SAAS,CAACgC,UAH0B,EAIpC,CAJoC,EAKpC5C,IALoC,CAAtC;AAOD;;AACD,MAAIsC,gBAAJ,EAAsB;AACpB,UAAMzB,OAAO,GACXD,SAAS,CAACiC,aAAV,KAA4Bf,SAA5B,GAAwClB,SAAS,CAACiC,aAAV,GAA0BjC,SAAS,CAACC,OAA5E,GAAsF,CADxF;AAEAkB,IAAAA,MAAM,CAACe,YAAP,GAAsBnF,gBAAgB,CACpC2E,gBADoC,EAEpCC,gBAFoC,EAGpC3B,SAAS,CAACgC,UAH0B,EAIpC/B,OAJoC,EAKpCb,IALoC,CAAtC;AAOD;;AACD,MAAIwC,WAAJ,EAAiB;AACfT,IAAAA,MAAM,CAACgB,YAAP,GAAsBnF,eAAe,CACnC4E,WADmC,EAEnCC,WAFmC,EAGnC7B,SAAS,CAACoC,WAAV,IAAyBpC,SAAS,CAACqC,SAHA,EAInCjD,IAJmC,CAArC;AAMD;;AACD,MAAIoC,SAAJ,EAAe;AACbL,IAAAA,MAAM,CAACmB,cAAP,GAAwBtF,eAAe,CACrCwE,SADqC,EAErCC,SAFqC,EAGrCzB,SAAS,CAACuC,WAAV,IAAyBvC,SAAS,CAACqC,SAHE,EAIrCjD,IAJqC,CAAvC;AAMD;;AACD,MAAI0C,cAAJ,EAAoB;AAClBX,IAAAA,MAAM,CAACqB,OAAP,GAAiBvF,eAAe,CAAC6E,cAAD,EAAiB1C,IAAjB,CAAhC;AACA+B,IAAAA,MAAM,CAACsB,SAAP,GAAmB,MAAnB;AACA,UAAMC,MAAM,GAAGvB,MAAM,CAACmB,cAAP,IAAyBtC,SAAS,CAAC0C,MAAlD;AACAvB,IAAAA,MAAM,CAACwB,kBAAP,GAA4BzF,0BAA0B,CAACoC,SAAD,EAAYoD,MAAZ,CAAtD;AACD;;AAED,SAAOvB,MAAP;AACD","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":["LAYER_MAP","getColorAccessor","getSizeAccessor","getTextAccessor","getTextPixelOffsetAccessor","_flatten","flatten","log","parseMap","json","keplerMapConfig","datasets","assert","version","mapState","mapStyle","config","layers","layerBlending","interactionConfig","visState","id","title","description","createdAt","updatedAt","initialViewState","extractTextLayers","reverse","map","type","visualChannels","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"}
@@ -1,50 +1,35 @@
1
- import { API_VERSIONS, DEFAULT_MAPS_URL_FORMAT } from './api/maps-api-common';
1
+ import { API_VERSIONS } from './api/maps-api-common';
2
2
  export const defaultClassicCredentials = {
3
- username: 'public',
4
3
  apiKey: 'default_public',
5
4
  region: 'us',
6
- mapsUrl: null
5
+ username: 'public'
7
6
  };
8
- const defaultCloudNativeCredentials = {
9
- accessToken: null,
10
- apiBaseUrl: null,
11
- mapsUrl: null
7
+ export const defaultCloudNativeCredentials = {
8
+ apiBaseUrl: 'https://gcp-us-east1.api.carto.com'
12
9
  };
13
10
  let credentials = {};
14
11
  setDefaultCredentials({});
15
- export function setDefaultCredentials(opts) {
16
- const apiVersion = opts.apiVersion || API_VERSIONS.V2;
12
+ export function setDefaultCredentials({
13
+ apiVersion,
14
+ ...rest
15
+ }) {
16
+ apiVersion = apiVersion || API_VERSIONS.V3;
17
17
 
18
18
  switch (apiVersion) {
19
19
  case API_VERSIONS.V1:
20
- opts.mapsUrl = opts.mapsUrl || DEFAULT_MAPS_URL_FORMAT[apiVersion];
21
- credentials = {
22
- apiVersion,
23
- ...defaultClassicCredentials,
24
- ...opts
25
- };
26
- break;
27
-
28
20
  case API_VERSIONS.V2:
29
- opts.mapsUrl = opts.mapsUrl || DEFAULT_MAPS_URL_FORMAT[apiVersion];
30
21
  credentials = {
31
22
  apiVersion,
32
23
  ...defaultClassicCredentials,
33
- ...opts
24
+ ...rest
34
25
  };
35
26
  break;
36
27
 
37
28
  case API_VERSIONS.V3:
38
- if (!opts.apiBaseUrl) {
39
- throw new Error("API version ".concat(API_VERSIONS.V3, " requires to define apiBaseUrl at credentials. Go to https://app.carto.com to get your apiBaseUrl."));
40
- }
41
-
42
- const apiBaseUrl = opts.apiBaseUrl || defaultCloudNativeCredentials.apiBaseUrl;
43
- opts.mapsUrl = opts.mapsUrl || buildMapsUrlFromBase(apiBaseUrl);
44
29
  credentials = {
45
30
  apiVersion,
46
31
  ...defaultCloudNativeCredentials,
47
- ...opts
32
+ ...rest
48
33
  };
49
34
  break;
50
35
 
@@ -1 +1 @@
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"}
1
+ {"version":3,"sources":["../../src/config.js"],"names":["API_VERSIONS","defaultClassicCredentials","apiKey","region","username","defaultCloudNativeCredentials","apiBaseUrl","credentials","setDefaultCredentials","apiVersion","rest","V3","V1","V2","Error","getDefaultCredentials","buildMapsUrlFromBase","suffix","endsWith","substring"],"mappings":"AAAA,SAAQA,YAAR,QAA2B,uBAA3B;AAEA,OAAO,MAAMC,yBAAyB,GAAG;AACvCC,EAAAA,MAAM,EAAE,gBAD+B;AAEvCC,EAAAA,MAAM,EAAE,IAF+B;AAGvCC,EAAAA,QAAQ,EAAE;AAH6B,CAAlC;AAMP,OAAO,MAAMC,6BAA6B,GAAG;AAC3CC,EAAAA,UAAU,EAAE;AAD+B,CAAtC;AAIP,IAAIC,WAAW,GAAG,EAAlB;AAEAC,qBAAqB,CAAC,EAAD,CAArB;AAEA,OAAO,SAASA,qBAAT,CAA+B;AAACC,EAAAA,UAAD;AAAa,KAAGC;AAAhB,CAA/B,EAAsD;AAC3DD,EAAAA,UAAU,GAAGA,UAAU,IAAIT,YAAY,CAACW,EAAxC;;AAEA,UAAQF,UAAR;AACE,SAAKT,YAAY,CAACY,EAAlB;AACA,SAAKZ,YAAY,CAACa,EAAlB;AACEN,MAAAA,WAAW,GAAG;AAACE,QAAAA,UAAD;AAAa,WAAGR,yBAAhB;AAA2C,WAAGS;AAA9C,OAAd;AACA;;AACF,SAAKV,YAAY,CAACW,EAAlB;AACEJ,MAAAA,WAAW,GAAG;AAACE,QAAAA,UAAD;AAAa,WAAGJ,6BAAhB;AAA+C,WAAGK;AAAlD,OAAd;AACA;;AACF;AACE,YAAM,IAAII,KAAJ,+BAAiCL,UAAjC,8BAAN;AATJ;AAWD;AAED,OAAO,SAASM,qBAAT,GAAiC;AACtC,SAAOR,WAAP;AACD;AAED,OAAO,SAASS,oBAAT,CAA8BV,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\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/esm/index.js CHANGED
@@ -1,6 +1,4 @@
1
1
  export { getDefaultCredentials, setDefaultCredentials } from './config.js';
2
- export { default as CartoSQLLayer } from './layers/carto-sql-layer';
3
- export { default as CartoBQTilerLayer } from './layers/carto-bqtiler-layer';
4
2
  export { default as CartoLayer } from './layers/carto-layer';
5
3
  export { default as BASEMAP } from './basemap';
6
4
  export { default as colorBins } from './style/color-bins-style';
@@ -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","fetchLayerData","fetchMap","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,QALF,EAMEC,SAAS,IAAIC,UANf,EAOEC,OAPF,EAQEC,gBAAgB,IAAIC,iBARtB,QASO,OATP","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":["getDefaultCredentials","setDefaultCredentials","default","CartoLayer","BASEMAP","colorBins","colorCategories","colorContinuous","FORMATS","MAP_TYPES","API_VERSIONS","fetchLayerData","fetchMap","getDataV2","_getDataV2","getData","mapInstantiation","_mapInstantiation"],"mappings":"AAAA,SAAQA,qBAAR,EAA+BC,qBAA/B,QAA2D,aAA3D;AACA,SAAQC,OAAO,IAAIC,UAAnB,QAAoC,sBAApC;AACA,SAAQD,OAAO,IAAIE,OAAnB,QAAiC,WAAjC;AACA,SAAQF,OAAO,IAAIG,SAAnB,QAAmC,0BAAnC;AACA,SAAQH,OAAO,IAAII,eAAnB,QAAyC,gCAAzC;AACA,SAAQJ,OAAO,IAAIK,eAAnB,QAAyC,gCAAzC;AACA,SACEC,OADF,EAEEC,SAFF,EAGEC,YAHF,EAIEC,cAJF,EAKEC,QALF,EAMEC,SAAS,IAAIC,UANf,EAOEC,OAPF,EAQEC,gBAAgB,IAAIC,iBARtB,QASO,OATP","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"}