@deck.gl/carto 8.6.0 → 8.6.4
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 +85 -20
- package/dist/es5/api/index.js +13 -7
- package/dist/es5/api/index.js.map +1 -1
- package/dist/es5/api/maps-api-common.js +11 -6
- package/dist/es5/api/maps-api-common.js.map +1 -1
- package/dist/es5/api/maps-client.js +98 -151
- package/dist/es5/api/maps-client.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +206 -253
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/basemap.js +1 -1
- package/dist/es5/basemap.js.map +1 -1
- package/dist/es5/config.js +25 -25
- package/dist/es5/config.js.map +1 -1
- package/dist/es5/index.js +21 -15
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-bqtiler-layer.js +6 -39
- package/dist/es5/layers/carto-bqtiler-layer.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +132 -211
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/carto-sql-layer.js +6 -39
- package/dist/es5/layers/carto-sql-layer.js.map +1 -1
- package/dist/es5/style/color-bins-style.js +10 -11
- package/dist/es5/style/color-bins-style.js.map +1 -1
- package/dist/es5/style/color-categories-style.js +13 -38
- package/dist/es5/style/color-categories-style.js.map +1 -1
- package/dist/es5/style/color-continuous-style.js +10 -11
- package/dist/es5/style/color-continuous-style.js.map +1 -1
- package/dist/es5/style/palette.js +11 -19
- package/dist/es5/style/palette.js.map +1 -1
- package/dist/es5/style/utils.js +6 -13
- package/dist/es5/style/utils.js.map +1 -1
- package/dist/esm/api/index.js +1 -1
- package/dist/esm/api/index.js.map +1 -1
- package/dist/esm/api/maps-api-common.js +4 -0
- package/dist/esm/api/maps-api-common.js.map +1 -1
- package/dist/esm/api/maps-client.js +11 -6
- package/dist/esm/api/maps-client.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +70 -16
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/config.js +4 -4
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist.min.js +1 -1
- package/package.json +2 -2
- package/src/api/index.js +1 -1
- package/src/api/maps-api-common.js +5 -0
- package/src/api/maps-client.js +16 -3
- package/src/api/maps-v3-client.js +52 -11
- package/src/config.js +4 -4
- package/src/index.js +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/maps-client.js"],"names":["CONNECTIONS","BIGQUERY","CARTO","BUFFER_SIZE","TILE_EXTENT","getDataV2","type","source","credentials","
|
|
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","url","connection","API_VERSIONS","V1","mapConfig","createMapConfig","buildURLMapsAPIv1","layergroup","request","metadata","tilejson","vector","V2","buildURLMapsAPIv2","Error","response","fetch","headers","Accept","error","json","ok","dealWithError","status","username","apiKey","e","JSON","stringify","errors","initURLParameters","encodedApiKey","encodedClient","parameters","cfg","join","mapsApiType","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"}
|
|
@@ -1,111 +1,70 @@
|
|
|
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.mapInstantiation = mapInstantiation;
|
|
7
|
+
exports.fetchLayerData = fetchLayerData;
|
|
9
8
|
exports.getData = getData;
|
|
10
9
|
|
|
11
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
|
|
13
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
14
|
-
|
|
15
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
16
|
-
|
|
17
10
|
var _config = require("../config");
|
|
18
11
|
|
|
19
12
|
var _mapsApiCommon = require("./maps-api-common");
|
|
20
13
|
|
|
21
14
|
var _core = require("@deck.gl/core");
|
|
22
15
|
|
|
23
|
-
|
|
16
|
+
const MAX_GET_LENGTH = 2048;
|
|
17
|
+
|
|
18
|
+
async function request({
|
|
19
|
+
method,
|
|
20
|
+
url,
|
|
21
|
+
format,
|
|
22
|
+
accessToken,
|
|
23
|
+
body
|
|
24
|
+
}) {
|
|
25
|
+
let response;
|
|
26
|
+
const headers = {
|
|
27
|
+
Accept: 'application/json'
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
if (accessToken) {
|
|
31
|
+
headers.Authorization = "Bearer ".concat(accessToken);
|
|
32
|
+
}
|
|
24
33
|
|
|
25
|
-
|
|
34
|
+
if (method === 'POST') {
|
|
35
|
+
headers['Content-Type'] = 'application/json';
|
|
36
|
+
}
|
|
26
37
|
|
|
27
|
-
|
|
38
|
+
try {
|
|
39
|
+
response = await fetch(url, {
|
|
40
|
+
method,
|
|
41
|
+
headers,
|
|
42
|
+
body
|
|
43
|
+
});
|
|
44
|
+
} catch (error) {
|
|
45
|
+
throw new Error("Failed to connect to Maps API: ".concat(error));
|
|
46
|
+
}
|
|
28
47
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
48
|
+
if (format === _mapsApiCommon.FORMATS.NDJSON) {
|
|
49
|
+
return response;
|
|
50
|
+
}
|
|
32
51
|
|
|
33
|
-
|
|
34
|
-
_request = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(_ref) {
|
|
35
|
-
var method, url, format, accessToken, body, response, headers, json;
|
|
36
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
37
|
-
while (1) {
|
|
38
|
-
switch (_context.prev = _context.next) {
|
|
39
|
-
case 0:
|
|
40
|
-
method = _ref.method, url = _ref.url, format = _ref.format, accessToken = _ref.accessToken, body = _ref.body;
|
|
41
|
-
headers = {
|
|
42
|
-
Accept: 'application/json'
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
if (accessToken) {
|
|
46
|
-
headers.Authorization = "Bearer ".concat(accessToken);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (method === 'POST') {
|
|
50
|
-
headers['Content-Type'] = 'application/json';
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
_context.prev = 4;
|
|
54
|
-
_context.next = 7;
|
|
55
|
-
return fetch(url, {
|
|
56
|
-
method: method,
|
|
57
|
-
headers: headers,
|
|
58
|
-
body: body
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
case 7:
|
|
62
|
-
response = _context.sent;
|
|
63
|
-
_context.next = 13;
|
|
64
|
-
break;
|
|
65
|
-
|
|
66
|
-
case 10:
|
|
67
|
-
_context.prev = 10;
|
|
68
|
-
_context.t0 = _context["catch"](4);
|
|
69
|
-
throw new Error("Failed to connect to Maps API: ".concat(_context.t0));
|
|
70
|
-
|
|
71
|
-
case 13:
|
|
72
|
-
if (!(format === _mapsApiCommon.FORMATS.NDJSON)) {
|
|
73
|
-
_context.next = 15;
|
|
74
|
-
break;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
return _context.abrupt("return", response);
|
|
78
|
-
|
|
79
|
-
case 15:
|
|
80
|
-
_context.next = 17;
|
|
81
|
-
return response.json();
|
|
82
|
-
|
|
83
|
-
case 17:
|
|
84
|
-
json = _context.sent;
|
|
85
|
-
|
|
86
|
-
if (!response.ok) {
|
|
87
|
-
dealWithError({
|
|
88
|
-
response: response,
|
|
89
|
-
error: json.error
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
return _context.abrupt("return", json.rows ? json.rows : json);
|
|
94
|
-
|
|
95
|
-
case 20:
|
|
96
|
-
case "end":
|
|
97
|
-
return _context.stop();
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}, _callee, null, [[4, 10]]);
|
|
101
|
-
}));
|
|
102
|
-
return _request.apply(this, arguments);
|
|
103
|
-
}
|
|
52
|
+
const json = await response.json();
|
|
104
53
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
54
|
+
if (!response.ok) {
|
|
55
|
+
dealWithError({
|
|
56
|
+
response,
|
|
57
|
+
error: json.error
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return json.rows ? json.rows : json;
|
|
62
|
+
}
|
|
108
63
|
|
|
64
|
+
function dealWithError({
|
|
65
|
+
response,
|
|
66
|
+
error
|
|
67
|
+
}) {
|
|
109
68
|
switch (response.status) {
|
|
110
69
|
case 400:
|
|
111
70
|
throw new Error("Bad request. ".concat(error));
|
|
@@ -119,14 +78,20 @@ function dealWithError(_ref2) {
|
|
|
119
78
|
}
|
|
120
79
|
}
|
|
121
80
|
|
|
122
|
-
function getParameters(
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
81
|
+
function getParameters({
|
|
82
|
+
type,
|
|
83
|
+
source,
|
|
84
|
+
geoColumn,
|
|
85
|
+
columns,
|
|
86
|
+
schema
|
|
87
|
+
}) {
|
|
88
|
+
const parameters = [(0, _mapsApiCommon.encodeParameter)('client', 'deck-gl-carto')];
|
|
89
|
+
|
|
90
|
+
if (schema) {
|
|
91
|
+
parameters.push((0, _mapsApiCommon.encodeParameter)('schema', true));
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const sourceName = type === _mapsApiCommon.MAP_TYPES.QUERY ? 'q' : 'name';
|
|
130
95
|
parameters.push((0, _mapsApiCommon.encodeParameter)(sourceName, source));
|
|
131
96
|
|
|
132
97
|
if (type === _mapsApiCommon.MAP_TYPES.TABLE) {
|
|
@@ -142,72 +107,51 @@ function getParameters(_ref3) {
|
|
|
142
107
|
return parameters.join('&');
|
|
143
108
|
}
|
|
144
109
|
|
|
145
|
-
function mapInstantiation(
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
geoColumn: geoColumn,
|
|
162
|
-
columns: columns
|
|
163
|
-
}));
|
|
164
|
-
accessToken = credentials.accessToken;
|
|
165
|
-
format = 'json';
|
|
166
|
-
|
|
167
|
-
if (!(url.length > MAX_GET_LENGTH && type === _mapsApiCommon.MAP_TYPES.QUERY)) {
|
|
168
|
-
_context2.next = 10;
|
|
169
|
-
break;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
body = JSON.stringify({
|
|
173
|
-
q: source,
|
|
174
|
-
client: 'deck-gl-carto'
|
|
175
|
-
});
|
|
176
|
-
_context2.next = 9;
|
|
177
|
-
return request({
|
|
178
|
-
method: 'POST',
|
|
179
|
-
url: baseUrl,
|
|
180
|
-
format: format,
|
|
181
|
-
accessToken: accessToken,
|
|
182
|
-
body: body
|
|
183
|
-
});
|
|
184
|
-
|
|
185
|
-
case 9:
|
|
186
|
-
return _context2.abrupt("return", _context2.sent);
|
|
187
|
-
|
|
188
|
-
case 10:
|
|
189
|
-
_context2.next = 12;
|
|
190
|
-
return request({
|
|
191
|
-
url: url,
|
|
192
|
-
format: format,
|
|
193
|
-
accessToken: accessToken
|
|
194
|
-
});
|
|
195
|
-
|
|
196
|
-
case 12:
|
|
197
|
-
return _context2.abrupt("return", _context2.sent);
|
|
198
|
-
|
|
199
|
-
case 13:
|
|
200
|
-
case "end":
|
|
201
|
-
return _context2.stop();
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
}, _callee2);
|
|
110
|
+
async function mapInstantiation({
|
|
111
|
+
type,
|
|
112
|
+
source,
|
|
113
|
+
connection,
|
|
114
|
+
credentials,
|
|
115
|
+
geoColumn,
|
|
116
|
+
columns,
|
|
117
|
+
schema
|
|
118
|
+
}) {
|
|
119
|
+
const baseUrl = "".concat(credentials.mapsUrl, "/").concat(connection, "/").concat(type);
|
|
120
|
+
const url = "".concat(baseUrl, "?").concat(getParameters({
|
|
121
|
+
type,
|
|
122
|
+
source,
|
|
123
|
+
geoColumn,
|
|
124
|
+
columns,
|
|
125
|
+
schema
|
|
205
126
|
}));
|
|
206
|
-
|
|
127
|
+
const {
|
|
128
|
+
accessToken
|
|
129
|
+
} = credentials;
|
|
130
|
+
const format = 'json';
|
|
131
|
+
|
|
132
|
+
if (url.length > MAX_GET_LENGTH && type === _mapsApiCommon.MAP_TYPES.QUERY) {
|
|
133
|
+
const body = JSON.stringify({
|
|
134
|
+
q: source,
|
|
135
|
+
client: 'deck-gl-carto'
|
|
136
|
+
});
|
|
137
|
+
return await request({
|
|
138
|
+
method: 'POST',
|
|
139
|
+
url: baseUrl,
|
|
140
|
+
format,
|
|
141
|
+
accessToken,
|
|
142
|
+
body
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
return await request({
|
|
147
|
+
url,
|
|
148
|
+
format,
|
|
149
|
+
accessToken
|
|
150
|
+
});
|
|
207
151
|
}
|
|
208
152
|
|
|
209
153
|
function getUrlFromMetadata(metadata, format) {
|
|
210
|
-
|
|
154
|
+
const m = metadata[format];
|
|
211
155
|
|
|
212
156
|
if (m && !m.error && m.url) {
|
|
213
157
|
return m.url[0];
|
|
@@ -216,110 +160,119 @@ function getUrlFromMetadata(metadata, format) {
|
|
|
216
160
|
return null;
|
|
217
161
|
}
|
|
218
162
|
|
|
219
|
-
function
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
163
|
+
function checkGetLayerDataParameters({
|
|
164
|
+
type,
|
|
165
|
+
source,
|
|
166
|
+
connection,
|
|
167
|
+
localCreds
|
|
168
|
+
}) {
|
|
169
|
+
_core.log.assert(connection, 'Must define connection');
|
|
226
170
|
|
|
227
|
-
|
|
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);
|
|
171
|
+
_core.log.assert(type, 'Must define a type');
|
|
233
172
|
|
|
234
|
-
|
|
173
|
+
_core.log.assert(source, 'Must define a source');
|
|
235
174
|
|
|
236
|
-
|
|
175
|
+
_core.log.assert(localCreds.apiVersion === _mapsApiCommon.API_VERSIONS.V3, 'Method only available for v3');
|
|
237
176
|
|
|
238
|
-
|
|
177
|
+
_core.log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');
|
|
239
178
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
_core.log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');
|
|
243
|
-
|
|
244
|
-
_core.log.assert(localCreds.accessToken, 'Must define an accessToken');
|
|
245
|
-
|
|
246
|
-
_core.log.assert(localCreds.mapsUrl, 'mapsUrl cannot be undefined');
|
|
247
|
-
|
|
248
|
-
if (!localCreds.mapsUrl) {
|
|
249
|
-
localCreds.mapsUrl = (0, _config.buildMapsUrlFromBase)(localCreds.apiBaseUrl);
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
_context3.next = 12;
|
|
253
|
-
return mapInstantiation({
|
|
254
|
-
type: type,
|
|
255
|
-
source: source,
|
|
256
|
-
connection: connection,
|
|
257
|
-
credentials: localCreds,
|
|
258
|
-
geoColumn: geoColumn,
|
|
259
|
-
columns: columns
|
|
260
|
-
});
|
|
261
|
-
|
|
262
|
-
case 12:
|
|
263
|
-
metadata = _context3.sent;
|
|
264
|
-
|
|
265
|
-
if (!format) {
|
|
266
|
-
_context3.next = 19;
|
|
267
|
-
break;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
mapFormat = format;
|
|
271
|
-
url = getUrlFromMetadata(metadata, format);
|
|
272
|
-
|
|
273
|
-
_core.log.assert(url, "Format ".concat(format, " not available"));
|
|
274
|
-
|
|
275
|
-
_context3.next = 30;
|
|
276
|
-
break;
|
|
277
|
-
|
|
278
|
-
case 19:
|
|
279
|
-
prioritizedFormats = [_mapsApiCommon.FORMATS.GEOJSON, _mapsApiCommon.FORMATS.NDJSON, _mapsApiCommon.FORMATS.TILEJSON];
|
|
280
|
-
_i = 0, _prioritizedFormats = prioritizedFormats;
|
|
281
|
-
|
|
282
|
-
case 21:
|
|
283
|
-
if (!(_i < _prioritizedFormats.length)) {
|
|
284
|
-
_context3.next = 30;
|
|
285
|
-
break;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
f = _prioritizedFormats[_i];
|
|
289
|
-
url = getUrlFromMetadata(metadata, f);
|
|
290
|
-
|
|
291
|
-
if (!url) {
|
|
292
|
-
_context3.next = 27;
|
|
293
|
-
break;
|
|
294
|
-
}
|
|
179
|
+
_core.log.assert(localCreds.accessToken, 'Must define an accessToken');
|
|
180
|
+
}
|
|
295
181
|
|
|
296
|
-
|
|
297
|
-
|
|
182
|
+
async function fetchLayerData({
|
|
183
|
+
type,
|
|
184
|
+
source,
|
|
185
|
+
connection,
|
|
186
|
+
credentials,
|
|
187
|
+
geoColumn,
|
|
188
|
+
columns,
|
|
189
|
+
format,
|
|
190
|
+
schema
|
|
191
|
+
}) {
|
|
192
|
+
const defaultCredentials = (0, _config.getDefaultCredentials)();
|
|
193
|
+
const localCreds = { ...(defaultCredentials.apiVersion === _mapsApiCommon.API_VERSIONS.V3 && defaultCredentials),
|
|
194
|
+
...credentials
|
|
195
|
+
};
|
|
196
|
+
checkGetLayerDataParameters({
|
|
197
|
+
type,
|
|
198
|
+
source,
|
|
199
|
+
connection,
|
|
200
|
+
localCreds
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
if (!localCreds.mapsUrl) {
|
|
204
|
+
localCreds.mapsUrl = (0, _config.buildMapsUrlFromBase)(localCreds.apiBaseUrl);
|
|
205
|
+
}
|
|
298
206
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
207
|
+
const metadata = await mapInstantiation({
|
|
208
|
+
type,
|
|
209
|
+
source,
|
|
210
|
+
connection,
|
|
211
|
+
credentials: localCreds,
|
|
212
|
+
geoColumn,
|
|
213
|
+
columns,
|
|
214
|
+
schema
|
|
215
|
+
});
|
|
216
|
+
let url;
|
|
217
|
+
let mapFormat;
|
|
218
|
+
|
|
219
|
+
if (format) {
|
|
220
|
+
mapFormat = format;
|
|
221
|
+
url = getUrlFromMetadata(metadata, format);
|
|
222
|
+
|
|
223
|
+
_core.log.assert(url, "Format ".concat(format, " not available"));
|
|
224
|
+
} else {
|
|
225
|
+
const prioritizedFormats = [_mapsApiCommon.FORMATS.GEOJSON, _mapsApiCommon.FORMATS.NDJSON, _mapsApiCommon.FORMATS.TILEJSON];
|
|
226
|
+
|
|
227
|
+
for (const f of prioritizedFormats) {
|
|
228
|
+
url = getUrlFromMetadata(metadata, f);
|
|
229
|
+
|
|
230
|
+
if (url) {
|
|
231
|
+
mapFormat = f;
|
|
232
|
+
break;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
303
236
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
237
|
+
const {
|
|
238
|
+
accessToken
|
|
239
|
+
} = localCreds;
|
|
240
|
+
const data = await request({
|
|
241
|
+
url,
|
|
242
|
+
format: mapFormat,
|
|
243
|
+
accessToken
|
|
244
|
+
});
|
|
245
|
+
const result = {
|
|
246
|
+
data,
|
|
247
|
+
format: mapFormat
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
if (schema) {
|
|
251
|
+
result.schema = metadata.schema;
|
|
252
|
+
}
|
|
312
253
|
|
|
313
|
-
|
|
314
|
-
|
|
254
|
+
return result;
|
|
255
|
+
}
|
|
315
256
|
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
257
|
+
async function getData({
|
|
258
|
+
type,
|
|
259
|
+
source,
|
|
260
|
+
connection,
|
|
261
|
+
credentials,
|
|
262
|
+
geoColumn,
|
|
263
|
+
columns,
|
|
264
|
+
format
|
|
265
|
+
}) {
|
|
266
|
+
const layerData = await fetchLayerData({
|
|
267
|
+
type,
|
|
268
|
+
source,
|
|
269
|
+
connection,
|
|
270
|
+
credentials,
|
|
271
|
+
geoColumn,
|
|
272
|
+
columns,
|
|
273
|
+
format,
|
|
274
|
+
schema: false
|
|
275
|
+
});
|
|
276
|
+
return layerData.data;
|
|
324
277
|
}
|
|
325
278
|
//# 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","response","headers","Accept","Authorization","fetch","error","Error","FORMATS","NDJSON","json","ok","dealWithError","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":"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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, 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"}
|
package/dist/es5/basemap.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
7
|
+
const base_url = 'https://basemaps.cartocdn.com/gl/{basemap}-gl-style/style.json';
|
|
8
8
|
var _default = {
|
|
9
9
|
VOYAGER: base_url.replace('{basemap}', 'voyager'),
|
|
10
10
|
POSITRON: base_url.replace('{basemap}', 'positron'),
|
package/dist/es5/basemap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/basemap.js"],"names":["base_url","VOYAGER","replace","POSITRON","DARK_MATTER","VOYAGER_NOLABELS","POSITRON_NOLABELS","DARK_MATTER_NOLABELS"],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"sources":["../../src/basemap.js"],"names":["base_url","VOYAGER","replace","POSITRON","DARK_MATTER","VOYAGER_NOLABELS","POSITRON_NOLABELS","DARK_MATTER_NOLABELS"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAG,gEAAjB;eAEe;AACbC,EAAAA,OAAO,EAAED,QAAQ,CAACE,OAAT,CAAiB,WAAjB,EAA8B,SAA9B,CADI;AAEbC,EAAAA,QAAQ,EAAEH,QAAQ,CAACE,OAAT,CAAiB,WAAjB,EAA8B,UAA9B,CAFG;AAGbE,EAAAA,WAAW,EAAEJ,QAAQ,CAACE,OAAT,CAAiB,WAAjB,EAA8B,aAA9B,CAHA;AAIbG,EAAAA,gBAAgB,EAAEL,QAAQ,CAACE,OAAT,CAAiB,WAAjB,EAA8B,kBAA9B,CAJL;AAKbI,EAAAA,iBAAiB,EAAEN,QAAQ,CAACE,OAAT,CAAiB,WAAjB,EAA8B,mBAA9B,CALN;AAMbK,EAAAA,oBAAoB,EAAEP,QAAQ,CAACE,OAAT,CAAiB,WAAjB,EAA8B,sBAA9B;AANT,C","sourcesContent":["const base_url = 'https://basemaps.cartocdn.com/gl/{basemap}-gl-style/style.json';\n\nexport default {\n VOYAGER: base_url.replace('{basemap}', 'voyager'),\n POSITRON: base_url.replace('{basemap}', 'positron'),\n DARK_MATTER: base_url.replace('{basemap}', 'dark-matter'),\n VOYAGER_NOLABELS: base_url.replace('{basemap}', 'voyager-nolabels'),\n POSITRON_NOLABELS: base_url.replace('{basemap}', 'positron-nolabels'),\n DARK_MATTER_NOLABELS: base_url.replace('{basemap}', 'dark-matter-nolabels')\n};\n"],"file":"basemap.js"}
|