@deck.gl/carto 8.6.1 → 8.6.5

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.
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "CONNECTIONS", {
33
33
  return _mapsClient.CONNECTIONS;
34
34
  }
35
35
  });
36
+ Object.defineProperty(exports, "fetchLayerData", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _mapsV3Client.fetchLayerData;
40
+ }
41
+ });
36
42
  Object.defineProperty(exports, "getData", {
37
43
  enumerable: true,
38
44
  get: function get() {
@@ -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 {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, getData, mapInstantiation} from './maps-v3-client';\n"],"file":"index.js"}
@@ -1,10 +1,17 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.encodeParameter = encodeParameter;
7
- exports.FORMATS = exports.MAP_TYPES = exports.API_VERSIONS = exports.DEFAULT_REGION_COMPONENT_IN_URL = exports.DEFAULT_USER_COMPONENT_IN_URL = void 0;
9
+ 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
+
8
15
  var DEFAULT_USER_COMPONENT_IN_URL = '{user}';
9
16
  exports.DEFAULT_USER_COMPONENT_IN_URL = DEFAULT_USER_COMPONENT_IN_URL;
10
17
  var DEFAULT_REGION_COMPONENT_IN_URL = '{region}';
@@ -15,6 +22,8 @@ var API_VERSIONS = {
15
22
  V3: 'v3'
16
23
  };
17
24
  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);
26
+ exports.DEFAULT_MAPS_URL_FORMAT = DEFAULT_MAPS_URL_FORMAT;
18
27
  var MAP_TYPES = {
19
28
  QUERY: 'query',
20
29
  TABLE: 'table',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/maps-api-common.js"],"names":["DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","API_VERSIONS","V1","V2","V3","MAP_TYPES","QUERY","TABLE","TILESET","FORMATS","GEOJSON","NDJSON","TILEJSON","JSON","encodeParameter","name","value","encodeURIComponent"],"mappings":";;;;;;;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,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 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,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"}
@@ -36,55 +36,61 @@ function getDataV2(_x) {
36
36
 
37
37
  function _getDataV() {
38
38
  _getDataV = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(_ref) {
39
- var type, source, credentials, localCreds, apiVersion, url, connection, mapConfig, layergroup;
39
+ var type, source, credentials, defaultCredentials, apiVersion, localCreds, url, connection, mapConfig, layergroup;
40
40
  return _regenerator.default.wrap(function _callee$(_context) {
41
41
  while (1) {
42
42
  switch (_context.prev = _context.next) {
43
43
  case 0:
44
44
  type = _ref.type, source = _ref.source, credentials = _ref.credentials;
45
- localCreds = _objectSpread(_objectSpread({}, (0, _config.getDefaultCredentials)()), credentials);
46
- apiVersion = localCreds.apiVersion;
45
+ defaultCredentials = (0, _config.getDefaultCredentials)();
46
+ apiVersion = credentials && credentials.apiVersion || defaultCredentials.apiVersion;
47
+ localCreds = _objectSpread(_objectSpread(_objectSpread({}, _config.defaultClassicCredentials), defaultCredentials.apiVersion === apiVersion && defaultCredentials), credentials);
48
+
49
+ if (!localCreds.mapsUrl) {
50
+ localCreds.mapsUrl = _mapsApiCommon.DEFAULT_MAPS_URL_FORMAT[apiVersion];
51
+ }
52
+
47
53
  connection = type === 'tileset' ? CONNECTIONS.BIGQUERY : CONNECTIONS.CARTO;
48
54
  _context.t0 = apiVersion;
49
- _context.next = _context.t0 === _mapsApiCommon.API_VERSIONS.V1 ? 7 : _context.t0 === _mapsApiCommon.API_VERSIONS.V2 ? 13 : 17;
55
+ _context.next = _context.t0 === _mapsApiCommon.API_VERSIONS.V1 ? 9 : _context.t0 === _mapsApiCommon.API_VERSIONS.V2 ? 15 : 19;
50
56
  break;
51
57
 
52
- case 7:
58
+ case 9:
53
59
  mapConfig = createMapConfig(source);
54
60
  url = buildURLMapsAPIv1({
55
61
  mapConfig: mapConfig,
56
62
  credentials: localCreds
57
63
  });
58
- _context.next = 11;
64
+ _context.next = 13;
59
65
  return request({
60
66
  url: url,
61
67
  credentials: localCreds
62
68
  });
63
69
 
64
- case 11:
70
+ case 13:
65
71
  layergroup = _context.sent;
66
72
  return _context.abrupt("return", layergroup.metadata.tilejson.vector);
67
73
 
68
- case 13:
74
+ case 15:
69
75
  url = buildURLMapsAPIv2({
70
76
  connection: connection,
71
77
  type: type,
72
78
  source: source,
73
79
  credentials: localCreds
74
80
  });
75
- _context.next = 16;
81
+ _context.next = 18;
76
82
  return request({
77
83
  url: url,
78
84
  credentials: localCreds
79
85
  });
80
86
 
81
- case 16:
87
+ case 18:
82
88
  return _context.abrupt("return", _context.sent);
83
89
 
84
- case 17:
90
+ case 19:
85
91
  throw new Error("Invalid maps API version. It shoud be ".concat(_mapsApiCommon.API_VERSIONS.V1, " or ").concat(_mapsApiCommon.API_VERSIONS.V2));
86
92
 
87
- case 18:
93
+ case 20:
88
94
  case "end":
89
95
  return _context.stop();
90
96
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/maps-client.js"],"names":["CONNECTIONS","BIGQUERY","CARTO","BUFFER_SIZE","TILE_EXTENT","getDataV2","type","source","credentials","localCreds","apiVersion","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","mapsUrl","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 {getDefaultCredentials} from '../config';\nimport {\n API_VERSIONS,\n DEFAULT_REGION_COMPONENT_IN_URL,\n DEFAULT_USER_COMPONENT_IN_URL,\n encodeParameter,\n MAP_TYPES\n} from './maps-api-common';\n\nexport const CONNECTIONS = {\n BIGQUERY: 'bigquery',\n CARTO: 'carto'\n};\n\nconst BUFFER_SIZE = 16;\nconst TILE_EXTENT = 4096;\n\n/**\n * Obtain a TileJson from Maps API v1 and v2\n */\nexport async function getDataV2({type, source, credentials}) {\n const localCreds = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localCreds;\n let url;\n\n const connection = type === 'tileset' ? CONNECTIONS.BIGQUERY : CONNECTIONS.CARTO;\n\n switch (apiVersion) {\n case API_VERSIONS.V1:\n // Maps API v1\n const mapConfig = createMapConfig(source);\n url = buildURLMapsAPIv1({mapConfig, credentials: localCreds});\n const layergroup = await request({url, credentials: localCreds});\n return layergroup.metadata.tilejson.vector;\n\n case API_VERSIONS.V2:\n // Maps API v2\n url = buildURLMapsAPIv2({connection, type, source, credentials: localCreds});\n return await request({url, credentials: localCreds});\n\n default:\n throw new Error(\n `Invalid maps API version. It shoud be ${API_VERSIONS.V1} or ${API_VERSIONS.V2}`\n );\n }\n}\n\n/**\n * Request against Maps API\n */\nasync function request({url, credentials}) {\n let response;\n\n try {\n /* global fetch */\n /* eslint no-undef: \"error\" */\n response = await fetch(url, {\n headers: {\n Accept: 'application/json'\n }\n });\n } catch (error) {\n throw new Error(`Failed to connect to Maps API: ${error}`);\n }\n\n const json = await response.json();\n\n if (!response.ok) {\n dealWithError({response, json, credentials});\n }\n\n return json;\n}\n\n/**\n * Display proper message from Maps API error\n */\nfunction dealWithError({response, json, credentials}) {\n switch (response.status) {\n case 401:\n throw new Error(\n `Unauthorized access to Maps API: invalid combination of user ('${\n credentials.username\n }') and apiKey ('${credentials.apiKey}')`\n );\n case 403:\n throw new Error(\n `Unauthorized access to dataset: the provided apiKey('${\n credentials.apiKey\n }') doesn't provide access to the requested data`\n );\n\n default:\n const e =\n credentials.apiVersion === API_VERSIONS.V1 ? JSON.stringify(json.errors) : json.error;\n throw new Error(e);\n }\n}\n\nfunction initURLParameters(credentials) {\n const encodedApiKey = encodeParameter('api_key', credentials.apiKey);\n const encodedClient = encodeParameter('client', `deck-gl-carto`);\n return [encodedApiKey, encodedClient];\n}\n\n/**\n * Build a URL with all required parameters\n */\nfunction buildURLMapsAPIv1({mapConfig, credentials}) {\n const parameters = initURLParameters(credentials);\n const cfg = JSON.stringify(mapConfig);\n return `${mapsUrl(credentials)}?${parameters.join('&')}&${encodeParameter('config', cfg)}`;\n}\n\nfunction buildURLMapsAPIv2({connection, type, source, credentials}) {\n const parameters = initURLParameters(credentials);\n // Query type is mapped to 'sql' at maps api v1\n const mapsApiType = type === MAP_TYPES.QUERY ? 'sql' : type;\n let url = `${mapsUrl(credentials)}/${connection}/${mapsApiType}?`;\n url += `${encodeParameter('source', source)}&format=tilejson&${parameters.join('&')}`;\n return url;\n}\n\n/**\n * Prepare a url valid for the specified user\n */\nfunction mapsUrl(credentials) {\n return credentials.mapsUrl\n .replace(DEFAULT_USER_COMPONENT_IN_URL, credentials.username)\n .replace(DEFAULT_REGION_COMPONENT_IN_URL, credentials.region);\n}\n\nfunction createMapConfig(sql) {\n return {\n version: '1.3.1',\n buffersize: {\n mvt: BUFFER_SIZE\n },\n layers: [\n {\n type: 'mapnik',\n options: {\n sql,\n vector_extent: TILE_EXTENT\n }\n }\n ]\n };\n}\n"],"file":"maps-client.js"}
1
+ {"version":3,"sources":["../../../src/api/maps-client.js"],"names":["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 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"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.mapInstantiation = mapInstantiation;
9
+ exports.fetchLayerData = fetchLayerData;
9
10
  exports.getData = getData;
10
11
 
11
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -123,9 +124,14 @@ function getParameters(_ref3) {
123
124
  var type = _ref3.type,
124
125
  source = _ref3.source,
125
126
  geoColumn = _ref3.geoColumn,
126
- columns = _ref3.columns;
127
- var encodedClient = (0, _mapsApiCommon.encodeParameter)('client', 'deck-gl-carto');
128
- var parameters = [encodedClient];
127
+ columns = _ref3.columns,
128
+ schema = _ref3.schema;
129
+ var parameters = [(0, _mapsApiCommon.encodeParameter)('client', 'deck-gl-carto')];
130
+
131
+ if (schema) {
132
+ parameters.push((0, _mapsApiCommon.encodeParameter)('schema', true));
133
+ }
134
+
129
135
  var sourceName = type === _mapsApiCommon.MAP_TYPES.QUERY ? 'q' : 'name';
130
136
  parameters.push((0, _mapsApiCommon.encodeParameter)(sourceName, source));
131
137
 
@@ -148,18 +154,19 @@ function mapInstantiation(_x2) {
148
154
 
149
155
  function _mapInstantiation() {
150
156
  _mapInstantiation = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(_ref4) {
151
- var type, source, connection, credentials, geoColumn, columns, baseUrl, url, accessToken, format, body;
157
+ var type, source, connection, credentials, geoColumn, columns, schema, baseUrl, url, accessToken, format, body;
152
158
  return _regenerator.default.wrap(function _callee2$(_context2) {
153
159
  while (1) {
154
160
  switch (_context2.prev = _context2.next) {
155
161
  case 0:
156
- type = _ref4.type, source = _ref4.source, connection = _ref4.connection, credentials = _ref4.credentials, geoColumn = _ref4.geoColumn, columns = _ref4.columns;
162
+ type = _ref4.type, source = _ref4.source, connection = _ref4.connection, credentials = _ref4.credentials, geoColumn = _ref4.geoColumn, columns = _ref4.columns, schema = _ref4.schema;
157
163
  baseUrl = "".concat(credentials.mapsUrl, "/").concat(connection, "/").concat(type);
158
164
  url = "".concat(baseUrl, "?").concat(getParameters({
159
165
  type: type,
160
166
  source: source,
161
167
  geoColumn: geoColumn,
162
- columns: columns
168
+ columns: columns,
169
+ schema: schema
163
170
  }));
164
171
  accessToken = credentials.accessToken;
165
172
  format = 'json';
@@ -216,54 +223,67 @@ function getUrlFromMetadata(metadata, format) {
216
223
  return null;
217
224
  }
218
225
 
219
- function getData(_x3) {
220
- return _getData.apply(this, arguments);
221
- }
226
+ function checkGetLayerDataParameters(_ref5) {
227
+ var type = _ref5.type,
228
+ source = _ref5.source,
229
+ connection = _ref5.connection,
230
+ localCreds = _ref5.localCreds;
222
231
 
223
- function _getData() {
224
- _getData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(_ref5) {
225
- var type, source, connection, credentials, geoColumn, columns, format, localCreds, metadata, url, mapFormat, prioritizedFormats, _i, _prioritizedFormats, f, accessToken;
232
+ _core.log.assert(connection, 'Must define connection');
226
233
 
227
- return _regenerator.default.wrap(function _callee3$(_context3) {
228
- while (1) {
229
- switch (_context3.prev = _context3.next) {
230
- case 0:
231
- type = _ref5.type, source = _ref5.source, connection = _ref5.connection, credentials = _ref5.credentials, geoColumn = _ref5.geoColumn, columns = _ref5.columns, format = _ref5.format;
232
- localCreds = _objectSpread(_objectSpread({}, (0, _config.getDefaultCredentials)()), credentials);
234
+ _core.log.assert(type, 'Must define a type');
233
235
 
234
- _core.log.assert(connection, 'Must define connection');
236
+ _core.log.assert(source, 'Must define a source');
235
237
 
236
- _core.log.assert(type, 'Must define a type');
238
+ _core.log.assert(localCreds.apiVersion === _mapsApiCommon.API_VERSIONS.V3, 'Method only available for v3');
237
239
 
238
- _core.log.assert(source, 'Must define a source');
240
+ _core.log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');
239
241
 
240
- _core.log.assert(localCreds.apiVersion === _mapsApiCommon.API_VERSIONS.V3, 'Method only available for v3');
242
+ _core.log.assert(localCreds.accessToken, 'Must define an accessToken');
243
+ }
241
244
 
242
- _core.log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');
245
+ function fetchLayerData(_x3) {
246
+ return _fetchLayerData.apply(this, arguments);
247
+ }
243
248
 
244
- _core.log.assert(localCreds.accessToken, 'Must define an accessToken');
249
+ function _fetchLayerData() {
250
+ _fetchLayerData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(_ref6) {
251
+ var type, source, connection, credentials, geoColumn, columns, format, schema, defaultCredentials, localCreds, metadata, url, mapFormat, prioritizedFormats, _i, _prioritizedFormats, f, accessToken, data, result;
245
252
 
246
- _core.log.assert(localCreds.mapsUrl, 'mapsUrl cannot be undefined');
253
+ return _regenerator.default.wrap(function _callee3$(_context3) {
254
+ while (1) {
255
+ switch (_context3.prev = _context3.next) {
256
+ case 0:
257
+ type = _ref6.type, source = _ref6.source, connection = _ref6.connection, credentials = _ref6.credentials, geoColumn = _ref6.geoColumn, columns = _ref6.columns, format = _ref6.format, schema = _ref6.schema;
258
+ defaultCredentials = (0, _config.getDefaultCredentials)();
259
+ localCreds = _objectSpread(_objectSpread({}, defaultCredentials.apiVersion === _mapsApiCommon.API_VERSIONS.V3 && defaultCredentials), credentials);
260
+ checkGetLayerDataParameters({
261
+ type: type,
262
+ source: source,
263
+ connection: connection,
264
+ localCreds: localCreds
265
+ });
247
266
 
248
267
  if (!localCreds.mapsUrl) {
249
268
  localCreds.mapsUrl = (0, _config.buildMapsUrlFromBase)(localCreds.apiBaseUrl);
250
269
  }
251
270
 
252
- _context3.next = 12;
271
+ _context3.next = 7;
253
272
  return mapInstantiation({
254
273
  type: type,
255
274
  source: source,
256
275
  connection: connection,
257
276
  credentials: localCreds,
258
277
  geoColumn: geoColumn,
259
- columns: columns
278
+ columns: columns,
279
+ schema: schema
260
280
  });
261
281
 
262
- case 12:
282
+ case 7:
263
283
  metadata = _context3.sent;
264
284
 
265
285
  if (!format) {
266
- _context3.next = 19;
286
+ _context3.next = 14;
267
287
  break;
268
288
  }
269
289
 
@@ -272,16 +292,16 @@ function _getData() {
272
292
 
273
293
  _core.log.assert(url, "Format ".concat(format, " not available"));
274
294
 
275
- _context3.next = 30;
295
+ _context3.next = 25;
276
296
  break;
277
297
 
278
- case 19:
298
+ case 14:
279
299
  prioritizedFormats = [_mapsApiCommon.FORMATS.GEOJSON, _mapsApiCommon.FORMATS.NDJSON, _mapsApiCommon.FORMATS.TILEJSON];
280
300
  _i = 0, _prioritizedFormats = prioritizedFormats;
281
301
 
282
- case 21:
302
+ case 16:
283
303
  if (!(_i < _prioritizedFormats.length)) {
284
- _context3.next = 30;
304
+ _context3.next = 25;
285
305
  break;
286
306
  }
287
307
 
@@ -289,37 +309,85 @@ function _getData() {
289
309
  url = getUrlFromMetadata(metadata, f);
290
310
 
291
311
  if (!url) {
292
- _context3.next = 27;
312
+ _context3.next = 22;
293
313
  break;
294
314
  }
295
315
 
296
316
  mapFormat = f;
297
- return _context3.abrupt("break", 30);
317
+ return _context3.abrupt("break", 25);
298
318
 
299
- case 27:
319
+ case 22:
300
320
  _i++;
301
- _context3.next = 21;
321
+ _context3.next = 16;
302
322
  break;
303
323
 
304
- case 30:
324
+ case 25:
305
325
  accessToken = localCreds.accessToken;
306
- _context3.next = 33;
326
+ _context3.next = 28;
307
327
  return request({
308
328
  url: url,
309
329
  format: mapFormat,
310
330
  accessToken: accessToken
311
331
  });
312
332
 
313
- case 33:
314
- return _context3.abrupt("return", _context3.sent);
333
+ case 28:
334
+ data = _context3.sent;
335
+ result = {
336
+ data: data,
337
+ format: mapFormat
338
+ };
339
+
340
+ if (schema) {
341
+ result.schema = metadata.schema;
342
+ }
343
+
344
+ return _context3.abrupt("return", result);
315
345
 
316
- case 34:
346
+ case 32:
317
347
  case "end":
318
348
  return _context3.stop();
319
349
  }
320
350
  }
321
351
  }, _callee3);
322
352
  }));
353
+ return _fetchLayerData.apply(this, arguments);
354
+ }
355
+
356
+ function getData(_x4) {
357
+ return _getData.apply(this, arguments);
358
+ }
359
+
360
+ function _getData() {
361
+ _getData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(_ref7) {
362
+ var type, source, connection, credentials, geoColumn, columns, format, layerData;
363
+ return _regenerator.default.wrap(function _callee4$(_context4) {
364
+ while (1) {
365
+ switch (_context4.prev = _context4.next) {
366
+ case 0:
367
+ type = _ref7.type, source = _ref7.source, connection = _ref7.connection, credentials = _ref7.credentials, geoColumn = _ref7.geoColumn, columns = _ref7.columns, format = _ref7.format;
368
+ _context4.next = 3;
369
+ return fetchLayerData({
370
+ type: type,
371
+ source: source,
372
+ connection: connection,
373
+ credentials: credentials,
374
+ geoColumn: geoColumn,
375
+ columns: columns,
376
+ format: format,
377
+ schema: false
378
+ });
379
+
380
+ case 3:
381
+ layerData = _context4.sent;
382
+ return _context4.abrupt("return", layerData.data);
383
+
384
+ case 5:
385
+ case "end":
386
+ return _context4.stop();
387
+ }
388
+ }
389
+ }, _callee4);
390
+ }));
323
391
  return _getData.apply(this, arguments);
324
392
  }
325
393
  //# sourceMappingURL=maps-v3-client.js.map
@@ -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","encodedClient","parameters","sourceName","MAP_TYPES","QUERY","push","TABLE","join","mapInstantiation","connection","credentials","baseUrl","mapsUrl","length","JSON","stringify","q","client","getUrlFromMetadata","metadata","m","getData","localCreds","log","assert","apiVersion","API_VERSIONS","V3","apiBaseUrl","mapFormat","prioritizedFormats","GEOJSON","TILEJSON","f"],"mappings":"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","sourcesContent":["/**\n * Maps API Client for Carto 3\n */\nimport {getDefaultCredentials, buildMapsUrlFromBase} from '../config';\nimport {API_VERSIONS, encodeParameter, FORMATS, MAP_TYPES} from './maps-api-common';\nimport {log} from '@deck.gl/core';\n\nconst MAX_GET_LENGTH = 2048;\n\n/**\n * Request against Maps API\n */\nasync function request({method, url, format, accessToken, body}) {\n let response;\n\n const headers = {\n Accept: 'application/json'\n };\n\n if (accessToken) {\n headers.Authorization = `Bearer ${accessToken}`;\n }\n\n if (method === 'POST') {\n headers['Content-Type'] = 'application/json';\n }\n\n try {\n /* global fetch */\n /* eslint no-undef: \"error\" */\n response = await fetch(url, {\n method,\n headers,\n body\n });\n } catch (error) {\n throw new Error(`Failed to connect to Maps API: ${error}`);\n }\n\n if (format === FORMATS.NDJSON) {\n return response;\n }\n\n const json = await response.json();\n\n if (!response.ok) {\n dealWithError({response, error: json.error});\n }\n\n return json.rows ? json.rows : json;\n}\n\n/**\n * Display proper message from Maps API error\n */\nfunction dealWithError({response, error}) {\n switch (response.status) {\n case 400:\n throw new Error(`Bad request. ${error}`);\n case 401:\n case 403:\n throw new Error(`Unauthorized access. ${error}`);\n default:\n throw new Error(error);\n }\n}\n\n/**\n * Build a URL with all required parameters\n */\nfunction getParameters({type, source, geoColumn, columns}) {\n const encodedClient = encodeParameter('client', 'deck-gl-carto');\n const parameters = [encodedClient];\n\n const sourceName = type === MAP_TYPES.QUERY ? 'q' : 'name';\n parameters.push(encodeParameter(sourceName, source));\n\n if (type === MAP_TYPES.TABLE) {\n if (geoColumn) {\n parameters.push(encodeParameter('geo_column', geoColumn));\n }\n if (columns) {\n parameters.push(encodeParameter('columns', columns.join(',')));\n }\n }\n\n return parameters.join('&');\n}\n\nexport async function mapInstantiation({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns\n}) {\n const baseUrl = `${credentials.mapsUrl}/${connection}/${type}`;\n const url = `${baseUrl}?${getParameters({type, source, geoColumn, columns})}`;\n const {accessToken} = credentials;\n\n const format = 'json';\n\n if (url.length > MAX_GET_LENGTH && type === MAP_TYPES.QUERY) {\n // need to be a POST request\n const body = JSON.stringify({\n q: source,\n client: 'deck-gl-carto'\n });\n return await request({method: 'POST', url: baseUrl, format, accessToken, body});\n }\n\n return await request({url, format, accessToken});\n}\n\nfunction getUrlFromMetadata(metadata, format) {\n const m = metadata[format];\n\n if (m && !m.error && m.url) {\n return m.url[0];\n }\n\n return null;\n}\n\nexport async function getData({type, source, connection, credentials, geoColumn, columns, format}) {\n const localCreds = {...getDefaultCredentials(), ...credentials};\n\n log.assert(connection, 'Must define connection');\n log.assert(type, 'Must define a type');\n log.assert(source, 'Must define a source');\n\n log.assert(localCreds.apiVersion === API_VERSIONS.V3, 'Method only available for v3');\n log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');\n log.assert(localCreds.accessToken, 'Must define an accessToken');\n log.assert(localCreds.mapsUrl, 'mapsUrl cannot be undefined');\n\n if (!localCreds.mapsUrl) {\n localCreds.mapsUrl = buildMapsUrlFromBase(localCreds.apiBaseUrl);\n }\n\n const metadata = await mapInstantiation({\n type,\n source,\n connection,\n credentials: localCreds,\n geoColumn,\n columns\n });\n let url;\n let mapFormat;\n\n if (format) {\n mapFormat = format;\n url = getUrlFromMetadata(metadata, format);\n log.assert(url, `Format ${format} not available`);\n } else {\n // guess map format\n const prioritizedFormats = [FORMATS.GEOJSON, FORMATS.NDJSON, FORMATS.TILEJSON];\n for (const f of prioritizedFormats) {\n url = getUrlFromMetadata(metadata, f);\n if (url) {\n mapFormat = f;\n break;\n }\n }\n }\n\n const {accessToken} = localCreds;\n\n return await request({url, format: mapFormat, accessToken});\n}\n"],"file":"maps-v3-client.js"}
1
+ {"version":3,"sources":["../../../src/api/maps-v3-client.js"],"names":["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","checkGetLayerDataParameters","localCreds","log","assert","apiVersion","API_VERSIONS","V3","apiBaseUrl","fetchLayerData","defaultCredentials","mapFormat","prioritizedFormats","GEOJSON","TILEJSON","f","data","result","getData","layerData"],"mappings":";;;;;;;;;;;;;;;;;AAGA;;AACA;;AACA;;;;;;AAEA,IAAMA,cAAc,GAAG,IAAvB;;SAKeC,O;;;;;uEAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwBC,YAAAA,MAAxB,QAAwBA,MAAxB,EAAgCC,GAAhC,QAAgCA,GAAhC,EAAqCC,MAArC,QAAqCA,MAArC,EAA6CC,WAA7C,QAA6CA,WAA7C,EAA0DC,IAA1D,QAA0DA,IAA1D;AAGQC,YAAAA,OAHR,GAGkB;AACdC,cAAAA,MAAM,EAAE;AADM,aAHlB;;AAOE,gBAAIH,WAAJ,EAAiB;AACfE,cAAAA,OAAO,CAACE,aAAR,oBAAkCJ,WAAlC;AACD;;AAED,gBAAIH,MAAM,KAAK,MAAf,EAAuB;AACrBK,cAAAA,OAAO,CAAC,cAAD,CAAP,GAA0B,kBAA1B;AACD;;AAbH;AAAA;AAAA,mBAkBqBG,KAAK,CAACP,GAAD,EAAM;AAC1BD,cAAAA,MAAM,EAANA,MAD0B;AAE1BK,cAAAA,OAAO,EAAPA,OAF0B;AAG1BD,cAAAA,IAAI,EAAJA;AAH0B,aAAN,CAlB1B;;AAAA;AAkBIK,YAAAA,QAlBJ;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,kBAwBU,IAAIC,KAAJ,uDAxBV;;AAAA;AAAA,kBA2BMR,MAAM,KAAKS,uBAAQC,MA3BzB;AAAA;AAAA;AAAA;;AAAA,6CA4BWH,QA5BX;;AAAA;AAAA;AAAA,mBA+BqBA,QAAQ,CAACI,IAAT,EA/BrB;;AAAA;AA+BQA,YAAAA,IA/BR;;AAiCE,gBAAI,CAACJ,QAAQ,CAACK,EAAd,EAAkB;AAChBC,cAAAA,aAAa,CAAC;AAACN,gBAAAA,QAAQ,EAARA,QAAD;AAAWO,gBAAAA,KAAK,EAAEH,IAAI,CAACG;AAAvB,eAAD,CAAb;AACD;;AAnCH,6CAqCSH,IAAI,CAACI,IAAL,GAAYJ,IAAI,CAACI,IAAjB,GAAwBJ,IArCjC;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AA2CA,SAASE,aAAT,QAA0C;AAAA,MAAlBN,QAAkB,SAAlBA,QAAkB;AAAA,MAARO,KAAQ,SAARA,KAAQ;;AACxC,UAAQP,QAAQ,CAACS,MAAjB;AACE,SAAK,GAAL;AACE,YAAM,IAAIR,KAAJ,wBAA0BM,KAA1B,EAAN;;AACF,SAAK,GAAL;AACA,SAAK,GAAL;AACE,YAAM,IAAIN,KAAJ,gCAAkCM,KAAlC,EAAN;;AACF;AACE,YAAM,IAAIN,KAAJ,CAAUM,KAAV,CAAN;AAPJ;AASD;;AAKD,SAASG,aAAT,QAAmE;AAAA,MAA3CC,IAA2C,SAA3CA,IAA2C;AAAA,MAArCC,MAAqC,SAArCA,MAAqC;AAAA,MAA7BC,SAA6B,SAA7BA,SAA6B;AAAA,MAAlBC,OAAkB,SAAlBA,OAAkB;AAAA,MAATC,MAAS,SAATA,MAAS;AACjE,MAAMC,UAAU,GAAG,CAAC,oCAAgB,QAAhB,EAA0B,eAA1B,CAAD,CAAnB;;AACA,MAAID,MAAJ,EAAY;AACVC,IAAAA,UAAU,CAACC,IAAX,CAAgB,oCAAgB,QAAhB,EAA0B,IAA1B,CAAhB;AACD;;AAED,MAAMC,UAAU,GAAGP,IAAI,KAAKQ,yBAAUC,KAAnB,GAA2B,GAA3B,GAAiC,MAApD;AACAJ,EAAAA,UAAU,CAACC,IAAX,CAAgB,oCAAgBC,UAAhB,EAA4BN,MAA5B,CAAhB;;AAEA,MAAID,IAAI,KAAKQ,yBAAUE,KAAvB,EAA8B;AAC5B,QAAIR,SAAJ,EAAe;AACbG,MAAAA,UAAU,CAACC,IAAX,CAAgB,oCAAgB,YAAhB,EAA8BJ,SAA9B,CAAhB;AACD;;AACD,QAAIC,OAAJ,EAAa;AACXE,MAAAA,UAAU,CAACC,IAAX,CAAgB,oCAAgB,SAAhB,EAA2BH,OAAO,CAACQ,IAAR,CAAa,GAAb,CAA3B,CAAhB;AACD;AACF;;AAED,SAAON,UAAU,CAACM,IAAX,CAAgB,GAAhB,CAAP;AACD;;SAEqBC,gB;;;;;gFAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AACLZ,YAAAA,IADK,SACLA,IADK,EAELC,MAFK,SAELA,MAFK,EAGLY,UAHK,SAGLA,UAHK,EAILC,WAJK,SAILA,WAJK,EAKLZ,SALK,SAKLA,SALK,EAMLC,OANK,SAMLA,OANK,EAOLC,MAPK,SAOLA,MAPK;AASCW,YAAAA,OATD,aAScD,WAAW,CAACE,OAT1B,cASqCH,UATrC,cASmDb,IATnD;AAUCnB,YAAAA,GAVD,aAUUkC,OAVV,cAUqBhB,aAAa,CAAC;AAACC,cAAAA,IAAI,EAAJA,IAAD;AAAOC,cAAAA,MAAM,EAANA,MAAP;AAAeC,cAAAA,SAAS,EAATA,SAAf;AAA0BC,cAAAA,OAAO,EAAPA,OAA1B;AAAmCC,cAAAA,MAAM,EAANA;AAAnC,aAAD,CAVlC;AAWErB,YAAAA,WAXF,GAWiB+B,WAXjB,CAWE/B,WAXF;AAaCD,YAAAA,MAbD,GAaU,MAbV;;AAAA,kBAeDD,GAAG,CAACoC,MAAJ,GAAavC,cAAb,IAA+BsB,IAAI,KAAKQ,yBAAUC,KAfjD;AAAA;AAAA;AAAA;;AAiBGzB,YAAAA,IAjBH,GAiBUkC,IAAI,CAACC,SAAL,CAAe;AAC1BC,cAAAA,CAAC,EAAEnB,MADuB;AAE1BoB,cAAAA,MAAM,EAAE;AAFkB,aAAf,CAjBV;AAAA;AAAA,mBAqBU1C,OAAO,CAAC;AAACC,cAAAA,MAAM,EAAE,MAAT;AAAiBC,cAAAA,GAAG,EAAEkC,OAAtB;AAA+BjC,cAAAA,MAAM,EAANA,MAA/B;AAAuCC,cAAAA,WAAW,EAAXA,WAAvC;AAAoDC,cAAAA,IAAI,EAAJA;AAApD,aAAD,CArBjB;;AAAA;AAAA;;AAAA;AAAA;AAAA,mBAwBQL,OAAO,CAAC;AAACE,cAAAA,GAAG,EAAHA,GAAD;AAAMC,cAAAA,MAAM,EAANA,MAAN;AAAcC,cAAAA,WAAW,EAAXA;AAAd,aAAD,CAxBf;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AA2BP,SAASuC,kBAAT,CAA4BC,QAA5B,EAAsCzC,MAAtC,EAA8C;AAC5C,MAAM0C,CAAC,GAAGD,QAAQ,CAACzC,MAAD,CAAlB;;AAEA,MAAI0C,CAAC,IAAI,CAACA,CAAC,CAAC5B,KAAR,IAAiB4B,CAAC,CAAC3C,GAAvB,EAA4B;AAC1B,WAAO2C,CAAC,CAAC3C,GAAF,CAAM,CAAN,CAAP;AACD;;AAED,SAAO,IAAP;AACD;;AAED,SAAS4C,2BAAT,QAA6E;AAAA,MAAvCzB,IAAuC,SAAvCA,IAAuC;AAAA,MAAjCC,MAAiC,SAAjCA,MAAiC;AAAA,MAAzBY,UAAyB,SAAzBA,UAAyB;AAAA,MAAba,UAAa,SAAbA,UAAa;;AAC3EC,YAAIC,MAAJ,CAAWf,UAAX,EAAuB,wBAAvB;;AACAc,YAAIC,MAAJ,CAAW5B,IAAX,EAAiB,oBAAjB;;AACA2B,YAAIC,MAAJ,CAAW3B,MAAX,EAAmB,sBAAnB;;AAEA0B,YAAIC,MAAJ,CAAWF,UAAU,CAACG,UAAX,KAA0BC,4BAAaC,EAAlD,EAAsD,8BAAtD;;AACAJ,YAAIC,MAAJ,CAAWF,UAAU,CAACM,UAAtB,EAAkC,wBAAlC;;AACAL,YAAIC,MAAJ,CAAWF,UAAU,CAAC3C,WAAtB,EAAmC,4BAAnC;AACD;;SAEqBkD,c;;;;;8EAAf;AAAA;;AAAA;AAAA;AAAA;AAAA;AACLjC,YAAAA,IADK,SACLA,IADK,EAELC,MAFK,SAELA,MAFK,EAGLY,UAHK,SAGLA,UAHK,EAILC,WAJK,SAILA,WAJK,EAKLZ,SALK,SAKLA,SALK,EAMLC,OANK,SAMLA,OANK,EAOLrB,MAPK,SAOLA,MAPK,EAQLsB,MARK,SAQLA,MARK;AAUC8B,YAAAA,kBAVD,GAUsB,oCAVtB;AAaCR,YAAAA,UAbD,mCAcCQ,kBAAkB,CAACL,UAAnB,KAAkCC,4BAAaC,EAA/C,IAAqDG,kBAdtD,GAeApB,WAfA;AAiBLW,YAAAA,2BAA2B,CAAC;AAACzB,cAAAA,IAAI,EAAJA,IAAD;AAAOC,cAAAA,MAAM,EAANA,MAAP;AAAeY,cAAAA,UAAU,EAAVA,UAAf;AAA2Ba,cAAAA,UAAU,EAAVA;AAA3B,aAAD,CAA3B;;AAEA,gBAAI,CAACA,UAAU,CAACV,OAAhB,EAAyB;AACvBU,cAAAA,UAAU,CAACV,OAAX,GAAqB,kCAAqBU,UAAU,CAACM,UAAhC,CAArB;AACD;;AArBI;AAAA,mBAuBkBpB,gBAAgB,CAAC;AACtCZ,cAAAA,IAAI,EAAJA,IADsC;AAEtCC,cAAAA,MAAM,EAANA,MAFsC;AAGtCY,cAAAA,UAAU,EAAVA,UAHsC;AAItCC,cAAAA,WAAW,EAAEY,UAJyB;AAKtCxB,cAAAA,SAAS,EAATA,SALsC;AAMtCC,cAAAA,OAAO,EAAPA,OANsC;AAOtCC,cAAAA,MAAM,EAANA;AAPsC,aAAD,CAvBlC;;AAAA;AAuBCmB,YAAAA,QAvBD;;AAAA,iBAmCDzC,MAnCC;AAAA;AAAA;AAAA;;AAoCHqD,YAAAA,SAAS,GAAGrD,MAAZ;AACAD,YAAAA,GAAG,GAAGyC,kBAAkB,CAACC,QAAD,EAAWzC,MAAX,CAAxB;;AACA6C,sBAAIC,MAAJ,CAAW/C,GAAX,mBAA0BC,MAA1B;;AAtCG;AAAA;;AAAA;AAyCGsD,YAAAA,kBAzCH,GAyCwB,CAAC7C,uBAAQ8C,OAAT,EAAkB9C,uBAAQC,MAA1B,EAAkCD,uBAAQ+C,QAA1C,CAzCxB;AAAA,0CA0CaF,kBA1Cb;;AAAA;AAAA;AAAA;AAAA;AAAA;;AA0CQG,YAAAA,CA1CR;AA2CD1D,YAAAA,GAAG,GAAGyC,kBAAkB,CAACC,QAAD,EAAWgB,CAAX,CAAxB;;AA3CC,iBA4CG1D,GA5CH;AAAA;AAAA;AAAA;;AA6CCsD,YAAAA,SAAS,GAAGI,CAAZ;AA7CD;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAmDExD,YAAAA,WAnDF,GAmDiB2C,UAnDjB,CAmDE3C,WAnDF;AAAA;AAAA,mBAqDcJ,OAAO,CAAC;AAACE,cAAAA,GAAG,EAAHA,GAAD;AAAMC,cAAAA,MAAM,EAAEqD,SAAd;AAAyBpD,cAAAA,WAAW,EAAXA;AAAzB,aAAD,CArDrB;;AAAA;AAqDCyD,YAAAA,IArDD;AAsDCC,YAAAA,MAtDD,GAsDU;AAACD,cAAAA,IAAI,EAAJA,IAAD;AAAO1D,cAAAA,MAAM,EAAEqD;AAAf,aAtDV;;AAuDL,gBAAI/B,MAAJ,EAAY;AACVqC,cAAAA,MAAM,CAACrC,MAAP,GAAgBmB,QAAQ,CAACnB,MAAzB;AACD;;AAzDI,8CA2DEqC,MA3DF;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;SA8DeC,O;;;;;uEAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwB1C,YAAAA,IAAxB,SAAwBA,IAAxB,EAA8BC,MAA9B,SAA8BA,MAA9B,EAAsCY,UAAtC,SAAsCA,UAAtC,EAAkDC,WAAlD,SAAkDA,WAAlD,EAA+DZ,SAA/D,SAA+DA,SAA/D,EAA0EC,OAA1E,SAA0EA,OAA1E,EAAmFrB,MAAnF,SAAmFA,MAAnF;AAAA;AAAA,mBACmBmD,cAAc,CAAC;AACrCjC,cAAAA,IAAI,EAAJA,IADqC;AAErCC,cAAAA,MAAM,EAANA,MAFqC;AAGrCY,cAAAA,UAAU,EAAVA,UAHqC;AAIrCC,cAAAA,WAAW,EAAXA,WAJqC;AAKrCZ,cAAAA,SAAS,EAATA,SALqC;AAMrCC,cAAAA,OAAO,EAAPA,OANqC;AAOrCrB,cAAAA,MAAM,EAANA,MAPqC;AAQrCsB,cAAAA,MAAM,EAAE;AAR6B,aAAD,CADjC;;AAAA;AACCuC,YAAAA,SADD;AAAA,8CAWEA,SAAS,CAACH,IAXZ;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["/**\n * Maps API Client for Carto 3\n */\nimport {getDefaultCredentials, buildMapsUrlFromBase} from '../config';\nimport {API_VERSIONS, encodeParameter, FORMATS, MAP_TYPES} from './maps-api-common';\nimport {log} from '@deck.gl/core';\n\nconst MAX_GET_LENGTH = 2048;\n\n/**\n * Request against Maps API\n */\nasync function request({method, url, format, accessToken, body}) {\n let response;\n\n const headers = {\n Accept: 'application/json'\n };\n\n if (accessToken) {\n headers.Authorization = `Bearer ${accessToken}`;\n }\n\n if (method === 'POST') {\n headers['Content-Type'] = 'application/json';\n }\n\n try {\n /* global fetch */\n /* eslint no-undef: \"error\" */\n response = await fetch(url, {\n method,\n headers,\n body\n });\n } catch (error) {\n throw new Error(`Failed to connect to Maps API: ${error}`);\n }\n\n if (format === FORMATS.NDJSON) {\n return response;\n }\n\n const json = await response.json();\n\n if (!response.ok) {\n dealWithError({response, error: json.error});\n }\n\n return json.rows ? json.rows : json;\n}\n\n/**\n * Display proper message from Maps API error\n */\nfunction dealWithError({response, error}) {\n switch (response.status) {\n case 400:\n throw new Error(`Bad request. ${error}`);\n case 401:\n case 403:\n throw new Error(`Unauthorized access. ${error}`);\n default:\n throw new Error(error);\n }\n}\n\n/**\n * Build a URL with all required parameters\n */\nfunction getParameters({type, source, geoColumn, columns, schema}) {\n const parameters = [encodeParameter('client', 'deck-gl-carto')];\n if (schema) {\n parameters.push(encodeParameter('schema', true));\n }\n\n const sourceName = type === MAP_TYPES.QUERY ? 'q' : 'name';\n parameters.push(encodeParameter(sourceName, source));\n\n if (type === MAP_TYPES.TABLE) {\n if (geoColumn) {\n parameters.push(encodeParameter('geo_column', geoColumn));\n }\n if (columns) {\n parameters.push(encodeParameter('columns', columns.join(',')));\n }\n }\n\n return parameters.join('&');\n}\n\nexport async function mapInstantiation({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n schema\n}) {\n const baseUrl = `${credentials.mapsUrl}/${connection}/${type}`;\n const url = `${baseUrl}?${getParameters({type, source, geoColumn, columns, schema})}`;\n const {accessToken} = credentials;\n\n const format = 'json';\n\n if (url.length > MAX_GET_LENGTH && type === MAP_TYPES.QUERY) {\n // need to be a POST request\n const body = JSON.stringify({\n q: source,\n client: 'deck-gl-carto'\n });\n return await request({method: 'POST', url: baseUrl, format, accessToken, body});\n }\n\n return await request({url, format, accessToken});\n}\n\nfunction getUrlFromMetadata(metadata, format) {\n const m = metadata[format];\n\n if (m && !m.error && m.url) {\n return m.url[0];\n }\n\n return null;\n}\n\nfunction checkGetLayerDataParameters({type, source, connection, localCreds}) {\n log.assert(connection, 'Must define connection');\n log.assert(type, 'Must define a type');\n log.assert(source, 'Must define a source');\n\n log.assert(localCreds.apiVersion === API_VERSIONS.V3, 'Method only available for v3');\n log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');\n log.assert(localCreds.accessToken, 'Must define an accessToken');\n}\n\nexport async function fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema\n}) {\n const defaultCredentials = getDefaultCredentials();\n // Only pick up default credentials if they have been defined for\n // correct API version\n const localCreds = {\n ...(defaultCredentials.apiVersion === API_VERSIONS.V3 && defaultCredentials),\n ...credentials\n };\n checkGetLayerDataParameters({type, source, connection, localCreds});\n\n if (!localCreds.mapsUrl) {\n localCreds.mapsUrl = buildMapsUrlFromBase(localCreds.apiBaseUrl);\n }\n\n const metadata = await mapInstantiation({\n type,\n source,\n connection,\n credentials: localCreds,\n geoColumn,\n columns,\n schema\n });\n let url;\n let mapFormat;\n\n if (format) {\n mapFormat = format;\n url = getUrlFromMetadata(metadata, format);\n log.assert(url, `Format ${format} not available`);\n } else {\n // guess map format\n const prioritizedFormats = [FORMATS.GEOJSON, FORMATS.NDJSON, FORMATS.TILEJSON];\n for (const f of prioritizedFormats) {\n url = getUrlFromMetadata(metadata, f);\n if (url) {\n mapFormat = f;\n break;\n }\n }\n }\n\n const {accessToken} = localCreds;\n\n const data = await request({url, format: mapFormat, accessToken});\n const result = {data, format: mapFormat};\n if (schema) {\n result.schema = metadata.schema;\n }\n\n return result;\n}\n\nexport async function getData({type, source, connection, credentials, geoColumn, columns, format}) {\n const layerData = await fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema: false\n });\n return layerData.data;\n}\n"],"file":"maps-v3-client.js"}
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.setDefaultCredentials = setDefaultCredentials;
9
9
  exports.getDefaultCredentials = getDefaultCredentials;
10
10
  exports.buildMapsUrlFromBase = buildMapsUrlFromBase;
11
+ exports.defaultClassicCredentials = void 0;
11
12
 
12
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
14
 
@@ -23,6 +24,7 @@ var defaultClassicCredentials = {
23
24
  region: 'us',
24
25
  mapsUrl: null
25
26
  };
27
+ exports.defaultClassicCredentials = defaultClassicCredentials;
26
28
  var defaultCloudNativeCredentials = {
27
29
  accessToken: null,
28
30
  apiBaseUrl: null,
@@ -36,14 +38,14 @@ function setDefaultCredentials(opts) {
36
38
 
37
39
  switch (apiVersion) {
38
40
  case _mapsApiCommon.API_VERSIONS.V1:
39
- opts.mapsUrl = opts.mapsUrl || 'https://{user}.carto.com/api/v1/map';
41
+ opts.mapsUrl = opts.mapsUrl || _mapsApiCommon.DEFAULT_MAPS_URL_FORMAT[apiVersion];
40
42
  credentials = _objectSpread(_objectSpread({
41
43
  apiVersion: apiVersion
42
44
  }, defaultClassicCredentials), opts);
43
45
  break;
44
46
 
45
47
  case _mapsApiCommon.API_VERSIONS.V2:
46
- opts.mapsUrl = opts.mapsUrl || 'https://maps-api-v2.{region}.carto.com/user/{user}';
48
+ opts.mapsUrl = opts.mapsUrl || _mapsApiCommon.DEFAULT_MAPS_URL_FORMAT[apiVersion];
47
49
  credentials = _objectSpread(_objectSpread({
48
50
  apiVersion: apiVersion
49
51
  }, defaultClassicCredentials), opts);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config.js"],"names":["defaultClassicCredentials","username","apiKey","region","mapsUrl","defaultCloudNativeCredentials","accessToken","apiBaseUrl","credentials","setDefaultCredentials","opts","apiVersion","API_VERSIONS","V2","V1","V3","Error","buildMapsUrlFromBase","getDefaultCredentials","suffix","endsWith","substring"],"mappings":";;;;;;;;;;;;;AAAA;;;;;;AAEA,IAAMA,yBAAyB,GAAG;AAChCC,EAAAA,QAAQ,EAAE,QADsB;AAEhCC,EAAAA,MAAM,EAAE,gBAFwB;AAGhCC,EAAAA,MAAM,EAAE,IAHwB;AAIhCC,EAAAA,OAAO,EAAE;AAJuB,CAAlC;AAOA,IAAMC,6BAA6B,GAAG;AACpCC,EAAAA,WAAW,EAAE,IADuB;AAEpCC,EAAAA,UAAU,EAAE,IAFwB;AAGpCH,EAAAA,OAAO,EAAE;AAH2B,CAAtC;AAMA,IAAII,WAAW,GAAG,EAAlB;AAEAC,qBAAqB,CAAC,EAAD,CAArB;;AAEO,SAASA,qBAAT,CAA+BC,IAA/B,EAAqC;AAC1C,MAAMC,UAAU,GAAGD,IAAI,CAACC,UAAL,IAAmBC,4BAAaC,EAAnD;;AAEA,UAAQF,UAAR;AACE,SAAKC,4BAAaE,EAAlB;AACEJ,MAAAA,IAAI,CAACN,OAAL,GAAeM,IAAI,CAACN,OAAL,IAAgB,qCAA/B;AACAI,MAAAA,WAAW;AACTG,QAAAA,UAAU,EAAVA;AADS,SAENX,yBAFM,GAGNU,IAHM,CAAX;AAKA;;AAEF,SAAKE,4BAAaC,EAAlB;AACEH,MAAAA,IAAI,CAACN,OAAL,GAAeM,IAAI,CAACN,OAAL,IAAgB,oDAA/B;AACAI,MAAAA,WAAW;AACTG,QAAAA,UAAU,EAAVA;AADS,SAENX,yBAFM,GAGNU,IAHM,CAAX;AAMA;;AACF,SAAKE,4BAAaG,EAAlB;AACE,UAAI,CAACL,IAAI,CAACH,UAAV,EAAsB;AACpB,cAAM,IAAIS,KAAJ,uBAEFJ,4BAAaG,EAFX,wGAAN;AAKD;;AAED,UAAMR,UAAU,GAAGG,IAAI,CAACH,UAAL,IAAmBF,6BAA6B,CAACE,UAApE;AACAG,MAAAA,IAAI,CAACN,OAAL,GAAeM,IAAI,CAACN,OAAL,IAAgBa,oBAAoB,CAACV,UAAD,CAAnD;AACAC,MAAAA,WAAW;AACTG,QAAAA,UAAU,EAAVA;AADS,SAENN,6BAFM,GAGNK,IAHM,CAAX;AAKA;;AACF;AACE,YAAM,IAAIM,KAAJ,+BAAiCL,UAAjC,8BAAN;AArCJ;AAuCD;;AAEM,SAASO,qBAAT,GAAiC;AACtC,SAAOV,WAAP;AACD;;AAEM,SAASS,oBAAT,CAA8BV,UAA9B,EAA0C;AAC/C,MAAIY,MAAM,GAAG,UAAb;;AACA,MAAIZ,UAAU,CAACa,QAAX,CAAoB,GAApB,CAAJ,EAA8B;AAC5BD,IAAAA,MAAM,GAAGA,MAAM,CAACE,SAAP,CAAiB,CAAjB,CAAT;AACD;;AAED,mBAAUd,UAAV,SAAuBY,MAAvB;AACD","sourcesContent":["import {API_VERSIONS} from './api/maps-api-common';\n\nconst defaultClassicCredentials = {\n username: 'public',\n apiKey: 'default_public',\n region: 'us',\n mapsUrl: null\n};\n\nconst defaultCloudNativeCredentials = {\n accessToken: null,\n apiBaseUrl: null,\n mapsUrl: null\n};\n\nlet credentials = {};\n\nsetDefaultCredentials({});\n\nexport function setDefaultCredentials(opts) {\n const apiVersion = opts.apiVersion || API_VERSIONS.V2;\n\n switch (apiVersion) {\n case API_VERSIONS.V1:\n opts.mapsUrl = opts.mapsUrl || 'https://{user}.carto.com/api/v1/map';\n credentials = {\n apiVersion,\n ...defaultClassicCredentials,\n ...opts\n };\n break;\n\n case API_VERSIONS.V2:\n opts.mapsUrl = opts.mapsUrl || 'https://maps-api-v2.{region}.carto.com/user/{user}';\n credentials = {\n apiVersion,\n ...defaultClassicCredentials,\n ...opts\n };\n\n break;\n case API_VERSIONS.V3:\n if (!opts.apiBaseUrl) {\n throw new Error(\n `API version ${\n API_VERSIONS.V3\n } requires to define apiBaseUrl at credentials. Go to https://app.carto.com to get your apiBaseUrl.`\n );\n }\n\n const apiBaseUrl = opts.apiBaseUrl || defaultCloudNativeCredentials.apiBaseUrl;\n opts.mapsUrl = opts.mapsUrl || buildMapsUrlFromBase(apiBaseUrl);\n credentials = {\n apiVersion,\n ...defaultCloudNativeCredentials,\n ...opts\n };\n break;\n default:\n throw new Error(`Invalid API version ${apiVersion}. Use API_VERSIONS enum.`);\n }\n}\n\nexport function getDefaultCredentials() {\n return credentials;\n}\n\nexport function buildMapsUrlFromBase(apiBaseUrl) {\n let suffix = '/v3/maps';\n if (apiBaseUrl.endsWith('/')) {\n suffix = suffix.substring(1);\n }\n\n return `${apiBaseUrl}${suffix}`;\n}\n"],"file":"config.js"}
1
+ {"version":3,"sources":["../../src/config.js"],"names":["defaultClassicCredentials","username","apiKey","region","mapsUrl","defaultCloudNativeCredentials","accessToken","apiBaseUrl","credentials","setDefaultCredentials","opts","apiVersion","API_VERSIONS","V2","V1","DEFAULT_MAPS_URL_FORMAT","V3","Error","buildMapsUrlFromBase","getDefaultCredentials","suffix","endsWith","substring"],"mappings":";;;;;;;;;;;;;;AAAA;;;;;;AAEO,IAAMA,yBAAyB,GAAG;AACvCC,EAAAA,QAAQ,EAAE,QAD6B;AAEvCC,EAAAA,MAAM,EAAE,gBAF+B;AAGvCC,EAAAA,MAAM,EAAE,IAH+B;AAIvCC,EAAAA,OAAO,EAAE;AAJ8B,CAAlC;;AAOP,IAAMC,6BAA6B,GAAG;AACpCC,EAAAA,WAAW,EAAE,IADuB;AAEpCC,EAAAA,UAAU,EAAE,IAFwB;AAGpCH,EAAAA,OAAO,EAAE;AAH2B,CAAtC;AAMA,IAAII,WAAW,GAAG,EAAlB;AAEAC,qBAAqB,CAAC,EAAD,CAArB;;AAEO,SAASA,qBAAT,CAA+BC,IAA/B,EAAqC;AAC1C,MAAMC,UAAU,GAAGD,IAAI,CAACC,UAAL,IAAmBC,4BAAaC,EAAnD;;AAEA,UAAQF,UAAR;AACE,SAAKC,4BAAaE,EAAlB;AACEJ,MAAAA,IAAI,CAACN,OAAL,GAAeM,IAAI,CAACN,OAAL,IAAgBW,uCAAwBJ,UAAxB,CAA/B;AACAH,MAAAA,WAAW;AACTG,QAAAA,UAAU,EAAVA;AADS,SAENX,yBAFM,GAGNU,IAHM,CAAX;AAKA;;AAEF,SAAKE,4BAAaC,EAAlB;AACEH,MAAAA,IAAI,CAACN,OAAL,GAAeM,IAAI,CAACN,OAAL,IAAgBW,uCAAwBJ,UAAxB,CAA/B;AACAH,MAAAA,WAAW;AACTG,QAAAA,UAAU,EAAVA;AADS,SAENX,yBAFM,GAGNU,IAHM,CAAX;AAMA;;AACF,SAAKE,4BAAaI,EAAlB;AACE,UAAI,CAACN,IAAI,CAACH,UAAV,EAAsB;AACpB,cAAM,IAAIU,KAAJ,uBAEFL,4BAAaI,EAFX,wGAAN;AAKD;;AAED,UAAMT,UAAU,GAAGG,IAAI,CAACH,UAAL,IAAmBF,6BAA6B,CAACE,UAApE;AACAG,MAAAA,IAAI,CAACN,OAAL,GAAeM,IAAI,CAACN,OAAL,IAAgBc,oBAAoB,CAACX,UAAD,CAAnD;AACAC,MAAAA,WAAW;AACTG,QAAAA,UAAU,EAAVA;AADS,SAENN,6BAFM,GAGNK,IAHM,CAAX;AAKA;;AACF;AACE,YAAM,IAAIO,KAAJ,+BAAiCN,UAAjC,8BAAN;AArCJ;AAuCD;;AAEM,SAASQ,qBAAT,GAAiC;AACtC,SAAOX,WAAP;AACD;;AAEM,SAASU,oBAAT,CAA8BX,UAA9B,EAA0C;AAC/C,MAAIa,MAAM,GAAG,UAAb;;AACA,MAAIb,UAAU,CAACc,QAAX,CAAoB,GAApB,CAAJ,EAA8B;AAC5BD,IAAAA,MAAM,GAAGA,MAAM,CAACE,SAAP,CAAiB,CAAjB,CAAT;AACD;;AAED,mBAAUf,UAAV,SAAuBa,MAAvB;AACD","sourcesContent":["import {API_VERSIONS, DEFAULT_MAPS_URL_FORMAT} from './api/maps-api-common';\n\nexport const defaultClassicCredentials = {\n username: 'public',\n apiKey: 'default_public',\n region: 'us',\n mapsUrl: null\n};\n\nconst defaultCloudNativeCredentials = {\n accessToken: null,\n apiBaseUrl: null,\n mapsUrl: null\n};\n\nlet credentials = {};\n\nsetDefaultCredentials({});\n\nexport function setDefaultCredentials(opts) {\n const apiVersion = opts.apiVersion || API_VERSIONS.V2;\n\n switch (apiVersion) {\n case API_VERSIONS.V1:\n opts.mapsUrl = opts.mapsUrl || DEFAULT_MAPS_URL_FORMAT[apiVersion];\n credentials = {\n apiVersion,\n ...defaultClassicCredentials,\n ...opts\n };\n break;\n\n case API_VERSIONS.V2:\n opts.mapsUrl = opts.mapsUrl || DEFAULT_MAPS_URL_FORMAT[apiVersion];\n credentials = {\n apiVersion,\n ...defaultClassicCredentials,\n ...opts\n };\n\n break;\n case API_VERSIONS.V3:\n if (!opts.apiBaseUrl) {\n throw new Error(\n `API version ${\n API_VERSIONS.V3\n } requires to define apiBaseUrl at credentials. Go to https://app.carto.com to get your apiBaseUrl.`\n );\n }\n\n const apiBaseUrl = opts.apiBaseUrl || defaultCloudNativeCredentials.apiBaseUrl;\n opts.mapsUrl = opts.mapsUrl || buildMapsUrlFromBase(apiBaseUrl);\n credentials = {\n apiVersion,\n ...defaultCloudNativeCredentials,\n ...opts\n };\n break;\n default:\n throw new Error(`Invalid API version ${apiVersion}. Use API_VERSIONS enum.`);\n }\n}\n\nexport function getDefaultCredentials() {\n return credentials;\n}\n\nexport function buildMapsUrlFromBase(apiBaseUrl) {\n let suffix = '/v3/maps';\n if (apiBaseUrl.endsWith('/')) {\n suffix = suffix.substring(1);\n }\n\n return `${apiBaseUrl}${suffix}`;\n}\n"],"file":"config.js"}
package/dist/es5/index.js CHANGED
@@ -77,6 +77,12 @@ Object.defineProperty(exports, "API_VERSIONS", {
77
77
  return _api.API_VERSIONS;
78
78
  }
79
79
  });
80
+ Object.defineProperty(exports, "fetchLayerData", {
81
+ enumerable: true,
82
+ get: function get() {
83
+ return _api.fetchLayerData;
84
+ }
85
+ });
80
86
  Object.defineProperty(exports, "_getDataV2", {
81
87
  enumerable: true,
82
88
  get: function get() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["export {getDefaultCredentials, setDefaultCredentials} from './config.js';\nexport {default as CartoSQLLayer} from './layers/carto-sql-layer';\nexport {default as CartoBQTilerLayer} from './layers/carto-bqtiler-layer';\nexport {default as CartoLayer} from './layers/carto-layer';\nexport {default as BASEMAP} from './basemap';\nexport {default as colorBins} from './style/color-bins-style';\nexport {default as colorCategories} from './style/color-categories-style';\nexport {default as colorContinuous} from './style/color-continuous-style';\nexport {\n FORMATS,\n MAP_TYPES,\n API_VERSIONS,\n getDataV2 as _getDataV2,\n getData,\n mapInstantiation as _mapInstantiation\n} from './api';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["export {getDefaultCredentials, setDefaultCredentials} from './config.js';\nexport {default as CartoSQLLayer} from './layers/carto-sql-layer';\nexport {default as CartoBQTilerLayer} from './layers/carto-bqtiler-layer';\nexport {default as CartoLayer} from './layers/carto-layer';\nexport {default as BASEMAP} from './basemap';\nexport {default as colorBins} from './style/color-bins-style';\nexport {default as colorCategories} from './style/color-categories-style';\nexport {default as colorContinuous} from './style/color-continuous-style';\nexport {\n FORMATS,\n MAP_TYPES,\n API_VERSIONS,\n fetchLayerData,\n getDataV2 as _getDataV2,\n getData,\n mapInstantiation as _mapInstantiation\n} from './api';\n"],"file":"index.js"}
@@ -1,4 +1,4 @@
1
1
  export { FORMATS, MAP_TYPES, API_VERSIONS } from './maps-api-common';
2
2
  export { getDataV2, CONNECTIONS } from './maps-client';
3
- export { getData, mapInstantiation } from './maps-v3-client';
3
+ export { fetchLayerData, getData, mapInstantiation } from './maps-v3-client';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/index.js"],"names":["FORMATS","MAP_TYPES","API_VERSIONS","getDataV2","CONNECTIONS","getData","mapInstantiation"],"mappings":"AAAA,SAAQA,OAAR,EAAiBC,SAAjB,EAA4BC,YAA5B,QAA+C,mBAA/C;AACA,SAAQC,SAAR,EAAmBC,WAAnB,QAAqC,eAArC;AACA,SAAQC,OAAR,EAAiBC,gBAAjB,QAAwC,kBAAxC","sourcesContent":["export {FORMATS, MAP_TYPES, API_VERSIONS} from './maps-api-common';\nexport {getDataV2, CONNECTIONS} from './maps-client';\nexport {getData, mapInstantiation} from './maps-v3-client';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/api/index.js"],"names":["FORMATS","MAP_TYPES","API_VERSIONS","getDataV2","CONNECTIONS","fetchLayerData","getData","mapInstantiation"],"mappings":"AAAA,SAAQA,OAAR,EAAiBC,SAAjB,EAA4BC,YAA5B,QAA+C,mBAA/C;AACA,SAAQC,SAAR,EAAmBC,WAAnB,QAAqC,eAArC;AACA,SAAQC,cAAR,EAAwBC,OAAxB,EAAiCC,gBAAjC,QAAwD,kBAAxD","sourcesContent":["export {FORMATS, MAP_TYPES, API_VERSIONS} from './maps-api-common';\nexport {getDataV2, CONNECTIONS} from './maps-client';\nexport {fetchLayerData, getData, mapInstantiation} from './maps-v3-client';\n"],"file":"index.js"}
@@ -5,6 +5,10 @@ export const API_VERSIONS = {
5
5
  V2: 'v2',
6
6
  V3: 'v3'
7
7
  };
8
+ export const DEFAULT_MAPS_URL_FORMAT = {
9
+ [API_VERSIONS.V1]: "https://".concat(DEFAULT_USER_COMPONENT_IN_URL, ".carto.com/api/v1/map"),
10
+ [API_VERSIONS.V2]: "https://maps-api-v2.".concat(DEFAULT_REGION_COMPONENT_IN_URL, ".carto.com/user/").concat(DEFAULT_USER_COMPONENT_IN_URL)
11
+ };
8
12
  export const MAP_TYPES = {
9
13
  QUERY: 'query',
10
14
  TABLE: 'table',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/maps-api-common.js"],"names":["DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","API_VERSIONS","V1","V2","V3","MAP_TYPES","QUERY","TABLE","TILESET","FORMATS","GEOJSON","NDJSON","TILEJSON","JSON","encodeParameter","name","value","encodeURIComponent"],"mappings":"AAAA,OAAO,MAAMA,6BAA6B,GAAG,QAAtC;AACP,OAAO,MAAMC,+BAA+B,GAAG,UAAxC;AAEP,OAAO,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,EAAE,EAAE,IADsB;AAE1BC,EAAAA,EAAE,EAAE,IAFsB;AAG1BC,EAAAA,EAAE,EAAE;AAHsB,CAArB;AAMP,OAAO,MAAMC,SAAS,GAAG;AACvBC,EAAAA,KAAK,EAAE,OADgB;AAEvBC,EAAAA,KAAK,EAAE,OAFgB;AAGvBC,EAAAA,OAAO,EAAE;AAHc,CAAlB;AAOP,OAAO,MAAMC,OAAO,GAAG;AACrBC,EAAAA,OAAO,EAAE,SADY;AAErBC,EAAAA,MAAM,EAAE,QAFa;AAGrBC,EAAAA,QAAQ,EAAE,UAHW;AAIrBC,EAAAA,IAAI,EAAE;AAJe,CAAhB;AAUP,OAAO,SAASC,eAAT,CAAyBC,IAAzB,EAA+BC,KAA/B,EAAsC;AAC3C,mBAAUD,IAAV,cAAkBE,kBAAkB,CAACD,KAAD,CAApC;AACD","sourcesContent":["export const DEFAULT_USER_COMPONENT_IN_URL = '{user}';\nexport const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';\n\nexport const API_VERSIONS = {\n V1: 'v1',\n V2: 'v2',\n V3: 'v3'\n};\n\nexport const MAP_TYPES = {\n QUERY: 'query',\n TABLE: 'table',\n TILESET: 'tileset'\n};\n\n// AVAILABLE FORMATS\nexport const FORMATS = {\n GEOJSON: 'geojson',\n NDJSON: 'ndjson',\n TILEJSON: 'tilejson',\n JSON: 'json'\n};\n\n/**\n * Simple encode parameter\n */\nexport function encodeParameter(name, value) {\n return `${name}=${encodeURIComponent(value)}`;\n}\n"],"file":"maps-api-common.js"}
1
+ {"version":3,"sources":["../../../src/api/maps-api-common.js"],"names":["DEFAULT_USER_COMPONENT_IN_URL","DEFAULT_REGION_COMPONENT_IN_URL","API_VERSIONS","V1","V2","V3","DEFAULT_MAPS_URL_FORMAT","MAP_TYPES","QUERY","TABLE","TILESET","FORMATS","GEOJSON","NDJSON","TILEJSON","JSON","encodeParameter","name","value","encodeURIComponent"],"mappings":"AAAA,OAAO,MAAMA,6BAA6B,GAAG,QAAtC;AACP,OAAO,MAAMC,+BAA+B,GAAG,UAAxC;AAEP,OAAO,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,EAAE,EAAE,IADsB;AAE1BC,EAAAA,EAAE,EAAE,IAFsB;AAG1BC,EAAAA,EAAE,EAAE;AAHsB,CAArB;AAMP,OAAO,MAAMC,uBAAuB,GAAG;AACrC,GAACJ,YAAY,CAACC,EAAd,qBAA8BH,6BAA9B,0BADqC;AAErC,GAACE,YAAY,CAACE,EAAd,iCAA0CH,+BAA1C,6BAA4FD,6BAA5F;AAFqC,CAAhC;AAKP,OAAO,MAAMO,SAAS,GAAG;AACvBC,EAAAA,KAAK,EAAE,OADgB;AAEvBC,EAAAA,KAAK,EAAE,OAFgB;AAGvBC,EAAAA,OAAO,EAAE;AAHc,CAAlB;AAOP,OAAO,MAAMC,OAAO,GAAG;AACrBC,EAAAA,OAAO,EAAE,SADY;AAErBC,EAAAA,MAAM,EAAE,QAFa;AAGrBC,EAAAA,QAAQ,EAAE,UAHW;AAIrBC,EAAAA,IAAI,EAAE;AAJe,CAAhB;AAUP,OAAO,SAASC,eAAT,CAAyBC,IAAzB,EAA+BC,KAA/B,EAAsC;AAC3C,mBAAUD,IAAV,cAAkBE,kBAAkB,CAACD,KAAD,CAApC;AACD","sourcesContent":["export const DEFAULT_USER_COMPONENT_IN_URL = '{user}';\nexport const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';\n\nexport const API_VERSIONS = {\n V1: 'v1',\n V2: 'v2',\n V3: 'v3'\n};\n\nexport const DEFAULT_MAPS_URL_FORMAT = {\n [API_VERSIONS.V1]: `https://${DEFAULT_USER_COMPONENT_IN_URL}.carto.com/api/v1/map`,\n [API_VERSIONS.V2]: `https://maps-api-v2.${DEFAULT_REGION_COMPONENT_IN_URL}.carto.com/user/${DEFAULT_USER_COMPONENT_IN_URL}`\n};\n\nexport const MAP_TYPES = {\n QUERY: 'query',\n TABLE: 'table',\n TILESET: 'tileset'\n};\n\n// AVAILABLE FORMATS\nexport const FORMATS = {\n GEOJSON: 'geojson',\n NDJSON: 'ndjson',\n TILEJSON: 'tilejson',\n JSON: 'json'\n};\n\n/**\n * Simple encode parameter\n */\nexport function encodeParameter(name, value) {\n return `${name}=${encodeURIComponent(value)}`;\n}\n"],"file":"maps-api-common.js"}