@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.
- package/dist/dist.dev.js +38143 -16628
- package/dist/es5/api/layer-map.js +4 -3
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/maps-client.js +2 -2
- package/dist/es5/api/maps-client.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +57 -43
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/api/parseMap.js +9 -13
- package/dist/es5/api/parseMap.js.map +1 -1
- package/dist/es5/config.js +15 -24
- package/dist/es5/config.js.map +1 -1
- package/dist/es5/index.js +0 -16
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-dynamic-tile-layer.js +168 -0
- package/dist/es5/layers/carto-dynamic-tile-layer.js.map +1 -0
- package/dist/es5/layers/carto-layer.js +59 -52
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/style/color-bins-style.js +6 -2
- package/dist/es5/style/color-bins-style.js.map +1 -1
- package/dist/es5/style/color-categories-style.js +7 -3
- package/dist/es5/style/color-categories-style.js.map +1 -1
- package/dist/es5/style/color-continuous-style.js +6 -2
- package/dist/es5/style/color-continuous-style.js.map +1 -1
- package/dist/es5/style/palette.js +6 -2
- package/dist/es5/style/palette.js.map +1 -1
- package/dist/esm/api/layer-map.js +3 -2
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/maps-client.js +1 -1
- package/dist/esm/api/maps-client.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +47 -25
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/api/parseMap.js +3 -10
- package/dist/esm/api/parseMap.js.map +1 -1
- package/dist/esm/config.js +11 -26
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/index.js +0 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-dynamic-tile-layer.js +98 -0
- package/dist/esm/layers/carto-dynamic-tile-layer.js.map +1 -0
- package/dist/esm/layers/carto-layer.js +35 -28
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/style/color-bins-style.js +1 -1
- package/dist/esm/style/color-bins-style.js.map +1 -1
- package/dist/esm/style/color-continuous-style.js +1 -1
- package/dist/esm/style/color-continuous-style.js.map +1 -1
- package/dist.min.js +14 -14
- package/package.json +8 -7
- package/src/api/layer-map.js +3 -2
- package/src/api/maps-client.js +3 -7
- package/src/api/maps-v3-client.js +53 -25
- package/src/api/parseMap.js +17 -26
- package/src/config.js +8 -39
- package/src/index.js +0 -2
- package/src/layers/carto-dynamic-tile-layer.js +87 -0
- package/src/layers/carto-layer.js +25 -25
- package/src/style/color-bins-style.js +2 -4
- package/src/style/color-continuous-style.js +2 -4
- package/dist/es5/layers/carto-bqtiler-layer.js +0 -65
- package/dist/es5/layers/carto-bqtiler-layer.js.map +0 -1
- package/dist/es5/layers/carto-sql-layer.js +0 -66
- package/dist/es5/layers/carto-sql-layer.js.map +0 -1
- package/dist/esm/layers/carto-bqtiler-layer.js +0 -16
- package/dist/esm/layers/carto-bqtiler-layer.js.map +0 -1
- package/dist/esm/layers/carto-sql-layer.js +0 -17
- package/dist/esm/layers/carto-sql-layer.js.map +0 -1
- package/src/layers/carto-bqtiler-layer.js +0 -21
- package/src/layers/carto-sql-layer.js +0 -22
|
@@ -29,7 +29,7 @@ var _geoLayers = require("@deck.gl/geo-layers");
|
|
|
29
29
|
|
|
30
30
|
var _layers = require("@deck.gl/layers");
|
|
31
31
|
|
|
32
|
-
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; }
|
|
32
|
+
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; }
|
|
33
33
|
|
|
34
34
|
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; }
|
|
35
35
|
|
|
@@ -45,6 +45,7 @@ var SCALE_FUNCS = {
|
|
|
45
45
|
var sharedPropMap = {
|
|
46
46
|
color: 'getFillColor',
|
|
47
47
|
isVisible: 'visible',
|
|
48
|
+
label: 'cartoLabel',
|
|
48
49
|
textLabel: {
|
|
49
50
|
alignment: 'getTextAlignmentBaseline',
|
|
50
51
|
anchor: 'getTextAnchor',
|
|
@@ -159,7 +160,7 @@ function calculateDomain(data, name, scaleType) {
|
|
|
159
160
|
return properties[name];
|
|
160
161
|
});
|
|
161
162
|
return domainFromValues(values, scaleType);
|
|
162
|
-
} else if (Array.isArray(data) && data[0][name]) {
|
|
163
|
+
} else if (Array.isArray(data) && data[0][name] !== undefined) {
|
|
163
164
|
var _values = data.map(function (properties) {
|
|
164
165
|
return properties[name];
|
|
165
166
|
});
|
|
@@ -187,7 +188,7 @@ function getColorAccessor(_ref3, scaleType, _ref4, opacity, data) {
|
|
|
187
188
|
var scale = SCALE_FUNCS[scaleType]();
|
|
188
189
|
scale.domain(calculateDomain(data, name, scaleType));
|
|
189
190
|
scale.range(colors);
|
|
190
|
-
var alpha = opacity !== undefined ? 255 * Math.pow(opacity, 1 / 2.2) : 255;
|
|
191
|
+
var alpha = opacity !== undefined ? Math.round(255 * Math.pow(opacity, 1 / 2.2)) : 255;
|
|
191
192
|
|
|
192
193
|
var accessor = function accessor(properties) {
|
|
193
194
|
var rgba = (0, _d3Color.rgb)(scale(properties[name]));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/layer-map.js"],"names":["SCALE_FUNCS","linear","scaleLinear","ordinal","scaleOrdinal","log","scaleLog","point","scalePoint","quantile","scaleQuantile","quantize","scaleQuantize","sqrt","scaleSqrt","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","GeoJsonLayer","propMap","outline","geojson","lineWidthScale","hexagonId","H3HexagonLayer","coverage","elevationScale","getHexagon","d","h3","mvt","MVTLayer","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","moment","utc","format","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":["SCALE_FUNCS","linear","scaleLinear","ordinal","scaleOrdinal","log","scaleLog","point","scalePoint","quantile","scaleQuantile","quantize","scaleQuantize","sqrt","scaleSqrt","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","GeoJsonLayer","propMap","outline","geojson","lineWidthScale","hexagonId","H3HexagonLayer","coverage","elevationScale","getHexagon","d","h3","mvt","MVTLayer","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","moment","utc","format","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"}
|
|
@@ -18,7 +18,7 @@ var _config = require("../config");
|
|
|
18
18
|
|
|
19
19
|
var _mapsApiCommon = require("./maps-api-common");
|
|
20
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; }
|
|
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; }
|
|
22
22
|
|
|
23
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; }
|
|
24
24
|
|
|
@@ -88,7 +88,7 @@ function _getDataV() {
|
|
|
88
88
|
return _context.abrupt("return", _context.sent);
|
|
89
89
|
|
|
90
90
|
case 19:
|
|
91
|
-
throw new Error("Invalid maps API version. It
|
|
91
|
+
throw new Error("Invalid maps API version. It should be ".concat(_mapsApiCommon.API_VERSIONS.V1, " or ").concat(_mapsApiCommon.API_VERSIONS.V2));
|
|
92
92
|
|
|
93
93
|
case 20:
|
|
94
94
|
case "end":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/maps-client.js"],"names":["CONNECTIONS","BIGQUERY","CARTO","BUFFER_SIZE","TILE_EXTENT","getDataV2","type","source","credentials","defaultCredentials","apiVersion","localCreds","defaultClassicCredentials","mapsUrl","DEFAULT_MAPS_URL_FORMAT","connection","API_VERSIONS","V1","V2","mapConfig","createMapConfig","url","buildURLMapsAPIv1","request","layergroup","metadata","tilejson","vector","buildURLMapsAPIv2","Error","fetch","headers","Accept","response","json","ok","dealWithError","status","username","apiKey","e","JSON","stringify","errors","error","initURLParameters","encodedApiKey","encodedClient","parameters","cfg","join","mapsApiType","MAP_TYPES","QUERY","replace","DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","region","sql","version","buffersize","mvt","layers","options","vector_extent"],"mappings":";;;;;;;;;;;;;;;;AAGA;;AACA;;;;;;AASO,IAAMA,WAAW,GAAG;AACzBC,EAAAA,QAAQ,EAAE,UADe;AAEzBC,EAAAA,KAAK,EAAE;AAFkB,CAApB;;AAKP,IAAMC,WAAW,GAAG,EAApB;AACA,IAAMC,WAAW,GAAG,IAApB;;SAKsBC,S;;;;;wEAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0BC,YAAAA,IAA1B,QAA0BA,IAA1B,EAAgCC,MAAhC,QAAgCA,MAAhC,EAAwCC,WAAxC,QAAwCA,WAAxC;AACCC,YAAAA,kBADD,GACsB,oCADtB;AAECC,YAAAA,UAFD,GAEeF,WAAW,IAAIA,WAAW,CAACE,UAA5B,IAA2CD,kBAAkB,CAACC,UAF5E;AAKCC,YAAAA,UALD,iDAMAC,iCANA,GAOCH,kBAAkB,CAACC,UAAnB,KAAkCA,UAAlC,IAAgDD,kBAPjD,GAQAD,WARA;;AAWL,gBAAI,CAACG,UAAU,CAACE,OAAhB,EAAyB;AACvBF,cAAAA,UAAU,CAACE,OAAX,GAAqBC,uCAAwBJ,UAAxB,CAArB;AACD;;AAIKK,YAAAA,UAjBD,GAiBcT,IAAI,KAAK,SAAT,GAAqBN,WAAW,CAACC,QAAjC,GAA4CD,WAAW,CAACE,KAjBtE;AAAA,0BAmBGQ,UAnBH;AAAA,4CAoBEM,4BAAaC,EApBf,uBA2BED,4BAAaE,EA3Bf;AAAA;;AAAA;AAsBKC,YAAAA,SAtBL,GAsBiBC,eAAe,CAACb,MAAD,CAtBhC;AAuBDc,YAAAA,GAAG,GAAGC,iBAAiB,CAAC;AAACH,cAAAA,SAAS,EAATA,SAAD;AAAYX,cAAAA,WAAW,EAAEG;AAAzB,aAAD,CAAvB;AAvBC;AAAA,mBAwBwBY,OAAO,CAAC;AAACF,cAAAA,GAAG,EAAHA,GAAD;AAAMb,cAAAA,WAAW,EAAEG;AAAnB,aAAD,CAxB/B;;AAAA;AAwBKa,YAAAA,UAxBL;AAAA,6CAyBMA,UAAU,CAACC,QAAX,CAAoBC,QAApB,CAA6BC,MAzBnC;;AAAA;AA6BDN,YAAAA,GAAG,GAAGO,iBAAiB,CAAC;AAACb,cAAAA,UAAU,EAAVA,UAAD;AAAaT,cAAAA,IAAI,EAAJA,IAAb;AAAmBC,cAAAA,MAAM,EAANA,MAAnB;AAA2BC,cAAAA,WAAW,EAAEG;AAAxC,aAAD,CAAvB;AA7BC;AAAA,mBA8BYY,OAAO,CAAC;AAACF,cAAAA,GAAG,EAAHA,GAAD;AAAMb,cAAAA,WAAW,EAAEG;AAAnB,aAAD,CA9BnB;;AAAA;AAAA;;AAAA;AAAA,kBAiCK,IAAIkB,KAAJ,
|
|
1
|
+
{"version":3,"sources":["../../../src/api/maps-client.js"],"names":["CONNECTIONS","BIGQUERY","CARTO","BUFFER_SIZE","TILE_EXTENT","getDataV2","type","source","credentials","defaultCredentials","apiVersion","localCreds","defaultClassicCredentials","mapsUrl","DEFAULT_MAPS_URL_FORMAT","connection","API_VERSIONS","V1","V2","mapConfig","createMapConfig","url","buildURLMapsAPIv1","request","layergroup","metadata","tilejson","vector","buildURLMapsAPIv2","Error","fetch","headers","Accept","response","json","ok","dealWithError","status","username","apiKey","e","JSON","stringify","errors","error","initURLParameters","encodedApiKey","encodedClient","parameters","cfg","join","mapsApiType","MAP_TYPES","QUERY","replace","DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","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"}
|
|
@@ -10,10 +10,10 @@ exports.fetchLayerData = fetchLayerData;
|
|
|
10
10
|
exports.getData = getData;
|
|
11
11
|
exports.fetchMap = fetchMap;
|
|
12
12
|
|
|
13
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
|
|
15
13
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
16
14
|
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
|
|
17
17
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
18
18
|
|
|
19
19
|
var _config = require("../config");
|
|
@@ -24,11 +24,12 @@ var _parseMap = require("./parseMap");
|
|
|
24
24
|
|
|
25
25
|
var _core = require("@deck.gl/core");
|
|
26
26
|
|
|
27
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
27
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
28
28
|
|
|
29
29
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
30
30
|
|
|
31
31
|
var MAX_GET_LENGTH = 2048;
|
|
32
|
+
var DEFAULT_CLIENT = 'deck-gl-carto';
|
|
32
33
|
|
|
33
34
|
function request(_x) {
|
|
34
35
|
return _request.apply(this, arguments);
|
|
@@ -128,8 +129,9 @@ function getParameters(_ref3) {
|
|
|
128
129
|
source = _ref3.source,
|
|
129
130
|
geoColumn = _ref3.geoColumn,
|
|
130
131
|
columns = _ref3.columns,
|
|
131
|
-
schema = _ref3.schema
|
|
132
|
-
|
|
132
|
+
schema = _ref3.schema,
|
|
133
|
+
clientId = _ref3.clientId;
|
|
134
|
+
var parameters = [(0, _mapsApiCommon.encodeParameter)('client', clientId || DEFAULT_CLIENT)];
|
|
133
135
|
|
|
134
136
|
if (schema) {
|
|
135
137
|
parameters.push((0, _mapsApiCommon.encodeParameter)('schema', true));
|
|
@@ -157,19 +159,20 @@ function mapInstantiation(_x2) {
|
|
|
157
159
|
|
|
158
160
|
function _mapInstantiation() {
|
|
159
161
|
_mapInstantiation = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(_ref4) {
|
|
160
|
-
var type, source, connection, credentials, geoColumn, columns, schema, baseUrl, url, accessToken, format, body;
|
|
162
|
+
var type, source, connection, credentials, geoColumn, columns, schema, clientId, baseUrl, url, accessToken, format, body;
|
|
161
163
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
162
164
|
while (1) {
|
|
163
165
|
switch (_context2.prev = _context2.next) {
|
|
164
166
|
case 0:
|
|
165
|
-
type = _ref4.type, source = _ref4.source, connection = _ref4.connection, credentials = _ref4.credentials, geoColumn = _ref4.geoColumn, columns = _ref4.columns, schema = _ref4.schema;
|
|
167
|
+
type = _ref4.type, source = _ref4.source, connection = _ref4.connection, credentials = _ref4.credentials, geoColumn = _ref4.geoColumn, columns = _ref4.columns, schema = _ref4.schema, clientId = _ref4.clientId;
|
|
166
168
|
baseUrl = "".concat(credentials.mapsUrl, "/").concat(connection, "/").concat(type);
|
|
167
169
|
url = "".concat(baseUrl, "?").concat(getParameters({
|
|
168
170
|
type: type,
|
|
169
171
|
source: source,
|
|
170
172
|
geoColumn: geoColumn,
|
|
171
173
|
columns: columns,
|
|
172
|
-
schema: schema
|
|
174
|
+
schema: schema,
|
|
175
|
+
clientId: clientId
|
|
173
176
|
}));
|
|
174
177
|
accessToken = credentials.accessToken;
|
|
175
178
|
format = 'json';
|
|
@@ -181,7 +184,7 @@ function _mapInstantiation() {
|
|
|
181
184
|
|
|
182
185
|
body = JSON.stringify({
|
|
183
186
|
q: source,
|
|
184
|
-
client:
|
|
187
|
+
client: clientId || DEFAULT_CLIENT
|
|
185
188
|
});
|
|
186
189
|
_context2.next = 9;
|
|
187
190
|
return request({
|
|
@@ -251,13 +254,13 @@ function fetchLayerData(_x3) {
|
|
|
251
254
|
|
|
252
255
|
function _fetchLayerData() {
|
|
253
256
|
_fetchLayerData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(_ref6) {
|
|
254
|
-
var type, source, connection, credentials, geoColumn, columns, format, schema, _yield$_fetchDataUrl, url, accessToken, mapFormat, metadata, data, result;
|
|
257
|
+
var type, source, connection, credentials, geoColumn, columns, format, schema, clientId, _yield$_fetchDataUrl, url, accessToken, mapFormat, metadata, data, result;
|
|
255
258
|
|
|
256
259
|
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
257
260
|
while (1) {
|
|
258
261
|
switch (_context3.prev = _context3.next) {
|
|
259
262
|
case 0:
|
|
260
|
-
type = _ref6.type, source = _ref6.source, connection = _ref6.connection, credentials = _ref6.credentials, geoColumn = _ref6.geoColumn, columns = _ref6.columns, format = _ref6.format, schema = _ref6.schema;
|
|
263
|
+
type = _ref6.type, source = _ref6.source, connection = _ref6.connection, credentials = _ref6.credentials, geoColumn = _ref6.geoColumn, columns = _ref6.columns, format = _ref6.format, schema = _ref6.schema, clientId = _ref6.clientId;
|
|
261
264
|
_context3.next = 3;
|
|
262
265
|
return _fetchDataUrl({
|
|
263
266
|
type: type,
|
|
@@ -267,7 +270,8 @@ function _fetchLayerData() {
|
|
|
267
270
|
geoColumn: geoColumn,
|
|
268
271
|
columns: columns,
|
|
269
272
|
format: format,
|
|
270
|
-
schema: schema
|
|
273
|
+
schema: schema,
|
|
274
|
+
clientId: clientId
|
|
271
275
|
});
|
|
272
276
|
|
|
273
277
|
case 3:
|
|
@@ -312,13 +316,13 @@ function _fetchDataUrl(_x4) {
|
|
|
312
316
|
|
|
313
317
|
function _fetchDataUrl2() {
|
|
314
318
|
_fetchDataUrl2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(_ref7) {
|
|
315
|
-
var type, source, connection, credentials, geoColumn, columns, format, schema, defaultCredentials, localCreds, metadata, url, mapFormat, prioritizedFormats, _i, _prioritizedFormats, f, accessToken;
|
|
319
|
+
var type, source, connection, credentials, geoColumn, columns, format, schema, clientId, defaultCredentials, localCreds, metadata, url, mapFormat, prioritizedFormats, _i, _prioritizedFormats, f, accessToken;
|
|
316
320
|
|
|
317
321
|
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
318
322
|
while (1) {
|
|
319
323
|
switch (_context4.prev = _context4.next) {
|
|
320
324
|
case 0:
|
|
321
|
-
type = _ref7.type, source = _ref7.source, connection = _ref7.connection, credentials = _ref7.credentials, geoColumn = _ref7.geoColumn, columns = _ref7.columns, format = _ref7.format, schema = _ref7.schema;
|
|
325
|
+
type = _ref7.type, source = _ref7.source, connection = _ref7.connection, credentials = _ref7.credentials, geoColumn = _ref7.geoColumn, columns = _ref7.columns, format = _ref7.format, schema = _ref7.schema, clientId = _ref7.clientId;
|
|
322
326
|
defaultCredentials = (0, _config.getDefaultCredentials)();
|
|
323
327
|
localCreds = _objectSpread(_objectSpread({}, defaultCredentials.apiVersion === _mapsApiCommon.API_VERSIONS.V3 && defaultCredentials), credentials);
|
|
324
328
|
checkFetchLayerDataParameters({
|
|
@@ -340,7 +344,8 @@ function _fetchDataUrl2() {
|
|
|
340
344
|
credentials: localCreds,
|
|
341
345
|
geoColumn: geoColumn,
|
|
342
346
|
columns: columns,
|
|
343
|
-
schema: schema
|
|
347
|
+
schema: schema,
|
|
348
|
+
clientId: clientId
|
|
344
349
|
});
|
|
345
350
|
|
|
346
351
|
case 7:
|
|
@@ -410,12 +415,12 @@ function getData(_x5) {
|
|
|
410
415
|
|
|
411
416
|
function _getData() {
|
|
412
417
|
_getData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(_ref8) {
|
|
413
|
-
var type, source, connection, credentials, geoColumn, columns, format, layerData;
|
|
418
|
+
var type, source, connection, credentials, geoColumn, columns, format, clientId, layerData;
|
|
414
419
|
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
415
420
|
while (1) {
|
|
416
421
|
switch (_context5.prev = _context5.next) {
|
|
417
422
|
case 0:
|
|
418
|
-
type = _ref8.type, source = _ref8.source, connection = _ref8.connection, credentials = _ref8.credentials, geoColumn = _ref8.geoColumn, columns = _ref8.columns, format = _ref8.format;
|
|
423
|
+
type = _ref8.type, source = _ref8.source, connection = _ref8.connection, credentials = _ref8.credentials, geoColumn = _ref8.geoColumn, columns = _ref8.columns, format = _ref8.format, clientId = _ref8.clientId;
|
|
419
424
|
|
|
420
425
|
_core.log.deprecated('getData', 'fetchLayerData')();
|
|
421
426
|
|
|
@@ -428,7 +433,8 @@ function _getData() {
|
|
|
428
433
|
geoColumn: geoColumn,
|
|
429
434
|
columns: columns,
|
|
430
435
|
format: format,
|
|
431
|
-
schema: false
|
|
436
|
+
schema: false,
|
|
437
|
+
clientId: clientId
|
|
432
438
|
});
|
|
433
439
|
|
|
434
440
|
case 4:
|
|
@@ -445,12 +451,12 @@ function _getData() {
|
|
|
445
451
|
return _getData.apply(this, arguments);
|
|
446
452
|
}
|
|
447
453
|
|
|
448
|
-
function _fetchMapDataset(_x6, _x7) {
|
|
454
|
+
function _fetchMapDataset(_x6, _x7, _x8, _x9) {
|
|
449
455
|
return _fetchMapDataset2.apply(this, arguments);
|
|
450
456
|
}
|
|
451
457
|
|
|
452
458
|
function _fetchMapDataset2() {
|
|
453
|
-
_fetchMapDataset2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(dataset, accessToken) {
|
|
459
|
+
_fetchMapDataset2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(dataset, accessToken, credentials, clientId) {
|
|
454
460
|
var connection, source, type, _yield$_fetchDataUrl2, url, mapFormat, cache, data;
|
|
455
461
|
|
|
456
462
|
return _regenerator.default.wrap(function _callee6$(_context6) {
|
|
@@ -460,12 +466,13 @@ function _fetchMapDataset2() {
|
|
|
460
466
|
connection = dataset.connectionName, source = dataset.source, type = dataset.type;
|
|
461
467
|
_context6.next = 3;
|
|
462
468
|
return _fetchDataUrl({
|
|
463
|
-
credentials: {
|
|
469
|
+
credentials: _objectSpread(_objectSpread({}, credentials), {}, {
|
|
464
470
|
accessToken: accessToken
|
|
465
|
-
},
|
|
471
|
+
}),
|
|
466
472
|
connection: connection,
|
|
467
473
|
source: source,
|
|
468
|
-
type: type
|
|
474
|
+
type: type,
|
|
475
|
+
clientId: clientId
|
|
469
476
|
});
|
|
470
477
|
|
|
471
478
|
case 3:
|
|
@@ -505,20 +512,20 @@ function _fetchMapDataset2() {
|
|
|
505
512
|
return _fetchMapDataset2.apply(this, arguments);
|
|
506
513
|
}
|
|
507
514
|
|
|
508
|
-
function fillInMapDatasets(
|
|
515
|
+
function fillInMapDatasets(_x10, _x11, _x12) {
|
|
509
516
|
return _fillInMapDatasets.apply(this, arguments);
|
|
510
517
|
}
|
|
511
518
|
|
|
512
519
|
function _fillInMapDatasets() {
|
|
513
|
-
_fillInMapDatasets = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(_ref9) {
|
|
514
|
-
var datasets,
|
|
520
|
+
_fillInMapDatasets = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(_ref9, clientId, credentials) {
|
|
521
|
+
var datasets, token, promises;
|
|
515
522
|
return _regenerator.default.wrap(function _callee7$(_context7) {
|
|
516
523
|
while (1) {
|
|
517
524
|
switch (_context7.prev = _context7.next) {
|
|
518
525
|
case 0:
|
|
519
|
-
datasets = _ref9.datasets,
|
|
526
|
+
datasets = _ref9.datasets, token = _ref9.token;
|
|
520
527
|
promises = datasets.map(function (dataset) {
|
|
521
|
-
return _fetchMapDataset(dataset,
|
|
528
|
+
return _fetchMapDataset(dataset, token, credentials, clientId);
|
|
522
529
|
});
|
|
523
530
|
_context7.next = 4;
|
|
524
531
|
return Promise.all(promises);
|
|
@@ -536,21 +543,22 @@ function _fillInMapDatasets() {
|
|
|
536
543
|
return _fillInMapDatasets.apply(this, arguments);
|
|
537
544
|
}
|
|
538
545
|
|
|
539
|
-
function fetchMap(
|
|
546
|
+
function fetchMap(_x13) {
|
|
540
547
|
return _fetchMap.apply(this, arguments);
|
|
541
548
|
}
|
|
542
549
|
|
|
543
550
|
function _fetchMap() {
|
|
544
551
|
_fetchMap = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee9(_ref10) {
|
|
545
|
-
var
|
|
552
|
+
var cartoMapId, clientId, credentials, autoRefresh, onNewData, defaultCredentials, localCreds, url, map, stopAutoRefresh, intervalId;
|
|
546
553
|
return _regenerator.default.wrap(function _callee9$(_context9) {
|
|
547
554
|
while (1) {
|
|
548
555
|
switch (_context9.prev = _context9.next) {
|
|
549
556
|
case 0:
|
|
550
|
-
|
|
551
|
-
|
|
557
|
+
cartoMapId = _ref10.cartoMapId, clientId = _ref10.clientId, credentials = _ref10.credentials, autoRefresh = _ref10.autoRefresh, onNewData = _ref10.onNewData;
|
|
558
|
+
defaultCredentials = (0, _config.getDefaultCredentials)();
|
|
559
|
+
localCreds = _objectSpread(_objectSpread({}, defaultCredentials.apiVersion === _mapsApiCommon.API_VERSIONS.V3 && defaultCredentials), credentials);
|
|
552
560
|
|
|
553
|
-
_core.log.assert(
|
|
561
|
+
_core.log.assert(cartoMapId, "Must define CARTO map id: fetchMap({cartoMapId: 'XXXX-XXXX-XXXX'})");
|
|
554
562
|
|
|
555
563
|
_core.log.assert(localCreds.apiVersion === _mapsApiCommon.API_VERSIONS.V3, 'Method only available for v3');
|
|
556
564
|
|
|
@@ -568,24 +576,24 @@ function _fetchMap() {
|
|
|
568
576
|
_core.log.assert(autoRefresh > 0, '`autoRefresh` must be a positive number');
|
|
569
577
|
}
|
|
570
578
|
|
|
571
|
-
url = "".concat(localCreds.mapsUrl, "/public/").concat(
|
|
572
|
-
_context9.next =
|
|
579
|
+
url = "".concat(localCreds.mapsUrl, "/public/").concat(cartoMapId);
|
|
580
|
+
_context9.next = 11;
|
|
573
581
|
return request({
|
|
574
582
|
url: url
|
|
575
583
|
});
|
|
576
584
|
|
|
577
|
-
case
|
|
585
|
+
case 11:
|
|
578
586
|
map = _context9.sent;
|
|
579
587
|
|
|
580
588
|
if (autoRefresh) {
|
|
581
|
-
setInterval((0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8() {
|
|
589
|
+
intervalId = setInterval((0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8() {
|
|
582
590
|
var changed;
|
|
583
591
|
return _regenerator.default.wrap(function _callee8$(_context8) {
|
|
584
592
|
while (1) {
|
|
585
593
|
switch (_context8.prev = _context8.next) {
|
|
586
594
|
case 0:
|
|
587
595
|
_context8.next = 2;
|
|
588
|
-
return fillInMapDatasets(map);
|
|
596
|
+
return fillInMapDatasets(map, clientId, credentials);
|
|
589
597
|
|
|
590
598
|
case 2:
|
|
591
599
|
changed = _context8.sent;
|
|
@@ -603,15 +611,21 @@ function _fetchMap() {
|
|
|
603
611
|
}
|
|
604
612
|
}, _callee8);
|
|
605
613
|
})), autoRefresh * 1000);
|
|
606
|
-
}
|
|
607
614
|
|
|
608
|
-
|
|
609
|
-
|
|
615
|
+
stopAutoRefresh = function stopAutoRefresh() {
|
|
616
|
+
clearInterval(intervalId);
|
|
617
|
+
};
|
|
618
|
+
}
|
|
610
619
|
|
|
611
|
-
|
|
612
|
-
return
|
|
620
|
+
_context9.next = 15;
|
|
621
|
+
return fillInMapDatasets(map, clientId, credentials);
|
|
613
622
|
|
|
614
623
|
case 15:
|
|
624
|
+
return _context9.abrupt("return", _objectSpread(_objectSpread({}, (0, _parseMap.parseMap)(map)), {
|
|
625
|
+
stopAutoRefresh: stopAutoRefresh
|
|
626
|
+
}));
|
|
627
|
+
|
|
628
|
+
case 16:
|
|
615
629
|
case "end":
|
|
616
630
|
return _context9.stop();
|
|
617
631
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/maps-v3-client.js"],"names":["MAX_GET_LENGTH","request","method","url","format","accessToken","body","headers","Accept","Authorization","fetch","response","Error","FORMATS","NDJSON","json","ok","dealWithError","error","rows","status","getParameters","type","source","geoColumn","columns","schema","parameters","push","sourceName","MAP_TYPES","QUERY","TABLE","join","mapInstantiation","connection","credentials","baseUrl","mapsUrl","length","JSON","stringify","q","client","getUrlFromMetadata","metadata","m","checkFetchLayerDataParameters","localCreds","log","assert","apiVersion","API_VERSIONS","V3","apiBaseUrl","fetchLayerData","_fetchDataUrl","mapFormat","data","result","defaultCredentials","prioritizedFormats","GEOJSON","TILEJSON","f","getData","deprecated","layerData","_fetchMapDataset","dataset","connectionName","cache","parseInt","URLSearchParams","get","fillInMapDatasets","datasets","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":["MAX_GET_LENGTH","DEFAULT_CLIENT","request","method","url","format","accessToken","body","headers","Accept","Authorization","fetch","response","Error","FORMATS","NDJSON","json","ok","dealWithError","error","rows","status","getParameters","type","source","geoColumn","columns","schema","clientId","parameters","push","sourceName","MAP_TYPES","QUERY","TABLE","join","mapInstantiation","connection","credentials","baseUrl","mapsUrl","length","JSON","stringify","q","client","getUrlFromMetadata","metadata","m","checkFetchLayerDataParameters","localCreds","log","assert","apiVersion","API_VERSIONS","V3","apiBaseUrl","fetchLayerData","_fetchDataUrl","mapFormat","data","result","defaultCredentials","prioritizedFormats","GEOJSON","TILEJSON","f","getData","deprecated","layerData","_fetchMapDataset","dataset","connectionName","cache","parseInt","URLSearchParams","get","fillInMapDatasets","datasets","token","promises","map","Promise","all","fetchMap","cartoMapId","autoRefresh","onNewData","intervalId","setInterval","changed","some","v","stopAutoRefresh","clearInterval"],"mappings":"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","sourcesContent":["/**\n * Maps API Client for Carto 3\n */\nimport {getDefaultCredentials, buildMapsUrlFromBase} from '../config';\nimport {API_VERSIONS, encodeParameter, FORMATS, MAP_TYPES} from './maps-api-common';\nimport {parseMap} from './parseMap';\nimport {log} from '@deck.gl/core';\n\nconst MAX_GET_LENGTH = 2048;\nconst DEFAULT_CLIENT = 'deck-gl-carto';\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, clientId}) {\n const parameters = [encodeParameter('client', clientId || DEFAULT_CLIENT)];\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 clientId\n}) {\n const baseUrl = `${credentials.mapsUrl}/${connection}/${type}`;\n const url = `${baseUrl}?${getParameters({type, source, geoColumn, columns, schema, clientId})}`;\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: clientId || DEFAULT_CLIENT\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 clientId\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 clientId\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 clientId\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 clientId\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({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n clientId\n}) {\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 clientId\n });\n return layerData.data;\n}\n\n/* global clearInterval, setInterval, URLSearchParams */\nasync function _fetchMapDataset(dataset, accessToken, credentials, clientId) {\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 clientId\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}, clientId, credentials) {\n const promises = datasets.map(dataset => _fetchMapDataset(dataset, token, credentials, clientId));\n return await Promise.all(promises);\n}\n\nexport async function fetchMap({cartoMapId, clientId, 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, clientId, 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, clientId, credentials);\n return {\n ...parseMap(map),\n ...{stopAutoRefresh}\n };\n}\n"],"file":"maps-v3-client.js"}
|
package/dist/es5/api/parseMap.js
CHANGED
|
@@ -19,7 +19,10 @@ var _layerMap = require("./layer-map");
|
|
|
19
19
|
|
|
20
20
|
var _core = require("@deck.gl/core");
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
var _excluded = ["id", "config"],
|
|
23
|
+
_excluded2 = ["textLabel"];
|
|
24
|
+
|
|
25
|
+
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; }
|
|
23
26
|
|
|
24
27
|
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; }
|
|
25
28
|
|
|
@@ -42,7 +45,7 @@ function parseMap(json) {
|
|
|
42
45
|
description: json.description,
|
|
43
46
|
createdAt: json.createdAt,
|
|
44
47
|
updatedAt: json.updatedAt,
|
|
45
|
-
|
|
48
|
+
initialViewState: mapState,
|
|
46
49
|
mapStyle: mapStyle,
|
|
47
50
|
layers: extractTextLayers(layers.reverse()).map(function (_ref) {
|
|
48
51
|
var id = _ref.id,
|
|
@@ -79,9 +82,9 @@ function extractTextLayers(layers) {
|
|
|
79
82
|
return (0, _core._flatten)(layers.map(function (_ref2) {
|
|
80
83
|
var id = _ref2.id,
|
|
81
84
|
config = _ref2.config,
|
|
82
|
-
rest = (0, _objectWithoutProperties2.default)(_ref2,
|
|
85
|
+
rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
|
|
83
86
|
var textLabel = config.textLabel,
|
|
84
|
-
configRest = (0, _objectWithoutProperties2.default)(config,
|
|
87
|
+
configRest = (0, _objectWithoutProperties2.default)(config, _excluded2);
|
|
85
88
|
return [_objectSpread({
|
|
86
89
|
id: id,
|
|
87
90
|
config: configRest
|
|
@@ -89,10 +92,11 @@ function extractTextLayers(layers) {
|
|
|
89
92
|
return t.field;
|
|
90
93
|
}).map(function (t) {
|
|
91
94
|
return _objectSpread({
|
|
92
|
-
id: "id-label-".concat(t.field.name),
|
|
95
|
+
id: "".concat(id, "-label-").concat(t.field.name),
|
|
93
96
|
config: _objectSpread(_objectSpread({
|
|
94
97
|
textLabel: t
|
|
95
98
|
}, configRest), {}, {
|
|
99
|
+
label: "".concat(config.label, "-label-").concat(t.field.name),
|
|
96
100
|
visConfig: _objectSpread(_objectSpread({}, configRest.visConfig), {}, {
|
|
97
101
|
opacity: 1
|
|
98
102
|
})
|
|
@@ -131,14 +135,6 @@ function createInteractionProps(interactionConfig) {
|
|
|
131
135
|
}
|
|
132
136
|
|
|
133
137
|
function mapProps(source, target, mapping) {
|
|
134
|
-
if (Array.isArray(source)) {
|
|
135
|
-
source = source[0];
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
if (!source) {
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
138
|
for (var sourceKey in mapping) {
|
|
143
139
|
var sourceValue = source[sourceKey];
|
|
144
140
|
var targetKey = mapping[sourceKey];
|