@deck.gl/carto 8.10.0-alpha.4 → 8.10.0-alpha.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 (90) hide show
  1. package/dist/cartoRasterTile-worker.js +1 -1
  2. package/dist/cartoSpatialTile-worker.js +1 -1
  3. package/dist/cartoVectorTile-worker.js +1 -1
  4. package/dist/dist.dev.js +64 -715
  5. package/dist/es5/api/carto-api-error.js +3 -7
  6. package/dist/es5/api/carto-api-error.js.map +1 -1
  7. package/dist/es5/layers/carto-layer.js +196 -200
  8. package/dist/es5/layers/carto-layer.js.map +1 -1
  9. package/dist/es5/layers/h3-tile-layer.js +50 -54
  10. package/dist/es5/layers/h3-tile-layer.js.map +1 -1
  11. package/dist/es5/layers/h3-tileset-2d.js +62 -68
  12. package/dist/es5/layers/h3-tileset-2d.js.map +1 -1
  13. package/dist/es5/layers/point-label-layer.js +160 -165
  14. package/dist/es5/layers/point-label-layer.js.map +1 -1
  15. package/dist/es5/layers/quadbin-layer.js +23 -27
  16. package/dist/es5/layers/quadbin-layer.js.map +1 -1
  17. package/dist/es5/layers/quadbin-tile-layer.js +31 -34
  18. package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
  19. package/dist/es5/layers/quadbin-tileset-2d.js +32 -38
  20. package/dist/es5/layers/quadbin-tileset-2d.js.map +1 -1
  21. package/dist/es5/layers/raster-layer.js +94 -98
  22. package/dist/es5/layers/raster-layer.js.map +1 -1
  23. package/dist/es5/layers/raster-tile-layer.js +28 -33
  24. package/dist/es5/layers/raster-tile-layer.js.map +1 -1
  25. package/dist/es5/layers/schema/carto-raster-tile-loader.js +1 -1
  26. package/dist/es5/layers/schema/carto-raster-tile.js +31 -39
  27. package/dist/es5/layers/schema/carto-raster-tile.js.map +1 -1
  28. package/dist/es5/layers/schema/carto-spatial-tile-loader.js +1 -1
  29. package/dist/es5/layers/schema/carto-spatial-tile.js +36 -47
  30. package/dist/es5/layers/schema/carto-spatial-tile.js.map +1 -1
  31. package/dist/es5/layers/schema/carto-tile.js +161 -196
  32. package/dist/es5/layers/schema/carto-tile.js.map +1 -1
  33. package/dist/es5/layers/schema/carto-vector-tile-loader.js +1 -1
  34. package/dist/es5/layers/spatial-index-tile-layer.js +67 -73
  35. package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -1
  36. package/dist/es5/layers/vector-tile-layer.js +83 -90
  37. package/dist/es5/layers/vector-tile-layer.js.map +1 -1
  38. package/dist/esm/api/carto-api-error.js +8 -13
  39. package/dist/esm/api/carto-api-error.js.map +1 -1
  40. package/dist/esm/api/layer-map.js +4 -4
  41. package/dist/esm/api/layer-map.js.map +1 -1
  42. package/dist/esm/api/maps-api-common.js +3 -3
  43. package/dist/esm/api/maps-api-common.js.map +1 -1
  44. package/dist/esm/api/maps-client.js +7 -7
  45. package/dist/esm/api/maps-client.js.map +1 -1
  46. package/dist/esm/api/maps-v3-client.js +12 -12
  47. package/dist/esm/api/maps-v3-client.js.map +1 -1
  48. package/dist/esm/api/parseMap.js +4 -4
  49. package/dist/esm/api/parseMap.js.map +1 -1
  50. package/dist/esm/config.js +3 -3
  51. package/dist/esm/config.js.map +1 -1
  52. package/dist/esm/layers/carto-layer.js +12 -15
  53. package/dist/esm/layers/carto-layer.js.map +1 -1
  54. package/dist/esm/layers/h3-tile-layer.js +3 -6
  55. package/dist/esm/layers/h3-tile-layer.js.map +1 -1
  56. package/dist/esm/layers/point-label-layer.js +6 -10
  57. package/dist/esm/layers/point-label-layer.js.map +1 -1
  58. package/dist/esm/layers/quadbin-layer.js +2 -5
  59. package/dist/esm/layers/quadbin-layer.js.map +1 -1
  60. package/dist/esm/layers/quadbin-tile-layer.js +3 -6
  61. package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
  62. package/dist/esm/layers/raster-layer-vertex.glsl.js +98 -1
  63. package/dist/esm/layers/raster-layer-vertex.glsl.js.map +1 -1
  64. package/dist/esm/layers/raster-layer.js +4 -8
  65. package/dist/esm/layers/raster-layer.js.map +1 -1
  66. package/dist/esm/layers/raster-tile-layer.js +3 -6
  67. package/dist/esm/layers/raster-tile-layer.js.map +1 -1
  68. package/dist/esm/layers/schema/carto-raster-tile-loader.js +1 -1
  69. package/dist/esm/layers/schema/carto-raster-tile.js +1 -1
  70. package/dist/esm/layers/schema/carto-raster-tile.js.map +1 -1
  71. package/dist/esm/layers/schema/carto-spatial-tile-loader.js +1 -1
  72. package/dist/esm/layers/schema/carto-vector-tile-loader.js +1 -1
  73. package/dist/esm/layers/spatial-index-tile-layer.js +2 -5
  74. package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -1
  75. package/dist/esm/layers/utils.js +1 -1
  76. package/dist/esm/layers/utils.js.map +1 -1
  77. package/dist/esm/layers/vector-tile-layer.js +2 -5
  78. package/dist/esm/layers/vector-tile-layer.js.map +1 -1
  79. package/dist/esm/sources/base-source.js +1 -1
  80. package/dist/esm/sources/base-source.js.map +1 -1
  81. package/dist/esm/sources/utils.js +2 -2
  82. package/dist/esm/sources/utils.js.map +1 -1
  83. package/dist/esm/style/palette.js +2 -2
  84. package/dist/esm/style/palette.js.map +1 -1
  85. package/dist/esm/style/utils.js +1 -1
  86. package/dist/esm/style/utils.js.map +1 -1
  87. package/dist/esm/utils.js +1 -1
  88. package/dist/esm/utils.js.map +1 -1
  89. package/dist.min.js +46 -25
  90. package/package.json +2 -2
@@ -1,4 +1,3 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
1
  import { registerLoaders } from '@loaders.gl/core';
3
2
  import CartoVectorTileLoader from './schema/carto-vector-tile-loader';
4
3
  registerLoaders([CartoVectorTileLoader]);
@@ -111,8 +110,6 @@ export default class VectorTileLayer extends MVTLayer {
111
110
  }
112
111
 
113
112
  }
