@deck.gl/carto 8.7.0-beta.1 → 8.7.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/dist.dev.js +1212 -98
  2. package/dist/es5/api/index.js +6 -0
  3. package/dist/es5/api/index.js.map +1 -1
  4. package/dist/es5/api/layer-map.js +65 -40
  5. package/dist/es5/api/layer-map.js.map +1 -1
  6. package/dist/es5/api/maps-api-common.js +7 -1
  7. package/dist/es5/api/maps-api-common.js.map +1 -1
  8. package/dist/es5/api/maps-v3-client.js +10 -8
  9. package/dist/es5/api/maps-v3-client.js.map +1 -1
  10. package/dist/es5/api/parseMap.js +5 -6
  11. package/dist/es5/api/parseMap.js.map +1 -1
  12. package/dist/es5/index.js +14 -0
  13. package/dist/es5/index.js.map +1 -1
  14. package/dist/es5/layers/carto-dynamic-tile-layer.js +59 -12
  15. package/dist/es5/layers/carto-dynamic-tile-layer.js.map +1 -1
  16. package/dist/es5/layers/carto-layer.js +26 -15
  17. package/dist/es5/layers/carto-layer.js.map +1 -1
  18. package/dist/es5/layers/schema/carto-dynamic-tile.js +197 -0
  19. package/dist/es5/layers/schema/carto-dynamic-tile.js.map +1 -0
  20. package/dist/esm/api/index.js +1 -1
  21. package/dist/esm/api/index.js.map +1 -1
  22. package/dist/esm/api/layer-map.js +54 -31
  23. package/dist/esm/api/layer-map.js.map +1 -1
  24. package/dist/esm/api/maps-api-common.js +5 -0
  25. package/dist/esm/api/maps-api-common.js.map +1 -1
  26. package/dist/esm/api/maps-v3-client.js +6 -2
  27. package/dist/esm/api/maps-v3-client.js.map +1 -1
  28. package/dist/esm/api/parseMap.js +6 -7
  29. package/dist/esm/api/parseMap.js.map +1 -1
  30. package/dist/esm/index.js +2 -1
  31. package/dist/esm/index.js.map +1 -1
  32. package/dist/esm/layers/carto-dynamic-tile-layer.js +52 -8
  33. package/dist/esm/layers/carto-dynamic-tile-layer.js.map +1 -1
  34. package/dist/esm/layers/carto-layer.js +24 -12
  35. package/dist/esm/layers/carto-layer.js.map +1 -1
  36. package/dist/esm/layers/schema/carto-dynamic-tile.js +190 -0
  37. package/dist/esm/layers/schema/carto-dynamic-tile.js.map +1 -0
  38. package/dist.min.js +14 -14
  39. package/package.json +5 -4
  40. package/src/api/index.js +1 -1
  41. package/src/api/layer-map.js +50 -25
  42. package/src/api/maps-api-common.js +7 -0
  43. package/src/api/maps-v3-client.js +4 -3
  44. package/src/api/parseMap.js +2 -4
  45. package/src/index.js +2 -0
  46. package/src/layers/carto-dynamic-tile-layer.js +44 -9
  47. package/src/layers/carto-layer.js +29 -18
  48. package/src/layers/schema/carto-dynamic-tile.js +195 -0
@@ -9,7 +9,7 @@ exports.default = void 0;
9
9
 
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
13
 
14
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
15
 
@@ -23,6 +23,10 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
23
23
 
24
24
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
25
25
 
26
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
28
+ var _pbf = _interopRequireDefault(require("pbf"));
29
+
26
30
  var _core = require("@deck.gl/core");
27
31
 
28
32
  var _extensions = require("@deck.gl/extensions");
@@ -33,25 +37,66 @@ var _layers = require("@deck.gl/layers");
33
37
 
34
38
  var _gis = require("@loaders.gl/gis");
35
39
 
36
- var _mapsApiCommon = require("../api/maps-api-common");
40
+ var _cartoDynamicTile = require("./schema/carto-dynamic-tile");
37
41
 
38
- 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; }
39
-
40
- 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; }
42
+ var _mapsApiCommon = require("../api/maps-api-common");
41
43
 
42
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); }; }
43
45
 
44
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; } }
45
47
 
48
+ 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; }
49
+
50
+ 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; }
51
+
46
52
  function parseJSON(arrayBuffer) {
47
53
  return JSON.parse(new TextDecoder().decode(arrayBuffer));
48
54
  }
49
55
 
