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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/dist.dev.js +42616 -21078
  2. package/dist/es5/api/index.js +9 -9
  3. package/dist/es5/api/layer-map.js +83 -71
  4. package/dist/es5/api/layer-map.js.map +1 -1
  5. package/dist/es5/api/maps-api-common.js +13 -9
  6. package/dist/es5/api/maps-api-common.js.map +1 -1
  7. package/dist/es5/api/maps-client.js +157 -98
  8. package/dist/es5/api/maps-client.js.map +1 -1
  9. package/dist/es5/api/maps-v3-client.js +528 -312
  10. package/dist/es5/api/maps-v3-client.js.map +1 -1
  11. package/dist/es5/api/parseMap.js +89 -92
  12. package/dist/es5/api/parseMap.js.map +1 -1
  13. package/dist/es5/basemap.js +1 -1
  14. package/dist/es5/basemap.js.map +1 -1
  15. package/dist/es5/config.js +25 -18
  16. package/dist/es5/config.js.map +1 -1
  17. package/dist/es5/index.js +15 -31
  18. package/dist/es5/index.js.map +1 -1
  19. package/dist/es5/layers/carto-dynamic-tile-layer.js +168 -0
  20. package/dist/es5/layers/carto-dynamic-tile-layer.js.map +1 -0
  21. package/dist/es5/layers/carto-layer.js +215 -129
  22. package/dist/es5/layers/carto-layer.js.map +1 -1
  23. package/dist/es5/style/color-bins-style.js +15 -12
  24. package/dist/es5/style/color-bins-style.js.map +1 -1
  25. package/dist/es5/style/color-categories-style.js +43 -16
  26. package/dist/es5/style/color-categories-style.js.map +1 -1
  27. package/dist/es5/style/color-continuous-style.js +15 -12
  28. package/dist/es5/style/color-continuous-style.js.map +1 -1
  29. package/dist/es5/style/palette.js +23 -13
  30. package/dist/es5/style/palette.js.map +1 -1
  31. package/dist/es5/style/utils.js +13 -6
  32. package/dist/es5/style/utils.js.map +1 -1
  33. package/dist/esm/api/layer-map.js +1 -0
  34. package/dist/esm/api/layer-map.js.map +1 -1
  35. package/dist/esm/api/maps-v3-client.js +7 -7
  36. package/dist/esm/api/maps-v3-client.js.map +1 -1
  37. package/dist/esm/api/parseMap.js +1 -0
  38. package/dist/esm/api/parseMap.js.map +1 -1
  39. package/dist/esm/index.js +0 -2
  40. package/dist/esm/index.js.map +1 -1
  41. package/dist/esm/layers/carto-dynamic-tile-layer.js +98 -0
  42. package/dist/esm/layers/carto-dynamic-tile-layer.js.map +1 -0
  43. package/dist/esm/layers/carto-layer.js +29 -23
  44. package/dist/esm/layers/carto-layer.js.map +1 -1
  45. package/dist/esm/style/color-bins-style.js +1 -1
  46. package/dist/esm/style/color-bins-style.js.map +1 -1
  47. package/dist/esm/style/color-continuous-style.js +1 -1
  48. package/dist/esm/style/color-continuous-style.js.map +1 -1
  49. package/dist.min.js +14 -14
  50. package/package.json +8 -7
  51. package/src/api/layer-map.js +1 -0
  52. package/src/api/maps-v3-client.js +6 -6
  53. package/src/api/parseMap.js +1 -0
  54. package/src/index.js +0 -2
  55. package/src/layers/carto-dynamic-tile-layer.js +87 -0
  56. package/src/layers/carto-layer.js +21 -22
  57. package/src/style/color-bins-style.js +1 -1
  58. package/src/style/color-continuous-style.js +1 -1
  59. package/dist/es5/layers/carto-bqtiler-layer.js +0 -32
  60. package/dist/es5/layers/carto-bqtiler-layer.js.map +0 -1
  61. package/dist/es5/layers/carto-sql-layer.js +0 -33
  62. package/dist/es5/layers/carto-sql-layer.js.map +0 -1
  63. package/dist/esm/layers/carto-bqtiler-layer.js +0 -16
  64. package/dist/esm/layers/carto-bqtiler-layer.js.map +0 -1
  65. package/dist/esm/layers/carto-sql-layer.js +0 -17
  66. package/dist/esm/layers/carto-sql-layer.js.map +0 -1
  67. package/src/layers/carto-bqtiler-layer.js +0 -21
  68. package/src/layers/carto-sql-layer.js +0 -22