114
-
115
- _defineProperty(VectorTileLayer, "layerName", 'VectorTileLayer');
116
-
117
- _defineProperty(VectorTileLayer, "defaultProps", defaultProps);
113
+ VectorTileLayer.layerName = 'VectorTileLayer';
114
+ VectorTileLayer.defaultProps = defaultProps;
118
115
  //# sourceMappingURL=vector-tile-layer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/layers/vector-tile-layer.ts"],"names":["registerLoaders","CartoVectorTileLoader","ClipExtension","MVTLayer","_getURLFromTemplate","GeoJsonLayer","binaryToGeojson","TILE_FORMATS","TilejsonPropType","injectAccessToken","defaultTileFormat","BINARY","defaultProps","data","formatTiles","VectorTileLayer","initializeState","binary","props","MVT","setState","updateState","parameters","URL","tiles","searchParams","get","mvt","getLoadOptions","loadOptions","tileJSON","accessToken","gis","format","getTileData","tile","url","state","Promise","reject","fetch","signal","propName","layer","renderSubLayers","tileBbox","bbox","west","south","east","north","subLayerProps","autoHighlight","extensions","clipBounds","subLayer","getPickingInfo","params","info","index","sourceLayer","object","globalFeatureId"],"mappings":"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","sourcesContent":["import {registerLoaders} from '@loaders.gl/core';\nimport CartoVectorTileLoader from './schema/carto-vector-tile-loader';\nregisterLoaders([CartoVectorTileLoader]);\n\nimport {DefaultProps} from '@deck.gl/core';\nimport {ClipExtension} from '@deck.gl/extensions';\nimport {\n MVTLayer,\n MVTLayerProps,\n TileLayer,\n _getURLFromTemplate,\n _Tile2DHeader,\n _TileLoadProps as TileLoadProps\n} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {binaryToGeojson} from '@loaders.gl/gis';\nimport type {BinaryFeatures} from '@loaders.gl/schema';\nimport {TileFormat, TILE_FORMATS} from '../api/maps-api-common';\nimport type {Feature} from 'geojson';\nimport {TilejsonPropType, CartoTilejsonResult} from '../sources/common';\nimport {injectAccessToken} from './utils';\n\nconst defaultTileFormat = TILE_FORMATS.BINARY;\n\nconst defaultProps: DefaultProps<VectorTileLayerProps> = {\n ...MVTLayer.defaultProps,\n data: TilejsonPropType,\n formatTiles: defaultTileFormat\n};\n\n/** All properties supported by VectorTileLayer. */\nexport type VectorTileLayerProps = _VectorTileLayerProps & Omit<MVTLayerProps, 'data'>;\n\n/** Properties added by VectorTileLayer. */\ntype _VectorTileLayerProps = {\n data: null | CartoTilejsonResult | Promise<CartoTilejsonResult>;\n /** Use to override the default tile data format.\n *\n * Possible values are: `TILE_FORMATS.BINARY`, `TILE_FORMATS.GEOJSON` and `TILE_FORMATS.MVT`.\n *\n * Only supported when `apiVersion` is `API_VERSIONS.V3` and `format` is `FORMATS.TILEJSON`.\n */\n formatTiles?: TileFormat;\n};\n\n// TODO Perhaps we can't subclass MVTLayer and keep types. Better to subclass TileLayer instead?\n// @ts-ignore\nexport default class VectorTileLayer<ExtraProps extends {} = {}> extends MVTLayer<\n Required<_VectorTileLayerProps> & ExtraProps\n> {\n static layerName = 'VectorTileLayer';\n static defaultProps = defaultProps;\n\n initializeState(): void {\n super.initializeState();\n const binary = this.props.formatTiles === TILE_FORMATS.BINARY || TILE_FORMATS.MVT;\n this.setState({binary});\n }\n\n updateState(parameters) {\n const {props} = parameters;\n if (props.data) {\n super.updateState(parameters);\n\n const formatTiles = new URL(props.data.tiles[0]).searchParams.get('formatTiles');\n const mvt = formatTiles === TILE_FORMATS.MVT;\n this.setState({mvt});\n }\n }\n\n getLoadOptions(): any {\n const loadOptions = super.getLoadOptions() || {};\n const tileJSON = this.props.data as CartoTilejsonResult;\n injectAccessToken(loadOptions, tileJSON.accessToken);\n loadOptions.gis = {format: 'binary'}; // Use binary for MVT loading\n return loadOptions;\n }\n\n getTileData(tile: TileLoadProps) {\n const url = _getURLFromTemplate(this.state.data, tile);\n if (!url) {\n return Promise.reject('Invalid URL');\n }\n\n const loadOptions = this.getLoadOptions();\n const {fetch} = this.props;\n const {signal} = tile;\n return fetch(url, {propName: 'data', layer: this, loadOptions, signal});\n }\n\n renderSubLayers(\n props: TileLayer['props'] & {\n id: string;\n data: any;\n _offset: number;\n tile: _Tile2DHeader;\n }\n ): GeoJsonLayer | null {\n if (props.data === null) {\n return null;\n }\n\n if (this.state.mvt) {\n return super.renderSubLayers(props) as GeoJsonLayer;\n }\n\n const tileBbox = props.tile.bbox as any;\n const {west, south, east, north} = tileBbox;\n\n const subLayerProps = {\n ...props,\n autoHighlight: false,\n extensions: [new ClipExtension(), ...(props.extensions || [])],\n clipBounds: [west, south, east, north]\n };\n\n const subLayer = new GeoJsonLayer(subLayerProps);\n return subLayer;\n }\n\n getPickingInfo(params) {\n const info = super.getPickingInfo(params);\n\n if (this.state.binary && info.index !== -1) {\n const {data} = params.sourceLayer!.props;\n info.object = binaryToGeojson(data as BinaryFeatures, {\n globalFeatureId: info.index\n }) as Feature;\n }\n\n return info;\n }\n}\n"],"file":"vector-tile-layer.js"}