56
+ function parsePbf(buffer) {
57
+ var pbf = new _pbf.default(buffer);
58
+
59
+ var tile = _cartoDynamicTile.Tile.read(pbf);
60
+
61
+ return tile;
62
+ }
63
+
64
+ function unpackProperties(properties) {
65
+ if (!properties || !properties.length) {
66
+ return [];
67
+ }
68
+
69
+ return properties.map(function (item) {
70
+ var currentRecord = {};
71
+ item.data.forEach(function (_ref) {
72
+ var key = _ref.key,
73
+ value = _ref.value;
74
+ currentRecord[key] = value;
75
+ });
76
+ return currentRecord;
77
+ });
78
+ }
79
+
50
80
  function parseCartoDynamicTile(arrayBuffer, options) {
51
81
  if (!arrayBuffer) return null;
52
82
  var formatTiles = options && options.cartoDynamicTile && options.cartoDynamicTile.formatTiles;
53
- if (formatTiles === 'geojson') return (0, _gis.geojsonToBinary)(parseJSON(arrayBuffer).features);
54
- return null;
83
+ if (formatTiles === _mapsApiCommon.TILE_FORMATS.GEOJSON) return (0, _gis.geojsonToBinary)(parseJSON(arrayBuffer).features);
84
+ var tile = parsePbf(arrayBuffer);
85
+ var points = tile.points,
86
+ lines = tile.lines,
87
+ polygons = tile.polygons;
88
+ var data = {
89
+ points: _objectSpread(_objectSpread({}, points), {}, {
90
+ properties: unpackProperties(points.properties)
91
+ }),
92
+ lines: _objectSpread(_objectSpread({}, lines), {}, {
93
+ properties: unpackProperties(lines.properties)
94
+ }),
95
+ polygons: _objectSpread(_objectSpread({}, polygons), {}, {
96
+ properties: unpackProperties(polygons.properties)
97
+ })
98
+ };
99
+ return data;
55
100
  }
56
101
 
57
102
  var CartoDynamicTileLoader = {
@@ -87,7 +132,7 @@ var CartoDynamicTileLoader = {
87
132
  parseSync: parseCartoDynamicTile,
88
133
  options: {
89
134
  cartoDynamicTile: {
90
- formatTiles: 'geojson'
135
+ formatTiles: _mapsApiCommon.TILE_FORMATS.GEOJSON
91
136
  }
92
137
  }
93
138
  };
@@ -121,10 +166,12 @@ var CartoDynamicTileLayer = function (_MVTLayer) {
121
166
  });
122
167
 
