@deck.gl/carto 9.0.16 → 9.0.17

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.
@@ -12,6 +12,8 @@ export declare class CartoAPIError extends Error {
12
12
  errorContext: APIErrorContext;
13
13
  /** Response from server */
14
14
  response?: Response;
15
- constructor(error: Error, errorContext: APIErrorContext, response?: Response);
15
+ /** JSON Response from server */
16
+ responseJson?: any;
17
+ constructor(error: Error, errorContext: APIErrorContext, response?: Response, responseJson?: any);
16
18
  }
17
19
  //# sourceMappingURL=carto-api-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"carto-api-error.d.ts","sourceRoot":"","sources":["../../src/api/carto-api-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,mBAAgB;AAE7C;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,+BAA+B;IAC/B,KAAK,EAAE,KAAK,CAAC;IAEb,6DAA6D;IAC7D,YAAY,EAAE,eAAe,CAAC;IAE9B,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;gBAER,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,QAAQ;CAiC7E"}
1
+ {"version":3,"file":"carto-api-error.d.ts","sourceRoot":"","sources":["../../src/api/carto-api-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,mBAAgB;AAE7C;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,+BAA+B;IAC/B,KAAK,EAAE,KAAK,CAAC;IAEb,6DAA6D;IAC7D,YAAY,EAAE,eAAe,CAAC;IAE9B,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,gCAAgC;IAChC,YAAY,CAAC,EAAE,GAAG,CAAC;gBAGjB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,eAAe,EAC7B,QAAQ,CAAC,EAAE,QAAQ,EACnB,YAAY,CAAC,EAAE,GAAG;CAmCrB"}
@@ -5,7 +5,7 @@
5
5
  *
6
6
  */
7
7
  export class CartoAPIError extends Error {
8
- constructor(error, errorContext, response) {
8
+ constructor(error, errorContext, response, responseJson) {
9
9
  let responseString = 'Failed to connect';
10
10
  if (response) {
11
11
  responseString = 'Server returned: ';
@@ -35,6 +35,7 @@ export class CartoAPIError extends Error {
35
35
  super(message);
36
36
  this.name = 'CartoAPIError';
37
37
  this.response = response;
38
+ this.responseJson = responseJson;
38
39
  this.error = error;
39
40
  this.errorContext = errorContext;
40
41
  }
@@ -2,12 +2,4 @@ export declare const DEFAULT_API_BASE_URL = "https://gcp-us-east1.api.carto.com"
2
2
  export declare const DEFAULT_CLIENT = "deck-gl-carto";
3
3
  export declare const V3_MINOR_VERSION = "3.4";
4
4
  export declare const MAX_GET_LENGTH = 8192;
5
- export declare const DEFAULT_PARAMETERS: {
6
- v: string;
7
- deckglVersion: any;
8
- };
9
- export declare const DEFAULT_HEADERS: {
10
- Accept: string;
11
- 'Content-Type': string;
12
- };
13
5
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/api/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,uCAAuC,CAAC;AACzE,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAC9C,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,eAAO,MAAM,kBAAkB;;;CAG9B,CAAC;AAEF,eAAO,MAAM,eAAe;;;CAG3B,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/api/common.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,uCAAuC,CAAC;AACzE,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAC9C,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,eAAO,MAAM,cAAc,OAAO,CAAC"}
@@ -1,13 +1,4 @@
1
- import { VERSION } from '@deck.gl/core';
2
1
  export const DEFAULT_API_BASE_URL = 'https://gcp-us-east1.api.carto.com';
3
2
  export const DEFAULT_CLIENT = 'deck-gl-carto';
4
3
  export const V3_MINOR_VERSION = '3.4';
5
4
  export const MAX_GET_LENGTH = 8192;
6
- export const DEFAULT_PARAMETERS = {
7
- v: V3_MINOR_VERSION,
8
- deckglVersion: VERSION
9
- };
10
- export const DEFAULT_HEADERS = {
11
- Accept: 'application/json',
12
- 'Content-Type': 'application/json'
13
- };
@@ -2,7 +2,7 @@ import type { APIErrorContext } from "./types.js";
2
2
  export declare function requestWithParameters<T = any>({ baseUrl, parameters, headers: customHeaders, errorContext }: {
3
3
  baseUrl: string;
4
4
  parameters?: Record<string, unknown>;
5
- headers: Record<string, string>;
5
+ headers?: Record<string, string>;
6
6
  errorContext: APIErrorContext;
7
7
  }): Promise<T>;
8
8
  //# sourceMappingURL=request-with-parameters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-with-parameters.d.ts","sourceRoot":"","sources":["../../src/api/request-with-parameters.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,eAAe,EAAC,mBAAgB;AAa7C,wBAAsB,qBAAqB,CAAC,CAAC,GAAG,GAAG,EAAE,EACnD,OAAO,EACP,UAAU,EACV,OAAO,EAAE,aAAa,EACtB,YAAY,EACb,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,eAAe,CAAC;CAC/B,GAAG,OAAO,CAAC,CAAC,CAAC,CAmCb"}
1
+ {"version":3,"file":"request-with-parameters.d.ts","sourceRoot":"","sources":["../../src/api/request-with-parameters.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,eAAe,EAAC,mBAAgB;AAmB7C,wBAAsB,qBAAqB,CAAC,CAAC,GAAG,GAAG,EAAE,EACnD,OAAO,EACP,UAAe,EACf,OAAO,EAAE,aAAkB,EAC3B,YAAY,EACb,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,eAAe,CAAC;CAC/B,GAAG,OAAO,CAAC,CAAC,CAAC,CAsCb"}
@@ -1,35 +1,43 @@
1
+ import { VERSION } from '@deck.gl/core';
1
2
  import { isPureObject } from "../utils.js";
2
3
  import { CartoAPIError } from "./carto-api-error.js";
3
- import { DEFAULT_HEADERS, DEFAULT_PARAMETERS, MAX_GET_LENGTH } from "./common.js";
4
+ import { MAX_GET_LENGTH, V3_MINOR_VERSION } from "./common.js";
4
5
  /**
5
- * Simple encode parameter
6
+ * Parameters added to all requests issued with `requestWithParameters()`.
7
+ * These parameters override parameters already in the base URL, but not
8
+ * user-provided parameters.
6
9
  */
7
- function encodeParameter(name, value) {
8
- if (isPureObject(value) || Array.isArray(value)) {
9
- return `${name}=${encodeURIComponent(JSON.stringify(value))}`;
10
- }
11
- return `${name}=${encodeURIComponent(value)}`;
12
- }
10
+ const DEFAULT_PARAMETERS = {
11
+ v: V3_MINOR_VERSION,
12
+ deckglVersion: VERSION
13
+ };
14
+ const DEFAULT_HEADERS = {
15
+ Accept: 'application/json',
16
+ 'Content-Type': 'application/json'
17
+ };
13
18
  const REQUEST_CACHE = new Map();
14
- export async function requestWithParameters({ baseUrl, parameters, headers: customHeaders, errorContext }) {
19
+ export async function requestWithParameters({ baseUrl, parameters = {}, headers: customHeaders = {}, errorContext }) {
15
20
  parameters = { ...DEFAULT_PARAMETERS, ...parameters };
16
- const key = createCacheKey(baseUrl, parameters || {}, customHeaders || {});
21
+ baseUrl = excludeURLParameters(baseUrl, Object.keys(parameters));
22
+ const key = createCacheKey(baseUrl, parameters, customHeaders);
17
23
  if (REQUEST_CACHE.has(key)) {
18
24
  return REQUEST_CACHE.get(key);
19
25
  }
20
- const url = parameters ? createURLWithParameters(baseUrl, parameters) : baseUrl;
26
+ const url = createURLWithParameters(baseUrl, parameters);
21
27
  const headers = { ...DEFAULT_HEADERS, ...customHeaders };
22
28
  /* global fetch */
23
29
  const fetchPromise = url.length > MAX_GET_LENGTH
24
30
  ? fetch(baseUrl, { method: 'POST', body: JSON.stringify(parameters), headers })
25
31
  : fetch(url, { headers });
26
32
  let response;
33
+ let responseJson;
27
34
  const jsonPromise = fetchPromise
28
35
  .then((_response) => {
29
36
  response = _response;
30
37
  return response.json();
31
38
  })
32
39
  .then((json) => {
40
+ responseJson = json;
33
41
  if (!response || !response.ok) {
34
42
  throw new Error(json.error);
35
43
  }
@@ -37,7 +45,7 @@ export async function requestWithParameters({ baseUrl, parameters, headers: cust
37
45
  })
38
46
  .catch((error) => {
39
47
  REQUEST_CACHE.delete(key);
40
- throw new CartoAPIError(error, errorContext, response);
48
+ throw new CartoAPIError(error, errorContext, response, responseJson);
41
49
  });
42
50
  REQUEST_CACHE.set(key, jsonPromise);
43
51
  return jsonPromise;
@@ -47,7 +55,32 @@ function createCacheKey(baseUrl, parameters, headers) {
47
55
  const headerEntries = Object.entries(headers).sort(([a], [b]) => (a > b ? 1 : -1));
48
56
  return JSON.stringify({ baseUrl, parameters: parameterEntries, headers: headerEntries });
49
57
  }
50
- function createURLWithParameters(baseUrl, parameters) {
51
- const encodedParameters = Object.entries(parameters).map(([key, value]) => encodeParameter(key, value));
52
- return `${baseUrl}?${encodedParameters.join('&')}`;
58
+ /**
59
+ * Appends query string parameters to a URL. Existing URL parameters are kept,
60
+ * unless there is a conflict, in which case the new parameters override
61
+ * those already in the URL.
62
+ */
63
+ function createURLWithParameters(baseUrlString, parameters) {
64
+ const baseUrl = new URL(baseUrlString);
65
+ for (const [key, value] of Object.entries(parameters)) {
66
+ if (isPureObject(value) || Array.isArray(value)) {
67
+ baseUrl.searchParams.set(key, JSON.stringify(value));
68
+ }
69
+ else {
70
+ baseUrl.searchParams.set(key, value.toString());
71
+ }
72
+ }
73
+ return baseUrl.toString();
74
+ }
75
+ /**
76
+ * Deletes query string parameters from a URL.
77
+ */
78
+ function excludeURLParameters(baseUrlString, parameters) {
79
+ const baseUrl = new URL(baseUrlString);
80
+ for (const param of parameters) {
81
+ if (baseUrl.searchParams.has(param)) {
82
+ baseUrl.searchParams.delete(param);
83
+ }
84
+ }
85
+ return baseUrl.toString();
53
86
  }
@@ -46,11 +46,11 @@ export interface Filters {
46
46
  [column: string]: Filter;
47
47
  }
48
48
  interface Filter {
49
- [FilterTypes.In]: number[];
50
- [FilterTypes.Between]: number[][];
51
- [FilterTypes.ClosedOpen]: number[][];
52
- [FilterTypes.Time]: number[][];
53
- [FilterTypes.StringSearch]: string[];
49
+ [FilterTypes.In]?: number[];
50
+ [FilterTypes.Between]?: number[][];
51
+ [FilterTypes.ClosedOpen]?: number[][];
52
+ [FilterTypes.Time]?: number[][];
53
+ [FilterTypes.StringSearch]?: string[];
54
54
  }
55
55
  export declare enum FilterTypes {
56
56
  In = "in",
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
@@ -1008,7 +1008,7 @@
1008
1008
  }
1009
1009
 
1010
1010
  // src/layers/schema/carto-raster-tile-loader.ts
1011
- var VERSION = true ? "9.0.16" : "latest";
1011
+ var VERSION = true ? "9.0.17" : "latest";
1012
1012
  var id = "cartoRasterTile";
1013
1013
  var DEFAULT_OPTIONS = {
1014
1014
  cartoRasterTile: {
@@ -1397,7 +1397,7 @@
1397
1397
  }
1398
1398
 
1399
1399
  // src/layers/schema/carto-spatial-tile-loader.ts
1400
- var VERSION = true ? "9.0.16" : "latest";
1400
+ var VERSION = true ? "9.0.17" : "latest";
1401
1401
  var id = "cartoSpatialTile";
1402
1402
  var DEFAULT_OPTIONS = {
1403
1403
  cartoSpatialTile: {
@@ -1625,7 +1625,7 @@
1625
1625
  }
1626
1626
 
1627
1627
  // src/layers/schema/carto-vector-tile-loader.ts
1628
- var VERSION = true ? "9.0.16" : "latest";
1628
+ var VERSION = true ? "9.0.17" : "latest";
1629
1629
  var id = "cartoVectorTile";
1630
1630
  var DEFAULT_OPTIONS = {
1631
1631
  cartoVectorTile: {
package/dist/dist.dev.js CHANGED
@@ -8440,7 +8440,16 @@ vec4 heatmap_sampleColor(sampler2D source, vec2 texSize, vec2 texCoord) {
8440
8440
  };
8441
8441
  var QuadbinHeatmapTileLayer = class extends import_core9.CompositeLayer {
8442
8442
  renderLayers() {
8443
- const { getWeight, colorDomain, colorRange, radiusPixels, _subLayerProps } = this.props;
8443
+ const {
8444
+ data,
8445
+ getWeight,
8446
+ colorDomain,
8447
+ colorRange,
8448
+ radiusPixels,
8449
+ _subLayerProps,
8450
+ updateTriggers,
8451
+ ...tileLayerProps
8452
+ } = this.props;
8444
8453
  const subLayerProps = {
8445
8454
  ..._subLayerProps,
8446
8455
  cell: {
@@ -8456,16 +8465,17 @@ vec4 heatmap_sampleColor(sampler2D source, vec2 texSize, vec2 texCoord) {
8456
8465
  };
8457
8466
  const getFillColor = typeof getWeight === "function" ? (d, info) => encodeWeight(getWeight(d, info)) : encodeWeight(getWeight);
8458
8467
  return new PostProcessQuadbinTileLayer(
8468
+ tileLayerProps,
8459
8469
  this.getSubLayerProps({
8460
8470
  id: "heatmap",
8461
- data: this.props.data,
8471
+ data,
8462
8472
  getFillColor,
8463
8473
  colorDomain,
8464
8474
  colorRange,
8465
8475
  radiusPixels,
8466
8476
  _subLayerProps: subLayerProps,
8467
8477
  updateTriggers: {
8468
- getPosition: this.props.updateTriggers.getWeight
8478
+ getPosition: updateTriggers.getWeight
8469
8479
  }
8470
8480
  })
8471
8481
  );
@@ -9079,7 +9089,7 @@ void main(void) {
9079
9089
 
9080
9090
  // src/api/carto-api-error.ts
9081
9091
  var CartoAPIError = class extends Error {
9082
- constructor(error, errorContext, response) {
9092
+ constructor(error, errorContext, response, responseJson) {
9083
9093
  let responseString = "Failed to connect";
9084
9094
  if (response) {
9085
9095
  responseString = "Server returned: ";
@@ -9108,6 +9118,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
9108
9118
  super(message);
9109
9119
  this.name = "CartoAPIError";
9110
9120
  this.response = response;
9121
+ this.responseJson = responseJson;
9111
9122
  this.error = error;
9112
9123
  this.errorContext = errorContext;
9113
9124
  }
@@ -12627,19 +12638,10 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
12627
12638
  }
12628
12639
 
12629
12640
  // src/api/common.ts
12630
- var import_core13 = __toESM(require_core(), 1);
12631
12641
  var DEFAULT_API_BASE_URL = "https://gcp-us-east1.api.carto.com";
12632
12642
  var DEFAULT_CLIENT = "deck-gl-carto";
12633
12643
  var V3_MINOR_VERSION = "3.4";
12634
12644
  var MAX_GET_LENGTH = 8192;
12635
- var DEFAULT_PARAMETERS = {
12636
- v: V3_MINOR_VERSION,
12637
- deckglVersion: import_core13.VERSION
12638
- };
12639
- var DEFAULT_HEADERS = {
12640
- Accept: "application/json",
12641
- "Content-Type": "application/json"
12642
- };
12643
12645
 
12644
12646
  // src/api/endpoints.ts
12645
12647
  function joinPath(...args) {
@@ -12681,39 +12683,45 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
12681
12683
  }
12682
12684
 
12683
12685
  // src/api/request-with-parameters.ts
12684
- function encodeParameter(name, value) {
12685
- if (isPureObject(value) || Array.isArray(value)) {
12686
- return `${name}=${encodeURIComponent(JSON.stringify(value))}`;
12687
- }
12688
- return `${name}=${encodeURIComponent(value)}`;
12689
- }
12686
+ var import_core13 = __toESM(require_core(), 1);
12687
+ var DEFAULT_PARAMETERS = {
12688
+ v: V3_MINOR_VERSION,
12689
+ deckglVersion: import_core13.VERSION
12690
+ };
12691
+ var DEFAULT_HEADERS = {
12692
+ Accept: "application/json",
12693
+ "Content-Type": "application/json"
12694
+ };
12690
12695
  var REQUEST_CACHE = /* @__PURE__ */ new Map();
12691
12696
  async function requestWithParameters({
12692
12697
  baseUrl,
12693
- parameters,
12694
- headers: customHeaders,
12698
+ parameters = {},
12699
+ headers: customHeaders = {},
12695
12700
  errorContext
12696
12701
  }) {
12697
12702
  parameters = { ...DEFAULT_PARAMETERS, ...parameters };
12698
- const key = createCacheKey(baseUrl, parameters || {}, customHeaders || {});
12703
+ baseUrl = excludeURLParameters(baseUrl, Object.keys(parameters));
12704
+ const key = createCacheKey(baseUrl, parameters, customHeaders);
12699
12705
  if (REQUEST_CACHE.has(key)) {
12700
12706
  return REQUEST_CACHE.get(key);
12701
12707
  }
12702
- const url = parameters ? createURLWithParameters(baseUrl, parameters) : baseUrl;
12708
+ const url = createURLWithParameters(baseUrl, parameters);
12703
12709
  const headers = { ...DEFAULT_HEADERS, ...customHeaders };
12704
12710
  const fetchPromise = url.length > MAX_GET_LENGTH ? fetch(baseUrl, { method: "POST", body: JSON.stringify(parameters), headers }) : fetch(url, { headers });
12705
12711
  let response;
12712
+ let responseJson;
12706
12713
  const jsonPromise = fetchPromise.then((_response) => {
12707
12714
  response = _response;
12708
12715
  return response.json();
12709
12716
  }).then((json) => {
12717
+ responseJson = json;
12710
12718
  if (!response || !response.ok) {
12711
12719
  throw new Error(json.error);
12712
12720
  }
12713
12721
  return json;
12714
12722
  }).catch((error) => {
12715
12723
  REQUEST_CACHE.delete(key);
12716
- throw new CartoAPIError(error, errorContext, response);
12724
+ throw new CartoAPIError(error, errorContext, response, responseJson);
12717
12725
  });
12718
12726
  REQUEST_CACHE.set(key, jsonPromise);
12719
12727
  return jsonPromise;
@@ -12723,11 +12731,25 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
12723
12731
  const headerEntries = Object.entries(headers).sort(([a], [b]) => a > b ? 1 : -1);
12724
12732
  return JSON.stringify({ baseUrl, parameters: parameterEntries, headers: headerEntries });
12725
12733
  }
12726
- function createURLWithParameters(baseUrl, parameters) {
12727
- const encodedParameters = Object.entries(parameters).map(
12728
- ([key, value]) => encodeParameter(key, value)
12729
- );
12730
- return `${baseUrl}?${encodedParameters.join("&")}`;
12734
+ function createURLWithParameters(baseUrlString, parameters) {
12735
+ const baseUrl = new URL(baseUrlString);
12736
+ for (const [key, value] of Object.entries(parameters)) {
12737
+ if (isPureObject(value) || Array.isArray(value)) {
12738
+ baseUrl.searchParams.set(key, JSON.stringify(value));
12739
+ } else {
12740
+ baseUrl.searchParams.set(key, value.toString());
12741
+ }
12742
+ }
12743
+ return baseUrl.toString();
12744
+ }
12745
+ function excludeURLParameters(baseUrlString, parameters) {
12746
+ const baseUrl = new URL(baseUrlString);
12747
+ for (const param of parameters) {
12748
+ if (baseUrl.searchParams.has(param)) {
12749
+ baseUrl.searchParams.delete(param);
12750
+ }
12751
+ }
12752
+ return baseUrl.toString();
12731
12753
  }
12732
12754
 
12733
12755
  // src/sources/base-source.ts
@@ -12881,8 +12903,11 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
12881
12903
 
12882
12904
  // src/sources/raster-source.ts
12883
12905
  var rasterSource = async function(options) {
12884
- const { tableName } = options;
12906
+ const { tableName, filters } = options;
12885
12907
  const urlParameters = { name: tableName };
12908
+ if (filters) {
12909
+ urlParameters.filters = filters;
12910
+ }
12886
12911
  return baseSource("raster", options, urlParameters);
12887
12912
  };
12888
12913
 
package/dist/index.cjs CHANGED
@@ -273,7 +273,7 @@ var isObject = (x) => x !== null && typeof x === "object";
273
273
  var isPureObject = (x) => isObject(x) && x.constructor === {}.constructor;
274
274
 
275
275
  // dist/layers/schema/carto-raster-tile-loader.js
276
- var VERSION = true ? "9.0.16" : "latest";
276
+ var VERSION = true ? "9.0.17" : "latest";
277
277
  var id = "cartoRasterTile";
278
278
  var DEFAULT_OPTIONS = {
279
279
  cartoRasterTile: {
@@ -544,7 +544,7 @@ function binaryToSpatialjson(binary) {
544
544
  }
545
545
 
546
546
  // dist/layers/schema/carto-spatial-tile-loader.js
547
- var VERSION2 = true ? "9.0.16" : "latest";
547
+ var VERSION2 = true ? "9.0.17" : "latest";
548
548
  var id2 = "cartoSpatialTile";
549
549
  var DEFAULT_OPTIONS2 = {
550
550
  cartoSpatialTile: {
@@ -1347,7 +1347,7 @@ var defaultProps6 = {
1347
1347
  var _QuadbinHeatmapTileLayer = class extends import_core9.CompositeLayer {
1348
1348
  renderLayers() {
1349
1349
  var _a, _b, _c;
1350
- const { getWeight, colorDomain, colorRange, radiusPixels, _subLayerProps } = this.props;
1350
+ const { data, getWeight, colorDomain, colorRange, radiusPixels, _subLayerProps, updateTriggers, ...tileLayerProps } = this.props;
1351
1351
  const subLayerProps = {
1352
1352
  ..._subLayerProps,
1353
1353
  cell: {
@@ -1362,16 +1362,16 @@ var _QuadbinHeatmapTileLayer = class extends import_core9.CompositeLayer {
1362
1362
  }
1363
1363
  };
1364
1364
  const getFillColor = typeof getWeight === "function" ? (d, info) => encodeWeight(getWeight(d, info)) : encodeWeight(getWeight);
1365
- return new PostProcessQuadbinTileLayer(this.getSubLayerProps({
1365
+ return new PostProcessQuadbinTileLayer(tileLayerProps, this.getSubLayerProps({
1366
1366
  id: "heatmap",
1367
- data: this.props.data,
1367
+ data,
1368
1368
  getFillColor,
1369
1369
  colorDomain,
1370
1370
  colorRange,
1371
1371
  radiusPixels,
1372
1372
  _subLayerProps: subLayerProps,
1373
1373
  updateTriggers: {
1374
- getPosition: this.props.updateTriggers.getWeight
1374
+ getPosition: updateTriggers.getWeight
1375
1375
  }
1376
1376
  }));
1377
1377
  }
@@ -1639,7 +1639,7 @@ var carto_properties_tile_loader_default = CartoPropertiesTileLoader;
1639
1639
 
1640
1640
  // dist/layers/schema/carto-vector-tile-loader.js
1641
1641
  var import_earcut = __toESM(require("earcut"), 1);
1642
- var VERSION3 = true ? "9.0.16" : "latest";
1642
+ var VERSION3 = true ? "9.0.17" : "latest";
1643
1643
  var id3 = "cartoVectorTile";
1644
1644
  var DEFAULT_OPTIONS3 = {
1645
1645
  cartoVectorTile: {
@@ -1799,7 +1799,7 @@ var VectorTileLayer = _VectorTileLayer;
1799
1799
 
1800
1800
  // dist/api/carto-api-error.js
1801
1801
  var CartoAPIError = class extends Error {
1802
- constructor(error, errorContext, response) {
1802
+ constructor(error, errorContext, response, responseJson) {
1803
1803
  let responseString = "Failed to connect";
1804
1804
  if (response) {
1805
1805
  responseString = "Server returned: ";
@@ -1828,6 +1828,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
1828
1828
  super(message);
1829
1829
  this.name = "CartoAPIError";
1830
1830
  this.response = response;
1831
+ this.responseJson = responseJson;
1831
1832
  this.error = error;
1832
1833
  this.errorContext = errorContext;
1833
1834
  }
@@ -2042,19 +2043,10 @@ function colorContinuous({ attr, domain, colors = DEFAULT_PALETTE, nullColor = N
2042
2043
  }
2043
2044
 
2044
2045
  // dist/api/common.js
2045
- var import_core13 = require("@deck.gl/core");
2046
2046
  var DEFAULT_API_BASE_URL = "https://gcp-us-east1.api.carto.com";
2047
2047
  var DEFAULT_CLIENT = "deck-gl-carto";
2048
2048
  var V3_MINOR_VERSION = "3.4";
2049
2049
  var MAX_GET_LENGTH = 8192;
2050
- var DEFAULT_PARAMETERS = {
2051
- v: V3_MINOR_VERSION,
2052
- deckglVersion: import_core13.VERSION
2053
- };
2054
- var DEFAULT_HEADERS = {
2055
- Accept: "application/json",
2056
- "Content-Type": "application/json"
2057
- };
2058
2050
 
2059
2051
  // dist/api/endpoints.js
2060
2052
  function joinPath(...args) {
@@ -2080,34 +2072,40 @@ function buildQueryUrl({ apiBaseUrl, connectionName }) {
2080
2072
  }
2081
2073
 
2082
2074
  // dist/api/request-with-parameters.js
2083
- function encodeParameter(name, value) {
2084
- if (isPureObject(value) || Array.isArray(value)) {
2085
- return `${name}=${encodeURIComponent(JSON.stringify(value))}`;
2086
- }
2087
- return `${name}=${encodeURIComponent(value)}`;
2088
- }
2075
+ var import_core13 = require("@deck.gl/core");
2076
+ var DEFAULT_PARAMETERS = {
2077
+ v: V3_MINOR_VERSION,
2078
+ deckglVersion: import_core13.VERSION
2079
+ };
2080
+ var DEFAULT_HEADERS = {
2081
+ Accept: "application/json",
2082
+ "Content-Type": "application/json"
2083
+ };
2089
2084
  var REQUEST_CACHE = /* @__PURE__ */ new Map();
2090
- async function requestWithParameters({ baseUrl, parameters, headers: customHeaders, errorContext }) {
2085
+ async function requestWithParameters({ baseUrl, parameters = {}, headers: customHeaders = {}, errorContext }) {
2091
2086
  parameters = { ...DEFAULT_PARAMETERS, ...parameters };
2092
- const key = createCacheKey(baseUrl, parameters || {}, customHeaders || {});
2087
+ baseUrl = excludeURLParameters(baseUrl, Object.keys(parameters));
2088
+ const key = createCacheKey(baseUrl, parameters, customHeaders);
2093
2089
  if (REQUEST_CACHE.has(key)) {
2094
2090
  return REQUEST_CACHE.get(key);
2095
2091
  }
2096
- const url = parameters ? createURLWithParameters(baseUrl, parameters) : baseUrl;
2092
+ const url = createURLWithParameters(baseUrl, parameters);
2097
2093
  const headers = { ...DEFAULT_HEADERS, ...customHeaders };
2098
2094
  const fetchPromise = url.length > MAX_GET_LENGTH ? fetch(baseUrl, { method: "POST", body: JSON.stringify(parameters), headers }) : fetch(url, { headers });
2099
2095
  let response;
2096
+ let responseJson;
2100
2097
  const jsonPromise = fetchPromise.then((_response) => {
2101
2098
  response = _response;
2102
2099
  return response.json();
2103
2100
  }).then((json) => {
2101
+ responseJson = json;
2104
2102
  if (!response || !response.ok) {
2105
2103
  throw new Error(json.error);
2106
2104
  }
2107
2105
  return json;
2108
2106
  }).catch((error) => {
2109
2107
  REQUEST_CACHE.delete(key);
2110
- throw new CartoAPIError(error, errorContext, response);
2108
+ throw new CartoAPIError(error, errorContext, response, responseJson);
2111
2109
  });
2112
2110
  REQUEST_CACHE.set(key, jsonPromise);
2113
2111
  return jsonPromise;
@@ -2117,9 +2115,25 @@ function createCacheKey(baseUrl, parameters, headers) {
2117
2115
  const headerEntries = Object.entries(headers).sort(([a], [b]) => a > b ? 1 : -1);
2118
2116
  return JSON.stringify({ baseUrl, parameters: parameterEntries, headers: headerEntries });
2119
2117
  }
2120
- function createURLWithParameters(baseUrl, parameters) {
2121
- const encodedParameters = Object.entries(parameters).map(([key, value]) => encodeParameter(key, value));
2122
- return `${baseUrl}?${encodedParameters.join("&")}`;
2118
+ function createURLWithParameters(baseUrlString, parameters) {
2119
+ const baseUrl = new URL(baseUrlString);
2120
+ for (const [key, value] of Object.entries(parameters)) {
2121
+ if (isPureObject(value) || Array.isArray(value)) {
2122
+ baseUrl.searchParams.set(key, JSON.stringify(value));
2123
+ } else {
2124
+ baseUrl.searchParams.set(key, value.toString());
2125
+ }
2126
+ }
2127
+ return baseUrl.toString();
2128
+ }
2129
+ function excludeURLParameters(baseUrlString, parameters) {
2130
+ const baseUrl = new URL(baseUrlString);
2131
+ for (const param of parameters) {
2132
+ if (baseUrl.searchParams.has(param)) {
2133
+ baseUrl.searchParams.delete(param);
2134
+ }
2135
+ }
2136
+ return baseUrl.toString();
2123
2137
  }
2124
2138
 
2125
2139
  // dist/sources/base-source.js
@@ -2255,8 +2269,11 @@ var h3TilesetSource = async function(options) {
2255
2269
 
2256
2270
  // dist/sources/raster-source.js
2257
2271
  var rasterSource = async function(options) {
2258
- const { tableName } = options;
2272
+ const { tableName, filters } = options;
2259
2273
  const urlParameters = { name: tableName };
2274
+ if (filters) {
2275
+ urlParameters.filters = filters;
2276
+ }
2260
2277
  return baseSource("raster", options, urlParameters);
2261
2278
  };
2262
2279