1
+ {"version":3,"sources":["../../../src/layers/vector-tile-layer.ts"],"names":["registerLoaders","CartoVectorTileLoader","ClipExtension","MVTLayer","_getURLFromTemplate","GeoJsonLayer","binaryToGeojson","TILE_FORMATS","TilejsonPropType","injectAccessToken","defaultTileFormat","BINARY","defaultProps","data","formatTiles","VectorTileLayer","initializeState","binary","props","MVT","setState","updateState","parameters","URL","tiles","searchParams","get","mvt","getLoadOptions","loadOptions","tileJSON","accessToken","gis","format","getTileData","tile","url","state","Promise","reject","fetch","signal","propName","layer","renderSubLayers","tileBbox","bbox","west","south","east","north","subLayerProps","autoHighlight","extensions","clipBounds","subLayer","getPickingInfo","params","info","index","sourceLayer","object","globalFeatureId","layerName"],"mappings":"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","sourcesContent":["import {registerLoaders} from '@loaders.gl/core';\nimport CartoVectorTileLoader from './schema/carto-vector-tile-loader';\nregisterLoaders([CartoVectorTileLoader]);\n\nimport {DefaultProps} from '@deck.gl/core';\nimport {ClipExtension} from '@deck.gl/extensions';\nimport {\n MVTLayer,\n MVTLayerProps,\n TileLayer,\n _getURLFromTemplate,\n _Tile2DHeader,\n _TileLoadProps as TileLoadProps\n} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {binaryToGeojson} from '@loaders.gl/gis';\nimport type {BinaryFeatures} from '@loaders.gl/schema';\nimport {TileFormat, TILE_FORMATS} from '../api/maps-api-common';\nimport type {Feature} from 'geojson';\nimport {TilejsonPropType, CartoTilejsonResult} from '../sources/common';\nimport {injectAccessToken} from './utils';\n\nconst defaultTileFormat = TILE_FORMATS.BINARY;\n\nconst defaultProps: DefaultProps<VectorTileLayerProps> = {\n ...MVTLayer.defaultProps,\n data: TilejsonPropType,\n formatTiles: defaultTileFormat\n};\n\n/** All properties supported by VectorTileLayer. */\nexport type VectorTileLayerProps = _VectorTileLayerProps & Omit<MVTLayerProps, 'data'>;\n\n/** Properties added by VectorTileLayer. */\ntype _VectorTileLayerProps = {\n data: null | CartoTilejsonResult | Promise<CartoTilejsonResult>;\n /** Use to override the default tile data format.\n *\n * Possible values are: `TILE_FORMATS.BINARY`, `TILE_FORMATS.GEOJSON` and `TILE_FORMATS.MVT`.\n *\n * Only supported when `apiVersion` is `API_VERSIONS.V3` and `format` is `FORMATS.TILEJSON`.\n */\n formatTiles?: TileFormat;\n};\n\n// TODO Perhaps we can't subclass MVTLayer and keep types. Better to subclass TileLayer instead?\n// @ts-ignore\nexport default class VectorTileLayer<ExtraProps extends {} = {}> extends MVTLayer<\n Required<_VectorTileLayerProps> & ExtraProps\n> {\n static layerName = 'VectorTileLayer';\n static defaultProps = defaultProps;\n\n initializeState(): void {\n super.initializeState();\n const binary = this.props.formatTiles === TILE_FORMATS.BINARY || TILE_FORMATS.MVT;\n this.setState({binary});\n }\n\n updateState(parameters) {\n const {props} = parameters;\n if (props.data) {\n super.updateState(parameters);\n\n const formatTiles = new URL(props.data.tiles[0]).searchParams.get('formatTiles');\n const mvt = formatTiles === TILE_FORMATS.MVT;\n this.setState({mvt});\n }\n }\n\n getLoadOptions(): any {\n const loadOptions = super.getLoadOptions() || {};\n const tileJSON = this.props.data as CartoTilejsonResult;\n injectAccessToken(loadOptions, tileJSON.accessToken);\n loadOptions.gis = {format: 'binary'}; // Use binary for MVT loading\n return loadOptions;\n }\n\n getTileData(tile: TileLoadProps) {\n const url = _getURLFromTemplate(this.state.data, tile);\n if (!url) {\n return Promise.reject('Invalid URL');\n }\n\n const loadOptions = this.getLoadOptions();\n const {fetch} = this.props;\n const {signal} = tile;\n return fetch(url, {propName: 'data', layer: this, loadOptions, signal});\n }\n\n renderSubLayers(\n props: TileLayer['props'] & {\n id: string;\n data: any;\n _offset: number;\n tile: _Tile2DHeader;\n }\n ): GeoJsonLayer | null {\n if (props.data === null) {\n return null;\n }\n\n if (this.state.mvt) {\n return super.renderSubLayers(props) as GeoJsonLayer;\n }\n\n const tileBbox = props.tile.bbox as any;\n const {west, south, east, north} = tileBbox;\n\n const subLayerProps = {\n ...props,\n autoHighlight: false,\n extensions: [new ClipExtension(), ...(props.extensions || [])],\n clipBounds: [west, south, east, north]\n };\n\n const subLayer = new GeoJsonLayer(subLayerProps);\n return subLayer;\n }\n\n getPickingInfo(params) {\n const info = super.getPickingInfo(params);\n\n if (this.state.binary && info.index !== -1) {\n const {data} = params.sourceLayer!.props;\n info.object = binaryToGeojson(data as BinaryFeatures, {\n globalFeatureId: info.index\n }) as Feature;\n }\n\n return info;\n }\n}\n"],"file":"vector-tile-layer.js"}
@@ -11,7 +11,7 @@ export async function cartoBaseSource(endpoint, options, urlParameters) {
11
11
  format
12
12
  } = mergedOptions;
13
13
  const headers = {
14
- Authorization: "Bearer ".concat(options.accessToken),
14
+ Authorization: `Bearer ${options.accessToken}`,
15
15
  ...options.headers
16
16
  };