package/dist/es5/index.js CHANGED
@@ -7,113 +7,97 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  Object.defineProperty(exports, "getDefaultCredentials", {
9
9
  enumerable: true,
10
- get: function () {
10
+ get: function get() {
11
11
  return _config.getDefaultCredentials;
12
12
  }
13
13
  });
14
14
  Object.defineProperty(exports, "setDefaultCredentials", {
15
15
  enumerable: true,
16
- get: function () {
16
+ get: function get() {
17
17
  return _config.setDefaultCredentials;
18
18
  }
19
19
  });
20
- Object.defineProperty(exports, "CartoSQLLayer", {
21
- enumerable: true,
22
- get: function () {
23
- return _cartoSqlLayer.default;
24
- }
25
- });
26
- Object.defineProperty(exports, "CartoBQTilerLayer", {
27
- enumerable: true,
28
- get: function () {
29
- return _cartoBqtilerLayer.default;
30
- }
31
- });
32
20
  Object.defineProperty(exports, "CartoLayer", {
33
21
  enumerable: true,
34
- get: function () {
22
+ get: function get() {
35
23
  return _cartoLayer.default;
36
24
  }
37
25
  });
38
26
  Object.defineProperty(exports, "BASEMAP", {
39
27
  enumerable: true,
40
- get: function () {
28
+ get: function get() {
41
29
  return _basemap.default;
42
30
  }
43
31
  });
44
32
  Object.defineProperty(exports, "colorBins", {
45
33
  enumerable: true,
46
- get: function () {
34
+ get: function get() {
47
35
  return _colorBinsStyle.default;
48
36
  }
49
37
  });
50
38
  Object.defineProperty(exports, "colorCategories", {
51
39
  enumerable: true,
52
- get: function () {
40
+ get: function get() {
53
41
  return _colorCategoriesStyle.default;
54
42
  }
55
43
  });
56
44
  Object.defineProperty(exports, "colorContinuous", {
57
45
  enumerable: true,
58
- get: function () {
46
+ get: function get() {
59
47
  return _colorContinuousStyle.default;
60
48
  }
61
49
  });
62
50
  Object.defineProperty(exports, "FORMATS", {
63
51
  enumerable: true,
64
- get: function () {
52
+ get: function get() {
65
53
  return _api.FORMATS;
66
54
  }
67
55
  });
68
56
  Object.defineProperty(exports, "MAP_TYPES", {
69
57
  enumerable: true,
70
- get: function () {
58
+ get: function get() {
71
59
  return _api.MAP_TYPES;
72
60
  }
73
61
  });
74
62
  Object.defineProperty(exports, "API_VERSIONS", {
75
63
  enumerable: true,
76
- get: function () {
64
+ get: function get() {
77
65
  return _api.API_VERSIONS;
78
66
  }
79
67
  });
80
68
  Object.defineProperty(exports, "fetchLayerData", {
81
69
  enumerable: true,
82
- get: function () {
70
+ get: function get() {
83
71
  return _api.fetchLayerData;
84
72
  }
85
73
  });
86
74
  Object.defineProperty(exports, "fetchMap", {
87
75
  enumerable: true,
88
- get: function () {
76
+ get: function get() {
89
77
  return _api.fetchMap;
90
78
  }
91
79
  });
92
80
  Object.defineProperty(exports, "_getDataV2", {
93
81
  enumerable: true,
94
- get: function () {
82
+ get: function get() {
95
83
  return _api.getDataV2;
96
84
  }
97
85
  });
98
86
  Object.defineProperty(exports, "getData", {
99
87
  enumerable: true,
100
- get: function () {
88
+ get: function get() {
101
89
  return _api.getData;
102
90
  }
103
91
  });
104
92
  Object.defineProperty(exports, "_mapInstantiation", {
105
93
  enumerable: true,
106
- get: function () {
94
+ get: function get() {
107
95
  return _api.mapInstantiation;
108
96
  }
109
97
  });
110
98
 
111
99
  var _config = require("./config.js");
112
100
 
113
- var _cartoSqlLayer = _interopRequireDefault(require("./layers/carto-sql-layer"));
114
-
115
- var _cartoBqtilerLayer = _interopRequireDefault(require("./layers/carto-bqtiler-layer"));
116
-
117
101
  var _cartoLayer = _interopRequireDefault(require("./layers/carto-layer"));
118
102
 
119
103
  var _basemap = _interopRequireDefault(require("./basemap"));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["export {getDefaultCredentials, setDefaultCredentials} from './config.js';\nexport {default as CartoSQLLayer} from './layers/carto-sql-layer';\nexport {default as CartoBQTilerLayer} from './layers/carto-bqtiler-layer';\nexport {default as CartoLayer} from './layers/carto-layer';\nexport {default as BASEMAP} from './basemap';\nexport {default as colorBins} from './style/color-bins-style';\nexport {default as colorCategories} from './style/color-categories-style';\nexport {default as colorContinuous} from './style/color-continuous-style';\nexport {\n FORMATS,\n MAP_TYPES,\n API_VERSIONS,\n fetchLayerData,\n fetchMap,\n getDataV2 as _getDataV2,\n getData,\n mapInstantiation as _mapInstantiation\n} from './api';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["export {getDefaultCredentials, setDefaultCredentials} from './config.js';\nexport {default as CartoLayer} from './layers/carto-layer';\nexport {default as BASEMAP} from './basemap';\nexport {default as colorBins} from './style/color-bins-style';\nexport {default as colorCategories} from './style/color-categories-style';\nexport {default as colorContinuous} from './style/color-continuous-style';\nexport {\n FORMATS,\n MAP_TYPES,\n API_VERSIONS,\n fetchLayerData,\n fetchMap,\n getDataV2 as _getDataV2,\n getData,\n mapInstantiation as _mapInstantiation\n} from './api';\n"],"file":"index.js"}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
24
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
25
+
26
+ var _core = require("@deck.gl/core");
27
+
28
+ var _extensions = require("@deck.gl/extensions");
29
+
30
+ var _geoLayers = require("@deck.gl/geo-layers");
31
+
32
+ var _layers = require("@deck.gl/layers");
33
+
34
+ var _gis = require("@loaders.gl/gis");
35
+
36
+ var _mapsApiCommon = require("../api/maps-api-common");
37
+
38
+ var _utils = require("@deck.gl/geo-layers/tile-layer/utils");
39
+
40
+ 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; }
41
+
42
+ 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; }
43
+
44
+ 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); }; }
45
+
46
+ 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; } }
47
+
48
+ function parseJSON(arrayBuffer) {
49
+ return JSON.parse(new TextDecoder().decode(arrayBuffer));
50
+ }
51
+
52
+ function parseCartoDynamicTile(arrayBuffer, options) {
53
+ if (!arrayBuffer) return null;
54
+ var formatTiles = options && options.cartoDynamicTile && options.cartoDynamicTile.formatTiles;
55
+ if (formatTiles === 'geojson') return (0, _gis.geojsonToBinary)(parseJSON(arrayBuffer).features);
56
+ return null;
57
+ }
58
+
59
+ var CartoDynamicTileLoader = {
60
+ name: 'CARTO Dynamic Tile',
61
+ id: 'cartoDynamicTile',
62
+ module: 'carto',
63
+ extensions: ['pbf'],
64
+ mimeTypes: ['application/x-protobuf'],
65
+ category: 'geometry',
66
+ worker: false,
67
+ parse: function () {
68
+ var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
69
+ return _regenerator.default.wrap(function _callee$(_context) {
70
+ while (1) {
71
+ switch (_context.prev = _context.next) {
72
+ case 0:
73
+ return _context.abrupt("return", parseCartoDynamicTile(arrayBuffer, options));
74
+
75
+ case 1:
76
+ case "end":
77
+ return _context.stop();
78
+ }
79
+ }
80
+ }, _callee);
81
+ }));
82
+
83
+ function parse(_x, _x2) {
84
+ return _parse.apply(this, arguments);
85
+ }
86
+
87
+ return parse;
88
+ }(),
89
+ parseSync: parseCartoDynamicTile,
90
+ options: {
91
+ cartoDynamicTile: {
92
+ formatTiles: 'geojson'
93
+ }
94
+ }
95
+ };
96
+
97
+ var CartoDynamicTileLayer = function (_MVTLayer) {
98
+ (0, _inherits2.default)(CartoDynamicTileLayer, _MVTLayer);
99
+
100
+ var _super = _createSuper(CartoDynamicTileLayer);
101
+
102
+ function CartoDynamicTileLayer() {
103
+ (0, _classCallCheck2.default)(this, CartoDynamicTileLayer);
104
+ return _super.apply(this, arguments);
105
+ }
106
+
107
+ (0, _createClass2.default)(CartoDynamicTileLayer, [{
108
+ key: "getTileData",
109
+ value: function getTileData(tile) {
110
+ var url = (0, _utils.getURLFromTemplate)(this.state.data, tile);
111
+
112
+ if (!url) {
113
+ return Promise.reject('Invalid URL');
114
+ }
115
+
116
+ var loadOptions = this.getLoadOptions();
117
+ var _this$props = this.props,
118
+ fetch = _this$props.fetch,
119
+ formatTiles = _this$props.formatTiles;
120
+ var signal = tile.signal;
121
+ loadOptions = _objectSpread(_objectSpread({}, loadOptions), {}, {
122
+ mimeType: 'application/x-protobuf'
123
+ });
124
+
125
+ if (formatTiles) {
126
+ _core.log.assert(['geojson'].includes(formatTiles), "Invalid value for formatTiles: ".concat(formatTiles));
127
+
128
+ url += "&".concat((0, _mapsApiCommon.encodeParameter)('formatTiles', formatTiles));
129
+ loadOptions.cartoBinaryTile = {
130
+ formatTiles: formatTiles
131
+ };
132
+ }
133
+
134
+ return fetch(url, {
135
+ propName: 'data',
136
+ layer: this,
137
+ loadOptions: loadOptions,
138
+ signal: signal
139
+ });
140
+ }
141
+ }, {
142
+ key: "renderSubLayers",
143
+ value: function renderSubLayers(props) {
144
+ if (props.data === null) {
145
+ return null;
146
+ }
147
+
148
+ props.autoHighlight = false;
149
+ var _props$tile$bbox = props.tile.bbox,
150
+ west = _props$tile$bbox.west,
151
+ south = _props$tile$bbox.south,
152
+ east = _props$tile$bbox.east,
153
+ north = _props$tile$bbox.north;
154
+ props.extensions = [new _extensions.ClipExtension()];
155
+ props.clipBounds = [west, south, east, north];
156
+ var subLayer = new _layers.GeoJsonLayer(_objectSpread({}, props));
157
+ return subLayer;
158
+ }
159
+ }]);
160
+ return CartoDynamicTileLayer;
161
+ }(_geoLayers.MVTLayer);
162
+
163
+ exports.default = CartoDynamicTileLayer;
164
+ CartoDynamicTileLayer.layerName = 'CartoDynamicTileLayer';
165
+ CartoDynamicTileLayer.defaultProps = _objectSpread(_objectSpread({}, _geoLayers.MVTLayer.defaultProps), {}, {
166
+ loaders: [CartoDynamicTileLoader]
167
+ });
168
+ //# sourceMappingURL=carto-dynamic-tile-layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/layers/carto-dynamic-tile-layer.js"],"names":["parseJSON","arrayBuffer","JSON","parse","TextDecoder","decode","parseCartoDynamicTile","options","formatTiles","cartoDynamicTile","features","CartoDynamicTileLoader","name","id","module","extensions","mimeTypes","category","worker","parseSync","CartoDynamicTileLayer","tile","url","state","data","Promise","reject","loadOptions","getLoadOptions","props","fetch","signal","mimeType","log","assert","includes","cartoBinaryTile","propName","layer","autoHighlight","bbox","west","south","east","north","ClipExtension","clipBounds","subLayer","GeoJsonLayer","MVTLayer","layerName","defaultProps","loaders"],"mappings":"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","sourcesContent":["/* global TextDecoder */\nimport {log} from '@deck.gl/core';\nimport {ClipExtension} from '@deck.gl/extensions';\nimport {MVTLayer} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {encodeParameter} from '../api/maps-api-common';\nimport {getURLFromTemplate} from '@deck.gl/geo-layers/tile-layer/utils';\n\nfunction parseJSON(arrayBuffer) {\n return JSON.parse(new TextDecoder().decode(arrayBuffer));\n}\n\nfunction parseCartoDynamicTile(arrayBuffer, options) {\n if (!arrayBuffer) return null;\n const formatTiles = options && options.cartoDynamicTile && options.cartoDynamicTile.formatTiles;\n if (formatTiles === 'geojson') return geojsonToBinary(parseJSON(arrayBuffer).features);\n return null;\n}\n\nconst CartoDynamicTileLoader = {\n name: 'CARTO Dynamic Tile',\n id: 'cartoDynamicTile',\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/x-protobuf'],\n category: 'geometry',\n worker: false,\n parse: async (arrayBuffer, options) => parseCartoDynamicTile(arrayBuffer, options),\n parseSync: parseCartoDynamicTile,\n options: {\n cartoDynamicTile: {\n formatTiles: 'geojson'\n }\n }\n};\n\nexport default class CartoDynamicTileLayer extends MVTLayer {\n getTileData(tile) {\n let url = getURLFromTemplate(this.state.data, tile);\n if (!url) {\n return Promise.reject('Invalid URL');\n }\n\n let loadOptions = this.getLoadOptions();\n const {fetch, formatTiles} = this.props;\n const {signal} = tile;\n\n loadOptions = {\n ...loadOptions,\n mimeType: 'application/x-protobuf'\n };\n\n if (formatTiles) {\n log.assert(\n ['geojson'].includes(formatTiles),\n `Invalid value for formatTiles: ${formatTiles}`\n );\n url += `&${encodeParameter('formatTiles', formatTiles)}`;\n loadOptions.cartoBinaryTile = {formatTiles};\n }\n\n return fetch(url, {propName: 'data', layer: this, loadOptions, signal});\n }\n\n renderSubLayers(props) {\n if (props.data === null) {\n return null;\n }\n\n props.autoHighlight = false;\n\n const {\n bbox: {west, south, east, north}\n } = props.tile;\n props.extensions = [new ClipExtension()];\n props.clipBounds = [west, south, east, north];\n\n const subLayer = new GeoJsonLayer({\n ...props\n });\n return subLayer;\n }\n}\n\nCartoDynamicTileLayer.layerName = 'CartoDynamicTileLayer';\nCartoDynamicTileLayer.defaultProps = {...MVTLayer.defaultProps, loaders: [CartoDynamicTileLoader]};\n"],"file":"carto-dynamic-tile-layer.js"}