@carto/api-client 0.5.1 → 0.5.2-alpha.0

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.
@@ -5538,6 +5538,7 @@ __export(src_exports, {
5538
5538
  fetchMap: () => fetchMap,
5539
5539
  filterFunctions: () => filterFunctions,
5540
5540
  geojsonFeatures: () => geojsonFeatures,
5541
+ getApplicableFilters: () => getApplicableFilters,
5541
5542
  getClient: () => getClient,
5542
5543
  getColorAccessor: () => getColorAccessor,
5543
5544
  getColorValueAccessor: () => getColorValueAccessor,
@@ -11096,24 +11097,6 @@ function isValidBandValue(value, nodata) {
11096
11097
 
11097
11098
  // src/utils.ts
11098
11099
  init_cjs_shims();
11099
- var FILTER_TYPES = new Set(Object.values(FilterType));
11100
- var isFilterType = (type) => FILTER_TYPES.has(type);
11101
- function getApplicableFilters(owner, filters) {
11102
- if (!filters) return {};
11103
- const applicableFilters = {};
11104
- for (const column in filters) {
11105
- for (const type in filters[column]) {
11106
- if (!isFilterType(type)) continue;
11107
- const filter = filters[column][type];
11108
- const isApplicable = !owner || !filter?.owner || filter?.owner !== owner;
11109
- if (filter && isApplicable) {
11110
- applicableFilters[column] || (applicableFilters[column] = {});
11111
- applicableFilters[column][type] = filter;
11112
- }
11113
- }
11114
- }
11115
- return applicableFilters;
11116
- }
11117
11100
  function normalizeObjectKeys(el) {
11118
11101
  if (Array.isArray(el)) {
11119
11102
  return el.map((value) => normalizeObjectKeys(value));
@@ -11800,6 +11783,83 @@ function objectToURLSearchParams(object) {
11800
11783
  return params;
11801
11784
  }
11802
11785
 
11786
+ // src/filters.ts
11787
+ init_cjs_shims();
11788
+ var FILTER_TYPES = new Set(Object.values(FilterType));
11789
+ var isFilterType = (type) => FILTER_TYPES.has(type);
11790
+ function addFilter(filters, { column, type, values, owner }) {
11791
+ if (!filters[column]) {
11792
+ filters[column] = {};
11793
+ }
11794
+ const filter = { values, owner };
11795
+ filters[column][type] = filter;
11796
+ return filters;
11797
+ }
11798
+ function removeFilter(filters, { column, owner }) {
11799
+ const filter = filters[column];
11800
+ if (!filter) {
11801
+ return filters;
11802
+ }
11803
+ if (owner) {
11804
+ for (const type of FILTER_TYPES) {
11805
+ if (owner === filter[type]?.owner) {
11806
+ delete filter[type];
11807
+ }
11808
+ }
11809
+ }
11810
+ if (!owner || isEmptyObject(filter)) {
11811
+ delete filters[column];
11812
+ }
11813
+ return filters;
11814
+ }
11815
+ function clearFilters(filters) {
11816
+ for (const column of Object.keys(filters)) {
11817
+ delete filters[column];
11818
+ }
11819
+ return filters;
11820
+ }
11821
+ function hasFilter(filters, { column, owner }) {
11822
+ const filter = filters[column];
11823
+ if (!filter) {
11824
+ return false;
11825
+ }
11826
+ if (!owner) {
11827
+ return true;
11828
+ }
11829
+ for (const type of FILTER_TYPES) {
11830
+ if (owner === filter[type]?.owner) {
11831
+ return true;
11832
+ }
11833
+ }
11834
+ return false;
11835
+ }
11836
+ function getFilter(filters, { column, type, owner }) {
11837
+ const filter = filters[column];
11838
+ if (!filter) {
11839
+ return null;
11840
+ }
11841
+ if (!owner || owner === filter[type]?.owner) {
11842
+ return filter[type] || null;
11843
+ }
11844
+ return null;
11845
+ }
11846
+ function getApplicableFilters(owner, filters) {
11847
+ if (!filters) return {};
11848
+ const applicableFilters = {};
11849
+ for (const column in filters) {
11850
+ for (const type in filters[column]) {
11851
+ if (!isFilterType(type)) continue;
11852
+ const filter = filters[column][type];
11853
+ const isApplicable = !owner || !filter?.owner || filter?.owner !== owner;
11854
+ if (filter && isApplicable) {
11855
+ applicableFilters[column] || (applicableFilters[column] = {});
11856
+ applicableFilters[column][type] = filter;
11857
+ }
11858
+ }
11859
+ }
11860
+ return applicableFilters;
11861
+ }
11862
+
11803
11863
  // src/widget-sources/widget-remote-source.ts
11804
11864
  var WidgetRemoteSource = class extends WidgetSource {
11805
11865
  _getModelSource(filters, filterOwner) {
@@ -15477,65 +15537,6 @@ async function fetchMap({
15477
15537
  return out;
15478
15538
  }
15479
15539
 
15480
- // src/filters.ts
15481
- init_cjs_shims();
15482
- function addFilter(filters, { column, type, values, owner }) {
15483
- if (!filters[column]) {
15484
- filters[column] = {};
15485
- }
15486
- const filter = { values, owner };
15487
- filters[column][type] = filter;
15488
- return filters;
15489
- }
15490
- function removeFilter(filters, { column, owner }) {
15491
- const filter = filters[column];
15492
- if (!filter) {
15493
- return filters;
15494
- }
15495
- if (owner) {
15496
- for (const type of Object.values(FilterType)) {
15497
- if (owner === filter[type]?.owner) {
15498
- delete filter[type];
15499
- }
15500
- }
15501
- }
15502
- if (!owner || isEmptyObject(filter)) {
15503
- delete filters[column];
15504
- }
15505
- return filters;
15506
- }
15507
- function clearFilters(filters) {
15508
- for (const column of Object.keys(filters)) {
15509
- delete filters[column];
15510
- }
15511
- return filters;
15512
- }
15513
- function hasFilter(filters, { column, owner }) {
15514
- const filter = filters[column];
15515
- if (!filter) {
15516
- return false;
15517
- }
15518
- if (!owner) {
15519
- return true;
15520
- }
15521
- for (const type of Object.values(FilterType)) {
15522
- if (owner === filter[type]?.owner) {
15523
- return true;
15524
- }
15525
- }
15526
- return false;
15527
- }
15528
- function getFilter(filters, { column, type, owner }) {
15529
- const filter = filters[column];
15530
- if (!filter) {
15531
- return null;
15532
- }
15533
- if (!owner || owner === filter[type]?.owner) {
15534
- return filter[type] || null;
15535
- }
15536
- return null;
15537
- }
15538
-
15539
15540
  // src/geo.ts
15540
15541
  init_cjs_shims();
15541
15542
 
@@ -15718,6 +15719,7 @@ function _getHexagonResolution(viewport, tileSize) {
15718
15719
  fetchMap,
15719
15720
  filterFunctions,
15720
15721
  geojsonFeatures,
15722
+ getApplicableFilters,
15721
15723
  getClient,
15722
15724
  getColorAccessor,
15723
15725
  getColorValueAccessor,