17
17
  const errorContext = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sources/base-source.ts"],"names":["SOURCE_DEFAULTS","buildApiEndpoint","requestWithParameters","cartoBaseSource","endpoint","options","urlParameters","mergedOptions","baseUrl","accessToken","format","headers","Authorization","errorContext","requestType","connection","connectionName","type","source","JSON","stringify","undefined","mapInstantiation","parameters","dataUrl","url","tilejson"],"mappings":"AAEA,SAMEA,eANF,QASO,UATP;AAUA,SAAQC,gBAAR,EAA0BC,qBAA1B,QAAsD,SAAtD;AAEA,OAAO,eAAeC,eAAf,CACLC,QADK,EAELC,OAFK,EAGLC,aAHK,EAIsD;AAC3D,QAAMC,aAAa,GAAG,EAAC,GAAGP,eAAJ;AAAqB,OAAGK,OAAxB;AAAiCD,IAAAA;AAAjC,GAAtB;AACA,QAAMI,OAAO,GAAGP,gBAAgB,CAACM,aAAD,CAAhC;AACA,QAAM;AAACE,IAAAA,WAAD;AAAcC,IAAAA;AAAd,MAAwBH,aAA9B;AACA,QAAMI,OAAO,GAAG;AAACC,IAAAA,aAAa,mBAAYP,OAAO,CAACI,WAApB,CAAd;AAAiD,OAAGJ,OAAO,CAACM;AAA5D,GAAhB;AAEA,QAAME,YAA6B,GAAG;AACpCC,IAAAA,WAAW,EAAE,mBADuB;AAEpCC,IAAAA,UAAU,EAAEV,OAAO,CAACW,cAFgB;AAGpCC,IAAAA,IAAI,EAAEb,QAH8B;AAIpCc,IAAAA,MAAM,EAAEC,IAAI,CAACC,SAAL,CAAed,aAAf,EAA8Be,SAA9B,EAAyC,CAAzC;AAJ4B,GAAtC;AAMA,QAAMC,gBAAgB,GAAG,MAAMpB,qBAAqB,CAA2B;AAC7EM,IAAAA,OAD6E;AAE7Ee,IAAAA,UAAU,EAAEjB,aAFiE;AAG7EK,IAAAA,OAH6E;AAI7EE,IAAAA;AAJ6E,GAA3B,CAApD;AAOA,QAAMW,OAAO,GAAGF,gBAAgB,CAACZ,MAAD,CAAhB,CAAyBe,GAAzB,CAA6B,CAA7B,CAAhB;AACAZ,EAAAA,YAAY,CAACC,WAAb,GAA2B,UAA3B;;AAEA,MAAIJ,MAAM,KAAK,UAAf,EAA2B;AACzB,UAAMgB,QAAQ,GAAG,MAAMxB,qBAAqB,CAAW;AACrDM,MAAAA,OAAO,EAAEgB,OAD4C;AAErDb,MAAAA,OAFqD;AAGrDE,MAAAA;AAHqD,KAAX,CAA5C;AAKA,WAAO,EAAC,GAAGa,QAAJ;AAAcjB,MAAAA;AAAd,KAAP;AACD;;AAED,SAAO,MAAMP,qBAAqB,CAA6B;AAC7DM,IAAAA,OAAO,EAAEgB,OADoD;AAE7Db,IAAAA,OAF6D;AAG7DE,IAAAA;AAH6D,GAA7B,CAAlC;AAKD","sourcesContent":["import type {MapType} from '../api/maps-api-common';\nimport {APIErrorContext} from '../api/carto-api-error';\nimport {\n CartoSourceOptionalOptions,\n CartoSourceRequiredOptions,\n CartoTilejsonResult,\n GeojsonResult,\n JsonResult,\n SOURCE_DEFAULTS,\n Tilejson,\n TilejsonMapInstantiation\n} from './common';\nimport {buildApiEndpoint, requestWithParameters} from './utils';\n\nexport async function cartoBaseSource<UrlParameters extends Record<string, string>>(\n endpoint: MapType,\n options: Partial<CartoSourceOptionalOptions> & CartoSourceRequiredOptions,\n urlParameters: UrlParameters\n): Promise<CartoTilejsonResult | GeojsonResult | JsonResult> {\n const mergedOptions = {...SOURCE_DEFAULTS, ...options, endpoint};\n const baseUrl = buildApiEndpoint(mergedOptions);\n const {accessToken, format} = mergedOptions;\n const headers = {Authorization: `Bearer ${options.accessToken}`, ...options.headers};\n\n const errorContext: APIErrorContext = {\n requestType: 'Map instantiation',\n connection: options.connectionName,\n type: endpoint,\n source: JSON.stringify(urlParameters, undefined, 2)\n };\n const mapInstantiation = await requestWithParameters<TilejsonMapInstantiation>({\n baseUrl,\n parameters: urlParameters,\n headers,\n errorContext\n });\n\n const dataUrl = mapInstantiation[format].url[0];\n errorContext.requestType = 'Map data';\n\n if (format === 'tilejson') {\n const tilejson = await requestWithParameters<Tilejson>({\n baseUrl: dataUrl,\n headers,\n errorContext\n });\n return {...tilejson, accessToken};\n }\n\n return await requestWithParameters<GeojsonResult | JsonResult>({\n baseUrl: dataUrl,\n headers,\n errorContext\n });\n}\n"],"file":"base-source.js"}
