@deck.gl/carto 9.1.12 → 9.2.0-alpha.2

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 (41) hide show
  1. package/dist/api/fetch-map.d.ts +13 -45
  2. package/dist/api/fetch-map.d.ts.map +1 -1
  3. package/dist/api/fetch-map.js +45 -202
  4. package/dist/api/fetch-map.js.map +1 -1
  5. package/dist/api/index.d.ts +1 -1
  6. package/dist/api/index.d.ts.map +1 -1
  7. package/dist/api/index.js +1 -1
  8. package/dist/api/index.js.map +1 -1
  9. package/dist/cartoPropertiesTile-worker.js +1 -1
  10. package/dist/cartoRasterTile-worker.js +1 -1
  11. package/dist/cartoSpatialTile-worker.js +1 -1
  12. package/dist/cartoVectorTile-worker.js +1 -1
  13. package/dist/dist.dev.js +14497 -12442
  14. package/dist/index.cjs +24 -848
  15. package/dist/index.cjs.map +4 -4
  16. package/dist/index.d.ts +1 -17
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -18
  19. package/dist/index.js.map +1 -1
  20. package/dist/layers/schema/carto-properties-tile-loader.js +1 -1
  21. package/dist/layers/schema/carto-properties-tile-loader.js.map +1 -1
  22. package/dist/layers/schema/carto-raster-tile-loader.js +1 -1
  23. package/dist/layers/schema/carto-raster-tile-loader.js.map +1 -1
  24. package/dist/layers/schema/carto-spatial-tile-loader.js +1 -1
  25. package/dist/layers/schema/carto-spatial-tile-loader.js.map +1 -1
  26. package/dist/layers/schema/carto-vector-tile-loader.js +1 -1
  27. package/dist/layers/schema/carto-vector-tile-loader.js.map +1 -1
  28. package/dist/layers/schema/spatialjson-utils.d.ts.map +1 -1
  29. package/dist/layers/schema/spatialjson-utils.js.map +1 -1
  30. package/dist/layers/vector-tile-layer.d.ts.map +1 -1
  31. package/dist/layers/vector-tile-layer.js.map +1 -1
  32. package/dist/utils.d.ts.map +1 -1
  33. package/dist/utils.js.map +1 -1
  34. package/dist.min.js +10 -27
  35. package/package.json +6 -6
  36. package/src/api/fetch-map.ts +54 -341
  37. package/src/api/index.ts +1 -1
  38. package/src/index.ts +1 -74
  39. package/src/layers/schema/spatialjson-utils.ts +0 -1
  40. package/src/layers/vector-tile-layer.ts +1 -2
  41. package/src/utils.ts +1 -6