123
168
  if (formatTiles) {
124
- _core.log.assert(['geojson'].includes(formatTiles), "Invalid value for formatTiles: ".concat(formatTiles));
169
+ _core.log.assert(Object.values(_mapsApiCommon.TILE_FORMATS).includes(formatTiles), "Invalid value for formatTiles: ".concat(formatTiles, ". Use value from TILE_FORMATS"));
125
170
 
126
- url += "&".concat((0, _mapsApiCommon.encodeParameter)('formatTiles', formatTiles));
127
- loadOptions.cartoBinaryTile = {
171
+ var newUrl = new URL(url);
172
+ newUrl.searchParams.set('formatTiles', formatTiles);
173
+ url = newUrl.toString();
174
+ loadOptions.cartoDynamicTile = {
128
175
  formatTiles: formatTiles
129
176
  };
130
177
  }
@@ -149,7 +196,7 @@ var CartoDynamicTileLayer = function (_MVTLayer) {
149
196
  south = _props$tile$bbox.south,
150
197
  east = _props$tile$bbox.east,
151
198
  north = _props$tile$bbox.north;
152
- props.extensions = [new _extensions.ClipExtension()];
199
+ props.extensions = [new _extensions.ClipExtension()].concat((0, _toConsumableArray2.default)(props.extensions || []));
153
200
  props.clipBounds = [west, south, east, north];
154
201
  var subLayer = new _layers.GeoJsonLayer(_objectSpread({}, props));
155
202
  return subLayer;
@@ -1 +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, _getURLFromTemplate} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {encodeParameter} from '../api/maps-api-common';\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"}
1
+ {"version":3,"sources":["../../../src/layers/carto-dynamic-tile-layer.js"],"names":["parseJSON","arrayBuffer","JSON","parse","TextDecoder","decode","parsePbf","buffer","pbf","Protobuf","tile","Tile","read","unpackProperties","properties","length","map","item","currentRecord","data","forEach","key","value","parseCartoDynamicTile","options","formatTiles","cartoDynamicTile","TILE_FORMATS","GEOJSON","features","points","lines","polygons","CartoDynamicTileLoader","name","id","module","extensions","mimeTypes","category","worker","parseSync","CartoDynamicTileLayer","url","state","Promise","reject","loadOptions","getLoadOptions","props","fetch","signal","mimeType","log","assert","Object","values","includes","newUrl","URL","searchParams","set","toString","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 Protobuf from 'pbf';\nimport {log} from '@deck.gl/core';\nimport {ClipExtension} from '@deck.gl/extensions';\nimport {MVTLayer, _getURLFromTemplate} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {Tile} from './schema/carto-dynamic-tile';\nimport {TILE_FORMATS} from '../api/maps-api-common';\n\nfunction parseJSON(arrayBuffer) {\n return JSON.parse(new TextDecoder().decode(arrayBuffer));\n}\n\nfunction parsePbf(buffer) {\n const pbf = new Protobuf(buffer);\n const tile = Tile.read(pbf);\n return tile;\n}\n\nfunction unpackProperties(properties) {\n if (!properties || !properties.length) {\n return [];\n }\n return properties.map(item => {\n const currentRecord = {};\n item.data.forEach(({key, value}) => {\n currentRecord[key] = value;\n });\n return currentRecord;\n });\n}\n\nfunction parseCartoDynamicTile(arrayBuffer, options) {\n if (!arrayBuffer) return null;\n const formatTiles = options && options.cartoDynamicTile && options.cartoDynamicTile.formatTiles;\n if (formatTiles === TILE_FORMATS.GEOJSON) return geojsonToBinary(parseJSON(arrayBuffer).features);\n\n const tile = parsePbf(arrayBuffer);\n\n const {points, lines, polygons} = tile;\n const data = {\n points: {...points, properties: unpackProperties(points.properties)},\n lines: {...lines, properties: unpackProperties(lines.properties)},\n polygons: {...polygons, properties: unpackProperties(polygons.properties)}\n };\n\n return data;\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 // TODO change to BINARY for 8.7 prod release\n formatTiles: TILE_FORMATS.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 Object.values(TILE_FORMATS).includes(formatTiles),\n `Invalid value for formatTiles: ${formatTiles}. Use value from TILE_FORMATS`\n );\n // eslint-disable-next-line no-undef\n const newUrl = new URL(url);\n newUrl.searchParams.set('formatTiles', formatTiles);\n url = newUrl.toString();\n loadOptions.cartoDynamicTile = {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(), ...(props.extensions || [])];\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"}
@@ -69,6 +69,7 @@ var defaultProps = {
69
69
  credentials: null,
70
70
  connection: null,
71
71
  format: null,
72
+ formatTiles: null,
72
73
  clientId: null,
73
74
  geoColumn: null,
74
75
  columns: {
@@ -245,29 +246,39 @@ var CartoLayer = function (_CompositeLayer) {
245
246
  return _updateData;
246
247
  }()
247
248
  }, {
248
- key: "renderLayers",
249
- value: function renderLayers() {
249
+ key: "_getRenderLayer",
250
+ value: function _getRenderLayer() {
250
251
  var _this$state = this.state,
251
252
  data = _this$state.data,
252
253
  format = _this$state.format,
253
254
  apiVersion = _this$state.apiVersion;
254
- if (!data) return null;
255
- var _this$props2 = this.props,
256
- type = _this$props2.type,
257
- updateTriggers = _this$props2.updateTriggers;
258
- var layer;
259
-
260
- if (apiVersion === _api.API_VERSIONS.V3 && type === _mapsApiCommon.MAP_TYPES.TABLE && format === _mapsApiCommon.FORMATS.TILEJSON) {
261
- layer = _cartoDynamicTileLayer.default;
262
- } else if (apiVersion === _api.API_VERSIONS.V1 || apiVersion === _api.API_VERSIONS.V2 || format === _mapsApiCommon.FORMATS.TILEJSON) {
263
- layer = _geoLayers.MVTLayer;
264
- } else {
265
- layer = _layers.GeoJsonLayer;
255
+
256
+ if (apiVersion === _api.API_VERSIONS.V1 || apiVersion === _api.API_VERSIONS.V2) {
257
+ return _geoLayers.MVTLayer;
258
+ }
259
+
260
+ if (format === _mapsApiCommon.FORMATS.TILEJSON) {
261
+ var formatTiles = this.props.formatTiles || new URL(data.tiles[0]).searchParams.get('formatTiles') || _mapsApiCommon.TILE_FORMATS.MVT;
262
+
263
+ return formatTiles === _mapsApiCommon.TILE_FORMATS.MVT ? _geoLayers.MVTLayer : _cartoDynamicTileLayer.default;
266
264
  }
267
265
 
268
- var uniqueIdProperty = defaultProps.uniqueIdProperty;
266
+ return _layers.GeoJsonLayer;
267
+ }
268
+ }, {
269
+ key: "renderLayers",
270
+ value: function renderLayers() {
271
+ var data = this.state.data;
272
+ if (!data) return null;
273
+ var updateTriggers = this.props.updateTriggers;
274
+
275
+ var layer = this._getRenderLayer();
276
+
277
+ var formatTiles = defaultProps.formatTiles,
278
+ uniqueIdProperty = defaultProps.uniqueIdProperty;
269
279
 
270
280
  var props = _objectSpread({
281
+ formatTiles: formatTiles,
271
282
  uniqueIdProperty: uniqueIdProperty
272
283
  }, this.props);
273
284
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/layers/carto-layer.js"],"names":["defaultProps","data","type","onDataLoad","value","compare","onDataError","optional","uniqueIdProperty","credentials","connection","format","clientId","geoColumn","columns","CartoLayer","state","apiVersion","getSubLayers","length","props","localCreds","log","assert","Object","values","API_VERSIONS","includes","V1","V2","MAP_TYPES","QUERY","TILESET","V3","TABLE","Array","isArray","oldProps","changeFlags","_checkProps","shouldUpdateData","dataChanged","JSON","stringify","setState","_updateData","source","rest","localConfig","result","updateTriggers","layer","FORMATS","TILEJSON","CartoDynamicTileLayer","MVTLayer","GeoJsonLayer","getSubLayerProps","id","layerName","CompositeLayer"],"mappings":"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","sourcesContent":["import {CompositeLayer, log} from '@deck.gl/core';\nimport CartoDynamicTileLayer from './carto-dynamic-tile-layer';\nimport {MVTLayer} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {fetchLayerData, getDataV2, API_VERSIONS} from '../api';\nimport {FORMATS, MAP_TYPES} from '../api/maps-api-common';\nimport {getDefaultCredentials} from '../config';\n\nconst defaultProps = {\n // (String, required): data resource to load. table name, sql query or tileset name.\n data: null,\n // (Enum (MAP_TYPES), required)\n type: null,\n onDataLoad: {type: 'function', value: data => {}, compare: false},\n onDataError: {type: 'function', value: null, compare: false, optional: true},\n uniqueIdProperty: 'cartodb_id',\n\n // override carto credentials for the layer, set to null to read from default\n credentials: null,\n\n /*********************/\n /* API v3 PARAMETERS */\n /**********************/\n // (String, required): connection name at CARTO platform\n connection: null,\n\n // (String, optional): format of data\n format: null,\n\n // (String, optional): clientId identifier used for internal tracing, place here a string to identify the client who is doing the request.\n clientId: null,\n\n // (String, optional): name of the `geo_column` in the CARTO platform. Use this override the default column ('geom'), from which the geometry information should be fetched.\n geoColumn: null,\n\n // (Array<String>, optional): names of columns to fetch. By default, all columns are fetched.\n columns: {type: 'array', value: null}\n};\n\nexport default class CartoLayer extends CompositeLayer {\n initializeState() {\n this.state = {\n data: null,\n apiVersion: null\n };\n }\n\n get isLoaded() {\n return this.getSubLayers().length > 0 && super.isLoaded;\n }\n\n _checkProps(props) {\n const {type, credentials, connection, geoColumn, columns} = props;\n const localCreds = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localCreds;\n\n log.assert(\n Object.values(API_VERSIONS).includes(apiVersion),\n `Invalid apiVersion ${apiVersion}. Use API_VERSIONS enum.`\n );\n\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n log.assert(\n type === MAP_TYPES.QUERY || type === MAP_TYPES.TILESET,\n `Invalid type ${type}. Use type MAP_TYPES.QUERY or MAP_TYPES.TILESET for apiVersion ${apiVersion}`\n );\n log.assert(!connection, `Connection prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!geoColumn, `geoColumn prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!columns, `columns prop is not supported for apiVersion ${apiVersion}`);\n } else if (apiVersion === API_VERSIONS.V3) {\n log.assert(connection, 'Missing mandatory connection parameter');\n log.assert(\n Object.values(MAP_TYPES).includes(type),\n `Invalid type ${type}. Use MAP_TYPES enum.`\n );\n if (type !== MAP_TYPES.TABLE) {\n log.assert(!geoColumn, `geoColumn prop is only supported for type ${MAP_TYPES.TABLE}`);\n log.assert(!columns, `columns prop is only supported for type ${MAP_TYPES.TABLE}`);\n }\n if (columns) {\n log.assert(Array.isArray(columns), 'columns prop must be an Array');\n }\n }\n }\n\n updateState({props, oldProps, changeFlags}) {\n this._checkProps(props);\n const shouldUpdateData =\n changeFlags.dataChanged ||\n props.connection !== oldProps.connection ||\n props.geoColumn !== oldProps.geoColumn ||\n JSON.stringify(props.columns) !== JSON.stringify(oldProps.columns) ||\n props.type !== oldProps.type ||\n JSON.stringify(props.credentials) !== JSON.stringify(oldProps.credentials);\n\n if (shouldUpdateData) {\n this.setState({data: null, apiVersion: null});\n this._updateData();\n }\n }\n\n async _updateData() {\n try {\n const {type, data: source, clientId, credentials, ...rest} = this.props;\n const localConfig = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localConfig;\n\n let result;\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n result = {data: await getDataV2({type, source, credentials})};\n } else {\n result = await fetchLayerData({type, source, clientId, credentials, ...rest});\n }\n\n this.setState({...result, apiVersion});\n this.props.onDataLoad(result.data);\n } catch (err) {\n if (this.props.onDataError) {\n this.props.onDataError(err);\n } else {\n throw err;\n }\n }\n }\n\n renderLayers() {\n const {data, format, apiVersion} = this.state;\n\n if (!data) return null;\n\n const {type, updateTriggers} = this.props;\n\n let layer;\n\n if (apiVersion === API_VERSIONS.V3 && type === MAP_TYPES.TABLE && format === FORMATS.TILEJSON) {\n layer = CartoDynamicTileLayer;\n } else if (\n apiVersion === API_VERSIONS.V1 ||\n apiVersion === API_VERSIONS.V2 ||\n format === FORMATS.TILEJSON\n ) {\n layer = MVTLayer;\n } else {\n layer = GeoJsonLayer;\n }\n\n const {uniqueIdProperty} = defaultProps;\n const props = {uniqueIdProperty, ...this.props};\n delete props.data;\n\n // eslint-disable-next-line new-cap\n return new layer(\n props,\n this.getSubLayerProps({\n id: `carto-${layer.layerName}`,\n data,\n updateTriggers\n })\n );\n }\n}\n\nCartoLayer.layerName = 'CartoLayer';\nCartoLayer.defaultProps = defaultProps;\n"],"file":"carto-layer.js"}
1
+ {"version":3,"sources":["../../../src/layers/carto-layer.js"],"names":["defaultProps","data","type","onDataLoad","value","compare","onDataError","optional","uniqueIdProperty","credentials","connection","format","formatTiles","clientId","geoColumn","columns","CartoLayer","state","apiVersion","getSubLayers","length","props","localCreds","log","assert","Object","values","API_VERSIONS","includes","V1","V2","MAP_TYPES","QUERY","TILESET","V3","TABLE","Array","isArray","oldProps","changeFlags","_checkProps","shouldUpdateData","dataChanged","JSON","stringify","setState","_updateData","source","rest","localConfig","result","MVTLayer","FORMATS","TILEJSON","URL","tiles","searchParams","get","TILE_FORMATS","MVT","CartoDynamicTileLayer","GeoJsonLayer","updateTriggers","layer","_getRenderLayer","getSubLayerProps","id","layerName","CompositeLayer"],"mappings":"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","sourcesContent":["import {CompositeLayer, log} from '@deck.gl/core';\nimport CartoDynamicTileLayer from './carto-dynamic-tile-layer';\nimport {MVTLayer} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {fetchLayerData, getDataV2, API_VERSIONS} from '../api';\nimport {FORMATS, MAP_TYPES, TILE_FORMATS} from '../api/maps-api-common';\nimport {getDefaultCredentials} from '../config';\n\nconst defaultProps = {\n // (String, required): data resource to load. table name, sql query or tileset name.\n data: null,\n // (Enum (MAP_TYPES), required)\n type: null,\n onDataLoad: {type: 'function', value: data => {}, compare: false},\n onDataError: {type: 'function', value: null, compare: false, optional: true},\n uniqueIdProperty: 'cartodb_id',\n\n // override carto credentials for the layer, set to null to read from default\n credentials: null,\n\n /*********************/\n /* API v3 PARAMETERS */\n /**********************/\n // (String, required): connection name at CARTO platform\n connection: null,\n\n // (String, optional): format of data\n format: null,\n\n // (String, optional): force format of data for tiles\n formatTiles: null,\n\n // (String, optional): clientId identifier used for internal tracing, place here a string to identify the client who is doing the request.\n clientId: null,\n\n // (String, optional): name of the `geo_column` in the CARTO platform. Use this override the default column ('geom'), from which the geometry information should be fetched.\n geoColumn: null,\n\n // (Array<String>, optional): names of columns to fetch. By default, all columns are fetched.\n columns: {type: 'array', value: null}\n};\n\nexport default class CartoLayer extends CompositeLayer {\n initializeState() {\n this.state = {\n data: null,\n apiVersion: null\n };\n }\n\n get isLoaded() {\n return this.getSubLayers().length > 0 && super.isLoaded;\n }\n\n _checkProps(props) {\n const {type, credentials, connection, geoColumn, columns} = props;\n const localCreds = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localCreds;\n\n log.assert(\n Object.values(API_VERSIONS).includes(apiVersion),\n `Invalid apiVersion ${apiVersion}. Use API_VERSIONS enum.`\n );\n\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n log.assert(\n type === MAP_TYPES.QUERY || type === MAP_TYPES.TILESET,\n `Invalid type ${type}. Use type MAP_TYPES.QUERY or MAP_TYPES.TILESET for apiVersion ${apiVersion}`\n );\n log.assert(!connection, `Connection prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!geoColumn, `geoColumn prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!columns, `columns prop is not supported for apiVersion ${apiVersion}`);\n } else if (apiVersion === API_VERSIONS.V3) {\n log.assert(connection, 'Missing mandatory connection parameter');\n log.assert(\n Object.values(MAP_TYPES).includes(type),\n `Invalid type ${type}. Use MAP_TYPES enum.`\n );\n if (type !== MAP_TYPES.TABLE) {\n log.assert(!geoColumn, `geoColumn prop is only supported for type ${MAP_TYPES.TABLE}`);\n log.assert(!columns, `columns prop is only supported for type ${MAP_TYPES.TABLE}`);\n }\n if (columns) {\n log.assert(Array.isArray(columns), 'columns prop must be an Array');\n }\n }\n }\n\n updateState({props, oldProps, changeFlags}) {\n this._checkProps(props);\n const shouldUpdateData =\n changeFlags.dataChanged ||\n props.connection !== oldProps.connection ||\n props.geoColumn !== oldProps.geoColumn ||\n JSON.stringify(props.columns) !== JSON.stringify(oldProps.columns) ||\n props.type !== oldProps.type ||\n JSON.stringify(props.credentials) !== JSON.stringify(oldProps.credentials);\n\n if (shouldUpdateData) {\n this.setState({data: null, apiVersion: null});\n this._updateData();\n }\n }\n\n async _updateData() {\n try {\n const {type, data: source, clientId, credentials, ...rest} = this.props;\n const localConfig = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localConfig;\n\n let result;\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n result = {data: await getDataV2({type, source, credentials})};\n } else {\n result = await fetchLayerData({type, source, clientId, credentials, ...rest});\n }\n\n this.setState({...result, apiVersion});\n this.props.onDataLoad(result.data);\n } catch (err) {\n if (this.props.onDataError) {\n this.props.onDataError(err);\n } else {\n throw err;\n }\n }\n }\n\n _getRenderLayer() {\n const {data, format, apiVersion} = this.state;\n\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n return MVTLayer;\n }\n\n if (format === FORMATS.TILEJSON) {\n /* global URL */\n const formatTiles =\n this.props.formatTiles ||\n new URL(data.tiles[0]).searchParams.get('formatTiles') ||\n TILE_FORMATS.MVT;\n return formatTiles === TILE_FORMATS.MVT ? MVTLayer : CartoDynamicTileLayer;\n }\n\n // It's a geojson layer\n return GeoJsonLayer;\n }\n\n renderLayers() {\n const {data} = this.state;\n\n if (!data) return null;\n\n const {updateTriggers} = this.props;\n\n const layer = this._getRenderLayer();\n\n const {formatTiles, uniqueIdProperty} = defaultProps;\n const props = {formatTiles, uniqueIdProperty, ...this.props};\n delete props.data;\n\n // eslint-disable-next-line new-cap\n return new layer(\n props,\n this.getSubLayerProps({\n id: `carto-${layer.layerName}`,\n data,\n updateTriggers\n })\n );\n }\n}\n\nCartoLayer.layerName = 'CartoLayer';\nCartoLayer.defaultProps = defaultProps;\n"],"file":"carto-layer.js"}
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Tile = void 0;
7
+ var KeyValueObject = {};
8
+
9
+ KeyValueObject.read = function (pbf, end) {
10
+ return pbf.readFields(KeyValueObject._readField, {
11
+ key: '',
12
+ value: ''
13
+ }, end);
14
+ };
15
+
16
+ KeyValueObject._readField = function (tag, obj, pbf) {
17
+ if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readString();
18
+ };
19
+
20
+ var Properties = {};
21
+
22
+ Properties.read = function (pbf, end) {
23
+ return pbf.readFields(Properties._readField, {
24
+ data: []
25
+ }, end);
26
+ };
27
+
28
+ Properties._readField = function (tag, obj, pbf) {
29
+ if (tag === 1) obj.data.push(KeyValueObject.read(pbf, pbf.readVarint() + pbf.pos));
30
+ };
31
+
32
+ var Doubles = {};
33
+
34
+ Doubles.read = function (pbf, end) {
35
+ var _pbf$readFields = pbf.readFields(Doubles._readField, {
36
+ value: [],
37
+ size: 0
38
+ }, end),
39
+ value = _pbf$readFields.value,
40
+ size = _pbf$readFields.size;
41
+
42
+ return {
43
+ value: new Float32Array(value),
44
+ size: size
45
+ };
46
+ };
47
+
48
+ Doubles._readField = function (tag, obj, pbf) {
49
+ if (tag === 1) pbf.readPackedDouble(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
50
+ };
51
+
52
+ var Ints = {};
53
+
54
+ Ints.read = function (pbf, end) {
55
+ var _pbf$readFields2 = pbf.readFields(Ints._readField, {
56
+ value: [],
57
+ size: 0
58
+ }, end),
59
+ value = _pbf$readFields2.value,
60
+ size = _pbf$readFields2.size;
61
+
62
+ return {
63
+ value: new Uint32Array(value),
64
+ size: size
65
+ };
66
+ };
67
+
68
+ Ints._readField = function (tag, obj, pbf) {
69
+ if (tag === 1) pbf.readPackedVarint(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
70
+ };
71
+
72
+ var NumericProp = {};
73
+
74
+ NumericProp.read = function (pbf, end) {
75
+ return pbf.readFields(NumericProp._readField, {
76
+ value: []
77
+ }, end);
78
+ };
79
+
80
+ NumericProp._readField = function (tag, obj, pbf) {
81
+ if (tag === 1) pbf.readPackedDouble(obj.value);
82
+ };
83
+
84
+ var NumericPropKeyValue = {};
85
+
86
+ NumericPropKeyValue.read = function (pbf, end) {
87
+ return pbf.readFields(NumericPropKeyValue._readField, {
88
+ key: '',
89
+ value: null
90
+ }, end);
91
+ };
92
+
93
+ NumericPropKeyValue._readField = function (tag, obj, pbf) {
94
+ if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = NumericProp.read(pbf, pbf.readVarint() + pbf.pos);
95
+ };
96
+
97
+ NumericProp._FieldEntry1 = {};
98
+
99
+ NumericProp._FieldEntry1.read = function (pbf, end) {
100
+ return pbf.readFields(NumericProp._FieldEntry1._readField, {
101
+ key: '',
102
+ value: 0
103
+ }, end);
104
+ };
105
+
106
+ NumericProp._FieldEntry1._readField = function (tag, obj, pbf) {
107
+ if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readDouble();
108
+ };
109
+
110
+ var StringProp = {};
111
+
112
+ StringProp.read = function (pbf, end) {
113
+ return pbf.readFields(StringProp._readField, {
114
+ value: []
115
+ }, end);
116
+ };
117
+
118
+ StringProp._readField = function (tag, obj, pbf) {
119
+ if (tag === 1) obj.value.push(pbf.readString());
120
+ };
121
+
122
+ var Points = {};
123
+
124
+ Points.read = function (pbf, end) {
125
+ return pbf.readFields(Points._readField, {
126
+ positions: null,
127
+ globalFeatureIds: null,
128
+ featureIds: null,
129
+ properties: [],
130
+ numericProps: {}
131
+ }, end);
132
+ };
133
+
134
+ Points._readField = function (tag, obj, pbf) {
135
+ if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 5) {
136
+ var entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);
137
+ obj.numericProps[entry.key] = entry.value;
138
+ }
139
+ };
140
+
141
+ var Lines = {};
142
+
143
+ Lines.read = function (pbf, end) {
144
+ return pbf.readFields(Lines._readField, {
145
+ positions: null,
146
+ pathIndices: null,
147
+ globalFeatureIds: null,
148
+ featureIds: null,
149
+ properties: [],
150
+ numericProps: {}
151
+ }, end);
152
+ };
153
+
154
+ Lines._readField = function (tag, obj, pbf) {
155
+ if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.pathIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 6) {
156
+ var entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);
157
+ obj.numericProps[entry.key] = entry.value;
158
+ }
159
+ };
160
+
161
+ var Polygons = {};
162
+
163
+ Polygons.read = function (pbf, end) {
164
+ return pbf.readFields(Polygons._readField, {
165
+ positions: null,
166
+ polygonIndices: null,
167
+ globalFeatureIds: null,
168
+ featureIds: null,
169
+ primitivePolygonIndices: null,
170
+ triangles: null,
171
+ properties: [],
172
+ numericProps: {}
173
+ }, end);
174
+ };
175
+
176
+ Polygons._readField = function (tag, obj, pbf) {
177
+ if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.polygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.primitivePolygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 6) obj.triangles = Ints.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 7) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 8) {
178
+ var entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);
179
+ obj.numericProps[entry.key] = entry.value;
180
+ }
181
+ };
182
+
183
+ var Tile = {};
184
+ exports.Tile = Tile;
185
+
186
+ Tile.read = function (pbf, end) {
187
+ return pbf.readFields(Tile._readField, {
188
+ points: null,
189
+ lines: null,
190
+ polygons: null
191
+ }, end);
192
+ };
193
+
194
+ Tile._readField = function (tag, obj, pbf) {
195
+ if (tag === 1) obj.points = Points.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.lines = Lines.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.polygons = Polygons.read(pbf, pbf.readVarint() + pbf.pos);
196
+ };
197
+ //# sourceMappingURL=carto-dynamic-tile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/layers/schema/carto-dynamic-tile.js"],"names":["KeyValueObject","read","pbf","end","readFields","_readField","key","value","tag","obj","readString","Properties","data","push","readVarint","pos","Doubles","size","Float32Array","readPackedDouble","Ints","Uint32Array","readPackedVarint","NumericProp","NumericPropKeyValue","_FieldEntry1","readDouble","StringProp","Points","positions","globalFeatureIds","featureIds","properties","numericProps","entry","Lines","pathIndices","Polygons","polygonIndices","primitivePolygonIndices","triangles","Tile","points","lines","polygons"],"mappings":"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","sourcesContent":["// KeyValueObject ========================================\n\nconst KeyValueObject = {};\n\nKeyValueObject.read = function (pbf, end) {\n return pbf.readFields(KeyValueObject._readField, {key: '', value: ''}, end);\n};\nKeyValueObject._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readString();\n};\n\n// Properties ========================================\n\nconst Properties = {};\n\nProperties.read = function (pbf, end) {\n return pbf.readFields(Properties._readField, {data: []}, end);\n};\nProperties._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.data.push(KeyValueObject.read(pbf, pbf.readVarint() + pbf.pos));\n};\n\n// Doubles ========================================\n\nconst Doubles = {};\n\nDoubles.read = function (pbf, end) {\n // TODO perhaps we can do better and directly map from the source\n // ArrayBuffer using ArrayBuffer.slice()\n const {value, size} = pbf.readFields(Doubles._readField, {value: [], size: 0}, end);\n return {value: new Float32Array(value), size};\n};\nDoubles._readField = function (tag, obj, pbf) {\n if (tag === 1) pbf.readPackedDouble(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n};\n\n// Ints ========================================\n\nconst Ints = {};\n\nInts.read = function (pbf, end) {\n const {value, size} = pbf.readFields(Ints._readField, {value: [], size: 0}, end);\n return {value: new Uint32Array(value), size};\n};\nInts._readField = function (tag, obj, pbf) {\n if (tag === 1) pbf.readPackedVarint(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n};\n\n// NumericProp ========================================\n\nconst NumericProp = {};\n\nNumericProp.read = function (pbf, end) {\n return pbf.readFields(NumericProp._readField, {value: []}, end);\n};\nNumericProp._readField = function (tag, obj, pbf) {\n if (tag === 1) pbf.readPackedDouble(obj.value);\n};\n\n// NumericPropKeyValue ========================================\n\nconst NumericPropKeyValue = {};\n\nNumericPropKeyValue.read = function (pbf, end) {\n return pbf.readFields(NumericPropKeyValue._readField, {key: '', value: null}, end);\n};\nNumericPropKeyValue._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = NumericProp.read(pbf, pbf.readVarint() + pbf.pos);\n};\n\n// NumericProp._FieldEntry1 ========================================\n\nNumericProp._FieldEntry1 = {};\n\nNumericProp._FieldEntry1.read = function (pbf, end) {\n return pbf.readFields(NumericProp._FieldEntry1._readField, {key: '', value: 0}, end);\n};\nNumericProp._FieldEntry1._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readDouble();\n};\n\n// StringProp ========================================\n\nconst StringProp = {};\n\nStringProp.read = function (pbf, end) {\n return pbf.readFields(StringProp._readField, {value: []}, end);\n};\nStringProp._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.value.push(pbf.readString());\n};\n\n// Points ========================================\n\nconst Points = {};\n\nPoints.read = function (pbf, end) {\n return pbf.readFields(\n Points._readField,\n {positions: null, globalFeatureIds: null, featureIds: null, properties: [], numericProps: {}},\n end\n );\n};\nPoints._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 5) {\n const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n};\n\n// Lines ========================================\n\nconst Lines = {};\n\nLines.read = function (pbf, end) {\n return pbf.readFields(\n Lines._readField,\n {\n positions: null,\n pathIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {}\n },\n end\n );\n};\nLines._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.pathIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 6) {\n const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n};\n\n// Polygons ========================================\n\nconst Polygons = {};\n\nPolygons.read = function (pbf, end) {\n return pbf.readFields(\n Polygons._readField,\n {\n positions: null,\n polygonIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n primitivePolygonIndices: null,\n triangles: null,\n properties: [],\n numericProps: {}\n },\n end\n );\n};\nPolygons._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.positions = Doubles.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.polygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.primitivePolygonIndices = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 6) obj.triangles = Ints.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 7) obj.properties.push(Properties.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 8) {\n const entry = NumericPropKeyValue.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n};\n\n// Tile ========================================\n\nexport const Tile = {};\n\nTile.read = function (pbf, end) {\n return pbf.readFields(Tile._readField, {points: null, lines: null, polygons: null}, end);\n};\nTile._readField = function (tag, obj, pbf) {\n if (tag === 1) obj.points = Points.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.lines = Lines.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.polygons = Polygons.read(pbf, pbf.readVarint() + pbf.pos);\n};\n"],"file":"carto-dynamic-tile.js"}
@@ -1,4 +1,4 @@
1
- export { FORMATS, MAP_TYPES, API_VERSIONS } from './maps-api-common';
1
+ export { FORMATS, TILE_FORMATS, MAP_TYPES, API_VERSIONS } from './maps-api-common';
2
2
  export { getDataV2, CONNECTIONS } from './maps-client';
3
3
  export { fetchLayerData, fetchMap, getData, mapInstantiation } from './maps-v3-client';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/index.js"],"names":["FORMATS","MAP_TYPES","API_VERSIONS","getDataV2","CONNECTIONS","fetchLayerData","fetchMap","getData","mapInstantiation"],"mappings":"AAAA,SAAQA,OAAR,EAAiBC,SAAjB,EAA4BC,YAA5B,QAA+C,mBAA/C;AACA,SAAQC,SAAR,EAAmBC,WAAnB,QAAqC,eAArC;AACA,SAAQC,cAAR,EAAwBC,QAAxB,EAAkCC,OAAlC,EAA2CC,gBAA3C,QAAkE,kBAAlE","sourcesContent":["export {FORMATS, MAP_TYPES, API_VERSIONS} from './maps-api-common';\nexport {getDataV2, CONNECTIONS} from './maps-client';\nexport {fetchLayerData, fetchMap, getData, mapInstantiation} from './maps-v3-client';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/api/index.js"],"names":["FORMATS","TILE_FORMATS","MAP_TYPES","API_VERSIONS","getDataV2","CONNECTIONS","fetchLayerData","fetchMap","getData","mapInstantiation"],"mappings":"AAAA,SAAQA,OAAR,EAAiBC,YAAjB,EAA+BC,SAA/B,EAA0CC,YAA1C,QAA6D,mBAA7D;AACA,SAAQC,SAAR,EAAmBC,WAAnB,QAAqC,eAArC;AACA,SAAQC,cAAR,EAAwBC,QAAxB,EAAkCC,OAAlC,EAA2CC,gBAA3C,QAAkE,kBAAlE","sourcesContent":["export {FORMATS, TILE_FORMATS, MAP_TYPES, API_VERSIONS} from './maps-api-common';\nexport {getDataV2, CONNECTIONS} from './maps-client';\nexport {fetchLayerData, fetchMap, getData, mapInstantiation} from './maps-v3-client';\n"],"file":"index.js"}