@deck.gl/carto 8.6.2 → 8.7.0-alpha.2

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 (65) hide show
  1. package/dist/dist.dev.js +24009 -380
  2. package/dist/es5/api/index.js +14 -8
  3. package/dist/es5/api/index.js.map +1 -1
  4. package/dist/es5/api/layer-map.js +244 -0
  5. package/dist/es5/api/layer-map.js.map +1 -0
  6. package/dist/es5/api/maps-api-common.js +9 -13
  7. package/dist/es5/api/maps-api-common.js.map +1 -1
  8. package/dist/es5/api/maps-client.js +98 -157
  9. package/dist/es5/api/maps-client.js.map +1 -1
  10. package/dist/es5/api/maps-v3-client.js +325 -304
  11. package/dist/es5/api/maps-v3-client.js.map +1 -1
  12. package/dist/es5/api/parseMap.js +210 -0
  13. package/dist/es5/api/parseMap.js.map +1 -0
  14. package/dist/es5/basemap.js +1 -1
  15. package/dist/es5/basemap.js.map +1 -1
  16. package/dist/es5/config.js +23 -39
  17. package/dist/es5/config.js.map +1 -1
  18. package/dist/es5/index.js +22 -16
  19. package/dist/es5/index.js.map +1 -1
  20. package/dist/es5/layers/carto-bqtiler-layer.js +6 -39
  21. package/dist/es5/layers/carto-bqtiler-layer.js.map +1 -1
  22. package/dist/es5/layers/carto-layer.js +130 -211
  23. package/dist/es5/layers/carto-layer.js.map +1 -1
  24. package/dist/es5/layers/carto-sql-layer.js +6 -39
  25. package/dist/es5/layers/carto-sql-layer.js.map +1 -1
  26. package/dist/es5/style/color-bins-style.js +14 -13
  27. package/dist/es5/style/color-bins-style.js.map +1 -1
  28. package/dist/es5/style/color-categories-style.js +16 -39
  29. package/dist/es5/style/color-categories-style.js.map +1 -1
  30. package/dist/es5/style/color-continuous-style.js +14 -13
  31. package/dist/es5/style/color-continuous-style.js.map +1 -1
  32. package/dist/es5/style/palette.js +15 -21
  33. package/dist/es5/style/palette.js.map +1 -1
  34. package/dist/es5/style/utils.js +6 -13
  35. package/dist/es5/style/utils.js.map +1 -1
  36. package/dist/esm/api/index.js +1 -1
  37. package/dist/esm/api/index.js.map +1 -1
  38. package/dist/esm/api/layer-map.js +219 -0
  39. package/dist/esm/api/layer-map.js.map +1 -0
  40. package/dist/esm/api/maps-client.js +1 -1
  41. package/dist/esm/api/maps-client.js.map +1 -1
  42. package/dist/esm/api/maps-v3-client.js +145 -16
  43. package/dist/esm/api/maps-v3-client.js.map +1 -1
  44. package/dist/esm/api/parseMap.js +194 -0
  45. package/dist/esm/api/parseMap.js.map +1 -0
  46. package/dist/esm/config.js +11 -26
  47. package/dist/esm/config.js.map +1 -1
  48. package/dist/esm/index.js +1 -1
  49. package/dist/esm/index.js.map +1 -1
  50. package/dist/esm/layers/carto-layer.js +7 -9
  51. package/dist/esm/layers/carto-layer.js.map +1 -1
  52. package/dist/esm/style/color-bins-style.js.map +1 -1
  53. package/dist/esm/style/color-continuous-style.js.map +1 -1
  54. package/dist.min.js +278 -1
  55. package/package.json +7 -3
  56. package/src/api/index.js +1 -1
  57. package/src/api/layer-map.js +194 -0
  58. package/src/api/maps-client.js +3 -7
  59. package/src/api/maps-v3-client.js +114 -11
  60. package/src/api/parseMap.js +182 -0
  61. package/src/config.js +8 -39
  62. package/src/index.js +1 -0
  63. package/src/layers/carto-layer.js +3 -5
  64. package/src/style/color-bins-style.js +1 -3
  65. package/src/style/color-continuous-style.js +1 -3