@@ -1,48 +1,16 @@
1
- import { ParseMapResult } from "./parse-map.js";
2
- import type { Basemap } from "./types.js";
3
- export type FetchMapOptions = {
4
- /**
5
- * CARTO platform access token. Only required for private maps.
6
- */
7
- accessToken?: string;
8
- /**
9
- * Base URL of the CARTO Maps API.
10
- *
11
- * Example for account located in EU-west region: `https://gcp-eu-west1.api.carto.com`
12
- *
13
- * @default https://gcp-us-east1.api.carto.com
14
- */
15
- apiBaseUrl?: string;
16
- /**
17
- * Identifier of map created in CARTO Builder.
18
- */
19
- cartoMapId: string;
20
- clientId?: string;
21
- /**
22
- * Custom HTTP headers added to map instantiation and data requests.
23
- */
24
- headers?: Record<string, string>;
25
- /**
26
- * Interval in seconds at which to autoRefresh the data. If provided, `onNewData` must also be provided.
27
- */
28
- autoRefresh?: number;
29
- /**
30
- * Callback function that will be invoked whenever data in layers is changed. If provided, `autoRefresh` must also be provided.
31
- */
32
- onNewData?: (map: any) => void;
33
- /**
34
- * Maximum URL character length. Above this limit, requests use POST.
35
- * Used to avoid browser and CDN limits.
36
- * @default {@link DEFAULT_MAX_LENGTH_URL}
37
- */
38
- maxLengthURL?: number;
1
+ import { Layer } from '@deck.gl/core';
2
+ import { FetchMapOptions as _FetchMapOptions, FetchMapResult as _FetchMapResult, LayerDescriptor } from '@carto/api-client';
3
+ export type FetchMapResult = Omit<_FetchMapResult, 'layers'> & {
4
+ layers: Layer[];
39
5
  };
40
- export type FetchMapResult = ParseMapResult & {
41
- /**
42
- * Basemap properties.
43
- */
44
- basemap: Basemap | null;
45
- stopAutoRefresh?: () => void;
6
+ export type FetchMapOptions = Omit<_FetchMapOptions, 'onNewData'> & {
7
+ onNewData?: (result: FetchMapResult) => void;
46
8
  };
47
- export declare function fetchMap({ accessToken, apiBaseUrl, cartoMapId, clientId, headers, autoRefresh, onNewData, maxLengthURL }: FetchMapOptions): Promise<FetchMapResult>;
9
+ export declare function LayerFactory(descriptor: LayerDescriptor): Layer;
10
+ /**
11
+ * fetchMap is a wrapper around the @carto/api-client fetchMap function, with additions for convenience and backward-compatibility.
12
+ * Where @carto/api-client fetchMap returns layer props, @deck.gl/carto fetchMap returns Layer instances ready for use.
13
+ * For greater control, use the @carto/api-client fetchMap function directly and use LayerFactory to create layers manually.
14
+ */
15
+ export declare function fetchMap(options: FetchMapOptions): Promise<FetchMapResult>;
48
16
  //# sourceMappingURL=fetch-map.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-map.d.ts","sourceRoot":"","sources":["../../src/api/fetch-map.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAC,cAAc,EAAW,uBAAoB;AAErD,OAAO,KAAK,EAAC,OAAO,EAAC,mBAAgB;AAsKrC,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAE/B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAUF,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C;;OAEG;IACH,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAGF,wBAAsB,QAAQ,CAAC,EAC7B,WAAW,EACX,UAAiC,EACjC,UAAU,EACV,QAAQ,EACR,OAAO,EACP,WAAW,EACX,SAAS,EACT,YAAY,EACb,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA4F3C"}
1
+ {"version":3,"file":"fetch-map.d.ts","sourceRoot":"","sources":["../../src/api/fetch-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,EAAC,MAAM,eAAe,CAAC;AAQpD,OAAO,EAEL,eAAe,IAAI,gBAAgB,EACnC,cAAc,IAAI,eAAe,EACjC,eAAe,EAEhB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,GAAG;IAC7D,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAAG;IAClE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CAC9C,CAAC;AAaF,wBAAgB,YAAY,CAAC,UAAU,EAAE,eAAe,GAAG,KAAK,CAM/D;AASD;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAgBhF"}
@@ -1,208 +1,51 @@
1
- // deck.gl
2
- // SPDX-License-Identifier: MIT
3
- // Copyright (c) vis.gl contributors
4
- /* eslint-disable @typescript-eslint/no-shadow */
5
- import { DEFAULT_API_BASE_URL, CartoAPIError, buildPublicMapUrl, buildStatsUrl, h3QuerySource, h3TableSource, quadbinQuerySource, quadbinTableSource, vectorQuerySource, vectorTableSource, vectorTilesetSource, requestWithParameters } from '@carto/api-client';
6
- import { parseMap } from "./parse-map.js";
7
- import { assert } from "../utils.js";
8
- import { fetchBasemapProps } from "./basemap.js";
9
- /* global clearInterval, setInterval, URL */
10
- /* eslint-disable complexity, max-statements, max-params */
11
- async function _fetchMapDataset(dataset, context) {
12
- const { aggregationExp, aggregationResLevel, connectionName, columns, format, geoColumn, source, type, queryParameters } = dataset;
13
- const cache = {};
14
- const globalOptions = {
15
- ...context,
16
- cache,
17
- connectionName,
18
- format
19
- };
20
- if (type === 'tileset') {
21
- // TODO do we want a generic tilesetSource?
22
- // @ts-ignore
23
- dataset.data = await vectorTilesetSource({ ...globalOptions, tableName: source });
24
- }
25
- else {
26
- const [spatialDataType, spatialDataColumn] = geoColumn ? geoColumn.split(':') : ['geom'];
27
- if (spatialDataType === 'geom') {
28
- const options = { ...globalOptions, spatialDataColumn };
29
- if (type === 'table') {
30
- dataset.data = await vectorTableSource({ ...options, columns, tableName: source });
31
- }
32
- else if (type === 'query') {
33
- dataset.data = await vectorQuerySource({
34
- ...options,
35
- columns,
36
- sqlQuery: source,
37
- queryParameters
38
- });
39
- }
40
- }
41
- else if (spatialDataType === 'h3') {
42
- const options = { ...globalOptions, aggregationExp, aggregationResLevel, spatialDataColumn };
43
- if (type === 'table') {
44
- dataset.data = await h3TableSource({ ...options, tableName: source });
45
- }
46
- else if (type === 'query') {
47
- dataset.data = await h3QuerySource({ ...options, sqlQuery: source, queryParameters });
48
- }
49
- }
50
- else if (spatialDataType === 'quadbin') {
51
- const options = { ...globalOptions, aggregationExp, aggregationResLevel, spatialDataColumn };
52
- if (type === 'table') {
53
- dataset.data = await quadbinTableSource({ ...options, tableName: source });
54
- }
55
- else if (type === 'query') {
56
- dataset.data = await quadbinQuerySource({ ...options, sqlQuery: source, queryParameters });
57
- }
58
- }
59
- }
60
- let cacheChanged = true;
61
- if (cache.value) {
62
- cacheChanged = dataset.cache !== cache.value;
63
- dataset.cache = cache.value;
64
- }
65
- return cacheChanged;
1
+ import ClusterTileLayer from "../layers/cluster-tile-layer.js";
2
+ import H3TileLayer from "../layers/h3-tile-layer.js";
3
+ import HeatmapTileLayer from "../layers/heatmap-tile-layer.js";
4
+ import VectorTileLayer from "../layers/vector-tile-layer.js";
5
+ import QuadbinTileLayer from "../layers/quadbin-tile-layer.js";
6
+ import RasterTileLayer from "../layers/raster-tile-layer.js";
7
+ import { fetchMap as _fetchMap } from '@carto/api-client';
8
+ // Layer factory to create deck.gl layers from layer descriptors
9
+ const layerClasses = {
10
+ clusterTile: ClusterTileLayer,
11
+ h3: H3TileLayer,
12
+ heatmapTile: HeatmapTileLayer,
13
+ mvt: VectorTileLayer,
14
+ quadbin: QuadbinTileLayer,
15
+ raster: RasterTileLayer,
16
+ tileset: VectorTileLayer
17
+ };
18
+ export function LayerFactory(descriptor) {
19
+ const LayerClass = layerClasses[descriptor.type];
20
+ if (!LayerClass) {
21
+ throw new Error(`No layer class found for type: ${descriptor.type}`);
22
+ }
23
+ return new LayerClass(descriptor.props);
66
24
  }
67
- async function _fetchTilestats(attribute, dataset, context) {
68
- const { connectionName, data, id, source, type, queryParameters } = dataset;
69
- const { apiBaseUrl } = context;
70
- const errorContext = {
71
- requestType: 'Tile stats',
72
- connection: connectionName,
73
- type,
74
- source
25
+ function createResult(result) {
26
+ return {
27
+ ...result,
28
+ layers: result.layers.map(descriptor => LayerFactory(descriptor))
75
29
  };
76
- if (!('tilestats' in data)) {
77
- throw new CartoAPIError(new Error(`Invalid dataset for tilestats: ${id}`), errorContext);
78
- }
79
- const baseUrl = buildStatsUrl({ attribute, apiBaseUrl, ...dataset });
80
- const client = new URLSearchParams(data.tiles[0]).get('client');
81
- const headers = { Authorization: `Bearer ${context.accessToken}` };
82
- const parameters = {};
83
- if (client) {
84
- parameters.client = client;
85
- }
86
- if (type === 'query') {
87
- parameters.q = source;
88
- if (queryParameters) {
89
- parameters.queryParameters = JSON.stringify(queryParameters);
90
- }
91
- }
92
- const stats = await requestWithParameters({
93
- baseUrl,
94
- headers,
95
- parameters,
96
- errorContext,
97
- maxLengthURL: context.maxLengthURL
98
- });
99
- // Replace tilestats for attribute with value from API
100
- const { attributes } = data.tilestats.layers[0];
101
- const index = attributes.findIndex(d => d.attribute === attribute);
102
- attributes[index] = stats;
103
- return true;
104
- }
105
- async function fillInMapDatasets({ datasets }, context) {
106
- const promises = datasets.map(dataset => _fetchMapDataset(dataset, context));
107
- return await Promise.all(promises);
108
- }
109
- async function fillInTileStats({ datasets, keplerMapConfig }, context) {
110
- const attributes = [];
111
- const { layers } = keplerMapConfig.config.visState;
112
- for (const layer of layers) {
113
- for (const channel of Object.keys(layer.visualChannels)) {
114
- const attribute = layer.visualChannels[channel]?.name;
115
- if (attribute) {
116
- const dataset = datasets.find(d => d.id === layer.config.dataId);
117
- if (dataset && dataset.type !== 'tileset' && dataset.data.tilestats) {
118
- // Only fetch stats for QUERY & TABLE map types
119
- attributes.push({ attribute, dataset });
120
- }
121
- }
122
- }
123
- }
124
- // Remove duplicates to avoid repeated requests
125
- const filteredAttributes = [];
126
- for (const a of attributes) {
127
- if (!filteredAttributes.find(({ attribute, dataset }) => attribute === a.attribute && dataset === a.dataset)) {
128
- filteredAttributes.push(a);
129
- }
130
- }
131
- const promises = filteredAttributes.map(({ attribute, dataset }) => _fetchTilestats(attribute, dataset, context));
132
- return await Promise.all(promises);
133
30
  }
134
- /* eslint-disable max-statements */
135
- export async function fetchMap({ accessToken, apiBaseUrl = DEFAULT_API_BASE_URL, cartoMapId, clientId, headers, autoRefresh, onNewData, maxLengthURL }) {
136
- assert(cartoMapId, 'Must define CARTO map id: fetchMap({cartoMapId: "XXXX-XXXX-XXXX"})');
137
- if (accessToken) {
138
- headers = { Authorization: `Bearer ${accessToken}`, ...headers };
139
- }
140
- if (autoRefresh || onNewData) {
141
- assert(onNewData, 'Must define `onNewData` when using autoRefresh');
142
- assert(typeof onNewData === 'function', '`onNewData` must be a function');
143
- assert(typeof autoRefresh === 'number' && autoRefresh > 0, '`autoRefresh` must be a positive number');
144
- }
145
- const baseUrl = buildPublicMapUrl({ apiBaseUrl, cartoMapId });
146
- const errorContext = { requestType: 'Public map', mapId: cartoMapId };
147
- const map = await requestWithParameters({ baseUrl, headers, errorContext, maxLengthURL });
148
- const context = {
149
- accessToken: map.token || accessToken,
150
- apiBaseUrl,
151
- clientId,
152
- headers,
153
- maxLengthURL
31
+ /**
32
+ * fetchMap is a wrapper around the @carto/api-client fetchMap function, with additions for convenience and backward-compatibility.
33
+ * Where @carto/api-client fetchMap returns layer props, @deck.gl/carto fetchMap returns Layer instances ready for use.
34
+ * For greater control, use the @carto/api-client fetchMap function directly and use LayerFactory to create layers manually.
35
+ */
36
+ export async function fetchMap(options) {
37
+ const { onNewData, ...rest } = options;
38
+ const _options = {
39
+ ...rest,
40
+ onNewData: typeof onNewData === 'function'
41
+ ? result => {
42
+ onNewData(createResult(result));
43
+ }
44
+ : undefined
154
45
  };
155
- // Periodically check if the data has changed. Note that this
156
- // will not update when a map is published.
157
- let stopAutoRefresh;
158
- if (autoRefresh) {
159
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
160
- const intervalId = setInterval(async () => {
161
- const changed = await fillInMapDatasets(map, {
162
- ...context,
163
- headers: {
164
- ...headers,
165
- 'If-Modified-Since': new Date().toUTCString()
166
- }
167
- });
168
- if (onNewData && changed.some(v => v === true)) {
169
- onNewData(parseMap(map));
170
- }
171
- }, autoRefresh * 1000);
172
- stopAutoRefresh = () => {
173
- clearInterval(intervalId);
174
- };
175
- }
176
- const geojsonLayers = map.keplerMapConfig.config.visState.layers.filter(({ type }) => type === 'geojson' || type === 'point');
177
- const geojsonDatasetIds = geojsonLayers.map(({ config }) => config.dataId);
178
- map.datasets.forEach(dataset => {
179
- if (geojsonDatasetIds.includes(dataset.id)) {
180
- const { config } = geojsonLayers.find(({ config }) => config.dataId === dataset.id);
181
- dataset.format = 'geojson';
182
- // Support for very old maps. geoColumn was not stored in the past
183
- if (!dataset.geoColumn && config.columns.geojson) {
184
- dataset.geoColumn = config.columns.geojson;
185
- }
186
- }
187
- });
188
- const [basemap] = await Promise.all([
189
- fetchBasemapProps({ config: map.keplerMapConfig.config, errorContext }),
190
- // Mutates map.datasets so that dataset.data contains data
191
- fillInMapDatasets(map, context)
192
- ]);
193
- // Mutates attributes in visualChannels to contain tile stats
194
- await fillInTileStats(map, context);
195
- const out = { ...parseMap(map), basemap, ...{ stopAutoRefresh } };
196
- const textLayers = out.layers.filter(layer => {
197
- const pointType = layer.props.pointType || '';
198
- return pointType.includes('text');
199
- });
200
- /* global FontFace, window, document */
201
- if (textLayers.length && window.FontFace && !document.fonts.check('12px Inter')) {
202
- // Fetch font needed for labels
203
- const font = new FontFace('Inter', 'url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2)');
204
- await font.load().then(f => document.fonts.add(f));
205
- }
206
- return out;
46
+ // For backwards compatibility, provide a shim for the old API
47
+ const _result = await _fetchMap(_options);
48
+ const result = createResult(_result);
49
+ return result;
207
50
  }
208
51
  //# sourceMappingURL=fetch-map.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-map.js","sourceRoot":"","sources":["../../src/api/fetch-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-map.js","sourceRoot":"","sources":["../../src/api/fetch-map.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,wCAAqC;AAC5D,OAAO,WAAW,mCAAgC;AAClD,OAAO,gBAAgB,wCAAqC;AAC5D,OAAO,eAAe,uCAAoC;AAC1D,OAAO,gBAAgB,wCAAqC;AAC5D,OAAO,eAAe,uCAAoC;AAE1D,OAAO,EACL,QAAQ,IAAI,SAAS,EAKtB,MAAM,mBAAmB,CAAC;AAU3B,gEAAgE;AAChE,MAAM,YAAY,GAA6C;IAC7D,WAAW,EAAE,gBAAgB;IAC7B,EAAE,EAAE,WAAW;IACf,WAAW,EAAE,gBAAgB;IAC7B,GAAG,EAAE,eAAe;IACpB,OAAO,EAAE,gBAAgB;IACzB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,eAAe;CAChB,CAAC;AAEX,MAAM,UAAU,YAAY,CAAC,UAA2B;IACtD,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,YAAY,CAAC,MAAuB;IAC3C,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACrD,MAAM,EAAC,SAAS,EAAE,GAAG,IAAI,EAAC,GAAG,OAAO,CAAC;IACrC,MAAM,QAAQ,GAAqB;QACjC,GAAG,IAAI;QACP,SAAS,EACP,OAAO,SAAS,KAAK,UAAU;YAC7B,CAAC,CAAC,MAAM,CAAC,EAAE;gBACP,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAClC,CAAC;YACH,CAAC,CAAC,SAAS;KAChB,CAAC;IAEF,8DAA8D;IAC9D,MAAM,OAAO,GAAoB,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAmB,YAAY,CAAC,OAAO,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { fetchMap } from "./fetch-map.js";
1
+ export { fetchMap, LayerFactory } from "./fetch-map.js";
2
2
  export type { FetchMapOptions, FetchMapResult } from "./fetch-map.js";
3
3
  export type { Basemap, MapLibreBasemap, GoogleBasemap } from "./types.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,QAAQ,EAAC,uBAAoB;AACrC,YAAY,EAAC,eAAe,EAAE,cAAc,EAAC,uBAAoB;AACjE,YAAY,EAAC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAC,mBAAgB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAC,uBAAoB;AACnD,YAAY,EAAC,eAAe,EAAE,cAAc,EAAC,uBAAoB;AACjE,YAAY,EAAC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAC,mBAAgB"}
package/dist/api/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // deck.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- export { fetchMap } from "./fetch-map.js";
4
+ export { fetchMap, LayerFactory } from "./fetch-map.js";
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,QAAQ,EAAC,uBAAoB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAC,uBAAoB"}
@@ -5530,7 +5530,7 @@
5530
5530
  };
5531
5531
 
5532
5532
  // src/layers/schema/carto-properties-tile-loader.ts
5533
- var VERSION = true ? "9.1.12" : "latest";
5533
+ var VERSION = true ? "9.2.0-alpha.2" : "latest";
5534
5534
  var id = "cartoPropertiesTile";
5535
5535
  var DEFAULT_OPTIONS = {
5536
5536
  cartoPropertiesTile: {
@@ -5516,7 +5516,7 @@
5516
5516
  };
5517
5517
 
5518
5518
  // src/layers/schema/carto-raster-tile-loader.ts
5519
- var VERSION = true ? "9.1.12" : "latest";
5519
+ var VERSION = true ? "9.2.0-alpha.2" : "latest";
5520
5520
  var id = "cartoRasterTile";
5521
5521
  var DEFAULT_OPTIONS = {
5522
5522
  cartoRasterTile: {
@@ -5915,7 +5915,7 @@
5915
5915
  }
5916
5916
 
5917
5917
  // src/layers/schema/carto-spatial-tile-loader.ts
5918
- var VERSION = true ? "9.1.12" : "latest";
5918
+ var VERSION = true ? "9.2.0-alpha.2" : "latest";
5919
5919
  var id = "cartoSpatialTile";
5920
5920
  var DEFAULT_OPTIONS = {
5921
5921
  cartoSpatialTile: {
@@ -6135,7 +6135,7 @@
6135
6135
  };
6136
6136
 
6137
6137
  // src/layers/schema/carto-vector-tile-loader.ts
6138
- var VERSION = true ? "9.1.12" : "latest";
6138
+ var VERSION = true ? "9.2.0-alpha.2" : "latest";
6139
6139
  var id = "cartoVectorTile";
6140
6140
  var DEFAULT_OPTIONS = {
6141
6141
  cartoVectorTile: {