1
+ {"version":3,"sources":["../../../src/sources/base-source.ts"],"names":["SOURCE_DEFAULTS","buildApiEndpoint","requestWithParameters","cartoBaseSource","endpoint","options","urlParameters","mergedOptions","baseUrl","accessToken","format","headers","Authorization","errorContext","requestType","connection","connectionName","type","source","JSON","stringify","undefined","mapInstantiation","parameters","dataUrl","url","tilejson"],"mappings":"AAEA,SAMEA,eANF,QASO,UATP;AAUA,SAAQC,gBAAR,EAA0BC,qBAA1B,QAAsD,SAAtD;AAEA,OAAO,eAAeC,eAAf,CACLC,QADK,EAELC,OAFK,EAGLC,aAHK,EAIsD;AAC3D,QAAMC,aAAa,GAAG,EAAC,GAAGP,eAAJ;AAAqB,OAAGK,OAAxB;AAAiCD,IAAAA;AAAjC,GAAtB;AACA,QAAMI,OAAO,GAAGP,gBAAgB,CAACM,aAAD,CAAhC;AACA,QAAM;AAACE,IAAAA,WAAD;AAAcC,IAAAA;AAAd,MAAwBH,aAA9B;AACA,QAAMI,OAAO,GAAG;AAACC,IAAAA,aAAa,EAAG,UAASP,OAAO,CAACI,WAAY,EAA9C;AAAiD,OAAGJ,OAAO,CAACM;AAA5D,GAAhB;AAEA,QAAME,YAA6B,GAAG;AACpCC,IAAAA,WAAW,EAAE,mBADuB;AAEpCC,IAAAA,UAAU,EAAEV,OAAO,CAACW,cAFgB;AAGpCC,IAAAA,IAAI,EAAEb,QAH8B;AAIpCc,IAAAA,MAAM,EAAEC,IAAI,CAACC,SAAL,CAAed,aAAf,EAA8Be,SAA9B,EAAyC,CAAzC;AAJ4B,GAAtC;AAMA,QAAMC,gBAAgB,GAAG,MAAMpB,qBAAqB,CAA2B;AAC7EM,IAAAA,OAD6E;AAE7Ee,IAAAA,UAAU,EAAEjB,aAFiE;AAG7EK,IAAAA,OAH6E;AAI7EE,IAAAA;AAJ6E,GAA3B,CAApD;AAOA,QAAMW,OAAO,GAAGF,gBAAgB,CAACZ,MAAD,CAAhB,CAAyBe,GAAzB,CAA6B,CAA7B,CAAhB;AACAZ,EAAAA,YAAY,CAACC,WAAb,GAA2B,UAA3B;;AAEA,MAAIJ,MAAM,KAAK,UAAf,EAA2B;AACzB,UAAMgB,QAAQ,GAAG,MAAMxB,qBAAqB,CAAW;AACrDM,MAAAA,OAAO,EAAEgB,OAD4C;AAErDb,MAAAA,OAFqD;AAGrDE,MAAAA;AAHqD,KAAX,CAA5C;AAKA,WAAO,EAAC,GAAGa,QAAJ;AAAcjB,MAAAA;AAAd,KAAP;AACD;;AAED,SAAO,MAAMP,qBAAqB,CAA6B;AAC7DM,IAAAA,OAAO,EAAEgB,OADoD;AAE7Db,IAAAA,OAF6D;AAG7DE,IAAAA;AAH6D,GAA7B,CAAlC;AAKD","sourcesContent":["import type {MapType} from '../api/maps-api-common';\nimport {APIErrorContext} from '../api/carto-api-error';\nimport {\n CartoSourceOptionalOptions,\n CartoSourceRequiredOptions,\n CartoTilejsonResult,\n GeojsonResult,\n JsonResult,\n SOURCE_DEFAULTS,\n Tilejson,\n TilejsonMapInstantiation\n} from './common';\nimport {buildApiEndpoint, requestWithParameters} from './utils';\n\nexport async function cartoBaseSource<UrlParameters extends Record<string, string>>(\n endpoint: MapType,\n options: Partial<CartoSourceOptionalOptions> & CartoSourceRequiredOptions,\n urlParameters: UrlParameters\n): Promise<CartoTilejsonResult | GeojsonResult | JsonResult> {\n const mergedOptions = {...SOURCE_DEFAULTS, ...options, endpoint};\n const baseUrl = buildApiEndpoint(mergedOptions);\n const {accessToken, format} = mergedOptions;\n const headers = {Authorization: `Bearer ${options.accessToken}`, ...options.headers};\n\n const errorContext: APIErrorContext = {\n requestType: 'Map instantiation',\n connection: options.connectionName,\n type: endpoint,\n source: JSON.stringify(urlParameters, undefined, 2)\n };\n const mapInstantiation = await requestWithParameters<TilejsonMapInstantiation>({\n baseUrl,\n parameters: urlParameters,\n headers,\n errorContext\n });\n\n const dataUrl = mapInstantiation[format].url[0];\n errorContext.requestType = 'Map data';\n\n if (format === 'tilejson') {\n const tilejson = await requestWithParameters<Tilejson>({\n baseUrl: dataUrl,\n headers,\n errorContext\n });\n return {...tilejson, accessToken};\n }\n\n return await requestWithParameters<GeojsonResult | JsonResult>({\n baseUrl: dataUrl,\n headers,\n errorContext\n });\n}\n"],"file":"base-source.js"}
@@ -17,7 +17,7 @@ export async function requestWithParameters({
17
17
  const encodedParameters = Object.entries(allParameters).map(([key, value]) => {
18
18
  return encodeParameter(key, value);
19
19
  });
20
- url += "?".concat(encodedParameters.join('&'));
20
+ url += `?${encodedParameters.join('&')}`;
21
21
  }
22
22
 
23
23
  const headers = { ...DEFAULT_HEADERS,
@@ -64,6 +64,6 @@ export function buildApiEndpoint({
64
64
  endpoint,
65
65
  mapsUrl
66
66
  }) {
67
- return "".concat(mapsUrl || buildMapsUrlFromBase(apiBaseUrl), "/").concat(connectionName, "/").concat(endpoint);
67
+ return `${mapsUrl || buildMapsUrlFromBase(apiBaseUrl)}/${connectionName}/${endpoint}`;
68
68
  }
69
69
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sources/utils.ts"],"names":["CartoAPIError","encodeParameter","DEFAULT_HEADERS","DEFAULT_PARAMETERS","MAX_GET_LENGTH","buildMapsUrlFromBase","requestWithParameters","baseUrl","parameters","headers","customHeaders","errorContext","url","allParameters","encodedParameters","Object","entries","map","key","value","join","response","length","fetch","method","body","JSON","stringify","json","error","ok","buildApiEndpoint","apiBaseUrl","connectionName","endpoint","mapsUrl"],"mappings":"AAAA,SAAyBA,aAAzB,QAA6C,wBAA7C;AACA,SAAQC,eAAR,QAAuC,wBAAvC;AACA,SAAQC,eAAR,EAAyBC,kBAAzB,EAA6CC,cAA7C,QAAkE,UAAlE;AACA,SAAQC,oBAAR,QAAmC,WAAnC;AAEA,OAAO,eAAeC,qBAAf,CAA8C;AACnDC,EAAAA,OADmD;AAEnDC,EAAAA,UAFmD;AAGnDC,EAAAA,OAAO,EAAEC,aAH0C;AAInDC,EAAAA;AAJmD,CAA9C,EAUQ;AACb,MAAIC,GAAG,GAAGL,OAAV;;AACA,MAAIC,UAAJ,EAAgB;AACd,UAAMK,aAAa,GAAG,EAAC,GAAGV,kBAAJ;AAAwB,SAAGK;AAA3B,KAAtB;AACA,UAAMM,iBAAiB,GAAGC,MAAM,CAACC,OAAP,CAAeH,aAAf,EAA8BI,GAA9B,CAAkC,CAAC,CAACC,GAAD,EAAMC,KAAN,CAAD,KAAkB;AAC5E,aAAOlB,eAAe,CAACiB,GAAD,EAAMC,KAAN,CAAtB;AACD,KAFyB,CAA1B;AAGAP,IAAAA,GAAG,eAAQE,iBAAiB,CAACM,IAAlB,CAAuB,GAAvB,CAAR,CAAH;AACD;;AAED,QAAMX,OAAO,GAAG,EAAC,GAAGP,eAAJ;AAAqB,OAAGQ;AAAxB,GAAhB;;AACA,MAAI;AAEF,QAAIW,QAAJ;;AACA,QAAIT,GAAG,CAACU,MAAJ,GAAalB,cAAjB,EAAiC;AAC/BiB,MAAAA,QAAQ,GAAG,MAAME,KAAK,CAACX,GAAD,EAAM;AAACY,QAAAA,MAAM,EAAE,MAAT;AAAiBC,QAAAA,IAAI,EAAEC,IAAI,CAACC,SAAL,CAAenB,UAAf,CAAvB;AAAmDC,QAAAA;AAAnD,OAAN,CAAtB;AACD,KAFD,MAEO;AACLY,MAAAA,QAAQ,GAAG,MAAME,KAAK,CAACX,GAAD,EAAM;AAACH,QAAAA;AAAD,OAAN,CAAtB;AACD;;AACD,QAAImB,IAAJ;;AACA,QAAI;AACFA,MAAAA,IAAI,GAAG,MAAMP,QAAQ,CAACO,IAAT,EAAb;AACD,KAFD,CAEE,MAAM;AACNA,MAAAA,IAAI,GAAG;AAACC,QAAAA,KAAK,EAAE;AAAR,OAAP;AACD;;AACD,QAAI,CAACR,QAAQ,CAACS,EAAd,EAAkB;AAChB,YAAM,IAAI9B,aAAJ,CAAkB4B,IAAI,CAACC,KAAvB,EAA8BlB,YAA9B,EAA4CU,QAA5C,CAAN;AACD;;AAED,WAAOO,IAAP;AACD,GAnBD,CAmBE,OAAOC,KAAP,EAAc;AACd,UAAM,IAAI7B,aAAJ,CAAkB6B,KAAlB,EAAkClB,YAAlC,CAAN;AACD;AACF;AAED,OAAO,SAASoB,gBAAT,CAA0B;AAC/BC,EAAAA,UAD+B;AAE/BC,EAAAA,cAF+B;AAG/BC,EAAAA,QAH+B;AAI/BC,EAAAA;AAJ+B,CAA1B,EAUI;AACT,mBAAUA,OAAO,IAAI9B,oBAAoB,CAAC2B,UAAD,CAAzC,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"}
1
+ {"version":3,"sources":["../../../src/sources/utils.ts"],"names":["CartoAPIError","encodeParameter","DEFAULT_HEADERS","DEFAULT_PARAMETERS","MAX_GET_LENGTH","buildMapsUrlFromBase","requestWithParameters","baseUrl","parameters","headers","customHeaders","errorContext","url","allParameters","encodedParameters","Object","entries","map","key","value","join","response","length","fetch","method","body","JSON","stringify","json","error","ok","buildApiEndpoint","apiBaseUrl","connectionName","endpoint","mapsUrl"],"mappings":"AAAA,SAAyBA,aAAzB,QAA6C,wBAA7C;AACA,SAAQC,eAAR,QAAuC,wBAAvC;AACA,SAAQC,eAAR,EAAyBC,kBAAzB,EAA6CC,cAA7C,QAAkE,UAAlE;AACA,SAAQC,oBAAR,QAAmC,WAAnC;AAEA,OAAO,eAAeC,qBAAf,CAA8C;AACnDC,EAAAA,OADmD;AAEnDC,EAAAA,UAFmD;AAGnDC,EAAAA,OAAO,EAAEC,aAH0C;AAInDC,EAAAA;AAJmD,CAA9C,EAUQ;AACb,MAAIC,GAAG,GAAGL,OAAV;;AACA,MAAIC,UAAJ,EAAgB;AACd,UAAMK,aAAa,GAAG,EAAC,GAAGV,kBAAJ;AAAwB,SAAGK;AAA3B,KAAtB;AACA,UAAMM,iBAAiB,GAAGC,MAAM,CAACC,OAAP,CAAeH,aAAf,EAA8BI,GAA9B,CAAkC,CAAC,CAACC,GAAD,EAAMC,KAAN,CAAD,KAAkB;AAC5E,aAAOlB,eAAe,CAACiB,GAAD,EAAMC,KAAN,CAAtB;AACD,KAFyB,CAA1B;AAGAP,IAAAA,GAAG,IAAK,IAAGE,iBAAiB,CAACM,IAAlB,CAAuB,GAAvB,CAA4B,EAAvC;AACD;;AAED,QAAMX,OAAO,GAAG,EAAC,GAAGP,eAAJ;AAAqB,OAAGQ;AAAxB,GAAhB;;AACA,MAAI;AAEF,QAAIW,QAAJ;;AACA,QAAIT,GAAG,CAACU,MAAJ,GAAalB,cAAjB,EAAiC;AAC/BiB,MAAAA,QAAQ,GAAG,MAAME,KAAK,CAACX,GAAD,EAAM;AAACY,QAAAA,MAAM,EAAE,MAAT;AAAiBC,QAAAA,IAAI,EAAEC,IAAI,CAACC,SAAL,CAAenB,UAAf,CAAvB;AAAmDC,QAAAA;AAAnD,OAAN,CAAtB;AACD,KAFD,MAEO;AACLY,MAAAA,QAAQ,GAAG,MAAME,KAAK,CAACX,GAAD,EAAM;AAACH,QAAAA;AAAD,OAAN,CAAtB;AACD;;AACD,QAAImB,IAAJ;;AACA,QAAI;AACFA,MAAAA,IAAI,GAAG,MAAMP,QAAQ,CAACO,IAAT,EAAb;AACD,KAFD,CAEE,MAAM;AACNA,MAAAA,IAAI,GAAG;AAACC,QAAAA,KAAK,EAAE;AAAR,OAAP;AACD;;AACD,QAAI,CAACR,QAAQ,CAACS,EAAd,EAAkB;AAChB,YAAM,IAAI9B,aAAJ,CAAkB4B,IAAI,CAACC,KAAvB,EAA8BlB,YAA9B,EAA4CU,QAA5C,CAAN;AACD;;AAED,WAAOO,IAAP;AACD,GAnBD,CAmBE,OAAOC,KAAP,EAAc;AACd,UAAM,IAAI7B,aAAJ,CAAkB6B,KAAlB,EAAkClB,YAAlC,CAAN;AACD;AACF;AAED,OAAO,SAASoB,gBAAT,CAA0B;AAC/BC,EAAAA,UAD+B;AAE/BC,EAAAA,cAF+B;AAG/BC,EAAAA,QAH+B;AAI/BC,EAAAA;AAJ+B,CAA1B,EAUI;AACT,SAAQ,GAAEA,OAAO,IAAI9B,oBAAoB,CAAC2B,UAAD,CAAa,IAAGC,cAAe,IAAGC,QAAS,EAApF;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"}
@@ -6,7 +6,7 @@ export const OTHERS_COLOR = [119, 119, 119];
6
6
  export default function getPalette(name, numCategories) {
7
7
  const palette = cartoColors[name];
8
8
  let paletteIndex = numCategories;
9
- assert(palette, "Palette \"".concat(name, "\" not found. Expected a CARTOColors string"));
9
+ assert(palette, `Palette "${name}" not found. Expected a CARTOColors string`);
10
10
  const palettesColorVariants = Object.keys(palette).filter(p => p !== 'tags').map(Number);
11
11
  const longestPaletteIndex = Math.max(...palettesColorVariants);
12
12
  const smallestPaletteIndex = Math.min(...palettesColorVariants);
@@ -45,7 +45,7 @@ export function hexToRgb(hex) {
45
45
  }
46
46
 
47
47
  result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
48
- assert(result, "Hexadecimal color \"".concat(hex, "\" was not parsed correctly"));
48
+ assert(result, `Hexadecimal color "${hex}" was not parsed correctly`);
49
49
  return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16), parseInt(result[4], 16)];
50
50
  }
