@deck.gl/carto 8.8.19 → 8.8.21
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 +199 -83
- package/dist/es5/api/carto-api-error.js +87 -0
- package/dist/es5/api/carto-api-error.js.map +1 -0
- package/dist/es5/api/index.js +8 -0
- package/dist/es5/api/index.js.map +1 -1
- package/dist/es5/api/maps-api-common.js +9 -1
- package/dist/es5/api/maps-api-common.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +135 -109
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/index.js +6 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-tile-layer.js +8 -2
- package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/esm/api/carto-api-error.js +51 -0
- package/dist/esm/api/carto-api-error.js.map +1 -0
- package/dist/esm/api/index.js +1 -0
- package/dist/esm/api/index.js.map +1 -1
- package/dist/esm/api/maps-api-common.js +6 -0
- package/dist/esm/api/maps-api-common.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +59 -35
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-tile-layer.js +4 -4
- package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
- package/dist.min.js +4 -4
- package/package.json +2 -2
- package/src/api/carto-api-error.ts +67 -0
- package/src/api/index.ts +2 -0
- package/src/api/maps-api-common.ts +8 -0
- package/src/api/maps-v3-client.ts +37 -29
- package/src/index.ts +2 -1
- package/src/layers/carto-layer.ts +4 -3
- package/src/layers/quadbin-tile-layer.ts +4 -2
- package/typed/api/index.d.ts +2 -0
- package/typed/api/index.d.ts.map +1 -1
- package/typed/api/maps-api-common.d.ts +7 -0
- package/typed/api/maps-api-common.d.ts.map +1 -1
- package/typed/api/maps-v3-client.d.ts.map +1 -1
- package/typed/index.d.ts +2 -2
- package/typed/index.d.ts.map +1 -1
- package/typed/layers/carto-layer.d.ts +3 -2
- package/typed/layers/carto-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-tile-layer.d.ts +4 -1
- package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
package/dist/dist.dev.js
CHANGED
|
@@ -13018,7 +13018,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
13018
13018
|
|
|
13019
13019
|
|
|
13020
13020
|
|
|
13021
|
-
const VERSION = true ? "8.8.
|
|
13021
|
+
const VERSION = true ? "8.8.21" : undefined;
|
|
13022
13022
|
const isBrowser = Object(_lib_is_browser__WEBPACK_IMPORTED_MODULE_0__["default"])();
|
|
13023
13023
|
//# sourceMappingURL=globals.js.map
|
|
13024
13024
|
|
|
@@ -54543,7 +54543,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
54543
54543
|
|
|
54544
54544
|
|
|
54545
54545
|
|
|
54546
|
-
const VERSION = true ? "8.8.
|
|
54546
|
+
const VERSION = true ? "8.8.21" : undefined;
|
|
54547
54547
|
const isBrowser = Object(_env_is_browser__WEBPACK_IMPORTED_MODULE_0__["default"])();
|
|
54548
54548
|
//# sourceMappingURL=globals.js.map
|
|
54549
54549
|
|
|
@@ -55072,35 +55072,118 @@ module.exports = Object.assign(deck, {
|
|
|
55072
55072
|
|
|
55073
55073
|
/***/ }),
|
|
55074
55074
|
|
|
55075
|
+
/***/ "./src/api/carto-api-error.ts":
|
|
55076
|
+
/*!************************************!*\
|
|
55077
|
+
!*** ./src/api/carto-api-error.ts ***!
|
|
55078
|
+
\************************************/
|
|
55079
|
+
/*! exports provided: CartoAPIError */
|
|
55080
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
55081
|
+
|
|
55082
|
+
"use strict";
|
|
55083
|
+
__webpack_require__.r(__webpack_exports__);
|
|
55084
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CartoAPIError", function() { return CartoAPIError; });
|
|
55085
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
55086
|
+
|
|
55087
|
+
/**
|
|
55088
|
+
*
|
|
55089
|
+
* Custom error for reported errors in CARTO Maps API.
|
|
55090
|
+
* Provides useful debugging information in console and context for applications.
|
|
55091
|
+
*
|
|
55092
|
+
*/
|
|
55093
|
+
class CartoAPIError extends Error {
|
|
55094
|
+
/** Source error from server */
|
|
55095
|
+
|
|
55096
|
+
/** Context (API call & parameters) in which error occured */
|
|
55097
|
+
|
|
55098
|
+
/** Response from server */
|
|
55099
|
+
constructor(error, errorContext, response) {
|
|
55100
|
+
let responseString = 'Failed to connect';
|
|
55101
|
+
|
|
55102
|
+
if (response) {
|
|
55103
|
+
responseString = 'Server returned: ';
|
|
55104
|
+
|
|
55105
|
+
if (response.status === 400) {
|
|
55106
|
+
responseString += 'Bad request';
|
|
55107
|
+
} else if (response.status === 401 || response.status === 403) {
|
|
55108
|
+
responseString += 'Unauthorized access';
|
|
55109
|
+
} else if (response.status === 404) {
|
|
55110
|
+
responseString += 'Not found';
|
|
55111
|
+
} else {
|
|
55112
|
+
responseString += 'Error';
|
|
55113
|
+
}
|
|
55114
|
+
|
|
55115
|
+
responseString += ` (${response.status}):`;
|
|
55116
|
+
}
|
|
55117
|
+
|
|
55118
|
+
responseString += ` ${error.message || error}`;
|
|
55119
|
+
let message = `${errorContext.requestType} API request failed`;
|
|
55120
|
+
message += `\n${responseString}`;
|
|
55121
|
+
|
|
55122
|
+
for (const key of Object.keys(errorContext)) {
|
|
55123
|
+
if (key === 'requestType') continue; // eslint-disable-line no-continue
|
|
55124
|
+
|
|
55125
|
+
message += `\n${formatErrorKey(key)}: ${errorContext[key]}`;
|
|
55126
|
+
}
|
|
55127
|
+
|
|
55128
|
+
message += '\n';
|
|
55129
|
+
super(message);
|
|
55130
|
+
|
|
55131
|
+
_defineProperty(this, "error", void 0);
|
|
55132
|
+
|
|
55133
|
+
_defineProperty(this, "errorContext", void 0);
|
|
55134
|
+
|
|
55135
|
+
_defineProperty(this, "response", void 0);
|
|
55136
|
+
|
|
55137
|
+
this.name = 'CartoAPIError';
|
|
55138
|
+
this.response = response;
|
|
55139
|
+
this.error = error;
|
|
55140
|
+
this.errorContext = errorContext;
|
|
55141
|
+
}
|
|
55142
|
+
|
|
55143
|
+
}
|
|
55144
|
+
/**
|
|
55145
|
+
* Converts camelCase to Camel Case
|
|
55146
|
+
*/
|
|
55147
|
+
|
|
55148
|
+
function formatErrorKey(key) {
|
|
55149
|
+
return key.replace(/([A-Z])/g, ' $1').replace(/^./, s => s.toUpperCase());
|
|
55150
|
+
}
|
|
55151
|
+
|
|
55152
|
+
/***/ }),
|
|
55153
|
+
|
|
55075
55154
|
/***/ "./src/api/index.ts":
|
|
55076
55155
|
/*!**************************!*\
|
|
55077
55156
|
!*** ./src/api/index.ts ***!
|
|
55078
55157
|
\**************************/
|
|
55079
|
-
/*! exports provided: FORMATS, TILE_FORMATS, MAP_TYPES, API_VERSIONS, getDataV2, CONNECTIONS, fetchLayerData, fetchMap, mapInstantiation */
|
|
55158
|
+
/*! exports provided: CartoAPIError, FORMATS, TILE_FORMATS, MAP_TYPES, API_VERSIONS, getDataV2, CONNECTIONS, fetchLayerData, fetchMap, mapInstantiation */
|
|
55080
55159
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
55081
55160
|
|
|
55082
55161
|
"use strict";
|
|
55083
55162
|
__webpack_require__.r(__webpack_exports__);
|
|
55084
|
-
/* harmony import */ var
|
|
55085
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "
|
|
55163
|
+
/* harmony import */ var _carto_api_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./carto-api-error */ "./src/api/carto-api-error.ts");
|
|
55164
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CartoAPIError", function() { return _carto_api_error__WEBPACK_IMPORTED_MODULE_0__["CartoAPIError"]; });
|
|
55165
|
+
|
|
55166
|
+
/* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.ts");
|
|
55167
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FORMATS", function() { return _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"]; });
|
|
55086
55168
|
|
|
55087
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TILE_FORMATS", function() { return
|
|
55169
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TILE_FORMATS", function() { return _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["TILE_FORMATS"]; });
|
|
55088
55170
|
|
|
55089
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MAP_TYPES", function() { return
|
|
55171
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MAP_TYPES", function() { return _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["MAP_TYPES"]; });
|
|
55090
55172
|
|
|
55091
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "API_VERSIONS", function() { return
|
|
55173
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "API_VERSIONS", function() { return _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"]; });
|
|
55092
55174
|
|
|
55093
|
-
/* harmony import */ var
|
|
55094
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getDataV2", function() { return
|
|
55175
|
+
/* harmony import */ var _maps_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./maps-client */ "./src/api/maps-client.ts");
|
|
55176
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getDataV2", function() { return _maps_client__WEBPACK_IMPORTED_MODULE_2__["getDataV2"]; });
|
|
55095
55177
|
|
|
55096
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CONNECTIONS", function() { return
|
|
55178
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CONNECTIONS", function() { return _maps_client__WEBPACK_IMPORTED_MODULE_2__["CONNECTIONS"]; });
|
|
55097
55179
|
|
|
55098
|
-
/* harmony import */ var
|
|
55099
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchLayerData", function() { return
|
|
55180
|
+
/* harmony import */ var _maps_v3_client__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./maps-v3-client */ "./src/api/maps-v3-client.ts");
|
|
55181
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchLayerData", function() { return _maps_v3_client__WEBPACK_IMPORTED_MODULE_3__["fetchLayerData"]; });
|
|
55100
55182
|
|
|
55101
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchMap", function() { return
|
|
55183
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchMap", function() { return _maps_v3_client__WEBPACK_IMPORTED_MODULE_3__["fetchMap"]; });
|
|
55184
|
+
|
|
55185
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mapInstantiation", function() { return _maps_v3_client__WEBPACK_IMPORTED_MODULE_3__["mapInstantiation"]; });
|
|
55102
55186
|
|
|
55103
|
-
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mapInstantiation", function() { return _maps_v3_client__WEBPACK_IMPORTED_MODULE_2__["mapInstantiation"]; });
|
|
55104
55187
|
|
|
55105
55188
|
|
|
55106
55189
|
|
|
@@ -55679,7 +55762,7 @@ function getTextPixelOffsetAccessor({
|
|
|
55679
55762
|
/*!************************************!*\
|
|
55680
55763
|
!*** ./src/api/maps-api-common.ts ***!
|
|
55681
55764
|
\************************************/
|
|
55682
|
-
/*! exports provided: DEFAULT_USER_COMPONENT_IN_URL, DEFAULT_REGION_COMPONENT_IN_URL, API_VERSIONS, DEFAULT_MAPS_URL_FORMAT, MAP_TYPES, COLUMNS_SUPPORT, GEO_COLUMN_SUPPORT, FORMATS, TILE_FORMATS, SchemaFieldType, encodeParameter */
|
|
55765
|
+
/*! exports provided: DEFAULT_USER_COMPONENT_IN_URL, DEFAULT_REGION_COMPONENT_IN_URL, API_VERSIONS, DEFAULT_MAPS_URL_FORMAT, MAP_TYPES, COLUMNS_SUPPORT, GEO_COLUMN_SUPPORT, FORMATS, TILE_FORMATS, SchemaFieldType, REQUEST_TYPES, encodeParameter */
|
|
55683
55766
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
55684
55767
|
|
|
55685
55768
|
"use strict";
|
|
@@ -55694,6 +55777,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
55694
55777
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FORMATS", function() { return FORMATS; });
|
|
55695
55778
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TILE_FORMATS", function() { return TILE_FORMATS; });
|
|
55696
55779
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SchemaFieldType", function() { return SchemaFieldType; });
|
|
55780
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "REQUEST_TYPES", function() { return REQUEST_TYPES; });
|
|
55697
55781
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "encodeParameter", function() { return encodeParameter; });
|
|
55698
55782
|
const DEFAULT_USER_COMPONENT_IN_URL = '{user}';
|
|
55699
55783
|
const DEFAULT_REGION_COMPONENT_IN_URL = '{region}';
|
|
@@ -55741,6 +55825,13 @@ let SchemaFieldType;
|
|
|
55741
55825
|
SchemaFieldType["Unknown"] = "unknown";
|
|
55742
55826
|
})(SchemaFieldType || (SchemaFieldType = {}));
|
|
55743
55827
|
|
|
55828
|
+
const REQUEST_TYPES = {
|
|
55829
|
+
DATA: 'Map data',
|
|
55830
|
+
INSTANTIATION: 'Map instantiation',
|
|
55831
|
+
PUBLIC_MAP: 'Public map',
|
|
55832
|
+
TILE_STATS: 'Tile stats'
|
|
55833
|
+
};
|
|
55834
|
+
|
|
55744
55835
|
/**
|
|
55745
55836
|
* Simple encode parameter
|
|
55746
55837
|
*/
|
|
@@ -55956,10 +56047,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
55956
56047
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fetchMap", function() { return fetchMap; });
|
|
55957
56048
|
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../config */ "./src/config.ts");
|
|
55958
56049
|
/* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.ts");
|
|
55959
|
-
/* harmony import */ var
|
|
55960
|
-
/* harmony import */ var
|
|
55961
|
-
/* harmony import */ var
|
|
55962
|
-
/* harmony import */ var
|
|
56050
|
+
/* harmony import */ var _carto_api_error__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./carto-api-error */ "./src/api/carto-api-error.ts");
|
|
56051
|
+
/* harmony import */ var _parseMap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./parseMap */ "./src/api/parseMap.ts");
|
|
56052
|
+
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
|
|
56053
|
+
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_4__);
|
|
56054
|
+
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils */ "./src/utils.ts");
|
|
55963
56055
|
/**
|
|
55964
56056
|
* Maps API Client for Carto 3
|
|
55965
56057
|
*/
|
|
@@ -55968,6 +56060,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
55968
56060
|
|
|
55969
56061
|
|
|
55970
56062
|
|
|
56063
|
+
|
|
55971
56064
|
const MAX_GET_LENGTH = 2048;
|
|
55972
56065
|
const DEFAULT_CLIENT = 'deck-gl-carto';
|
|
55973
56066
|
const V3_MINOR_VERSION = '3.1';
|
|
@@ -55980,7 +56073,8 @@ async function request({
|
|
|
55980
56073
|
url,
|
|
55981
56074
|
headers: customHeaders,
|
|
55982
56075
|
accessToken,
|
|
55983
|
-
body
|
|
56076
|
+
body,
|
|
56077
|
+
errorContext
|
|
55984
56078
|
}) {
|
|
55985
56079
|
const headers = { ...customHeaders,
|
|
55986
56080
|
Accept: 'application/json'
|
|
@@ -56002,7 +56096,7 @@ async function request({
|
|
|
56002
56096
|
body
|
|
56003
56097
|
});
|
|
56004
56098
|
} catch (error) {
|
|
56005
|
-
throw new
|
|
56099
|
+
throw new _carto_api_error__WEBPACK_IMPORTED_MODULE_2__["CartoAPIError"](error, errorContext);
|
|
56006
56100
|
}
|
|
56007
56101
|
}
|
|
56008
56102
|
|
|
@@ -56011,22 +56105,21 @@ async function requestJson({
|
|
|
56011
56105
|
url,
|
|
56012
56106
|
headers,
|
|
56013
56107
|
accessToken,
|
|
56014
|
-
body
|
|
56108
|
+
body,
|
|
56109
|
+
errorContext
|
|
56015
56110
|
}) {
|
|
56016
56111
|
const response = await request({
|
|
56017
56112
|
method,
|
|
56018
56113
|
url,
|
|
56019
56114
|
headers,
|
|
56020
56115
|
accessToken,
|
|
56021
|
-
body
|
|
56116
|
+
body,
|
|
56117
|
+
errorContext
|
|
56022
56118
|
});
|
|
56023
56119
|
const json = await response.json();
|
|
56024
56120
|
|
|
56025
56121
|
if (!response.ok) {
|
|
56026
|
-
|
|
56027
|
-
response,
|
|
56028
|
-
error: json.error
|
|
56029
|
-
});
|
|
56122
|
+
throw new _carto_api_error__WEBPACK_IMPORTED_MODULE_2__["CartoAPIError"](json.error, errorContext, response);
|
|
56030
56123
|
}
|
|
56031
56124
|
|
|
56032
56125
|
return json;
|
|
@@ -56037,14 +56130,16 @@ async function requestData({
|
|
|
56037
56130
|
url,
|
|
56038
56131
|
accessToken,
|
|
56039
56132
|
format,
|
|
56040
|
-
body
|
|
56133
|
+
body,
|
|
56134
|
+
errorContext
|
|
56041
56135
|
}) {
|
|
56042
56136
|
if (format === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].NDJSON) {
|
|
56043
56137
|
return request({
|
|
56044
56138
|
method,
|
|
56045
56139
|
url,
|
|
56046
56140
|
accessToken,
|
|
56047
|
-
body
|
|
56141
|
+
body,
|
|
56142
|
+
errorContext
|
|
56048
56143
|
});
|
|
56049
56144
|
}
|
|
56050
56145
|
|
|
@@ -56052,31 +56147,11 @@ async function requestData({
|
|
|
56052
56147
|
method,
|
|
56053
56148
|
url,
|
|
56054
56149
|
accessToken,
|
|
56055
|
-
body
|
|
56150
|
+
body,
|
|
56151
|
+
errorContext
|
|
56056
56152
|
});
|
|
56057
56153
|
return data.rows ? data.rows : data;
|
|
56058
56154
|
}
|
|
56059
|
-
/**
|
|
56060
|
-
* Display proper message from Maps API error
|
|
56061
|
-
*/
|
|
56062
|
-
|
|
56063
|
-
|
|
56064
|
-
function dealWithError({
|
|
56065
|
-
response,
|
|
56066
|
-
error
|
|
56067
|
-
}) {
|
|
56068
|
-
switch (response.status) {
|
|
56069
|
-
case 400:
|
|
56070
|
-
throw new Error(`Bad request. ${error}`);
|
|
56071
|
-
|
|
56072
|
-
case 401:
|
|
56073
|
-
case 403:
|
|
56074
|
-
throw new Error(`Unauthorized access. ${error}`);
|
|
56075
|
-
|
|
56076
|
-
default:
|
|
56077
|
-
throw new Error(error);
|
|
56078
|
-
}
|
|
56079
|
-
}
|
|
56080
56155
|
|
|
56081
56156
|
/**
|
|
56082
56157
|
* Build a URL with all required parameters
|
|
@@ -56154,12 +56229,21 @@ async function mapInstantiation({
|
|
|
56154
56229
|
const {
|
|
56155
56230
|
accessToken
|
|
56156
56231
|
} = credentials;
|
|
56232
|
+
const errorContext = {
|
|
56233
|
+
requestType: _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["REQUEST_TYPES"].INSTANTIATION,
|
|
56234
|
+
connection,
|
|
56235
|
+
type,
|
|
56236
|
+
source
|
|
56237
|
+
};
|
|
56157
56238
|
|
|
56158
56239
|
if (url.length > MAX_GET_LENGTH && type === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["MAP_TYPES"].QUERY) {
|
|
56159
56240
|
// need to be a POST request
|
|
56160
56241
|
const body = JSON.stringify({
|
|
56161
56242
|
q: source,
|
|
56162
56243
|
client: clientId || DEFAULT_CLIENT,
|
|
56244
|
+
aggregationResLevel,
|
|
56245
|
+
aggregationExp,
|
|
56246
|
+
geoColumn,
|
|
56163
56247
|
queryParameters
|
|
56164
56248
|
});
|
|
56165
56249
|
return await requestJson({
|
|
@@ -56167,14 +56251,16 @@ async function mapInstantiation({
|
|
|
56167
56251
|
url: baseUrl,
|
|
56168
56252
|
headers,
|
|
56169
56253
|
accessToken,
|
|
56170
|
-
body
|
|
56254
|
+
body,
|
|
56255
|
+
errorContext
|
|
56171
56256
|
});
|
|
56172
56257
|
}
|
|
56173
56258
|
|
|
56174
56259
|
return await requestJson({
|
|
56175
56260
|
url,
|
|
56176
56261
|
headers,
|
|
56177
|
-
accessToken
|
|
56262
|
+
accessToken,
|
|
56263
|
+
errorContext
|
|
56178
56264
|
});
|
|
56179
56265
|
}
|
|
56180
56266
|
|
|
@@ -56198,22 +56284,22 @@ function checkFetchLayerDataParameters({
|
|
|
56198
56284
|
aggregationExp,
|
|
56199
56285
|
aggregationResLevel
|
|
56200
56286
|
}) {
|
|
56201
|
-
Object(
|
|
56202
|
-
Object(
|
|
56203
|
-
Object(
|
|
56204
|
-
Object(
|
|
56205
|
-
Object(
|
|
56206
|
-
Object(
|
|
56287
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(connection, 'Must define connection');
|
|
56288
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(type, 'Must define a type');
|
|
56289
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(source, 'Must define a source');
|
|
56290
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(credentials.apiVersion === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V3, 'Method only available for v3');
|
|
56291
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(credentials.apiBaseUrl, 'Must define apiBaseUrl');
|
|
56292
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(credentials.accessToken, 'Must define an accessToken');
|
|
56207
56293
|
|
|
56208
56294
|
if (columns) {
|
|
56209
|
-
Object(
|
|
56295
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(_maps_api_common__WEBPACK_IMPORTED_MODULE_1__["COLUMNS_SUPPORT"].includes(type), `The columns parameter is not supported by type ${type}`);
|
|
56210
56296
|
}
|
|
56211
56297
|
|
|
56212
56298
|
if (geoColumn) {
|
|
56213
|
-
Object(
|
|
56299
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(_maps_api_common__WEBPACK_IMPORTED_MODULE_1__["GEO_COLUMN_SUPPORT"].includes(type), `The geoColumn parameter is not supported by type ${type}`);
|
|
56214
56300
|
} else {
|
|
56215
|
-
Object(
|
|
56216
|
-
Object(
|
|
56301
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(!aggregationExp, 'Have aggregationExp, but geoColumn parameter is missing');
|
|
56302
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(!aggregationResLevel, 'Have aggregationResLevel, but geoColumn parameter is missing');
|
|
56217
56303
|
}
|
|
56218
56304
|
}
|
|
56219
56305
|
|
|
@@ -56254,10 +56340,17 @@ async function fetchLayerData({
|
|
|
56254
56340
|
aggregationResLevel,
|
|
56255
56341
|
queryParameters
|
|
56256
56342
|
});
|
|
56343
|
+
const errorContext = {
|
|
56344
|
+
requestType: _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["REQUEST_TYPES"].DATA,
|
|
56345
|
+
connection,
|
|
56346
|
+
type,
|
|
56347
|
+
source
|
|
56348
|
+
};
|
|
56257
56349
|
const data = await requestData({
|
|
56258
56350
|
url,
|
|
56259
56351
|
format: mapFormat,
|
|
56260
|
-
accessToken
|
|
56352
|
+
accessToken,
|
|
56353
|
+
errorContext
|
|
56261
56354
|
});
|
|
56262
56355
|
const result = {
|
|
56263
56356
|
data,
|
|
@@ -56322,7 +56415,7 @@ async function _fetchDataUrl({
|
|
|
56322
56415
|
if (format) {
|
|
56323
56416
|
mapFormat = format;
|
|
56324
56417
|
url = getUrlFromMetadata(metadata, format);
|
|
56325
|
-
Object(
|
|
56418
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(url, `Format ${format} not available`);
|
|
56326
56419
|
} else {
|
|
56327
56420
|
// guess map format
|
|
56328
56421
|
const prioritizedFormats = [_maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].GEOJSON, _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].JSON, _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].NDJSON, _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].TILEJSON];
|
|
@@ -56336,11 +56429,11 @@ async function _fetchDataUrl({
|
|
|
56336
56429
|
}
|
|
56337
56430
|
}
|
|
56338
56431
|
|
|
56339
|
-
Object(
|
|
56432
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(url && mapFormat, 'Unsupported data formats received from backend.');
|
|
56340
56433
|
}
|
|
56341
56434
|
|
|
56342
56435
|
if (format === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].TILEJSON && formatTiles) {
|
|
56343
|
-
|
|
56436
|
+
_deck_gl_core__WEBPACK_IMPORTED_MODULE_4__["log"].assert(Object.values(_maps_api_common__WEBPACK_IMPORTED_MODULE_1__["TILE_FORMATS"]).includes(formatTiles), `Invalid value for formatTiles: ${formatTiles}. Use value from TILE_FORMATS`);
|
|
56344
56437
|
url += `&${Object(_maps_api_common__WEBPACK_IMPORTED_MODULE_1__["encodeParameter"])('formatTiles', formatTiles)}`;
|
|
56345
56438
|
}
|
|
56346
56439
|
|
|
@@ -56398,10 +56491,17 @@ async function _fetchMapDataset(dataset, accessToken, credentials, clientId, hea
|
|
|
56398
56491
|
|
|
56399
56492
|
dataset.cache = cache; // Only fetch if the data has changed
|
|
56400
56493
|
|
|
56494
|
+
const errorContext = {
|
|
56495
|
+
requestType: _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["REQUEST_TYPES"].DATA,
|
|
56496
|
+
connection,
|
|
56497
|
+
type,
|
|
56498
|
+
source
|
|
56499
|
+
};
|
|
56401
56500
|
dataset.data = await requestData({
|
|
56402
56501
|
url,
|
|
56403
56502
|
format: mapFormat,
|
|
56404
|
-
accessToken
|
|
56503
|
+
accessToken,
|
|
56504
|
+
errorContext
|
|
56405
56505
|
});
|
|
56406
56506
|
return true;
|
|
56407
56507
|
}
|
|
@@ -56422,10 +56522,17 @@ async function _fetchTilestats(attribute, dataset, accessToken, credentials) {
|
|
|
56422
56522
|
url += `${source}/${attribute}`;
|
|
56423
56523
|
}
|
|
56424
56524
|
|
|
56525
|
+
const errorContext = {
|
|
56526
|
+
requestType: _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["REQUEST_TYPES"].TILE_STATS,
|
|
56527
|
+
connection,
|
|
56528
|
+
type,
|
|
56529
|
+
source
|
|
56530
|
+
};
|
|
56425
56531
|
const stats = await requestData({
|
|
56426
56532
|
url,
|
|
56427
56533
|
format: _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["FORMATS"].JSON,
|
|
56428
|
-
accessToken
|
|
56534
|
+
accessToken,
|
|
56535
|
+
errorContext
|
|
56429
56536
|
}); // Replace tilestats for attribute with value from API
|
|
56430
56537
|
|
|
56431
56538
|
const {
|
|
@@ -56506,25 +56613,30 @@ async function fetchMap({
|
|
|
56506
56613
|
const {
|
|
56507
56614
|
accessToken
|
|
56508
56615
|
} = localCreds;
|
|
56509
|
-
Object(
|
|
56510
|
-
Object(
|
|
56511
|
-
Object(
|
|
56616
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(cartoMapId, 'Must define CARTO map id: fetchMap({cartoMapId: "XXXX-XXXX-XXXX"})');
|
|
56617
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(localCreds.apiVersion === _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["API_VERSIONS"].V3, 'Method only available for v3');
|
|
56618
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(localCreds.apiBaseUrl, 'Must define apiBaseUrl');
|
|
56512
56619
|
|
|
56513
56620
|
if (!localCreds.mapsUrl) {
|
|
56514
56621
|
localCreds.mapsUrl = Object(_config__WEBPACK_IMPORTED_MODULE_0__["buildMapsUrlFromBase"])(localCreds.apiBaseUrl);
|
|
56515
56622
|
}
|
|
56516
56623
|
|
|
56517
56624
|
if (autoRefresh || onNewData) {
|
|
56518
|
-
Object(
|
|
56519
|
-
Object(
|
|
56520
|
-
Object(
|
|
56625
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(onNewData, 'Must define `onNewData` when using autoRefresh');
|
|
56626
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(typeof onNewData === 'function', '`onNewData` must be a function');
|
|
56627
|
+
Object(_utils__WEBPACK_IMPORTED_MODULE_5__["assert"])(typeof autoRefresh === 'number' && autoRefresh > 0, '`autoRefresh` must be a positive number');
|
|
56521
56628
|
}
|
|
56522
56629
|
|
|
56523
56630
|
const url = `${localCreds.mapsUrl}/public/${cartoMapId}`;
|
|
56631
|
+
const errorContext = {
|
|
56632
|
+
requestType: _maps_api_common__WEBPACK_IMPORTED_MODULE_1__["REQUEST_TYPES"].PUBLIC_MAP,
|
|
56633
|
+
mapId: cartoMapId
|
|
56634
|
+
};
|
|
56524
56635
|
const map = await requestJson({
|
|
56525
56636
|
url,
|
|
56526
56637
|
headers,
|
|
56527
|
-
accessToken
|
|
56638
|
+
accessToken,
|
|
56639
|
+
errorContext
|
|
56528
56640
|
}); // Periodically check if the data has changed. Note that this
|
|
56529
56641
|
// will not update when a map is published.
|
|
56530
56642
|
|
|
@@ -56536,7 +56648,7 @@ async function fetchMap({
|
|
|
56536
56648
|
const changed = await fillInMapDatasets(map, clientId, localCreds, headers);
|
|
56537
56649
|
|
|
56538
56650
|
if (onNewData && changed.some(v => v === true)) {
|
|
56539
|
-
onNewData(Object(
|
|
56651
|
+
onNewData(Object(_parseMap__WEBPACK_IMPORTED_MODULE_3__["parseMap"])(map));
|
|
56540
56652
|
}
|
|
56541
56653
|
}, autoRefresh * 1000);
|
|
56542
56654
|
|
|
@@ -56566,7 +56678,7 @@ async function fetchMap({
|
|
|
56566
56678
|
await fillInMapDatasets(map, clientId, localCreds, headers); // Mutates attributes in visualChannels to contain tile stats
|
|
56567
56679
|
|
|
56568
56680
|
await fillInTileStats(map, localCreds);
|
|
56569
|
-
return { ...Object(
|
|
56681
|
+
return { ...Object(_parseMap__WEBPACK_IMPORTED_MODULE_3__["parseMap"])(map),
|
|
56570
56682
|
...{
|
|
56571
56683
|
stopAutoRefresh
|
|
56572
56684
|
}
|
|
@@ -57036,7 +57148,7 @@ function buildStatsUrlFromBase(apiBaseUrl) {
|
|
|
57036
57148
|
/*!**********************!*\
|
|
57037
57149
|
!*** ./src/index.ts ***!
|
|
57038
57150
|
\**********************/
|
|
57039
|
-
/*! exports provided: getDefaultCredentials, setDefaultCredentials, CartoLayer, _CartoTileLayer, _H3TileLayer, _QuadbinTileLayer, BASEMAP, colorBins, colorCategories, colorContinuous, FORMATS, TILE_FORMATS, MAP_TYPES, API_VERSIONS, fetchLayerData, fetchMap, _getDataV2, _mapInstantiation */
|
|
57151
|
+
/*! exports provided: getDefaultCredentials, setDefaultCredentials, CartoLayer, _CartoTileLayer, _H3TileLayer, _QuadbinTileLayer, BASEMAP, colorBins, colorCategories, colorContinuous, FORMATS, TILE_FORMATS, MAP_TYPES, API_VERSIONS, CartoAPIError, fetchLayerData, fetchMap, _getDataV2, _mapInstantiation */
|
|
57040
57152
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
57041
57153
|
|
|
57042
57154
|
"use strict";
|
|
@@ -57079,6 +57191,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
57079
57191
|
|
|
57080
57192
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "API_VERSIONS", function() { return _api__WEBPACK_IMPORTED_MODULE_9__["API_VERSIONS"]; });
|
|
57081
57193
|
|
|
57194
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CartoAPIError", function() { return _api__WEBPACK_IMPORTED_MODULE_9__["CartoAPIError"]; });
|
|
57195
|
+
|
|
57082
57196
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchLayerData", function() { return _api__WEBPACK_IMPORTED_MODULE_9__["fetchLayerData"]; });
|
|
57083
57197
|
|
|
57084
57198
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fetchMap", function() { return _api__WEBPACK_IMPORTED_MODULE_9__["fetchMap"]; });
|
|
@@ -57828,17 +57942,19 @@ _defineProperty(QuadbinLayer, "defaultProps", defaultProps);
|
|
|
57828
57942
|
/*!******************************************!*\
|
|
57829
57943
|
!*** ./src/layers/quadbin-tile-layer.ts ***!
|
|
57830
57944
|
\******************************************/
|
|
57831
|
-
/*! exports provided: default */
|
|
57945
|
+
/*! exports provided: renderSubLayers, default */
|
|
57832
57946
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
57833
57947
|
|
|
57834
57948
|
"use strict";
|
|
57835
57949
|
__webpack_require__.r(__webpack_exports__);
|
|
57950
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "renderSubLayers", function() { return renderSubLayers; });
|
|
57836
57951
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return QuadbinTileLayer; });
|
|
57837
57952
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
|
|
57838
57953
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
|
|
57839
57954
|
/* harmony import */ var _quadbin_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./quadbin-layer */ "./src/layers/quadbin-layer.ts");
|
|
57840
57955
|
/* harmony import */ var _quadbin_tileset_2d__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./quadbin-tileset-2d */ "./src/layers/quadbin-tileset-2d.ts");
|
|
57841
57956
|
/* harmony import */ var _spatial_index_tile_layer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./spatial-index-tile-layer */ "./src/layers/spatial-index-tile-layer.ts");
|
|
57957
|
+
/* harmony import */ var quadbin__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! quadbin */ "../../node_modules/quadbin/dist/esm/index.js");
|
|
57842
57958
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
57843
57959
|
|
|
57844
57960
|
|
|
@@ -57851,11 +57967,11 @@ const renderSubLayers = props => {
|
|
|
57851
57967
|
data
|
|
57852
57968
|
} = props;
|
|
57853
57969
|
if (!data || !data.length) return null;
|
|
57970
|
+
const isBigInt = typeof data[0].id === 'bigint';
|
|
57854
57971
|
return new _quadbin_layer__WEBPACK_IMPORTED_MODULE_1__["default"](props, {
|
|
57855
|
-
getQuadbin: d => d.id
|
|
57972
|
+
getQuadbin: isBigInt ? d => d.id : d => Object(quadbin__WEBPACK_IMPORTED_MODULE_4__["hexToBigInt"])(d.id)
|
|
57856
57973
|
});
|
|
57857
57974
|
};
|
|
57858
|
-
|
|
57859
57975
|
const defaultProps = {
|
|
57860
57976
|
aggregationResLevel: 6
|
|
57861
57977
|
};
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.CartoAPIError = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
13
|
+
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
|
|
16
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
+
|
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
+
|
|
20
|
+
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
21
|
+
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
25
|
+
|
|
26
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
27
|
+
|
|
28
|
+
var CartoAPIError = function (_Error) {
|
|
29
|
+
(0, _inherits2.default)(CartoAPIError, _Error);
|
|
30
|
+
|
|
31
|
+
var _super = _createSuper(CartoAPIError);
|
|
32
|
+
|
|
33
|
+
function CartoAPIError(error, errorContext, response) {
|
|
34
|
+
var _this;
|
|
35
|
+
|
|
36
|
+
(0, _classCallCheck2.default)(this, CartoAPIError);
|
|
37
|
+
var responseString = 'Failed to connect';
|
|
38
|
+
|
|
39
|
+
if (response) {
|
|
40
|
+
responseString = 'Server returned: ';
|
|
41
|
+
|
|
42
|
+
if (response.status === 400) {
|
|
43
|
+
responseString += 'Bad request';
|
|
44
|
+
} else if (response.status === 401 || response.status === 403) {
|
|
45
|
+
responseString += 'Unauthorized access';
|
|
46
|
+
} else if (response.status === 404) {
|
|
47
|
+
responseString += 'Not found';
|
|
48
|
+
} else {
|
|
49
|
+
responseString += 'Error';
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
responseString += " (".concat(response.status, "):");
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
responseString += " ".concat(error.message || error);
|
|
56
|
+
var message = "".concat(errorContext.requestType, " API request failed");
|
|
57
|
+
message += "\n".concat(responseString);
|
|
58
|
+
|
|
59
|
+
for (var _i = 0, _Object$keys = Object.keys(errorContext); _i < _Object$keys.length; _i++) {
|
|
60
|
+
var key = _Object$keys[_i];
|
|
61
|
+
if (key === 'requestType') continue;
|
|
62
|
+
message += "\n".concat(formatErrorKey(key), ": ").concat(errorContext[key]);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
message += '\n';
|
|
66
|
+
_this = _super.call(this, message);
|
|
67
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "error", void 0);
|
|
68
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "errorContext", void 0);
|
|
69
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "response", void 0);
|
|
70
|
+
_this.name = 'CartoAPIError';
|
|
71
|
+
_this.response = response;
|
|
72
|
+
_this.error = error;
|
|
73
|
+
_this.errorContext = errorContext;
|
|
74
|
+
return _this;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return CartoAPIError;
|
|
78
|
+
}((0, _wrapNativeSuper2.default)(Error));
|
|
79
|
+
|
|
80
|
+
exports.CartoAPIError = CartoAPIError;
|
|
81
|
+
|
|
82
|
+
function formatErrorKey(key) {
|
|
83
|
+
return key.replace(/([A-Z])/g, ' $1').replace(/^./, function (s) {
|
|
84
|
+
return s.toUpperCase();
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=carto-api-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/api/carto-api-error.ts"],"names":["CartoAPIError","error","errorContext","response","responseString","status","message","requestType","Object","keys","key","formatErrorKey","name","Error","replace","s","toUpperCase"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;IAgBaA,a;;;;;AAUX,yBAAYC,KAAZ,EAA0BC,YAA1B,EAAyDC,QAAzD,EAA8E;AAAA;;AAAA;AAC5E,QAAIC,cAAc,GAAG,mBAArB;;AACA,QAAID,QAAJ,EAAc;AACZC,MAAAA,cAAc,GAAG,mBAAjB;;AACA,UAAID,QAAQ,CAACE,MAAT,KAAoB,GAAxB,EAA6B;AAC3BD,QAAAA,cAAc,IAAI,aAAlB;AACD,OAFD,MAEO,IAAID,QAAQ,CAACE,MAAT,KAAoB,GAApB,IAA2BF,QAAQ,CAACE,MAAT,KAAoB,GAAnD,EAAwD;AAC7DD,QAAAA,cAAc,IAAI,qBAAlB;AACD,OAFM,MAEA,IAAID,QAAQ,CAACE,MAAT,KAAoB,GAAxB,EAA6B;AAClCD,QAAAA,cAAc,IAAI,WAAlB;AACD,OAFM,MAEA;AACLA,QAAAA,cAAc,IAAI,OAAlB;AACD;;AAEDA,MAAAA,cAAc,gBAASD,QAAQ,CAACE,MAAlB,OAAd;AACD;;AACDD,IAAAA,cAAc,eAAQH,KAAK,CAACK,OAAN,IAAiBL,KAAzB,CAAd;AAEA,QAAIK,OAAO,aAAMJ,YAAY,CAACK,WAAnB,wBAAX;AACAD,IAAAA,OAAO,gBAASF,cAAT,CAAP;;AACA,oCAAkBI,MAAM,CAACC,IAAP,CAAYP,YAAZ,CAAlB,kCAA6C;AAAxC,UAAMQ,GAAG,mBAAT;AACH,UAAIA,GAAG,KAAK,aAAZ,EAA2B;AAC3BJ,MAAAA,OAAO,gBAASK,cAAc,CAACD,GAAD,CAAvB,eAAiCR,YAAY,CAACQ,GAAD,CAA7C,CAAP;AACD;;AACDJ,IAAAA,OAAO,IAAI,IAAX;AAEA,8BAAMA,OAAN;AA1B4E;AAAA;AAAA;AA4B5E,UAAKM,IAAL,GAAY,eAAZ;AACA,UAAKT,QAAL,GAAgBA,QAAhB;AACA,UAAKF,KAAL,GAAaA,KAAb;AACA,UAAKC,YAAL,GAAoBA,YAApB;AA/B4E;AAgC7E;;;iCA1CgCW,K;;;;AAgDnC,SAASF,cAAT,CAAwBD,GAAxB,EAA6B;AAC3B,SAAOA,GAAG,CAACI,OAAJ,CAAY,UAAZ,EAAwB,KAAxB,EAA+BA,OAA/B,CAAuC,IAAvC,EAA6C,UAAAC,CAAC;AAAA,WAAIA,CAAC,CAACC,WAAF,EAAJ;AAAA,GAA9C,CAAP;AACD","sourcesContent":["import {MapType, RequestType} from './maps-api-common';\n\nexport type APIErrorContext = {\n requestType: RequestType;\n mapId?: string;\n connection?: string;\n source?: string;\n type?: MapType;\n};\n\n/**\n *\n * Custom error for reported errors in CARTO Maps API.\n * Provides useful debugging information in console and context for applications.\n *\n */\nexport class CartoAPIError extends Error {\n /** Source error from server */\n error: Error;\n\n /** Context (API call & parameters) in which error occured */\n errorContext: APIErrorContext;\n\n /** Response from server */\n response?: Response;\n\n constructor(error: Error, errorContext: APIErrorContext, response?: Response) {\n let responseString = 'Failed to connect';\n if (response) {\n responseString = 'Server returned: ';\n if (response.status === 400) {\n responseString += 'Bad request';\n } else if (response.status === 401 || response.status === 403) {\n responseString += 'Unauthorized access';\n } else if (response.status === 404) {\n responseString += 'Not found';\n } else {\n responseString += 'Error';\n }\n\n responseString += ` (${response.status}):`;\n }\n responseString += ` ${error.message || error}`;\n\n let message = `${errorContext.requestType} API request failed`;\n message += `\\n${responseString}`;\n for (const key of Object.keys(errorContext)) {\n if (key === 'requestType') continue; // eslint-disable-line no-continue\n message += `\\n${formatErrorKey(key)}: ${errorContext[key]}`;\n }\n message += '\\n';\n\n super(message);\n\n this.name = 'CartoAPIError';\n this.response = response;\n this.error = error;\n this.errorContext = errorContext;\n }\n}\n\n/**\n * Converts camelCase to Camel Case\n */\nfunction formatErrorKey(key) {\n return key.replace(/([A-Z])/g, ' $1').replace(/^./, s => s.toUpperCase());\n}\n"],"file":"carto-api-error.js"}
|