@@ -5,49 +5,55 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  Object.defineProperty(exports, "FORMATS", {
7
7
  enumerable: true,
8
- get: function get() {
8
+ get: function () {
9
9
  return _mapsApiCommon.FORMATS;
10
10
  }
11
11
  });
12
12
  Object.defineProperty(exports, "MAP_TYPES", {
13
13
  enumerable: true,
14
- get: function get() {
14
+ get: function () {
15
15
  return _mapsApiCommon.MAP_TYPES;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "API_VERSIONS", {
19
19
  enumerable: true,
20
- get: function get() {
20
+ get: function () {
21
21
  return _mapsApiCommon.API_VERSIONS;
22
22
  }
23
23
  });
24
24
  Object.defineProperty(exports, "getDataV2", {
25
25
  enumerable: true,
26
- get: function get() {
26
+ get: function () {
27
27
  return _mapsClient.getDataV2;
28
28
  }
29
29
  });
30
30
  Object.defineProperty(exports, "CONNECTIONS", {
31
31
  enumerable: true,
32
- get: function get() {
32
+ get: function () {
33
33
  return _mapsClient.CONNECTIONS;
34
34
  }
35
35
  });
36
36
  Object.defineProperty(exports, "fetchLayerData", {
37
37
  enumerable: true,
38
- get: function get() {
38
+ get: function () {
39
39
  return _mapsV3Client.fetchLayerData;
40
40
  }
41
41
  });
42
+ Object.defineProperty(exports, "fetchMap", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _mapsV3Client.fetchMap;
46
+ }
47
+ });
42
48
  Object.defineProperty(exports, "getData", {
43
49
  enumerable: true,
44
- get: function get() {
50
+ get: function () {
45
51
  return _mapsV3Client.getData;
46
52
  }
47
53
  });
48
54
  Object.defineProperty(exports, "mapInstantiation", {
49
55
  enumerable: true,
50
- get: function get() {
56
+ get: function () {
51
57
  return _mapsV3Client.mapInstantiation;
52
58
  }
53
59
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA","sourcesContent":["export {FORMATS, MAP_TYPES, API_VERSIONS} from './maps-api-common';\nexport {getDataV2, CONNECTIONS} from './maps-client';\nexport {fetchLayerData, getData, mapInstantiation} from './maps-v3-client';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/api/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA","sourcesContent":["export {FORMATS, MAP_TYPES, API_VERSIONS} from './maps-api-common';\nexport {getDataV2, CONNECTIONS} from './maps-client';\nexport {fetchLayerData, fetchMap, getData, mapInstantiation} from './maps-v3-client';\n"],"file":"index.js"}
@@ -0,0 +1,244 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.getColorAccessor = getColorAccessor;
9
+ exports.getSizeAccessor = getSizeAccessor;
10
+ exports.getTextAccessor = getTextAccessor;
11
+ exports.getTextPixelOffsetAccessor = getTextPixelOffsetAccessor;
12
+ exports.LAYER_MAP = void 0;
13
+
14
+ var _d3Array = require("d3-array");
15
+
16
+ var _d3Color = require("d3-color");
17
+
18
+ var _d3Scale = require("d3-scale");
19
+
20
+ var _d3Format = require("d3-format");
21
+
22
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
23
+
24
+ var _geoLayers = require("@deck.gl/geo-layers");
25
+
26
+ var _layers = require("@deck.gl/layers");
27
+
28
+ const SCALE_FUNCS = {
29
+ linear: _d3Scale.scaleLinear,
30
+ ordinal: _d3Scale.scaleOrdinal,
31
+ log: _d3Scale.scaleLog,
32
+ point: _d3Scale.scalePoint,
33
+ quantile: _d3Scale.scaleQuantile,
34
+ quantize: _d3Scale.scaleQuantize,
35
+ sqrt: _d3Scale.scaleSqrt
36
+ };
37
+ const sharedPropMap = {
38
+ color: 'getFillColor',
39
+ isVisible: 'visible',
40
+ textLabel: {
41
+ alignment: 'getTextAlignmentBaseline',
42
+ anchor: 'getTextAnchor',
43
+ color: 'getTextColor',
44
+ size: 'getTextSize'
45
+ },
46
+ visConfig: {
47
+ enable3d: 'extruded',
48
+ filled: 'filled',
49
+ opacity: 'opacity',
50
+ strokeColor: 'getLineColor',
51
+ stroked: 'stroked',
52
+ thickness: 'getLineWidth',
53
+ radius: 'getPointRadius',
54
+ wireframe: 'wireframe'
55
+ }
56
+ };
57
+ const RADIUS_DOWNSCALE = 0.2;
58
+ const defaultProps = {
59
+ lineMiterLimit: 2,
60
+ lineWidthUnits: 'pixels',
61
+ pointRadiusScale: RADIUS_DOWNSCALE,
62
+ pointRadiusUnits: 'pixels',
63
+ rounded: true,
64
+ wrapLongitude: false
65
+ };
66
+
67
+ function mergePropMaps(a, b) {
68
+ return { ...a,
69
+ ...b,
70
+ visConfig: { ...a.visConfig,
71
+ ...b.visConfig
72
+ }
73
+ };
74
+ }
75
+
76
+ const LAYER_MAP = {
77
+ point: {
78
+ Layer: _layers.GeoJsonLayer,
79
+ propMap: mergePropMaps(sharedPropMap, {
80
+ visConfig: {
81
+ outline: 'stroked'
82
+ }
83
+ }),
84
+ defaultProps
85
+ },
86
+ geojson: {
87
+ Layer: _layers.GeoJsonLayer,
88
+ propMap: sharedPropMap,
89
+ defaultProps: { ...defaultProps,
90
+ lineWidthScale: 2
91
+ }
92
+ },
93
+ hexagonId: {
94
+ Layer: _geoLayers.H3HexagonLayer,
95
+ propMap: mergePropMaps(sharedPropMap, {
96
+ visConfig: {
97
+ coverage: 'coverage',
98
+ elevationScale: 'elevationScale'
99
+ }
100
+ }),
101
+ defaultProps: { ...defaultProps,
102
+ getHexagon: d => d.h3
103
+ }
104
+ },
105
+ mvt: {
106
+ Layer: _geoLayers.MVTLayer,
107
+ propMap: sharedPropMap,
108
+ defaultProps: { ...defaultProps,
109
+ pointRadiusScale: 0.3,
110
+ lineWidthScale: 2
111
+ }
112
+ }
113
+ };
114
+ exports.LAYER_MAP = LAYER_MAP;
115
+
116
+ function domainFromAttribute(attribute, scaleType) {
117
+ if (scaleType === 'ordinal' || scaleType === 'point') {
118
+ return attribute.categories.map(c => c.category).filter(c => c !== undefined && c !== null);
119
+ }
120
+
121
+ let {
122
+ min
123
+ } = attribute;
124
+
125
+ if (scaleType === 'log' && min === 0) {
126
+ min = 1e-5;
127
+ }
128
+
129
+ return [min, attribute.max];
130
+ }
131
+
132
+ function domainFromValues(values, scaleType) {
133
+ if (scaleType === 'ordinal') {
134
+ return [...new Set(values)].sort();
135
+ }
136
+
137
+ return (0, _d3Array.extent)(values);
138
+ }
139
+
140
+ function calculateDomain(data, name, scaleType) {
141
+ if (data.tilestats) {
142
+ const {
143
+ attributes
144
+ } = data.tilestats.layers[0];
145
+ const attribute = attributes.find(a => a.attribute === name);
146
+ return domainFromAttribute(attribute, scaleType);
147
+ } else if (data.features) {
148
+ const values = data.features.map(({
149
+ properties
150
+ }) => properties[name]);
151
+ return domainFromValues(values, scaleType);
152
+ } else if (Array.isArray(data) && data[0][name] !== undefined) {
153
+ const values = data.map(properties => properties[name]);
154
+ return domainFromValues(values, scaleType);
155
+ }
156
+
157
+ return [0, 1];
158
+ }
159
+
160
+ function normalizeAccessor(accessor, data) {
161
+ if (data.features || data.tilestats) {
162
+ return ({
163
+ properties
164
+ }) => {
165
+ return accessor(properties);
166
+ };
167
+ }
168
+
169
+ return accessor;
170
+ }
171
+
172
+ function getColorAccessor({
173
+ name
174
+ }, scaleType, {
175
+ colors
176
+ }, opacity, data) {
177
+ const scale = SCALE_FUNCS[scaleType]();
178
+ scale.domain(calculateDomain(data, name, scaleType));
179
+ scale.range(colors);
180
+ const alpha = opacity !== undefined ? Math.round(255 * Math.pow(opacity, 1 / 2.2)) : 255;
181
+
182
+ const accessor = properties => {
183
+ const rgba = (0, _d3Color.rgb)(scale(properties[name]));
184
+ return [rgba.r, rgba.g, rgba.b, alpha];
185
+ };
186
+
187
+ return normalizeAccessor(accessor, data);
188
+ }
189
+
190
+ function getSizeAccessor({
191
+ name
192
+ }, scaleType, range, data) {
193
+ const scale = SCALE_FUNCS[scaleType]();
194
+ scale.domain(calculateDomain(data, name, scaleType));
195
+ scale.range(range);
196
+
197
+ const accessor = properties => {
198
+ return scale(properties[name]);
199
+ };
200
+
201
+ return normalizeAccessor(accessor, data);
202
+ }
203
+
204
+ const FORMATS = {
205
+ date: s => _momentTimezone.default.utc(s).format('MM/DD/YY HH:mm:ssa'),
206
+ integer: (0, _d3Format.format)('i'),
207
+ float: (0, _d3Format.format)('.5f'),
208
+ timestamp: s => _momentTimezone.default.utc(s).format('X'),
209
+ default: String
210
+ };
211
+
212
+ function getTextAccessor({
213
+ name,
214
+ type
215
+ }, data) {
216
+ const format = FORMATS[type] || FORMATS.default;
217
+
218
+ const accessor = properties => {
219
+ return format(properties[name]);
220
+ };
221
+
222
+ return normalizeAccessor(accessor, data);
223
+ }
224
+
225
+ function getTextPixelOffsetAccessor({
226
+ alignment,
227
+ anchor,
228
+ size
229
+ }, radius) {
230
+ const padding = 20;
231
+ const signX = anchor === 'middle' ? 0 : anchor === 'start' ? 1 : -1;
232
+ const signY = alignment === 'center' ? 0 : alignment === 'bottom' ? 1 : -1;
233
+ const sizeOffset = alignment === 'center' ? 0 : size;
234
+
235
+ const calculateOffset = r => {
236
+ r = RADIUS_DOWNSCALE * r;
237
+ return [signX * (r + padding), signY * (r + padding + sizeOffset)];
238
+ };
239
+
240
+ return typeof radius === 'function' ? d => {
241
+ return calculateOffset(radius(d));
242
+ } : calculateOffset(radius);
243
+ }
244
+ //# sourceMappingURL=layer-map.js.map
@@ -0,0 +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","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 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"}
@@ -1,36 +1,32 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.encodeParameter = encodeParameter;
9
7
  exports.FORMATS = exports.MAP_TYPES = exports.DEFAULT_MAPS_URL_FORMAT = exports.API_VERSIONS = exports.DEFAULT_REGION_COMPONENT_IN_URL = exports.DEFAULT_USER_COMPONENT_IN_URL = void 0;
10
-
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
-
13
- var _DEFAULT_MAPS_URL_FOR;
14
-
15
- var DEFAULT_USER_COMPONENT_IN_URL = '{user}';
8
+ const DEFAULT_USER_COMPONENT_IN_URL = '{user}';
16
9
  exports.DEFAULT_USER_COMPONENT_IN_URL = DEFAULT_USER_COMPONENT_IN_URL;
17
- var DEFAULT_REGION_COMPONENT_IN_URL = '{region}';
10
+ const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';
18
11
  exports.DEFAULT_REGION_COMPONENT_IN_URL = DEFAULT_REGION_COMPONENT_IN_URL;
19
- var API_VERSIONS = {
12
+ const API_VERSIONS = {
20
13
  V1: 'v1',
21
14
  V2: 'v2',
22
15
  V3: 'v3'
23
16
  };
24
17
  exports.API_VERSIONS = API_VERSIONS;
25
- var DEFAULT_MAPS_URL_FORMAT = (_DEFAULT_MAPS_URL_FOR = {}, (0, _defineProperty2.default)(_DEFAULT_MAPS_URL_FOR, API_VERSIONS.V1, "https://".concat(DEFAULT_USER_COMPONENT_IN_URL, ".carto.com/api/v1/map")), (0, _defineProperty2.default)(_DEFAULT_MAPS_URL_FOR, API_VERSIONS.V2, "https://maps-api-v2.".concat(DEFAULT_REGION_COMPONENT_IN_URL, ".carto.com/user/").concat(DEFAULT_USER_COMPONENT_IN_URL)), _DEFAULT_MAPS_URL_FOR);
18
+ const DEFAULT_MAPS_URL_FORMAT = {
19
+ [API_VERSIONS.V1]: "https://".concat(DEFAULT_USER_COMPONENT_IN_URL, ".carto.com/api/v1/map"),
20
+ [API_VERSIONS.V2]: "https://maps-api-v2.".concat(DEFAULT_REGION_COMPONENT_IN_URL, ".carto.com/user/").concat(DEFAULT_USER_COMPONENT_IN_URL)
21
+ };
26
22
  exports.DEFAULT_MAPS_URL_FORMAT = DEFAULT_MAPS_URL_FORMAT;
27
- var MAP_TYPES = {
23
+ const MAP_TYPES = {
28
24
  QUERY: 'query',
29
25
  TABLE: 'table',
30
26
  TILESET: 'tileset'
31
27
  };
32
28
  exports.MAP_TYPES = MAP_TYPES;
33
- var FORMATS = {
29
+ const FORMATS = {
34
30
  GEOJSON: 'geojson',
35
31
  NDJSON: 'ndjson',
36
32
  TILEJSON: 'tilejson',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/maps-api-common.js"],"names":["DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","API_VERSIONS","V1","V2","V3","DEFAULT_MAPS_URL_FORMAT","MAP_TYPES","QUERY","TABLE","TILESET","FORMATS","GEOJSON","NDJSON","TILEJSON","JSON","encodeParameter","name","value","encodeURIComponent"],"mappings":";;;;;;;;;;;;;;AAAO,IAAMA,6BAA6B,GAAG,QAAtC;;AACA,IAAMC,+BAA+B,GAAG,UAAxC;;AAEA,IAAMC,YAAY,GAAG;AAC1BC,EAAAA,EAAE,EAAE,IADsB;AAE1BC,EAAAA,EAAE,EAAE,IAFsB;AAG1BC,EAAAA,EAAE,EAAE;AAHsB,CAArB;;AAMA,IAAMC,uBAAuB,qFACjCJ,YAAY,CAACC,EADoB,oBACJH,6BADI,kFAEjCE,YAAY,CAACE,EAFoB,gCAEQH,+BAFR,6BAE0DD,6BAF1D,0BAA7B;;AAKA,IAAMO,SAAS,GAAG;AACvBC,EAAAA,KAAK,EAAE,OADgB;AAEvBC,EAAAA,KAAK,EAAE,OAFgB;AAGvBC,EAAAA,OAAO,EAAE;AAHc,CAAlB;;AAOA,IAAMC,OAAO,GAAG;AACrBC,EAAAA,OAAO,EAAE,SADY;AAErBC,EAAAA,MAAM,EAAE,QAFa;AAGrBC,EAAAA,QAAQ,EAAE,UAHW;AAIrBC,EAAAA,IAAI,EAAE;AAJe,CAAhB;;;AAUA,SAASC,eAAT,CAAyBC,IAAzB,EAA+BC,KAA/B,EAAsC;AAC3C,mBAAUD,IAAV,cAAkBE,kBAAkB,CAACD,KAAD,CAApC;AACD","sourcesContent":["export const DEFAULT_USER_COMPONENT_IN_URL = '{user}';\nexport const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';\n\nexport const API_VERSIONS = {\n V1: 'v1',\n V2: 'v2',\n V3: 'v3'\n};\n\nexport const DEFAULT_MAPS_URL_FORMAT = {\n [API_VERSIONS.V1]: `https://${DEFAULT_USER_COMPONENT_IN_URL}.carto.com/api/v1/map`,\n [API_VERSIONS.V2]: `https://maps-api-v2.${DEFAULT_REGION_COMPONENT_IN_URL}.carto.com/user/${DEFAULT_USER_COMPONENT_IN_URL}`\n};\n\nexport const MAP_TYPES = {\n QUERY: 'query',\n TABLE: 'table',\n TILESET: 'tileset'\n};\n\n// AVAILABLE FORMATS\nexport const FORMATS = {\n GEOJSON: 'geojson',\n NDJSON: 'ndjson',\n TILEJSON: 'tilejson',\n JSON: 'json'\n};\n\n/**\n * Simple encode parameter\n */\nexport function encodeParameter(name, value) {\n return `${name}=${encodeURIComponent(value)}`;\n}\n"],"file":"maps-api-common.js"}
1
+ {"version":3,"sources":["../../../src/api/maps-api-common.js"],"names":["DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","API_VERSIONS","V1","V2","V3","DEFAULT_MAPS_URL_FORMAT","MAP_TYPES","QUERY","TABLE","TILESET","FORMATS","GEOJSON","NDJSON","TILEJSON","JSON","encodeParameter","name","value","encodeURIComponent"],"mappings":";;;;;;;AAAO,MAAMA,6BAA6B,GAAG,QAAtC;;AACA,MAAMC,+BAA+B,GAAG,UAAxC;;AAEA,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,EAAE,EAAE,IADsB;AAE1BC,EAAAA,EAAE,EAAE,IAFsB;AAG1BC,EAAAA,EAAE,EAAE;AAHsB,CAArB;;AAMA,MAAMC,uBAAuB,GAAG;AACrC,GAACJ,YAAY,CAACC,EAAd,qBAA8BH,6BAA9B,0BADqC;AAErC,GAACE,YAAY,CAACE,EAAd,iCAA0CH,+BAA1C,6BAA4FD,6BAA5F;AAFqC,CAAhC;;AAKA,MAAMO,SAAS,GAAG;AACvBC,EAAAA,KAAK,EAAE,OADgB;AAEvBC,EAAAA,KAAK,EAAE,OAFgB;AAGvBC,EAAAA,OAAO,EAAE;AAHc,CAAlB;;AAOA,MAAMC,OAAO,GAAG;AACrBC,EAAAA,OAAO,EAAE,SADY;AAErBC,EAAAA,MAAM,EAAE,QAFa;AAGrBC,EAAAA,QAAQ,EAAE,UAHW;AAIrBC,EAAAA,IAAI,EAAE;AAJe,CAAhB;;;AAUA,SAASC,eAAT,CAAyBC,IAAzB,EAA+BC,KAA/B,EAAsC;AAC3C,mBAAUD,IAAV,cAAkBE,kBAAkB,CAACD,KAAD,CAApC;AACD","sourcesContent":["export const DEFAULT_USER_COMPONENT_IN_URL = '{user}';\nexport const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';\n\nexport const API_VERSIONS = {\n V1: 'v1',\n V2: 'v2',\n V3: 'v3'\n};\n\nexport const DEFAULT_MAPS_URL_FORMAT = {\n [API_VERSIONS.V1]: `https://${DEFAULT_USER_COMPONENT_IN_URL}.carto.com/api/v1/map`,\n [API_VERSIONS.V2]: `https://maps-api-v2.${DEFAULT_REGION_COMPONENT_IN_URL}.carto.com/user/${DEFAULT_USER_COMPONENT_IN_URL}`\n};\n\nexport const MAP_TYPES = {\n QUERY: 'query',\n TABLE: 'table',\n TILESET: 'tileset'\n};\n\n// AVAILABLE FORMATS\nexport const FORMATS = {\n GEOJSON: 'geojson',\n NDJSON: 'ndjson',\n TILEJSON: 'tilejson',\n JSON: 'json'\n};\n\n/**\n * Simple encode parameter\n */\nexport function encodeParameter(name, value) {\n return `${name}=${encodeURIComponent(value)}`;\n}\n"],"file":"maps-api-common.js"}