51
51
  //# sourceMappingURL=palette.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/style/palette.ts"],"names":["cartoColors","assert","DEFAULT_PALETTE","NULL_COLOR","OTHERS_COLOR","getPalette","name","numCategories","palette","paletteIndex","palettesColorVariants","Object","keys","filter","p","map","Number","longestPaletteIndex","Math","max","smallestPaletteIndex","min","isInteger","colors","tags","includes","slice","c","hexToRgb","hex","result","exec","parseInt"],"mappings":"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","sourcesContent":["import * as cartoColors from 'cartocolor';\nimport {assert} from './utils';\n\nexport type Color = [r: number, b: number, g: number, a?: number];\n\nexport const DEFAULT_PALETTE = 'PurpOr';\nexport const NULL_COLOR: Color = [204, 204, 204];\nexport const OTHERS_COLOR: Color = [119, 119, 119];\n\ninterface CartoColorsPalette {\n tags?: string[];\n [key: number]: string[];\n}\n\nexport default function getPalette(name: string, numCategories: number): Color[] {\n const palette: CartoColorsPalette | undefined = cartoColors[name];\n let paletteIndex = numCategories;\n\n assert(palette, `Palette \"${name}\" not found. Expected a CARTOColors string`);\n\n const palettesColorVariants = Object.keys(palette)\n .filter(p => p !== 'tags')\n .map(Number);\n\n const longestPaletteIndex = Math.max(...palettesColorVariants);\n const smallestPaletteIndex = Math.min(...palettesColorVariants);\n\n if (!Number.isInteger(numCategories) || numCategories > longestPaletteIndex) {\n paletteIndex = longestPaletteIndex;\n } else if (numCategories < smallestPaletteIndex) {\n paletteIndex = smallestPaletteIndex;\n }\n\n let colors = palette[paletteIndex];\n\n if (palette.tags && palette.tags.includes('qualitative')) {\n colors = colors.slice(0, -1);\n }\n\n return colors.map(c => hexToRgb(c));\n}\n\nexport function hexToRgb(hex: string): Color {\n // Evaluate #ABC\n let result = /^#?([a-f\\d]{1})([a-f\\d]{1})([a-f\\d]{1})$/i.exec(hex);\n\n if (result) {\n return [\n parseInt(result[1] + result[1], 16),\n parseInt(result[2] + result[2], 16),\n parseInt(result[3] + result[3], 16),\n 255\n ];\n }\n\n // Evaluate #ABCD\n result = /^#?([a-f\\d]{1})([a-f\\d]{1})([a-f\\d]{1})([a-f\\d]{1})$/i.exec(hex);\n\n if (result) {\n return [\n parseInt(result[1] + result[1], 16),\n parseInt(result[2] + result[2], 16),\n parseInt(result[3] + result[3], 16),\n parseInt(result[4] + result[4], 16)\n ];\n }\n\n // Evaluate #ABCDEF\n result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\n if (result) {\n return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16), 255];\n }\n\n // Evaluate #ABCDEFAF\n result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\n assert(result, `Hexadecimal color \"${hex}\" was not parsed correctly`);\n\n return [\n parseInt(result[1], 16),\n parseInt(result[2], 16),\n parseInt(result[3], 16),\n parseInt(result[4], 16)\n ];\n}\n"],"file":"palette.js"}
