@deck.gl/carto 8.10.0-alpha.1 → 8.10.0-alpha.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/LICENSE +1 -1
- package/dist/cartoRasterTile-worker.js +1084 -0
- package/dist/cartoSpatialTile-worker.js +1469 -0
- package/dist/cartoVectorTile-worker.js +1727 -0
- package/dist/dist.dev.js +1740 -883
- package/dist/es5/api/layer-map.js +3 -7
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/maps-api-common.js +0 -1
- package/dist/es5/api/maps-api-common.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +5 -20
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/index.js +74 -6
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +7 -5
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/h3-tile-layer.js +23 -41
- package/dist/es5/layers/h3-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-layer.js +3 -0
- package/dist/es5/layers/quadbin-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-tile-layer.js +21 -42
- package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/es5/layers/raster-tile-layer.js +23 -39
- package/dist/es5/layers/raster-tile-layer.js.map +1 -1
- package/dist/es5/layers/schema/carto-raster-tile-loader.js +13 -4
- package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +1 -1
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js +14 -8
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/es5/layers/schema/carto-tile.js +1 -1
- package/dist/es5/layers/schema/carto-tile.js.map +1 -1
- package/dist/es5/layers/schema/carto-vector-tile-loader.js +64 -4
- package/dist/es5/layers/schema/carto-vector-tile-loader.js.map +1 -1
- package/dist/es5/layers/utils.js +29 -0
- package/dist/es5/layers/utils.js.map +1 -0
- package/dist/es5/layers/{carto-tile-layer.js → vector-tile-layer.js} +49 -24
- package/dist/es5/layers/vector-tile-layer.js.map +1 -0
- package/dist/es5/sources/base-source.js +100 -0
- package/dist/es5/sources/base-source.js.map +1 -0
- package/dist/es5/sources/common.js +48 -0
- package/dist/es5/sources/common.js.map +1 -0
- package/dist/es5/sources/h3-query-source.js +58 -0
- package/dist/es5/sources/h3-query-source.js.map +1 -0
- package/dist/es5/sources/h3-table-source.js +58 -0
- package/dist/es5/sources/h3-table-source.js.map +1 -0
- package/dist/es5/sources/h3-tileset-source.js +43 -0
- package/dist/es5/sources/h3-tileset-source.js.map +1 -0
- package/dist/es5/sources/index.js +94 -0
- package/dist/es5/sources/index.js.map +1 -0
- package/dist/es5/sources/quadbin-query-source.js +58 -0
- package/dist/es5/sources/quadbin-query-source.js.map +1 -0
- package/dist/es5/sources/quadbin-table-source.js +58 -0
- package/dist/es5/sources/quadbin-table-source.js.map +1 -0
- package/dist/es5/sources/quadbin-tileset-source.js +43 -0
- package/dist/es5/sources/quadbin-tileset-source.js.map +1 -0
- package/dist/es5/sources/raster-source.js +43 -0
- package/dist/es5/sources/raster-source.js.map +1 -0
- package/dist/es5/sources/utils.js +136 -0
- package/dist/es5/sources/utils.js.map +1 -0
- package/dist/es5/sources/vector-query-source.js +52 -0
- package/dist/es5/sources/vector-query-source.js.map +1 -0
- package/dist/es5/sources/vector-table-source.js +52 -0
- package/dist/es5/sources/vector-table-source.js.map +1 -0
- package/dist/es5/sources/vector-tileset-source.js +43 -0
- package/dist/es5/sources/vector-tileset-source.js.map +1 -0
- package/dist/es5/utils.js +5 -0
- package/dist/es5/utils.js.map +1 -1
- package/dist/es5/workers/cartoRasterTile.js +10 -0
- package/dist/es5/workers/cartoRasterTile.js.map +1 -0
- package/dist/es5/workers/cartoSpatialTile.js +10 -0
- package/dist/es5/workers/cartoSpatialTile.js.map +1 -0
- package/dist/es5/workers/cartoVectorTile.js +10 -0
- package/dist/es5/workers/cartoVectorTile.js.map +1 -0
- package/dist/esm/api/layer-map.js +3 -7
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/maps-api-common.js +0 -1
- package/dist/esm/api/maps-api-common.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +2 -12
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/index.js +5 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +5 -3
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/layers/h3-tile-layer.js +21 -37
- package/dist/esm/layers/h3-tile-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-layer.js +4 -1
- package/dist/esm/layers/quadbin-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-tile-layer.js +18 -38
- package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/esm/layers/raster-tile-layer.js +19 -34
- package/dist/esm/layers/raster-tile-layer.js.map +1 -1
- package/dist/esm/layers/schema/carto-raster-tile-loader.js +12 -4
- package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +1 -1
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js +13 -8
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/esm/layers/schema/carto-tile.js +1 -1
- package/dist/esm/layers/schema/carto-tile.js.map +1 -1
- package/dist/esm/layers/schema/carto-vector-tile-loader.js +63 -4
- package/dist/esm/layers/schema/carto-vector-tile-loader.js.map +1 -1
- package/dist/esm/layers/utils.js +14 -0
- package/dist/esm/layers/utils.js.map +1 -0
- package/dist/esm/layers/{carto-tile-layer.js → vector-tile-layer.js} +39 -15
- package/dist/esm/layers/vector-tile-layer.js.map +1 -0
- package/dist/esm/sources/base-source.js +49 -0
- package/dist/esm/sources/base-source.js.map +1 -0
- package/dist/esm/sources/common.js +26 -0
- package/dist/esm/sources/common.js.map +1 -0
- package/dist/esm/sources/h3-query-source.js +32 -0
- package/dist/esm/sources/h3-query-source.js.map +1 -0
- package/dist/esm/sources/h3-table-source.js +32 -0
- package/dist/esm/sources/h3-table-source.js.map +1 -0
- package/dist/esm/sources/h3-tileset-source.js +14 -0
- package/dist/esm/sources/h3-tileset-source.js.map +1 -0
- package/dist/esm/sources/index.js +12 -0
- package/dist/esm/sources/index.js.map +1 -0
- package/dist/esm/sources/quadbin-query-source.js +32 -0
- package/dist/esm/sources/quadbin-query-source.js.map +1 -0
- package/dist/esm/sources/quadbin-table-source.js +32 -0
- package/dist/esm/sources/quadbin-table-source.js.map +1 -0
- package/dist/esm/sources/quadbin-tileset-source.js +14 -0
- package/dist/esm/sources/quadbin-tileset-source.js.map +1 -0
- package/dist/esm/sources/raster-source.js +14 -0
- package/dist/esm/sources/raster-source.js.map +1 -0
- package/dist/esm/sources/utils.js +69 -0
- package/dist/esm/sources/utils.js.map +1 -0
- package/dist/esm/sources/vector-query-source.js +25 -0
- package/dist/esm/sources/vector-query-source.js.map +1 -0
- package/dist/esm/sources/vector-table-source.js +25 -0
- package/dist/esm/sources/vector-table-source.js.map +1 -0
- package/dist/esm/sources/vector-tileset-source.js +14 -0
- package/dist/esm/sources/vector-tileset-source.js.map +1 -0
- package/dist/esm/utils.js +3 -0
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/workers/cartoRasterTile.js +4 -0
- package/dist/esm/workers/cartoRasterTile.js.map +1 -0
- package/dist/esm/workers/cartoSpatialTile.js +4 -0
- package/dist/esm/workers/cartoSpatialTile.js.map +1 -0
- package/dist/esm/workers/cartoVectorTile.js +4 -0
- package/dist/esm/workers/cartoVectorTile.js.map +1 -0
- package/dist.min.js +25 -25
- package/package.json +12 -9
- package/src/api/layer-map.ts +4 -8
- package/src/api/maps-api-common.ts +0 -1
- package/src/api/maps-v3-client.ts +6 -5
- package/src/index.ts +34 -5
- package/src/layers/carto-layer.ts +8 -2
- package/src/layers/h3-tile-layer.ts +22 -35
- package/src/layers/quadbin-layer.ts +2 -1
- package/src/layers/quadbin-tile-layer.ts +19 -33
- package/src/layers/raster-tile-layer.ts +22 -26
- package/src/layers/schema/carto-raster-tile-loader.ts +26 -6
- package/src/layers/schema/carto-spatial-tile-loader.ts +25 -11
- package/src/layers/schema/carto-tile.ts +1 -1
- package/src/layers/schema/carto-vector-tile-loader.ts +79 -9
- package/src/layers/utils.ts +11 -0
- package/src/layers/{carto-tile-layer.ts → vector-tile-layer.ts} +40 -21
- package/src/sources/base-source.ts +55 -0
- package/src/sources/common.ts +132 -0
- package/src/sources/h3-query-source.ts +45 -0
- package/src/sources/h3-table-source.ts +46 -0
- package/src/sources/h3-tileset-source.ts +16 -0
- package/src/sources/index.ts +32 -0
- package/src/sources/quadbin-query-source.ts +46 -0
- package/src/sources/quadbin-table-source.ts +46 -0
- package/src/sources/quadbin-tileset-source.ts +16 -0
- package/src/sources/raster-source.ts +16 -0
- package/src/sources/utils.ts +63 -0
- package/src/sources/vector-query-source.ts +23 -0
- package/src/sources/vector-table-source.ts +23 -0
- package/src/sources/vector-tileset-source.ts +16 -0
- package/src/utils.ts +6 -0
- package/src/workers/cartoRasterTile.ts +4 -0
- package/src/workers/cartoSpatialTile.ts +4 -0
- package/src/workers/cartoVectorTile.ts +4 -0
- package/typed/api/layer-map.d.ts +2 -3
- package/typed/api/layer-map.d.ts.map +1 -1
- package/typed/api/maps-api-common.d.ts +0 -1
- package/typed/api/maps-api-common.d.ts.map +1 -1
- package/typed/api/maps-v3-client.d.ts +0 -3
- package/typed/api/maps-v3-client.d.ts.map +1 -1
- package/typed/index.d.ts +6 -4
- package/typed/index.d.ts.map +1 -1
- package/typed/layers/carto-layer.d.ts.map +1 -1
- package/typed/layers/h3-tile-layer.d.ts +5 -8
- package/typed/layers/h3-tile-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-tile-layer.d.ts +5 -9
- package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
- package/typed/layers/raster-tile-layer.d.ts +6 -10
- package/typed/layers/raster-tile-layer.d.ts.map +1 -1
- package/typed/layers/schema/carto-raster-tile-loader.d.ts.map +1 -1
- package/typed/layers/schema/carto-spatial-tile-loader.d.ts.map +1 -1
- package/typed/layers/schema/carto-vector-tile-loader.d.ts.map +1 -1
- package/typed/layers/utils.d.ts +5 -0
- package/typed/layers/utils.d.ts.map +1 -0
- package/typed/layers/{carto-tile-layer.d.ts → vector-tile-layer.d.ts} +11 -7
- package/typed/layers/vector-tile-layer.d.ts.map +1 -0
- package/typed/sources/base-source.d.ts +4 -0
- package/typed/sources/base-source.d.ts.map +1 -0
- package/typed/sources/common.d.ts +116 -0
- package/typed/sources/common.d.ts.map +1 -0
- package/typed/sources/h3-query-source.d.ts +5 -0
- package/typed/sources/h3-query-source.d.ts.map +1 -0
- package/typed/sources/h3-table-source.d.ts +5 -0
- package/typed/sources/h3-table-source.d.ts.map +1 -0
- package/typed/sources/h3-tileset-source.d.ts +5 -0
- package/typed/sources/h3-tileset-source.d.ts.map +1 -0
- package/typed/sources/index.d.ts +23 -0
- package/typed/sources/index.d.ts.map +1 -0
- package/typed/sources/quadbin-query-source.d.ts +5 -0
- package/typed/sources/quadbin-query-source.d.ts.map +1 -0
- package/typed/sources/quadbin-table-source.d.ts +5 -0
- package/typed/sources/quadbin-table-source.d.ts.map +1 -0
- package/typed/sources/quadbin-tileset-source.d.ts +5 -0
- package/typed/sources/quadbin-tileset-source.d.ts.map +1 -0
- package/typed/sources/raster-source.d.ts +5 -0
- package/typed/sources/raster-source.d.ts.map +1 -0
- package/typed/sources/utils.d.ts +15 -0
- package/typed/sources/utils.d.ts.map +1 -0
- package/typed/sources/vector-query-source.d.ts +5 -0
- package/typed/sources/vector-query-source.d.ts.map +1 -0
- package/typed/sources/vector-table-source.d.ts +5 -0
- package/typed/sources/vector-table-source.d.ts.map +1 -0
- package/typed/sources/vector-tileset-source.d.ts +5 -0
- package/typed/sources/vector-tileset-source.d.ts.map +1 -0
- package/typed/utils.d.ts +1 -0
- package/typed/utils.d.ts.map +1 -1
- package/typed/workers/cartoRasterTile.d.ts +2 -0
- package/typed/workers/cartoRasterTile.d.ts.map +1 -0
- package/typed/workers/cartoSpatialTile.d.ts +2 -0
- package/typed/workers/cartoSpatialTile.d.ts.map +1 -0
- package/typed/workers/cartoVectorTile.d.ts +2 -0
- package/typed/workers/cartoVectorTile.d.ts.map +1 -0
- package/dist/es5/layers/carto-tile-layer.js.map +0 -1
- package/dist/esm/layers/carto-tile-layer.js.map +0 -1
- package/typed/api/index.js +0 -3
- package/typed/api/layer-map.js +0 -264
- package/typed/api/maps-api-common.js +0 -50
- package/typed/api/maps-client.js +0 -125
- package/typed/api/maps-v3-client.js +0 -304
- package/typed/api/parseMap.js +0 -178
- package/typed/basemap.js +0 -9
- package/typed/config.js +0 -35
- package/typed/index.js +0 -10
- package/typed/layers/carto-layer.js +0 -173
- package/typed/layers/carto-tile-layer.d.ts.map +0 -1
- package/typed/layers/carto-tile-layer.js +0 -105
- package/typed/layers/h3-tile-layer.js +0 -47
- package/typed/layers/h3-tileset-2d.js +0 -85
- package/typed/layers/quadkey-tile-layer.d.ts +0 -21
- package/typed/layers/quadkey-tile-layer.d.ts.map +0 -1
- package/typed/layers/quadkey-tile-layer.js +0 -42
- package/typed/layers/quadkey-tileset-2d.d.ts +0 -15
- package/typed/layers/quadkey-tileset-2d.d.ts.map +0 -1
- package/typed/layers/quadkey-tileset-2d.js +0 -36
- package/typed/layers/schema/carto-tile.js +0 -161
- package/typed/layers/spatial-index-tile-layer.js +0 -40
- package/typed/style/color-bins-style.js +0 -12
- package/typed/style/color-categories-style.js +0 -16
- package/typed/style/color-continuous-style.js +0 -12
- package/typed/style/palette.js +0 -62
- package/typed/style/utils.js +0 -15
- package/typed/utils.js +0 -4
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.requestWithParameters = requestWithParameters;
|
|
9
|
+
exports.buildApiEndpoint = buildApiEndpoint;
|
|
10
|
+
|
|
11
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
12
|
+
|
|
13
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
14
|
+
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
|
|
17
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
18
|
+
|
|
19
|
+
var _cartoApiError = require("../api/carto-api-error");
|
|
20
|
+
|
|
21
|
+
var _mapsApiCommon = require("../api/maps-api-common");
|
|
22
|
+
|
|
23
|
+
var _common = require("./common");
|
|
24
|
+
|
|
25
|
+
var _config = require("../config");
|
|
26
|
+
|
|
27
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
28
|
+
|
|
29
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
30
|
+
|
|
31
|
+
function requestWithParameters(_x) {
|
|
32
|
+
return _requestWithParameters.apply(this, arguments);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function _requestWithParameters() {
|
|
36
|
+
_requestWithParameters = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(_ref) {
|
|
37
|
+
var baseUrl, parameters, customHeaders, errorContext, url, allParameters, encodedParameters, headers, response, json;
|
|
38
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
39
|
+
while (1) {
|
|
40
|
+
switch (_context.prev = _context.next) {
|
|
41
|
+
case 0:
|
|
42
|
+
baseUrl = _ref.baseUrl, parameters = _ref.parameters, customHeaders = _ref.headers, errorContext = _ref.errorContext;
|
|
43
|
+
url = baseUrl;
|
|
44
|
+
|
|
45
|
+
if (parameters) {
|
|
46
|
+
allParameters = _objectSpread(_objectSpread({}, _common.DEFAULT_PARAMETERS), parameters);
|
|
47
|
+
encodedParameters = Object.entries(allParameters).map(function (_ref3) {
|
|
48
|
+
var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
|
|
49
|
+
key = _ref4[0],
|
|
50
|
+
value = _ref4[1];
|
|
51
|
+
|
|
52
|
+
return (0, _mapsApiCommon.encodeParameter)(key, value);
|
|
53
|
+
});
|
|
54
|
+
url += "?".concat(encodedParameters.join('&'));
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
headers = _objectSpread(_objectSpread({}, _common.DEFAULT_HEADERS), customHeaders);
|
|
58
|
+
_context.prev = 4;
|
|
59
|
+
|
|
60
|
+
if (!(url.length > _common.MAX_GET_LENGTH)) {
|
|
61
|
+
_context.next = 11;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
_context.next = 8;
|
|
66
|
+
return fetch(url, {
|
|
67
|
+
method: 'POST',
|
|
68
|
+
body: JSON.stringify(parameters),
|
|
69
|
+
headers: headers
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
case 8:
|
|
73
|
+
response = _context.sent;
|
|
74
|
+
_context.next = 14;
|
|
75
|
+
break;
|
|
76
|
+
|
|
77
|
+
case 11:
|
|
78
|
+
_context.next = 13;
|
|
79
|
+
return fetch(url, {
|
|
80
|
+
headers: headers
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
case 13:
|
|
84
|
+
response = _context.sent;
|
|
85
|
+
|
|
86
|
+
case 14:
|
|
87
|
+
_context.prev = 14;
|
|
88
|
+
_context.next = 17;
|
|
89
|
+
return response.json();
|
|
90
|
+
|
|
91
|
+
case 17:
|
|
92
|
+
json = _context.sent;
|
|
93
|
+
_context.next = 23;
|
|
94
|
+
break;
|
|
95
|
+
|
|
96
|
+
case 20:
|
|
97
|
+
_context.prev = 20;
|
|
98
|
+
_context.t0 = _context["catch"](14);
|
|
99
|
+
json = {
|
|
100
|
+
error: ''
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
case 23:
|
|
104
|
+
if (response.ok) {
|
|
105
|
+
_context.next = 25;
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
throw new _cartoApiError.CartoAPIError(json.error, errorContext, response);
|
|
110
|
+
|
|
111
|
+
case 25:
|
|
112
|
+
return _context.abrupt("return", json);
|
|
113
|
+
|
|
114
|
+
case 28:
|
|
115
|
+
_context.prev = 28;
|
|
116
|
+
_context.t1 = _context["catch"](4);
|
|
117
|
+
throw new _cartoApiError.CartoAPIError(_context.t1, errorContext);
|
|
118
|
+
|
|
119
|
+
case 31:
|
|
120
|
+
case "end":
|
|
121
|
+
return _context.stop();
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}, _callee, null, [[4, 28], [14, 20]]);
|
|
125
|
+
}));
|
|
126
|
+
return _requestWithParameters.apply(this, arguments);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function buildApiEndpoint(_ref2) {
|
|
130
|
+
var apiBaseUrl = _ref2.apiBaseUrl,
|
|
131
|
+
connectionName = _ref2.connectionName,
|
|
132
|
+
endpoint = _ref2.endpoint,
|
|
133
|
+
mapsUrl = _ref2.mapsUrl;
|
|
134
|
+
return "".concat(mapsUrl || (0, _config.buildMapsUrlFromBase)(apiBaseUrl), "/").concat(connectionName, "/").concat(endpoint);
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/sources/utils.ts"],"names":["requestWithParameters","baseUrl","parameters","customHeaders","headers","errorContext","url","allParameters","DEFAULT_PARAMETERS","encodedParameters","Object","entries","map","key","value","join","DEFAULT_HEADERS","length","MAX_GET_LENGTH","fetch","method","body","JSON","stringify","response","json","error","ok","CartoAPIError","buildApiEndpoint","apiBaseUrl","connectionName","endpoint","mapsUrl"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;SAEsBA,qB;;;;;qFAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AACLC,YAAAA,OADK,QACLA,OADK,EAELC,UAFK,QAELA,UAFK,EAGIC,aAHJ,QAGLC,OAHK,EAILC,YAJK,QAILA,YAJK;AAWDC,YAAAA,GAXC,GAWKL,OAXL;;AAYL,gBAAIC,UAAJ,EAAgB;AACRK,cAAAA,aADQ,mCACYC,0BADZ,GACmCN,UADnC;AAERO,cAAAA,iBAFQ,GAEYC,MAAM,CAACC,OAAP,CAAeJ,aAAf,EAA8BK,GAA9B,CAAkC,iBAAkB;AAAA;AAAA,oBAAhBC,GAAgB;AAAA,oBAAXC,KAAW;;AAC5E,uBAAO,oCAAgBD,GAAhB,EAAqBC,KAArB,CAAP;AACD,eAFyB,CAFZ;AAKdR,cAAAA,GAAG,eAAQG,iBAAiB,CAACM,IAAlB,CAAuB,GAAvB,CAAR,CAAH;AACD;;AAEKX,YAAAA,OApBD,mCAoBeY,uBApBf,GAoBmCb,aApBnC;AAAA;;AAAA,kBAwBCG,GAAG,CAACW,MAAJ,GAAaC,sBAxBd;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAyBgBC,KAAK,CAACb,GAAD,EAAM;AAACc,cAAAA,MAAM,EAAE,MAAT;AAAiBC,cAAAA,IAAI,EAAEC,IAAI,CAACC,SAAL,CAAerB,UAAf,CAAvB;AAAmDE,cAAAA,OAAO,EAAPA;AAAnD,aAAN,CAzBrB;;AAAA;AAyBDoB,YAAAA,QAzBC;AAAA;AAAA;;AAAA;AAAA;AAAA,mBA2BgBL,KAAK,CAACb,GAAD,EAAM;AAACF,cAAAA,OAAO,EAAPA;AAAD,aAAN,CA3BrB;;AAAA;AA2BDoB,YAAAA,QA3BC;;AAAA;AAAA;AAAA;AAAA,mBA+BYA,QAAQ,CAACC,IAAT,EA/BZ;;AAAA;AA+BDA,YAAAA,IA/BC;AAAA;AAAA;;AAAA;AAAA;AAAA;AAiCDA,YAAAA,IAAI,GAAG;AAACC,cAAAA,KAAK,EAAE;AAAR,aAAP;;AAjCC;AAAA,gBAmCEF,QAAQ,CAACG,EAnCX;AAAA;AAAA;AAAA;;AAAA,kBAoCK,IAAIC,4BAAJ,CAAkBH,IAAI,CAACC,KAAvB,EAA8BrB,YAA9B,EAA4CmB,QAA5C,CApCL;;AAAA;AAAA,6CAuCIC,IAvCJ;;AAAA;AAAA;AAAA;AAAA,kBAyCG,IAAIG,4BAAJ,cAAkCvB,YAAlC,CAzCH;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AA6CA,SAASwB,gBAAT,QAUI;AAAA,MATTC,UASS,SATTA,UASS;AAAA,MARTC,cAQS,SARTA,cAQS;AAAA,MAPTC,QAOS,SAPTA,QAOS;AAAA,MANTC,OAMS,SANTA,OAMS;AACT,mBAAUA,OAAO,IAAI,kCAAqBH,UAArB,CAArB,cAAyDC,cAAzD,cAA2EC,QAA3E;AACD","sourcesContent":["import {APIErrorContext, CartoAPIError} from '../api/carto-api-error';\nimport {encodeParameter, MapType} from '../api/maps-api-common';\nimport {DEFAULT_HEADERS, DEFAULT_PARAMETERS, MAX_GET_LENGTH} from './common';\nimport {buildMapsUrlFromBase} from '../config';\n\nexport async function requestWithParameters<T = any>({\n baseUrl,\n parameters,\n headers: customHeaders,\n errorContext\n}: {\n baseUrl: string;\n parameters?: Record<string, string>;\n headers: Record<string, string>;\n errorContext: APIErrorContext;\n}): Promise<T> {\n let url = baseUrl;\n if (parameters) {\n const allParameters = {...DEFAULT_PARAMETERS, ...parameters};\n const encodedParameters = Object.entries(allParameters).map(([key, value]) => {\n return encodeParameter(key, value);\n });\n url += `?${encodedParameters.join('&')}`;\n }\n\n const headers = {...DEFAULT_HEADERS, ...customHeaders};\n try {\n /* global fetch */\n let response: Response;\n if (url.length > MAX_GET_LENGTH) {\n response = await fetch(url, {method: 'POST', body: JSON.stringify(parameters), headers});\n } else {\n response = await fetch(url, {headers});\n }\n let json: any;\n try {\n json = await response.json();\n } catch {\n json = {error: ''};\n }\n if (!response.ok) {\n throw new CartoAPIError(json.error, errorContext, response);\n }\n\n return json;\n } catch (error) {\n throw new CartoAPIError(error as Error, errorContext);\n }\n}\n\nexport function buildApiEndpoint({\n apiBaseUrl,\n connectionName,\n endpoint,\n mapsUrl\n}: {\n apiBaseUrl: string;\n connectionName: string;\n endpoint: MapType;\n mapsUrl?: string;\n}): string {\n return `${mapsUrl || buildMapsUrlFromBase(apiBaseUrl)}/${connectionName}/${endpoint}`;\n}\n"],"file":"utils.js"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.cartoVectorQuerySource = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _baseSource = require("./base-source");
|
|
15
|
+
|
|
16
|
+
var cartoVectorQuerySource = function () {
|
|
17
|
+
var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
|
|
18
|
+
var spatialDataColumn, sqlQuery, queryParameters, urlParameters;
|
|
19
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
20
|
+
while (1) {
|
|
21
|
+
switch (_context.prev = _context.next) {
|
|
22
|
+
case 0:
|
|
23
|
+
spatialDataColumn = options.spatialDataColumn, sqlQuery = options.sqlQuery, queryParameters = options.queryParameters;
|
|
24
|
+
urlParameters = {
|
|
25
|
+
q: sqlQuery
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
if (spatialDataColumn) {
|
|
29
|
+
urlParameters.geo_column = spatialDataColumn;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (queryParameters) {
|
|
33
|
+
urlParameters.queryParameters = JSON.stringify(queryParameters);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return _context.abrupt("return", (0, _baseSource.cartoBaseSource)('query', options, urlParameters));
|
|
37
|
+
|
|
38
|
+
case 5:
|
|
39
|
+
case "end":
|
|
40
|
+
return _context.stop();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}, _callee);
|
|
44
|
+
}));
|
|
45
|
+
|
|
46
|
+
return function cartoVectorQuerySource(_x) {
|
|
47
|
+
return _ref.apply(this, arguments);
|
|
48
|
+
};
|
|
49
|
+
}();
|
|
50
|
+
|
|
51
|
+
exports.cartoVectorQuerySource = cartoVectorQuerySource;
|
|
52
|
+
//# sourceMappingURL=vector-query-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/sources/vector-query-source.ts"],"names":["cartoVectorQuerySource","options","spatialDataColumn","sqlQuery","queryParameters","urlParameters","q","geo_column","JSON","stringify"],"mappings":";;;;;;;;;;;;;AACA;;AAMA,IAAMA,sBAAkE;AAAA,uEAAG,iBACzEC,OADyE;AAAA;AAAA;AAAA;AAAA;AAAA;AAGlEC,YAAAA,iBAHkE,GAGlBD,OAHkB,CAGlEC,iBAHkE,EAG/CC,QAH+C,GAGlBF,OAHkB,CAG/CE,QAH+C,EAGrCC,eAHqC,GAGlBH,OAHkB,CAGrCG,eAHqC;AAInEC,YAAAA,aAJmE,GAIpC;AAACC,cAAAA,CAAC,EAAEH;AAAJ,aAJoC;;AAMzE,gBAAID,iBAAJ,EAAuB;AACrBG,cAAAA,aAAa,CAACE,UAAd,GAA2BL,iBAA3B;AACD;;AACD,gBAAIE,eAAJ,EAAqB;AACnBC,cAAAA,aAAa,CAACD,eAAd,GAAgCI,IAAI,CAACC,SAAL,CAAeL,eAAf,CAAhC;AACD;;AAXwE,6CAYlE,iCAA+B,OAA/B,EAAwCH,OAAxC,EAAiDI,aAAjD,CAZkE;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAlEL,sBAAkE;AAAA;AAAA;AAAA,GAAxE","sourcesContent":["/* eslint-disable camelcase */\nimport {cartoBaseSource} from './base-source';\nimport {CartoSourceOptions, CartoQuerySourceOptions, TypedSource} from './common';\n\nexport type CartoVectorQuerySourceOptions = CartoSourceOptions & CartoQuerySourceOptions;\ntype UrlParameters = {geo_column?: string; q: string; queryParameters?: string};\n\nconst cartoVectorQuerySource: TypedSource<CartoVectorQuerySourceOptions> = async function (\n options: CartoVectorQuerySourceOptions\n): Promise<any> {\n const {spatialDataColumn, sqlQuery, queryParameters} = options;\n const urlParameters: UrlParameters = {q: sqlQuery};\n\n if (spatialDataColumn) {\n urlParameters.geo_column = spatialDataColumn;\n }\n if (queryParameters) {\n urlParameters.queryParameters = JSON.stringify(queryParameters);\n }\n return cartoBaseSource<UrlParameters>('query', options, urlParameters);\n};\n\nexport {cartoVectorQuerySource};\n"],"file":"vector-query-source.js"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.cartoVectorTableSource = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _baseSource = require("./base-source");
|
|
15
|
+
|
|
16
|
+
var cartoVectorTableSource = function () {
|
|
17
|
+
var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
|
|
18
|
+
var columns, spatialDataColumn, tableName, urlParameters;
|
|
19
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
20
|
+
while (1) {
|
|
21
|
+
switch (_context.prev = _context.next) {
|
|
22
|
+
case 0:
|
|
23
|
+
columns = options.columns, spatialDataColumn = options.spatialDataColumn, tableName = options.tableName;
|
|
24
|
+
urlParameters = {
|
|
25
|
+
name: tableName
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
if (columns) {
|
|
29
|
+
urlParameters.columns = columns.join(',');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (spatialDataColumn) {
|
|
33
|
+
urlParameters.geo_column = spatialDataColumn;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return _context.abrupt("return", (0, _baseSource.cartoBaseSource)('table', options, urlParameters));
|
|
37
|
+
|
|
38
|
+
case 5:
|
|
39
|
+
case "end":
|
|
40
|
+
return _context.stop();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}, _callee);
|
|
44
|
+
}));
|
|
45
|
+
|
|
46
|
+
return function cartoVectorTableSource(_x) {
|
|
47
|
+
return _ref.apply(this, arguments);
|
|
48
|
+
};
|
|
49
|
+
}();
|
|
50
|
+
|
|
51
|
+
exports.cartoVectorTableSource = cartoVectorTableSource;
|
|
52
|
+
//# sourceMappingURL=vector-table-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/sources/vector-table-source.ts"],"names":["cartoVectorTableSource","options","columns","spatialDataColumn","tableName","urlParameters","name","join","geo_column"],"mappings":";;;;;;;;;;;;;AACA;;AAMA,IAAMA,sBAAkE;AAAA,uEAAG,iBACzEC,OADyE;AAAA;AAAA;AAAA;AAAA;AAAA;AAGlEC,YAAAA,OAHkE,GAGzBD,OAHyB,CAGlEC,OAHkE,EAGzDC,iBAHyD,GAGzBF,OAHyB,CAGzDE,iBAHyD,EAGtCC,SAHsC,GAGzBH,OAHyB,CAGtCG,SAHsC;AAInEC,YAAAA,aAJmE,GAIpC;AAACC,cAAAA,IAAI,EAAEF;AAAP,aAJoC;;AAMzE,gBAAIF,OAAJ,EAAa;AACXG,cAAAA,aAAa,CAACH,OAAd,GAAwBA,OAAO,CAACK,IAAR,CAAa,GAAb,CAAxB;AACD;;AACD,gBAAIJ,iBAAJ,EAAuB;AACrBE,cAAAA,aAAa,CAACG,UAAd,GAA2BL,iBAA3B;AACD;;AAXwE,6CAYlE,iCAA+B,OAA/B,EAAwCF,OAAxC,EAAiDI,aAAjD,CAZkE;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAlEL,sBAAkE;AAAA;AAAA;AAAA,GAAxE","sourcesContent":["/* eslint-disable camelcase */\nimport {cartoBaseSource} from './base-source';\nimport {CartoSourceOptions, CartoTableSourceOptions, TypedSource} from './common';\n\nexport type CartoVectorTableSourceOptions = CartoSourceOptions & CartoTableSourceOptions;\ntype UrlParameters = {columns?: string; geo_column?: string; name: string};\n\nconst cartoVectorTableSource: TypedSource<CartoVectorTableSourceOptions> = async function (\n options: CartoVectorTableSourceOptions\n): Promise<any> {\n const {columns, spatialDataColumn, tableName} = options;\n const urlParameters: UrlParameters = {name: tableName};\n\n if (columns) {\n urlParameters.columns = columns.join(',');\n }\n if (spatialDataColumn) {\n urlParameters.geo_column = spatialDataColumn;\n }\n return cartoBaseSource<UrlParameters>('table', options, urlParameters);\n};\n\nexport {cartoVectorTableSource};\n"],"file":"vector-table-source.js"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.cartoVectorTilesetSource = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _baseSource = require("./base-source");
|
|
15
|
+
|
|
16
|
+
var cartoVectorTilesetSource = function () {
|
|
17
|
+
var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
|
|
18
|
+
var tableName, urlParameters;
|
|
19
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
20
|
+
while (1) {
|
|
21
|
+
switch (_context.prev = _context.next) {
|
|
22
|
+
case 0:
|
|
23
|
+
tableName = options.tableName;
|
|
24
|
+
urlParameters = {
|
|
25
|
+
name: tableName
|
|
26
|
+
};
|
|
27
|
+
return _context.abrupt("return", (0, _baseSource.cartoBaseSource)('tileset', options, urlParameters));
|
|
28
|
+
|
|
29
|
+
case 3:
|
|
30
|
+
case "end":
|
|
31
|
+
return _context.stop();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}, _callee);
|
|
35
|
+
}));
|
|
36
|
+
|
|
37
|
+
return function cartoVectorTilesetSource(_x) {
|
|
38
|
+
return _ref.apply(this, arguments);
|
|
39
|
+
};
|
|
40
|
+
}();
|
|
41
|
+
|
|
42
|
+
exports.cartoVectorTilesetSource = cartoVectorTilesetSource;
|
|
43
|
+
//# sourceMappingURL=vector-tileset-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/sources/vector-tileset-source.ts"],"names":["cartoVectorTilesetSource","options","tableName","urlParameters","name"],"mappings":";;;;;;;;;;;;;AAAA;;AAMA,IAAMA,wBAAyE;AAAA,uEAAG,iBAChFC,OADgF;AAAA;AAAA;AAAA;AAAA;AAAA;AAGzEC,YAAAA,SAHyE,GAG5DD,OAH4D,CAGzEC,SAHyE;AAI1EC,YAAAA,aAJ0E,GAI3C;AAACC,cAAAA,IAAI,EAAEF;AAAP,aAJ2C;AAAA,6CAMzE,iCAA+B,SAA/B,EAA0CD,OAA1C,EAAmDE,aAAnD,CANyE;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAzEH,wBAAyE;AAAA;AAAA;AAAA,GAA/E","sourcesContent":["import {cartoBaseSource} from './base-source';\nimport {CartoSourceOptions, CartoTilesetSourceOptions, TilejsonSource} from './common';\n\nexport type CartoVectorTilesetSourceOptions = CartoSourceOptions & CartoTilesetSourceOptions;\ntype UrlParameters = {name: string};\n\nconst cartoVectorTilesetSource: TilejsonSource<CartoVectorTilesetSourceOptions> = async function (\n options: CartoVectorTilesetSourceOptions\n): Promise<any> {\n const {tableName} = options;\n const urlParameters: UrlParameters = {name: tableName};\n\n return cartoBaseSource<UrlParameters>('tileset', options, urlParameters);\n};\n\nexport {cartoVectorTilesetSource};\n"],"file":"vector-tileset-source.js"}
|
package/dist/es5/utils.js
CHANGED
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.assert = assert;
|
|
7
7
|
exports.createBinaryProxy = createBinaryProxy;
|
|
8
|
+
exports.getWorkerUrl = getWorkerUrl;
|
|
8
9
|
|
|
9
10
|
var _core = require("@deck.gl/core");
|
|
10
11
|
|
|
@@ -28,4 +29,8 @@ function createBinaryProxy(data, index) {
|
|
|
28
29
|
}
|
|
29
30
|
});
|
|
30
31
|
}
|
|
32
|
+
|
|
33
|
+
function getWorkerUrl(id, version) {
|
|
34
|
+
return "https://unpkg.com/@deck.gl/carto@".concat(version, "/dist/").concat(id, "-worker.js");
|
|
35
|
+
}
|
|
31
36
|
//# sourceMappingURL=utils.js.map
|
package/dist/es5/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils.ts"],"names":["assert","condition","message","log","createBinaryProxy","data","index","properties","numericProps","Proxy","get","target","property","receiver","value","has"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/utils.ts"],"names":["assert","condition","message","log","createBinaryProxy","data","index","properties","numericProps","Proxy","get","target","property","receiver","value","has","getWorkerUrl","id","version"],"mappings":";;;;;;;;;AAAA;;AAGO,SAASA,MAAT,CAAgBC,SAAhB,EAAoCC,OAApC,EAAyE;AAC9EC,YAAIH,MAAJ,CAAWC,SAAX,EAAsBC,OAAtB;AACD;;AAIM,SAASE,iBAAT,CACLC,IADK,EAELC,KAFK,EAGL;AACA,MAAOC,UAAP,GAAmCF,IAAnC,CAAOE,UAAP;AAAA,MAAmBC,YAAnB,GAAmCH,IAAnC,CAAmBG,YAAnB;AACA,SAAO,IAAIC,KAAJ,CAAUF,UAAU,CAACD,KAAD,CAAV,IAAqB,EAA/B,EAAmC;AACxCI,IAAAA,GADwC,eACpCC,MADoC,EAC5BC,QAD4B,EAClBC,QADkB,EACR;AAC9B,UAAID,QAAQ,IAAIJ,YAAhB,EAA8B;AAC5B,eAAOA,YAAY,CAACI,QAAD,CAAZ,CAAiCE,KAAjC,CAAuCR,KAAvC,CAAP;AACD;;AACD,aAAOK,MAAM,CAACC,QAAD,CAAb;AACD,KANuC;AAQxCG,IAAAA,GARwC,eAQpCJ,MARoC,EAQ5BC,QAR4B,EAQlB;AACpB,aAAOA,QAAQ,IAAIJ,YAAZ,IAA4BI,QAAQ,IAAID,MAA/C;AACD;AAVuC,GAAnC,CAAP;AAYD;;AAEM,SAASK,YAAT,CAAsBC,EAAtB,EAAkCC,OAAlC,EAAmD;AAGxD,oDAA2CA,OAA3C,mBAA2DD,EAA3D;AACD","sourcesContent":["import {log} from '@deck.gl/core';\nimport type {Properties, NumericProps} from './layers/schema/spatialjson-utils';\n\nexport function assert(condition: unknown, message?: string): asserts condition {\n log.assert(condition, message);\n}\n\n// Returns a Proxy object that allows accessing binary data\n// as if it were JSON properties\nexport function createBinaryProxy(\n data: {numericProps: NumericProps; properties: Properties[]},\n index: number\n) {\n const {properties, numericProps} = data;\n return new Proxy(properties[index] || {}, {\n get(target, property, receiver) {\n if (property in numericProps) {\n return numericProps[property as string].value[index];\n }\n return target[property as string];\n },\n\n has(target, property) {\n return property in numericProps || property in target;\n }\n });\n}\n\nexport function getWorkerUrl(id: string, version: string) {\n // For local testing `yarn build-workers` and then host `modules/carto/dist/`\n // return `http://localhost:8081/dist/${id}-worker.js`;\n return `https://unpkg.com/@deck.gl/carto@${version}/dist/${id}-worker.js`;\n}\n"],"file":"utils.js"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
6
|
+
|
|
7
|
+
var _cartoRasterTileLoader = _interopRequireDefault(require("../layers/schema/carto-raster-tile-loader"));
|
|
8
|
+
|
|
9
|
+
(0, _loaderUtils.createLoaderWorker)(_cartoRasterTileLoader.default);
|
|
10
|
+
//# sourceMappingURL=cartoRasterTile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/workers/cartoRasterTile.ts"],"names":["CartoRasterTileLoader"],"mappings":";;;;AAAA;;AACA;;AAEA,qCAAmBA,8BAAnB","sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport CartoRasterTileLoader from '../layers/schema/carto-raster-tile-loader';\n\ncreateLoaderWorker(CartoRasterTileLoader);\n"],"file":"cartoRasterTile.js"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
6
|
+
|
|
7
|
+
var _cartoSpatialTileLoader = _interopRequireDefault(require("../layers/schema/carto-spatial-tile-loader"));
|
|
8
|
+
|
|
9
|
+
(0, _loaderUtils.createLoaderWorker)(_cartoSpatialTileLoader.default);
|
|
10
|
+
//# sourceMappingURL=cartoSpatialTile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/workers/cartoSpatialTile.ts"],"names":["CartoSpatialTileLoader"],"mappings":";;;;AAAA;;AACA;;AAEA,qCAAmBA,+BAAnB","sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport CartoSpatialTileLoader from '../layers/schema/carto-spatial-tile-loader';\n\ncreateLoaderWorker(CartoSpatialTileLoader);\n"],"file":"cartoSpatialTile.js"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
6
|
+
|
|
7
|
+
var _cartoVectorTileLoader = _interopRequireDefault(require("../layers/schema/carto-vector-tile-loader"));
|
|
8
|
+
|
|
9
|
+
(0, _loaderUtils.createLoaderWorker)(_cartoVectorTileLoader.default);
|
|
10
|
+
//# sourceMappingURL=cartoVectorTile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/workers/cartoVectorTile.ts"],"names":["CartoVectorTileLoader"],"mappings":";;;;AAAA;;AACA;;AAEA,qCAAmBA,8BAAnB","sourcesContent":["import {createLoaderWorker} from '@loaders.gl/loader-utils';\nimport CartoVectorTileLoader from '../layers/schema/carto-vector-tile-loader';\n\ncreateLoaderWorker(CartoVectorTileLoader);\n"],"file":"cartoVectorTile.js"}
|
|
@@ -5,11 +5,11 @@ import { format as d3Format } from 'd3-format';
|
|
|
5
5
|
import moment from 'moment-timezone';
|
|
6
6
|
import { CPUGridLayer, HeatmapLayer, HexagonLayer } from '@deck.gl/aggregation-layers';
|
|
7
7
|
import { GeoJsonLayer } from '@deck.gl/layers';
|
|
8
|
-
import { H3HexagonLayer
|
|
9
|
-
import CartoTileLayer from '../layers/carto-tile-layer';
|
|
8
|
+
import { H3HexagonLayer } from '@deck.gl/geo-layers';
|
|
10
9
|
import H3TileLayer from '../layers/h3-tile-layer';
|
|
11
10
|
import QuadbinTileLayer from '../layers/quadbin-tile-layer';
|
|
12
11
|
import RasterTileLayer from '../layers/raster-tile-layer';
|
|
12
|
+
import VectorTileLayer from '../layers/vector-tile-layer';
|
|
13
13
|
import { TILE_FORMATS } from './maps-api-common';
|
|
14
14
|
import { assert, createBinaryProxy } from '../utils';
|
|
15
15
|
const SCALE_FUNCS = {
|
|
@@ -221,11 +221,7 @@ export function layerFromTileDataset(formatTiles = TILE_FORMATS.MVT, scheme, typ
|
|
|
221
221
|
return QuadbinTileLayer;
|
|
222
222
|
}
|
|
223
223
|
|
|
224
|
-
|
|
225
|
-
return MVTLayer;
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
return CartoTileLayer;
|
|
224
|
+
return VectorTileLayer;
|
|
229
225
|
}
|
|
230
226
|
|
|
231
227
|
function getTileLayer(dataset, basePropMap) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/layer-map.ts"],"names":["deviation","extent","groupSort","median","variance","rgb","scaleLinear","scaleOrdinal","scaleLog","scalePoint","scaleQuantile","scaleQuantize","scaleSqrt","scaleThreshold","format","d3Format","moment","CPUGridLayer","HeatmapLayer","HexagonLayer","GeoJsonLayer","H3HexagonLayer","MVTLayer","CartoTileLayer","H3TileLayer","QuadbinTileLayer","RasterTileLayer","TILE_FORMATS","assert","createBinaryProxy","SCALE_FUNCS","linear","ordinal","log","point","quantile","quantize","sqrt","custom","identity","v","UNKNOWN_COLOR","AGGREGATION","average","maximum","minimum","sum","OPACITY_MAP","getFillColor","getLineColor","getTextColor","AGGREGATION_FUNC","values","accessor","length","mode","pop","stddev","hexToRGBA","c","r","g","b","opacity","sharedPropMap","color","isVisible","label","textLabel","alignment","anchor","size","visConfig","enable3d","elevationScale","filled","strokeColor","stroked","thickness","radius","wireframe","customMarkersPropsMap","aggregationVisConfig","colorAggregation","x","colorRange","colors","map","coverage","elevationPercentile","percentile","defaultProps","lineMiterLimit","lineWidthUnits","pointRadiusUnits","rounded","wrapLongitude","mergePropMaps","a","getLayer","type","config","dataset","basePropMap","customMarkers","getTileLayer","geoColumn","getPosition","d","coordinates","hexagonId","columns","hex_id","layerTypeDefs","Layer","propMap","altitude","parameters","depthTest","Boolean","outline","geojson","grid","worldUnitSize","cellSize","heatmap","hexagon","getHexagon","layer","layerFromTileDataset","formatTiles","MVT","scheme","aggregationExp","aggregationResLevel","data","tiles","tileUrl","URL","searchParams","get","uniqueIdProperty","domainFromAttribute","attribute","scaleType","scaleLength","categories","category","filter","undefined","quantiles","min","max","domainFromValues","sort","d0","d1","calculateDomain","name","tilestats","attributes","layers","find","features","properties","Array","isArray","normalizeAccessor","object","info","__source","index","proxy","opacityToAlpha","Math","round","pow","getAccessorKeys","aggregation","keys","concat","toUpperCase","findAccessorKey","key","Error","getColorValueAccessor","aggregator","p","getColorAccessor","range","colorMap","scale","domain","scaleColor","forEach","value","push","slice","unknown","alpha","accessorKeys","propertyValue","FALLBACK_ICON","getIconUrlAccessor","field","fallbackUrl","maxIconSize","useMaskedIcons","urlToUnpackedIcon","url","id","width","height","mask","unknownValue","othersMarker","unknownIcon","mapping","markerUrl","markerMap","getMaxMarkerSize","visualChannels","radiusRange","radiusField","sizeField","ceil","negateAccessor","i","getSizeAccessor","FORMATS","date","s","utc","integer","float","timestamp","default","String","getTextAccessor","_domainFromValues"],"mappings":"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","sourcesContent":["import {deviation, extent, groupSort, median, variance} from 'd3-array';\nimport {rgb} from 'd3-color';\nimport {\n scaleLinear,\n scaleOrdinal,\n scaleLog,\n scalePoint,\n scaleQuantile,\n scaleQuantize,\n scaleSqrt,\n scaleThreshold\n} from 'd3-scale';\nimport {format as d3Format} from 'd3-format';\nimport moment from 'moment-timezone';\n\nimport {Accessor, Layer, _ConstructorOf as ConstructorOf} from '@deck.gl/core';\nimport {CPUGridLayer, HeatmapLayer, HexagonLayer} from '@deck.gl/aggregation-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {H3HexagonLayer, MVTLayer} from '@deck.gl/geo-layers';\n\nimport CartoTileLayer from '../layers/carto-tile-layer';\nimport H3TileLayer from '../layers/h3-tile-layer';\nimport QuadbinTileLayer from '../layers/quadbin-tile-layer';\nimport RasterTileLayer from '../layers/raster-tile-layer';\nimport {MapType, TILE_FORMATS, TileFormat} from './maps-api-common';\nimport {assert, createBinaryProxy} from '../utils';\nimport {\n CustomMarkersRange,\n MapDataset,\n MapTextSubLayerConfig,\n VisConfig,\n VisualChannelField,\n VisualChannels\n} from './types';\n\nconst SCALE_FUNCS = {\n linear: scaleLinear,\n ordinal: scaleOrdinal,\n log: scaleLog,\n point: scalePoint,\n quantile: scaleQuantile,\n quantize: scaleQuantize,\n sqrt: scaleSqrt,\n custom: scaleThreshold\n};\nexport type SCALE_TYPE = keyof typeof SCALE_FUNCS;\n\nfunction identity<T>(v: T): T {\n return v;\n}\n\nconst UNKNOWN_COLOR = '#868d91';\n\nexport const AGGREGATION = {\n average: 'MEAN',\n maximum: 'MAX',\n minimum: 'MIN',\n sum: 'SUM'\n};\n\nexport const OPACITY_MAP = {\n getFillColor: 'opacity',\n getLineColor: 'strokeOpacity',\n getTextColor: 'opacity'\n};\n\nconst AGGREGATION_FUNC = {\n 'count unique': (values, accessor) => groupSort(values, v => v.length, accessor).length,\n median,\n // Unfortunately mode() is only available in d3-array@3+ which is ESM only\n mode: (values, accessor) => groupSort(values, v => v.length, accessor).pop(),\n stddev: deviation,\n variance\n};\n\nconst hexToRGBA = c => {\n const {r, g, b, opacity} = rgb(c);\n return [r, g, b, 255 * opacity];\n};\n\n// Kepler prop value -> Deck.gl prop value\n// Supports nested definitions, and function transforms:\n// {keplerProp: 'deckProp'} is equivalent to:\n// {keplerProp: x => ({deckProp: x})}\nconst sharedPropMap = {\n // Apply the value of Kepler `color` prop to the deck `getFillColor` prop\n color: 'getFillColor',\n isVisible: 'visible',\n label: 'cartoLabel',\n textLabel: {\n alignment: 'getTextAlignmentBaseline',\n anchor: 'getTextAnchor',\n // Apply the value of Kepler `textLabel.color` prop to the deck `getTextColor` prop\n color: 'getTextColor',\n size: 'getTextSize'\n },\n visConfig: {\n enable3d: 'extruded',\n elevationScale: 'elevationScale',\n filled: 'filled',\n strokeColor: 'getLineColor',\n stroked: 'stroked',\n thickness: 'getLineWidth',\n radius: 'getPointRadius',\n wireframe: 'wireframe'\n }\n};\n\nconst customMarkersPropsMap = {\n color: 'getIconColor',\n visConfig: {\n radius: 'getIconSize'\n }\n};\n\nconst aggregationVisConfig = {\n colorAggregation: x => ({colorAggregation: AGGREGATION[x] || AGGREGATION.sum}),\n colorRange: x => ({colorRange: x.colors.map(hexToRGBA)}),\n coverage: 'coverage',\n elevationPercentile: ['elevationLowerPercentile', 'elevationUpperPercentile'],\n percentile: ['lowerPercentile', 'upperPercentile']\n};\n\nconst defaultProps = {\n lineMiterLimit: 2,\n lineWidthUnits: 'pixels',\n pointRadiusUnits: 'pixels',\n rounded: true,\n wrapLongitude: false\n};\n\nfunction mergePropMaps(a: Record<string, any> = {}, b: Record<string, any> = {}) {\n return {...a, ...b, visConfig: {...a.visConfig, ...b.visConfig}};\n}\n\nexport function getLayer(\n type: string,\n config: MapTextSubLayerConfig,\n dataset: MapDataset\n): {Layer: ConstructorOf<Layer>; propMap: any; defaultProps: any} {\n let basePropMap: any = sharedPropMap;\n\n if (config.visConfig?.customMarkers) {\n basePropMap = mergePropMaps(sharedPropMap, customMarkersPropsMap);\n }\n if (type === 'mvt' || type === 'tileset' || type === 'h3' || type === 'quadbin') {\n return getTileLayer(dataset, basePropMap);\n }\n\n const geoColumn = dataset?.geoColumn;\n const getPosition = d => d[geoColumn].coordinates;\n\n const hexagonId = config.columns?.hex_id;\n\n const layerTypeDefs: Record<\n string,\n {Layer: ConstructorOf<Layer>; propMap?: any; defaultProps?: any}\n > = {\n point: {\n Layer: GeoJsonLayer,\n propMap: {\n columns: {\n altitude: x => ({parameters: {depthTest: Boolean(x)}})\n },\n visConfig: {outline: 'stroked'}\n }\n },\n geojson: {\n Layer: GeoJsonLayer\n },\n grid: {\n Layer: CPUGridLayer,\n propMap: {visConfig: {...aggregationVisConfig, worldUnitSize: x => ({cellSize: 1000 * x})}},\n defaultProps: {getPosition}\n },\n heatmap: {\n Layer: HeatmapLayer,\n propMap: {visConfig: {...aggregationVisConfig, radius: 'radiusPixels'}},\n defaultProps: {getPosition}\n },\n hexagon: {\n Layer: HexagonLayer,\n propMap: {visConfig: {...aggregationVisConfig, worldUnitSize: x => ({radius: 1000 * x})}},\n defaultProps: {getPosition}\n },\n hexagonId: {\n Layer: H3HexagonLayer,\n propMap: {visConfig: {coverage: 'coverage'}},\n defaultProps: {getHexagon: d => d[hexagonId], stroked: false}\n }\n };\n\n const layer = layerTypeDefs[type];\n\n assert(layer, `Unsupported layer type: ${type}`);\n return {\n ...layer,\n propMap: mergePropMaps(basePropMap, layer.propMap),\n defaultProps: {...defaultProps, ...layer.defaultProps}\n };\n}\n\nexport function layerFromTileDataset(\n formatTiles: TileFormat | null = TILE_FORMATS.MVT,\n scheme: string,\n type?: MapType\n): typeof CartoTileLayer | typeof H3TileLayer | typeof MVTLayer | typeof QuadbinTileLayer {\n if (type === 'raster') {\n return RasterTileLayer;\n }\n if (scheme === 'h3') {\n return H3TileLayer;\n }\n if (scheme === 'quadbin') {\n return QuadbinTileLayer;\n }\n if (formatTiles === 'mvt') {\n return MVTLayer;\n }\n\n // formatTiles === BINARY|JSON|GEOJSON\n return CartoTileLayer;\n}\n\nfunction getTileLayer(dataset: MapDataset, basePropMap) {\n const {\n aggregationExp,\n aggregationResLevel,\n data: {\n scheme,\n tiles: [tileUrl]\n }\n } = dataset;\n /* global URL */\n const formatTiles = new URL(tileUrl).searchParams.get('formatTiles') as TileFormat;\n\n return {\n Layer: layerFromTileDataset(formatTiles, scheme),\n propMap: basePropMap,\n defaultProps: {\n ...defaultProps,\n ...(aggregationExp && {aggregationExp}),\n ...(aggregationResLevel && {aggregationResLevel}),\n formatTiles,\n uniqueIdProperty: 'geoid'\n }\n };\n}\n\nfunction domainFromAttribute(attribute, scaleType: SCALE_TYPE, scaleLength: number) {\n if (scaleType === 'ordinal' || scaleType === 'point') {\n return attribute.categories.map(c => c.category).filter(c => c !== undefined && c !== null);\n }\n\n if (scaleType === 'quantile' && attribute.quantiles) {\n return attribute.quantiles[scaleLength];\n }\n\n let {min} = attribute;\n if (scaleType === 'log' && min === 0) {\n min = 1e-5;\n }\n return [min, attribute.max];\n}\n\nfunction domainFromValues(values, scaleType: SCALE_TYPE) {\n if (scaleType === 'ordinal' || scaleType === 'point') {\n return groupSort(\n values,\n g => -g.length,\n d => d\n );\n } else if (scaleType === 'quantile') {\n return values.sort((a, b) => a - b);\n } else if (scaleType === 'log') {\n const [d0, d1] = extent(values as number[]);\n return [d0 === 0 ? 1e-5 : d0, d1];\n }\n return extent(values);\n}\n\nfunction calculateDomain(data, name, scaleType, scaleLength?) {\n if (data.tilestats) {\n // Tileset data type\n const {attributes} = data.tilestats.layers[0];\n const attribute = attributes.find(a => a.attribute === name);\n return domainFromAttribute(attribute, scaleType, scaleLength);\n } else if (data.features) {\n // GeoJSON data type\n const values = data.features.map(({properties}) => properties[name]);\n return domainFromValues(values, scaleType);\n } else if (Array.isArray(data) && data[0][name] !== undefined) {\n // JSON data type\n const values = data.map(properties => properties[name]);\n return domainFromValues(values, scaleType);\n }\n\n return [0, 1];\n}\n\nfunction normalizeAccessor(accessor, data) {\n if (data.features || data.tilestats) {\n return (object, info) => {\n if (object) {\n return accessor(object.properties || object.__source.object.properties);\n }\n\n const {data, index} = info;\n const proxy = createBinaryProxy(data, index);\n return accessor(proxy);\n };\n }\n return accessor;\n}\n\nexport function opacityToAlpha(opacity?: number) {\n return opacity !== undefined ? Math.round(255 * Math.pow(opacity, 1 / 2.2)) : 255;\n}\n\nfunction getAccessorKeys(name: string, aggregation: string | undefined): string[] {\n let keys = [name];\n if (aggregation) {\n // Snowflake will capitalized the keys, need to check lower and upper case version\n keys = keys.concat([aggregation, aggregation.toUpperCase()].map(a => `${name}_${a}`));\n }\n return keys;\n}\n\nfunction findAccessorKey(keys: string[], properties): string[] {\n for (const key of keys) {\n if (key in properties) {\n return [key];\n }\n }\n\n throw new Error(`Could not find property for any accessor key: ${keys}`);\n}\n\nexport function getColorValueAccessor({name}, colorAggregation, data: any) {\n const aggregator = AGGREGATION_FUNC[colorAggregation];\n const accessor = values => aggregator(values, p => p[name]);\n return normalizeAccessor(accessor, data);\n}\n\nexport function getColorAccessor(\n {name},\n scaleType: SCALE_TYPE,\n {aggregation, range: {colors, colorMap}},\n opacity: number | undefined,\n data: any\n) {\n const scale = SCALE_FUNCS[scaleType as any]();\n let domain: (string | number)[] = [];\n let scaleColor: string[] = [];\n\n if (Array.isArray(colorMap)) {\n colorMap.forEach(([value, color]) => {\n domain.push(value);\n scaleColor.push(color);\n });\n } else {\n domain = calculateDomain(data, name, scaleType, colors.length);\n scaleColor = colors;\n }\n\n if (scaleType === 'ordinal') {\n domain = domain.slice(0, scaleColor.length);\n }\n\n scale.domain(domain);\n scale.range(scaleColor);\n scale.unknown(UNKNOWN_COLOR);\n const alpha = opacityToAlpha(opacity);\n\n let accessorKeys = getAccessorKeys(name, aggregation);\n const accessor = properties => {\n if (!(accessorKeys[0] in properties)) {\n accessorKeys = findAccessorKey(accessorKeys, properties);\n }\n const propertyValue = properties[accessorKeys[0]];\n const {r, g, b} = rgb(scale(propertyValue));\n return [r, g, b, propertyValue === null ? 0 : alpha];\n };\n return normalizeAccessor(accessor, data);\n}\n\nconst FALLBACK_ICON =\n 'data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgcj0iNTAiLz4NCjwvc3ZnPg==';\n\nexport function getIconUrlAccessor(\n field: VisualChannelField | null | undefined,\n range: CustomMarkersRange | null | undefined,\n {fallbackUrl, maxIconSize, useMaskedIcons},\n data: any\n) {\n const urlToUnpackedIcon = (url: string) => ({\n id: `${url}@@${maxIconSize}`,\n url,\n width: maxIconSize,\n height: maxIconSize,\n mask: useMaskedIcons\n });\n let unknownValue = fallbackUrl || FALLBACK_ICON;\n\n if (range?.othersMarker) {\n unknownValue = range.othersMarker;\n }\n\n const unknownIcon = urlToUnpackedIcon(unknownValue);\n if (!range || !field) {\n return () => unknownIcon;\n }\n\n const mapping: Record<string, any> = {};\n for (const {value, markerUrl} of range.markerMap) {\n if (markerUrl) {\n mapping[value] = urlToUnpackedIcon(markerUrl);\n }\n }\n\n const accessor = properties => {\n const propertyValue = properties[field.name];\n return mapping[propertyValue] || unknownIcon;\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport function getMaxMarkerSize(visConfig: VisConfig, visualChannels: VisualChannels): number {\n const {radiusRange, radius} = visConfig;\n const {radiusField, sizeField} = visualChannels;\n const field = radiusField || sizeField;\n return Math.ceil(radiusRange && field ? radiusRange[1] : radius);\n}\n\nexport function negateAccessor<T>(accessor: Accessor<T, number>): Accessor<T, number> {\n return typeof accessor === 'function' ? (d, i) => -accessor(d, i) : -accessor;\n}\n\nexport function getSizeAccessor(\n {name},\n scaleType: SCALE_TYPE | undefined,\n aggregation,\n range: Iterable<Range> | undefined,\n data: any\n) {\n const scale = scaleType ? SCALE_FUNCS[scaleType as any]() : identity;\n if (scaleType) {\n if (aggregation !== 'count') {\n scale.domain(calculateDomain(data, name, scaleType));\n }\n scale.range(range);\n }\n\n let accessorKeys = getAccessorKeys(name, aggregation);\n const accessor = properties => {\n if (!(accessorKeys[0] in properties)) {\n accessorKeys = findAccessorKey(accessorKeys, properties);\n }\n const propertyValue = properties[accessorKeys[0]];\n return scale(propertyValue);\n };\n return normalizeAccessor(accessor, data);\n}\n\nconst FORMATS: Record<string, (value: any) => string> = {\n date: s => moment.utc(s).format('MM/DD/YY HH:mm:ssa'),\n integer: d3Format('i'),\n float: d3Format('.5f'),\n timestamp: s => moment.utc(s).format('X'),\n default: String\n};\n\nexport function getTextAccessor({name, type}: VisualChannelField, data) {\n const format = FORMATS[type] || FORMATS.default;\n const accessor = properties => {\n return format(properties[name]);\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport {domainFromValues as _domainFromValues};\n"],"file":"layer-map.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/api/layer-map.ts"],"names":["deviation","extent","groupSort","median","variance","rgb","scaleLinear","scaleOrdinal","scaleLog","scalePoint","scaleQuantile","scaleQuantize","scaleSqrt","scaleThreshold","format","d3Format","moment","CPUGridLayer","HeatmapLayer","HexagonLayer","GeoJsonLayer","H3HexagonLayer","H3TileLayer","QuadbinTileLayer","RasterTileLayer","VectorTileLayer","TILE_FORMATS","assert","createBinaryProxy","SCALE_FUNCS","linear","ordinal","log","point","quantile","quantize","sqrt","custom","identity","v","UNKNOWN_COLOR","AGGREGATION","average","maximum","minimum","sum","OPACITY_MAP","getFillColor","getLineColor","getTextColor","AGGREGATION_FUNC","values","accessor","length","mode","pop","stddev","hexToRGBA","c","r","g","b","opacity","sharedPropMap","color","isVisible","label","textLabel","alignment","anchor","size","visConfig","enable3d","elevationScale","filled","strokeColor","stroked","thickness","radius","wireframe","customMarkersPropsMap","aggregationVisConfig","colorAggregation","x","colorRange","colors","map","coverage","elevationPercentile","percentile","defaultProps","lineMiterLimit","lineWidthUnits","pointRadiusUnits","rounded","wrapLongitude","mergePropMaps","a","getLayer","type","config","dataset","basePropMap","customMarkers","getTileLayer","geoColumn","getPosition","d","coordinates","hexagonId","columns","hex_id","layerTypeDefs","Layer","propMap","altitude","parameters","depthTest","Boolean","outline","geojson","grid","worldUnitSize","cellSize","heatmap","hexagon","getHexagon","layer","layerFromTileDataset","formatTiles","MVT","scheme","aggregationExp","aggregationResLevel","data","tiles","tileUrl","URL","searchParams","get","uniqueIdProperty","domainFromAttribute","attribute","scaleType","scaleLength","categories","category","filter","undefined","quantiles","min","max","domainFromValues","sort","d0","d1","calculateDomain","name","tilestats","attributes","layers","find","features","properties","Array","isArray","normalizeAccessor","object","info","__source","index","proxy","opacityToAlpha","Math","round","pow","getAccessorKeys","aggregation","keys","concat","toUpperCase","findAccessorKey","key","Error","getColorValueAccessor","aggregator","p","getColorAccessor","range","colorMap","scale","domain","scaleColor","forEach","value","push","slice","unknown","alpha","accessorKeys","propertyValue","FALLBACK_ICON","getIconUrlAccessor","field","fallbackUrl","maxIconSize","useMaskedIcons","urlToUnpackedIcon","url","id","width","height","mask","unknownValue","othersMarker","unknownIcon","mapping","markerUrl","markerMap","getMaxMarkerSize","visualChannels","radiusRange","radiusField","sizeField","ceil","negateAccessor","i","getSizeAccessor","FORMATS","date","s","utc","integer","float","timestamp","default","String","getTextAccessor","_domainFromValues"],"mappings":"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","sourcesContent":["import {deviation, extent, groupSort, median, variance} from 'd3-array';\nimport {rgb} from 'd3-color';\nimport {\n scaleLinear,\n scaleOrdinal,\n scaleLog,\n scalePoint,\n scaleQuantile,\n scaleQuantize,\n scaleSqrt,\n scaleThreshold\n} from 'd3-scale';\nimport {format as d3Format} from 'd3-format';\nimport moment from 'moment-timezone';\n\nimport {Accessor, Layer, _ConstructorOf as ConstructorOf} from '@deck.gl/core';\nimport {CPUGridLayer, HeatmapLayer, HexagonLayer} from '@deck.gl/aggregation-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {H3HexagonLayer} from '@deck.gl/geo-layers';\n\nimport H3TileLayer from '../layers/h3-tile-layer';\nimport QuadbinTileLayer from '../layers/quadbin-tile-layer';\nimport RasterTileLayer from '../layers/raster-tile-layer';\nimport VectorTileLayer from '../layers/vector-tile-layer';\nimport {MapType, TILE_FORMATS, TileFormat} from './maps-api-common';\nimport {assert, createBinaryProxy} from '../utils';\nimport {\n CustomMarkersRange,\n MapDataset,\n MapTextSubLayerConfig,\n VisConfig,\n VisualChannelField,\n VisualChannels\n} from './types';\n\nconst SCALE_FUNCS = {\n linear: scaleLinear,\n ordinal: scaleOrdinal,\n log: scaleLog,\n point: scalePoint,\n quantile: scaleQuantile,\n quantize: scaleQuantize,\n sqrt: scaleSqrt,\n custom: scaleThreshold\n};\nexport type SCALE_TYPE = keyof typeof SCALE_FUNCS;\n\nfunction identity<T>(v: T): T {\n return v;\n}\n\nconst UNKNOWN_COLOR = '#868d91';\n\nexport const AGGREGATION = {\n average: 'MEAN',\n maximum: 'MAX',\n minimum: 'MIN',\n sum: 'SUM'\n};\n\nexport const OPACITY_MAP = {\n getFillColor: 'opacity',\n getLineColor: 'strokeOpacity',\n getTextColor: 'opacity'\n};\n\nconst AGGREGATION_FUNC = {\n 'count unique': (values, accessor) => groupSort(values, v => v.length, accessor).length,\n median,\n // Unfortunately mode() is only available in d3-array@3+ which is ESM only\n mode: (values, accessor) => groupSort(values, v => v.length, accessor).pop(),\n stddev: deviation,\n variance\n};\n\nconst hexToRGBA = c => {\n const {r, g, b, opacity} = rgb(c);\n return [r, g, b, 255 * opacity];\n};\n\n// Kepler prop value -> Deck.gl prop value\n// Supports nested definitions, and function transforms:\n// {keplerProp: 'deckProp'} is equivalent to:\n// {keplerProp: x => ({deckProp: x})}\nconst sharedPropMap = {\n // Apply the value of Kepler `color` prop to the deck `getFillColor` prop\n color: 'getFillColor',\n isVisible: 'visible',\n label: 'cartoLabel',\n textLabel: {\n alignment: 'getTextAlignmentBaseline',\n anchor: 'getTextAnchor',\n // Apply the value of Kepler `textLabel.color` prop to the deck `getTextColor` prop\n color: 'getTextColor',\n size: 'getTextSize'\n },\n visConfig: {\n enable3d: 'extruded',\n elevationScale: 'elevationScale',\n filled: 'filled',\n strokeColor: 'getLineColor',\n stroked: 'stroked',\n thickness: 'getLineWidth',\n radius: 'getPointRadius',\n wireframe: 'wireframe'\n }\n};\n\nconst customMarkersPropsMap = {\n color: 'getIconColor',\n visConfig: {\n radius: 'getIconSize'\n }\n};\n\nconst aggregationVisConfig = {\n colorAggregation: x => ({colorAggregation: AGGREGATION[x] || AGGREGATION.sum}),\n colorRange: x => ({colorRange: x.colors.map(hexToRGBA)}),\n coverage: 'coverage',\n elevationPercentile: ['elevationLowerPercentile', 'elevationUpperPercentile'],\n percentile: ['lowerPercentile', 'upperPercentile']\n};\n\nconst defaultProps = {\n lineMiterLimit: 2,\n lineWidthUnits: 'pixels',\n pointRadiusUnits: 'pixels',\n rounded: true,\n wrapLongitude: false\n};\n\nfunction mergePropMaps(a: Record<string, any> = {}, b: Record<string, any> = {}) {\n return {...a, ...b, visConfig: {...a.visConfig, ...b.visConfig}};\n}\n\nexport function getLayer(\n type: string,\n config: MapTextSubLayerConfig,\n dataset: MapDataset\n): {Layer: ConstructorOf<Layer>; propMap: any; defaultProps: any} {\n let basePropMap: any = sharedPropMap;\n\n if (config.visConfig?.customMarkers) {\n basePropMap = mergePropMaps(sharedPropMap, customMarkersPropsMap);\n }\n if (type === 'mvt' || type === 'tileset' || type === 'h3' || type === 'quadbin') {\n return getTileLayer(dataset, basePropMap);\n }\n\n const geoColumn = dataset?.geoColumn;\n const getPosition = d => d[geoColumn].coordinates;\n\n const hexagonId = config.columns?.hex_id;\n\n const layerTypeDefs: Record<\n string,\n {Layer: ConstructorOf<Layer>; propMap?: any; defaultProps?: any}\n > = {\n point: {\n Layer: GeoJsonLayer,\n propMap: {\n columns: {\n altitude: x => ({parameters: {depthTest: Boolean(x)}})\n },\n visConfig: {outline: 'stroked'}\n }\n },\n geojson: {\n Layer: GeoJsonLayer\n },\n grid: {\n Layer: CPUGridLayer,\n propMap: {visConfig: {...aggregationVisConfig, worldUnitSize: x => ({cellSize: 1000 * x})}},\n defaultProps: {getPosition}\n },\n heatmap: {\n Layer: HeatmapLayer,\n propMap: {visConfig: {...aggregationVisConfig, radius: 'radiusPixels'}},\n defaultProps: {getPosition}\n },\n hexagon: {\n Layer: HexagonLayer,\n propMap: {visConfig: {...aggregationVisConfig, worldUnitSize: x => ({radius: 1000 * x})}},\n defaultProps: {getPosition}\n },\n hexagonId: {\n Layer: H3HexagonLayer,\n propMap: {visConfig: {coverage: 'coverage'}},\n defaultProps: {getHexagon: d => d[hexagonId], stroked: false}\n }\n };\n\n const layer = layerTypeDefs[type];\n\n assert(layer, `Unsupported layer type: ${type}`);\n return {\n ...layer,\n propMap: mergePropMaps(basePropMap, layer.propMap),\n defaultProps: {...defaultProps, ...layer.defaultProps}\n };\n}\n\nexport function layerFromTileDataset(\n formatTiles: TileFormat | null = TILE_FORMATS.MVT,\n scheme: string,\n type?: MapType\n): typeof VectorTileLayer | typeof H3TileLayer | typeof QuadbinTileLayer {\n if (type === 'raster') {\n return RasterTileLayer;\n }\n if (scheme === 'h3') {\n return H3TileLayer;\n }\n if (scheme === 'quadbin') {\n return QuadbinTileLayer;\n }\n\n return VectorTileLayer;\n}\n\nfunction getTileLayer(dataset: MapDataset, basePropMap) {\n const {\n aggregationExp,\n aggregationResLevel,\n data: {\n scheme,\n tiles: [tileUrl]\n }\n } = dataset;\n /* global URL */\n const formatTiles = new URL(tileUrl).searchParams.get('formatTiles') as TileFormat;\n\n return {\n Layer: layerFromTileDataset(formatTiles, scheme),\n propMap: basePropMap,\n defaultProps: {\n ...defaultProps,\n ...(aggregationExp && {aggregationExp}),\n ...(aggregationResLevel && {aggregationResLevel}),\n formatTiles,\n uniqueIdProperty: 'geoid'\n }\n };\n}\n\nfunction domainFromAttribute(attribute, scaleType: SCALE_TYPE, scaleLength: number) {\n if (scaleType === 'ordinal' || scaleType === 'point') {\n return attribute.categories.map(c => c.category).filter(c => c !== undefined && c !== null);\n }\n\n if (scaleType === 'quantile' && attribute.quantiles) {\n return attribute.quantiles[scaleLength];\n }\n\n let {min} = attribute;\n if (scaleType === 'log' && min === 0) {\n min = 1e-5;\n }\n return [min, attribute.max];\n}\n\nfunction domainFromValues(values, scaleType: SCALE_TYPE) {\n if (scaleType === 'ordinal' || scaleType === 'point') {\n return groupSort(\n values,\n g => -g.length,\n d => d\n );\n } else if (scaleType === 'quantile') {\n return values.sort((a, b) => a - b);\n } else if (scaleType === 'log') {\n const [d0, d1] = extent(values as number[]);\n return [d0 === 0 ? 1e-5 : d0, d1];\n }\n return extent(values);\n}\n\nfunction calculateDomain(data, name, scaleType, scaleLength?) {\n if (data.tilestats) {\n // Tileset data type\n const {attributes} = data.tilestats.layers[0];\n const attribute = attributes.find(a => a.attribute === name);\n return domainFromAttribute(attribute, scaleType, scaleLength);\n } else if (data.features) {\n // GeoJSON data type\n const values = data.features.map(({properties}) => properties[name]);\n return domainFromValues(values, scaleType);\n } else if (Array.isArray(data) && data[0][name] !== undefined) {\n // JSON data type\n const values = data.map(properties => properties[name]);\n return domainFromValues(values, scaleType);\n }\n\n return [0, 1];\n}\n\nfunction normalizeAccessor(accessor, data) {\n if (data.features || data.tilestats) {\n return (object, info) => {\n if (object) {\n return accessor(object.properties || object.__source.object.properties);\n }\n\n const {data, index} = info;\n const proxy = createBinaryProxy(data, index);\n return accessor(proxy);\n };\n }\n return accessor;\n}\n\nexport function opacityToAlpha(opacity?: number) {\n return opacity !== undefined ? Math.round(255 * Math.pow(opacity, 1 / 2.2)) : 255;\n}\n\nfunction getAccessorKeys(name: string, aggregation: string | undefined): string[] {\n let keys = [name];\n if (aggregation) {\n // Snowflake will capitalized the keys, need to check lower and upper case version\n keys = keys.concat([aggregation, aggregation.toUpperCase()].map(a => `${name}_${a}`));\n }\n return keys;\n}\n\nfunction findAccessorKey(keys: string[], properties): string[] {\n for (const key of keys) {\n if (key in properties) {\n return [key];\n }\n }\n\n throw new Error(`Could not find property for any accessor key: ${keys}`);\n}\n\nexport function getColorValueAccessor({name}, colorAggregation, data: any) {\n const aggregator = AGGREGATION_FUNC[colorAggregation];\n const accessor = values => aggregator(values, p => p[name]);\n return normalizeAccessor(accessor, data);\n}\n\nexport function getColorAccessor(\n {name},\n scaleType: SCALE_TYPE,\n {aggregation, range: {colors, colorMap}},\n opacity: number | undefined,\n data: any\n) {\n const scale = SCALE_FUNCS[scaleType as any]();\n let domain: (string | number)[] = [];\n let scaleColor: string[] = [];\n\n if (Array.isArray(colorMap)) {\n colorMap.forEach(([value, color]) => {\n domain.push(value);\n scaleColor.push(color);\n });\n } else {\n domain = calculateDomain(data, name, scaleType, colors.length);\n scaleColor = colors;\n }\n\n if (scaleType === 'ordinal') {\n domain = domain.slice(0, scaleColor.length);\n }\n\n scale.domain(domain);\n scale.range(scaleColor);\n scale.unknown(UNKNOWN_COLOR);\n const alpha = opacityToAlpha(opacity);\n\n let accessorKeys = getAccessorKeys(name, aggregation);\n const accessor = properties => {\n if (!(accessorKeys[0] in properties)) {\n accessorKeys = findAccessorKey(accessorKeys, properties);\n }\n const propertyValue = properties[accessorKeys[0]];\n const {r, g, b} = rgb(scale(propertyValue));\n return [r, g, b, propertyValue === null ? 0 : alpha];\n };\n return normalizeAccessor(accessor, data);\n}\n\nconst FALLBACK_ICON =\n 'data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgcj0iNTAiLz4NCjwvc3ZnPg==';\n\nexport function getIconUrlAccessor(\n field: VisualChannelField | null | undefined,\n range: CustomMarkersRange | null | undefined,\n {fallbackUrl, maxIconSize, useMaskedIcons},\n data: any\n) {\n const urlToUnpackedIcon = (url: string) => ({\n id: `${url}@@${maxIconSize}`,\n url,\n width: maxIconSize,\n height: maxIconSize,\n mask: useMaskedIcons\n });\n let unknownValue = fallbackUrl || FALLBACK_ICON;\n\n if (range?.othersMarker) {\n unknownValue = range.othersMarker;\n }\n\n const unknownIcon = urlToUnpackedIcon(unknownValue);\n if (!range || !field) {\n return () => unknownIcon;\n }\n\n const mapping: Record<string, any> = {};\n for (const {value, markerUrl} of range.markerMap) {\n if (markerUrl) {\n mapping[value] = urlToUnpackedIcon(markerUrl);\n }\n }\n\n const accessor = properties => {\n const propertyValue = properties[field.name];\n return mapping[propertyValue] || unknownIcon;\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport function getMaxMarkerSize(visConfig: VisConfig, visualChannels: VisualChannels): number {\n const {radiusRange, radius} = visConfig;\n const {radiusField, sizeField} = visualChannels;\n const field = radiusField || sizeField;\n return Math.ceil(radiusRange && field ? radiusRange[1] : radius);\n}\n\nexport function negateAccessor<T>(accessor: Accessor<T, number>): Accessor<T, number> {\n return typeof accessor === 'function' ? (d, i) => -accessor(d, i) : -accessor;\n}\n\nexport function getSizeAccessor(\n {name},\n scaleType: SCALE_TYPE | undefined,\n aggregation,\n range: Iterable<Range> | undefined,\n data: any\n) {\n const scale = scaleType ? SCALE_FUNCS[scaleType as any]() : identity;\n if (scaleType) {\n if (aggregation !== 'count') {\n scale.domain(calculateDomain(data, name, scaleType));\n }\n scale.range(range);\n }\n\n let accessorKeys = getAccessorKeys(name, aggregation);\n const accessor = properties => {\n if (!(accessorKeys[0] in properties)) {\n accessorKeys = findAccessorKey(accessorKeys, properties);\n }\n const propertyValue = properties[accessorKeys[0]];\n return scale(propertyValue);\n };\n return normalizeAccessor(accessor, data);\n}\n\nconst FORMATS: Record<string, (value: any) => string> = {\n date: s => moment.utc(s).format('MM/DD/YY HH:mm:ssa'),\n integer: d3Format('i'),\n float: d3Format('.5f'),\n timestamp: s => moment.utc(s).format('X'),\n default: String\n};\n\nexport function getTextAccessor({name, type}: VisualChannelField, data) {\n const format = FORMATS[type] || FORMATS.default;\n const accessor = properties => {\n return format(properties[name]);\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport {domainFromValues as _domainFromValues};\n"],"file":"layer-map.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/maps-api-common.ts"],"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","RASTER","COLUMNS_SUPPORT","GEO_COLUMN_SUPPORT","FORMATS","GEOJSON","
|
|
1
|
+
{"version":3,"sources":["../../../src/api/maps-api-common.ts"],"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","RASTER","COLUMNS_SUPPORT","GEO_COLUMN_SUPPORT","FORMATS","GEOJSON","TILEJSON","JSON","TILE_FORMATS","MVT","BINARY","SchemaFieldType","REQUEST_TYPES","DATA","INSTANTIATION","PUBLIC_MAP","TILE_STATS","encodeParameter","name","value","encodeURIComponent"],"mappings":"AAAA,OAAO,MAAMA,6BAA6B,GAAG,QAAtC;AACP,OAAO,MAAMC,+BAA+B,GAAG,UAAxC;AAGP,OAAO,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,EAAE,EAAE,IADsB;AAE1BC,EAAAA,EAAE,EAAE,IAFsB;AAG1BC,EAAAA,EAAE,EAAE;AAHsB,CAArB;AAOP,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,SAHc;AAIvBC,EAAAA,MAAM,EAAE;AAJe,CAAlB;AAOP,OAAO,MAAMC,eAA0B,GAAG,CAACL,SAAS,CAACE,KAAX,CAAnC;AACP,OAAO,MAAMI,kBAA6B,GAAG,CAACN,SAAS,CAACC,KAAX,EAAkBD,SAAS,CAACE,KAA5B,CAAtC;AAGP,OAAO,MAAMK,OAAO,GAAG;AACrBC,EAAAA,OAAO,EAAE,SADY;AAErBC,EAAAA,QAAQ,EAAE,UAFW;AAGrBC,EAAAA,IAAI,EAAE;AAHe,CAAhB;AAQP,OAAO,MAAMC,YAAY,GAAG;AAC1BC,EAAAA,GAAG,EAAE,KADqB;AAE1BF,EAAAA,IAAI,EAAE,MAFoB;AAG1BF,EAAAA,OAAO,EAAE,SAHiB;AAI1BK,EAAAA,MAAM,EAAE;AAJkB,CAArB;AAQP,WAAYC,eAAZ;;WAAYA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;AAAAA,EAAAA,e;GAAAA,e,KAAAA,e;;AA8BZ,OAAO,MAAMC,aAAa,GAAG;AAC3BC,EAAAA,IAAI,EAAE,UADqB;AAE3BC,EAAAA,aAAa,EAAE,mBAFY;AAG3BC,EAAAA,UAAU,EAAE,YAHe;AAI3BC,EAAAA,UAAU,EAAE;AAJe,CAAtB;AAWP,OAAO,SAASC,eAAT,CAAyBC,IAAzB,EAAuCC,KAAvC,EAAiF;AACtF,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 type ValuesOf<T extends {}> = T[keyof T];\nexport const API_VERSIONS = {\n V1: 'v1',\n V2: 'v2',\n V3: 'v3'\n} as const;\nexport type ApiVersion = ValuesOf<typeof API_VERSIONS>;\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} as const;\n\nexport const MAP_TYPES = {\n QUERY: 'query',\n TABLE: 'table',\n TILESET: 'tileset',\n RASTER: 'raster'\n} as const;\nexport type MapType = ValuesOf<typeof MAP_TYPES>;\nexport const COLUMNS_SUPPORT: MapType[] = [MAP_TYPES.TABLE];\nexport const GEO_COLUMN_SUPPORT: MapType[] = [MAP_TYPES.QUERY, MAP_TYPES.TABLE];\n\n// AVAILABLE FORMATS\nexport const FORMATS = {\n GEOJSON: 'geojson',\n TILEJSON: 'tilejson',\n JSON: 'json'\n} as const;\nexport type Format = ValuesOf<typeof FORMATS>;\n\n// AVAILABLE FORMATS FOR TILES\nexport const TILE_FORMATS = {\n MVT: 'mvt',\n JSON: 'json',\n GEOJSON: 'geojson',\n BINARY: 'binary'\n} as const;\nexport type TileFormat = ValuesOf<typeof TILE_FORMATS>;\n\nexport enum SchemaFieldType {\n Number = 'number',\n Bigint = 'bigint',\n String = 'string',\n Geometry = 'geometry',\n Timestamp = 'timestamp',\n Object = 'object',\n Boolean = 'boolean',\n Variant = 'variant',\n Unknown = 'unknown'\n}\nexport interface SchemaField {\n name: string;\n type: SchemaFieldType; // Field type in the CARTO stack, common for all providers\n}\n\nexport interface MapInstantiation extends MapInstantiationFormats {\n nrows: number;\n size?: number;\n schema: SchemaField[];\n}\n\ntype MapInstantiationFormats = Record<\n Format,\n {\n url: string[];\n error?: any;\n }\n>;\n\nexport const REQUEST_TYPES = {\n DATA: 'Map data',\n INSTANTIATION: 'Map instantiation',\n PUBLIC_MAP: 'Public map',\n TILE_STATS: 'Tile stats'\n} as const;\nexport type RequestType = ValuesOf<typeof REQUEST_TYPES>;\n\n/**\n * Simple encode parameter\n */\nexport function encodeParameter(name: string, value: string | boolean | number): string {\n return `${name}=${encodeURIComponent(value)}`;\n}\n\nexport type QueryParameterValue = string | number | boolean | Array<QueryParameterValue> | object;\n\nexport type NamedQueryParameter = Record<string, QueryParameterValue>;\n\nexport type PositionalQueryParameter = QueryParameterValue[];\n\nexport type QueryParameters = NamedQueryParameter | PositionalQueryParameter;\n"],"file":"maps-api-common.js"}
|