1
+ {"version":3,"sources":["../../../src/style/palette.ts"],"names":["cartoColors","assert","DEFAULT_PALETTE","NULL_COLOR","OTHERS_COLOR","getPalette","name","numCategories","palette","paletteIndex","palettesColorVariants","Object","keys","filter","p","map","Number","longestPaletteIndex","Math","max","smallestPaletteIndex","min","isInteger","colors","tags","includes","slice","c","hexToRgb","hex","result","exec","parseInt"],"mappings":"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","sourcesContent":["import * as cartoColors from 'cartocolor';\nimport {assert} from './utils';\n\nexport type Color = [r: number, b: number, g: number, a?: number];\n\nexport const DEFAULT_PALETTE = 'PurpOr';\nexport const NULL_COLOR: Color = [204, 204, 204];\nexport const OTHERS_COLOR: Color = [119, 119, 119];\n\ninterface CartoColorsPalette {\n tags?: string[];\n [key: number]: string[];\n}\n\nexport default function getPalette(name: string, numCategories: number): Color[] {\n const palette: CartoColorsPalette | undefined = cartoColors[name];\n let paletteIndex = numCategories;\n\n assert(palette, `Palette \"${name}\" not found. Expected a CARTOColors string`);\n\n const palettesColorVariants = Object.keys(palette)\n .filter(p => p !== 'tags')\n .map(Number);\n\n const longestPaletteIndex = Math.max(...palettesColorVariants);\n const smallestPaletteIndex = Math.min(...palettesColorVariants);\n\n if (!Number.isInteger(numCategories) || numCategories > longestPaletteIndex) {\n paletteIndex = longestPaletteIndex;\n } else if (numCategories < smallestPaletteIndex) {\n paletteIndex = smallestPaletteIndex;\n }\n\n let colors = palette[paletteIndex];\n\n if (palette.tags && palette.tags.includes('qualitative')) {\n colors = colors.slice(0, -1);\n }\n\n return colors.map(c => hexToRgb(c));\n}\n\nexport function hexToRgb(hex: string): Color {\n // Evaluate #ABC\n let result = /^#?([a-f\\d]{1})([a-f\\d]{1})([a-f\\d]{1})$/i.exec(hex);\n\n if (result) {\n return [\n parseInt(result[1] + result[1], 16),\n parseInt(result[2] + result[2], 16),\n parseInt(result[3] + result[3], 16),\n 255\n ];\n }\n\n // Evaluate #ABCD\n result = /^#?([a-f\\d]{1})([a-f\\d]{1})([a-f\\d]{1})([a-f\\d]{1})$/i.exec(hex);\n\n if (result) {\n return [\n parseInt(result[1] + result[1], 16),\n parseInt(result[2] + result[2], 16),\n parseInt(result[3] + result[3], 16),\n parseInt(result[4] + result[4], 16)\n ];\n }\n\n // Evaluate #ABCDEF\n result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\n if (result) {\n return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16), 255];\n }\n\n // Evaluate #ABCDEFAF\n result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n\n assert(result, `Hexadecimal color \"${hex}\" was not parsed correctly`);\n\n return [\n parseInt(result[1], 16),\n parseInt(result[2], 16),\n parseInt(result[3], 16),\n parseInt(result[4], 16)\n ];\n}\n"],"file":"palette.js"}
@@ -13,7 +13,7 @@ export function getAttrValue(attr, d) {
13
13
  }
14
14
  export function assert(condition, message = '') {
15
15
  if (!condition) {
16
- throw new Error("CARTO style error: ".concat(message));
16
+ throw new Error(`CARTO style error: ${message}`);
17
17
  }
18
18
  }
19
19
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/style/utils.ts"],"names":["ALLOWED_ATTR_TYPES","Object","freeze","getAttrValue","attr","d","assert","includes","properties","condition","message","Error"],"mappings":"AAEA,MAAMA,kBAAkB,GAAGC,MAAM,CAACC,MAAP,CAAc,CAAC,UAAD,EAAa,QAAb,CAAd,CAA3B;AAIA,OAAO,SAASC,YAAT,CACLC,IADK,EAELC,CAFK,EAGC;AAAA;;AACNC,EAAAA,MAAM,CAAC,OAAOD,CAAP,KAAa,QAAd,EAAwB,iCAAxB,CAAN;AACAC,EAAAA,MAAM,CAACN,kBAAkB,CAACO,QAAnB,CAA4B,OAAOH,IAAnC,CAAD,EAA2C,4CAA3C,CAAN;;AAGA,MAAI,OAAOA,IAAP,KAAgB,UAApB,EAAgC;AAC9B,WAAOA,IAAI,CAACC,CAAD,CAAX;AACD;;AACD,SAAQA,CAAR,aAAQA,CAAR,sCAAQA,CAAD,CAA2BG,UAAlC,gDAAO,YAAwCJ,IAAxC,CAAP;AACD;AAED,OAAO,SAASE,MAAT,CAAgBG,SAAhB,EAA2BC,OAAO,GAAG,EAArC,EAA4D;AACjE,MAAI,CAACD,SAAL,EAAgB;AACd,UAAM,IAAIE,KAAJ,8BAAgCD,OAAhC,EAAN;AACD;AACF","sourcesContent":["import {Feature} from 'geojson';\n\nconst ALLOWED_ATTR_TYPES = Object.freeze(['function', 'string']);\n\nexport type AttributeSelector<DataT = Feature, OutT = any> = string | ((d: DataT) => OutT);\n\nexport function getAttrValue<DataT = Feature, OutT = any>(\n attr: string | AttributeSelector<DataT, OutT>,\n d: DataT\n): OutT {\n assert(typeof d === 'object', 'Expected \"data\" to be an object');\n assert(ALLOWED_ATTR_TYPES.includes(typeof attr), 'Expected \"attr\" to be a function or string');\n\n // Is function\n if (typeof attr === 'function') {\n return attr(d);\n }\n return (d as unknown as Feature)?.properties?.[attr] as OutT;\n}\n\nexport function assert(condition, message = ''): asserts condition {\n if (!condition) {\n throw new Error(`CARTO style error: ${message}`);\n }\n}\n"],"file":"utils.js"}
1
+ {"version":3,"sources":["../../../src/style/utils.ts"],"names":["ALLOWED_ATTR_TYPES","Object","freeze","getAttrValue","attr","d","assert","includes","properties","condition","message","Error"],"mappings":"AAEA,MAAMA,kBAAkB,GAAGC,MAAM,CAACC,MAAP,CAAc,CAAC,UAAD,EAAa,QAAb,CAAd,CAA3B;AAIA,OAAO,SAASC,YAAT,CACLC,IADK,EAELC,CAFK,EAGC;AAAA;;AACNC,EAAAA,MAAM,CAAC,OAAOD,CAAP,KAAa,QAAd,EAAwB,iCAAxB,CAAN;AACAC,EAAAA,MAAM,CAACN,kBAAkB,CAACO,QAAnB,CAA4B,OAAOH,IAAnC,CAAD,EAA2C,4CAA3C,CAAN;;AAGA,MAAI,OAAOA,IAAP,KAAgB,UAApB,EAAgC;AAC9B,WAAOA,IAAI,CAACC,CAAD,CAAX;AACD;;AACD,SAAQA,CAAR,aAAQA,CAAR,sCAAQA,CAAD,CAA2BG,UAAlC,gDAAO,YAAwCJ,IAAxC,CAAP;AACD;AAED,OAAO,SAASE,MAAT,CAAgBG,SAAhB,EAA2BC,OAAO,GAAG,EAArC,EAA4D;AACjE,MAAI,CAACD,SAAL,EAAgB;AACd,UAAM,IAAIE,KAAJ,CAAW,sBAAqBD,OAAQ,EAAxC,CAAN;AACD;AACF","sourcesContent":["import {Feature} from 'geojson';\n\nconst ALLOWED_ATTR_TYPES = Object.freeze(['function', 'string']);\n\nexport type AttributeSelector<DataT = Feature, OutT = any> = string | ((d: DataT) => OutT);\n\nexport function getAttrValue<DataT = Feature, OutT = any>(\n attr: string | AttributeSelector<DataT, OutT>,\n d: DataT\n): OutT {\n assert(typeof d === 'object', 'Expected \"data\" to be an object');\n assert(ALLOWED_ATTR_TYPES.includes(typeof attr), 'Expected \"attr\" to be a function or string');\n\n // Is function\n if (typeof attr === 'function') {\n return attr(d);\n }\n return (d as unknown as Feature)?.properties?.[attr] as OutT;\n}\n\nexport function assert(condition, message = ''): asserts condition {\n if (!condition) {\n throw new Error(`CARTO style error: ${message}`);\n }\n}\n"],"file":"utils.js"}
package/dist/esm/utils.js CHANGED
@@ -23,6 +23,6 @@ export function createBinaryProxy(data, index) {
23
23
  });
24
24
  }
25
25
  export function getWorkerUrl(id, version) {
26
- return "https://unpkg.com/@deck.gl/carto@".concat(version, "/dist/").concat(id, "-worker.js");
26
+ return `https://unpkg.com/@deck.gl/carto@${version}/dist/${id}-worker.js`;
27
27
  }
28
28
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils.ts"],"names":["log","assert","condition","message","createBinaryProxy","data","index","properties","numericProps","Proxy","get","target","property","receiver","value","has","getWorkerUrl","id","version"],"mappings":"AAAA,SAAQA,GAAR,QAAkB,eAAlB;AAGA,OAAO,SAASC,MAAT,CAAgBC,SAAhB,EAAoCC,OAApC,EAAyE;AAC9EH,EAAAA,GAAG,CAACC,MAAJ,CAAWC,SAAX,EAAsBC,OAAtB;AACD;AAID,OAAO,SAASC,iBAAT,CACLC,IADK,EAELC,KAFK,EAGL;AACA,QAAM;AAACC,IAAAA,UAAD;AAAaC,IAAAA;AAAb,MAA6BH,IAAnC;AACA,SAAO,IAAII,KAAJ,CAAUF,UAAU,CAACD,KAAD,CAAV,IAAqB,EAA/B,EAAmC;AACxCI,IAAAA,GAAG,CAACC,MAAD,EAASC,QAAT,EAAmBC,QAAnB,EAA6B;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,GAAG,CAACJ,MAAD,EAASC,QAAT,EAAmB;AACpB,aAAOA,QAAQ,IAAIJ,YAAZ,IAA4BI,QAAQ,IAAID,MAA/C;AACD;;AAVuC,GAAnC,CAAP;AAYD;AAED,OAAO,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"}
1
+ {"version":3,"sources":["../../src/utils.ts"],"names":["log","assert","condition","message","createBinaryProxy","data","index","properties","numericProps","Proxy","get","target","property","receiver","value","has","getWorkerUrl","id","version"],"mappings":"AAAA,SAAQA,GAAR,QAAkB,eAAlB;AAGA,OAAO,SAASC,MAAT,CAAgBC,SAAhB,EAAoCC,OAApC,EAAyE;AAC9EH,EAAAA,GAAG,CAACC,MAAJ,CAAWC,SAAX,EAAsBC,OAAtB;AACD;AAID,OAAO,SAASC,iBAAT,CACLC,IADK,EAELC,KAFK,EAGL;AACA,QAAM;AAACC,IAAAA,UAAD;AAAaC,IAAAA;AAAb,MAA6BH,IAAnC;AACA,SAAO,IAAII,KAAJ,CAAUF,UAAU,CAACD,KAAD,CAAV,IAAqB,EAA/B,EAAmC;AACxCI,IAAAA,GAAG,CAACC,MAAD,EAASC,QAAT,EAAmBC,QAAnB,EAA6B;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,GAAG,CAACJ,MAAD,EAASC,QAAT,EAAmB;AACpB,aAAOA,QAAQ,IAAIJ,YAAZ,IAA4BI,QAAQ,IAAID,MAA/C;AACD;;AAVuC,GAAnC,CAAP;AAYD;AAED,OAAO,SAASK,YAAT,CAAsBC,EAAtB,EAAkCC,OAAlC,EAAmD;AAGxD,SAAQ,oCAAmCA,OAAQ,SAAQD,EAAG,YAA9D;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"}