@carto/api-client 0.5.27-alpha.482101a.112 → 0.5.27

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.
@@ -775,16 +775,17 @@ declare function getLayerProps(type: LayerType, config: MapLayerConfig, dataset:
775
775
  };
776
776
  declare function domainFromValues(values: any, scaleType: ScaleType): any;
777
777
  declare function opacityToAlpha(opacity?: number): number;
778
- declare function getColorAccessor({ name, colorColumn }: VisualChannelField, scaleType: ScaleType, { aggregation, range }: {
778
+ declare function getColorAccessor({ name, colorColumn, accessorKey }: VisualChannelField, scaleType: ScaleType, { aggregation, range, domainOverride, }: {
779
779
  aggregation?: string;
780
780
  range: ColorRange;
781
+ domainOverride?: [number, number];
781
782
  }, opacity: number | undefined, data: TilejsonResult): {
782
783
  accessor: any;
783
784
  domain: number[] | string[];
784
785
  scaleDomain: number[] | string[];
785
786
  range: string[];
786
787
  };
787
- declare function calculateLayerScale(name: string, scaleType: ScaleType, range: ColorRange, data: TilejsonResult): {
788
+ declare function calculateLayerScale(name: string, scaleType: ScaleType, range: ColorRange, data: TilejsonResult, domainOverride?: [number, number]): {
788
789
  scale: D3Scale;
789
790
  domain: string[] | number[];
790
791
  };
@@ -797,7 +798,7 @@ declare function getIconUrlAccessor(field: VisualChannelField | null | undefined
797
798
  declare function getMaxMarkerSize(visConfig: VisConfig, visualChannels: VisualChannels): number;
798
799
  type Accessor = number | ((d: any, i: any) => number);
799
800
  declare function negateAccessor(accessor: Accessor): Accessor;
800
- declare function getSizeAccessor({ name }: VisualChannelField, scaleType: ScaleType | undefined, aggregation: string | null | undefined, range: number[] | undefined, data: TilejsonResult): {
801
+ declare function getSizeAccessor({ name, accessorKey }: VisualChannelField, scaleType: ScaleType | undefined, aggregation: string | null | undefined, range: number[] | undefined, data: TilejsonResult, domainOverride?: [number, number]): {
801
802
  accessor: any;
802
803
  domain: number[];
803
804
  scaleDomain: number[];
@@ -814,6 +815,9 @@ declare function calculateClusterRadius(properties: {
814
815
  }>, radiusRange: [number, number], column: string): number;
815
816
  /** @privateRemarks Source: Builder */
816
817
  declare function getDefaultAggregationExpColumnAliasForLayerType(layerType: LayerType, provider: ProviderType, schema: SchemaField[]): string;
818
+ declare function compileCustomAggregation(exp: string, opts: {
819
+ provider: ProviderType;
820
+ }): string;
817
821
  /** @privateRemarks Source: Builder */
818
822
  declare function calculateClusterTextFontSize(radius: number): number;
819
823
 
@@ -821,6 +825,7 @@ type VisualChannelField = {
821
825
  name: string;
822
826
  type: string;
823
827
  colorColumn?: string;
828
+ accessorKey?: string;
824
829
  };
825
830
  type VisualChannels = {
826
831
  colorField?: VisualChannelField;
@@ -866,6 +871,8 @@ type VisConfig = {
866
871
  opacity?: number;
867
872
  enable3d?: boolean;
868
873
  colorAggregation?: string;
874
+ colorAggregationExp?: string;
875
+ colorAggregationDomain?: [number, number];
869
876
  colorRange: ColorRange;
870
877
  customMarkers?: boolean;
871
878
  customMarkersRange?: CustomMarkersRange | null;
@@ -873,14 +880,24 @@ type VisConfig = {
873
880
  radius: number;
874
881
  radiusRange?: number[];
875
882
  radiusAggregation?: string;
883
+ radiusAggregationExp?: string;
884
+ radiusAggregationDomain?: [number, number];
876
885
  sizeAggregation?: string;
886
+ sizeAggregationExp?: string;
887
+ sizeAggregationDomain?: [number, number];
877
888
  sizeRange?: number[];
878
889
  strokeColorAggregation?: string;
890
+ strokeColorAggregationExp?: string;
891
+ strokeColorAggregationDomain?: [number, number];
879
892
  strokeOpacity?: number;
880
893
  strokeColorRange?: ColorRange;
881
894
  heightRange?: number[];
882
895
  heightAggregation?: string;
896
+ heightAggregationExp?: string;
897
+ heightAggregationDomain?: [number, number];
883
898
  weightAggregation?: string;
899
+ weightAggregationExp?: string;
900
+ weightAggregationDomain?: [number, number];
884
901
  clusterLevel?: number;
885
902
  isTextVisible?: boolean;
886
903
  rasterStyleType?: 'Rgb' | 'ColorRange' | 'UniqueValues';
@@ -1060,7 +1077,7 @@ type Scale = {
1060
1077
  scaleDomain?: string[] | number[];
1061
1078
  range?: string[] | number[];
1062
1079
  };
1063
- type ScaleKey = 'fillColor' | 'pointRadius' | 'lineColor' | 'elevation' | 'weight';
1080
+ type ScaleKey = 'fillColor' | 'pointRadius' | 'lineColor' | 'lineWidth' | 'elevation' | 'weight';
1064
1081
  type Scales = Partial<Record<ScaleKey, Scale>>;
1065
1082
  type LayerDescriptor = {
1066
1083
  type: LayerType;
@@ -2216,4 +2233,4 @@ declare function getColumnNameFromGeoColumn(geoColumn: string | null | undefined
2216
2233
  */
2217
2234
  declare function getSpatialIndexFromGeoColumn(geoColumn: string): SpatialIndex | null;
2218
2235
 
2219
- export { type APIErrorContext, type APIRequestType, AUDIT_TAGS, type AddFilterOptions, type AggregationFunction, type AggregationType, AggregationTypes, type AggregationsRequestOptions, type AggregationsResponse, ApiVersion, type Attribute, _default as BASEMAP, type BaseRequestOptions, type Basemap, type BoundaryQuerySourceOptions, type BoundaryQuerySourceResponse, type BoundaryTableSourceOptions, type BoundaryTableSourceResponse, CARTO_SOURCES, CartoAPIError, type CategoryOrderBy, type CategoryRequestOptions, type CategoryResponse, type CategoryResponseEntry, type CategoryResponseRaw, CellSet, type ColumnsOption, type D3Scale, DEFAULT_API_BASE_URL, type ExtentRequestOptions, type ExtentResponse, FEATURE_GEOM_PROPERTY, type FeaturesRequestOptions, type FeaturesResponse, type FetchMapOptions, type FetchMapResult, type Filter, type FilterFunction, type FilterInterval, type FilterIntervalComplete, type FilterIntervalExtremum, type FilterLogicalOperator, type FilterOptions, FilterType, type Filters, type Format, type FormulaRequestOptions, type FormulaResponse, type GetFilterOptions, type GoogleBasemap, type GroupByFeature, type GroupDateType, type H3QuerySourceOptions, type H3QuerySourceResponse, type H3TableSourceOptions, type H3TableSourceResponse, type H3TilesetSourceOptions, type H3TilesetSourceResponse, type HasFilterOptions, type HistogramRequestOptions, type HistogramResponse, type KeplerMapConfig, type Layer, type LayerDescriptor, type LayerType, type MapLibreBasemap, type MapType, type NamedQueryParameter, OPACITY_MAP, OTHERS_CATEGORY_NAME, type ParseMapResult, type PositionalQueryParameter, Provider, type ProviderType, type QuadbinQuerySourceOptions, type QuadbinQuerySourceResponse, type QuadbinTableSourceOptions, type QuadbinTableSourceResponse, type QuadbinTilesetSourceOptions, type QuadbinTilesetSourceResponse, type QueryOptions, type QueryParameterValue, type QueryParameters, type QueryResult, type QuerySourceOptions, type RangeRequestOptions, type RangeResponse, type Raster, RasterBandColorinterp, type RasterBandType, type RasterMetadata, type RasterMetadataBand, type RasterMetadataBandStats, type RasterSourceOptions, type RasterTile, type RemoveFilterOptions, SOURCE_DEFAULTS, type Scale, type ScaleKey, type ScaleType, type Scales, type ScatterPlotFeature, type ScatterRequestOptions, type ScatterResponse, type SchemaField, SchemaFieldType, type SortColumnType, type SortDirection, type SourceOptionalOptions, type SourceOptions, type SourceRequiredOptions, type SpatialDataType, type SpatialFilter, type SpatialFilterPolyfillMode, SpatialIndex, SpatialIndexColumn, type SpatialIndexTile, type StringSearchOptions, TEXT_LABEL_INDEX, TEXT_NUMBER_FORMATTER, TEXT_OUTLINE_OPACITY, type TableRequestOptions, type TableResponse, type TableSourceOptions, type Tile, type TileFeatureExtractOptions, type TileFeatures, type TileFeaturesSpatialIndexOptions, TileFormat, type TileResolution, type Tilejson, type TilejsonResult, type TilesetSourceOptions, type Tilestats, type TimeSeriesRequestOptions, type TimeSeriesResponse, type TrajectoryQuerySourceOptions, type TrajectoryQuerySourceResponse, type TrajectoryTableSourceOptions, type TrajectoryTableSourceResponse, type VectorLayer, type VectorQuerySourceOptions, type VectorQuerySourceResponse, type VectorTableSourceOptions, type VectorTableSourceResponse, type VectorTilesetSourceOptions, type VectorTilesetSourceResponse, type ViewState, type Viewport, WidgetQuerySource, type WidgetQuerySourceResult, WidgetRasterSource, type WidgetRasterSourceProps, type WidgetRasterSourceResult, WidgetRemoteSource, type WidgetRemoteSourceProps, WidgetSource, type WidgetSourceProps, WidgetTableSource, type WidgetTableSourceResult, WidgetTilesetSource, type WidgetTilesetSourceProps, type WidgetTilesetSourceResult, type _DataFilterExtensionProps, ErrorCode as _ErrorCode, type VecExprResult as _VecExprResult, applyLayerGroupFilters as _applyLayerGroupFilters, _buildFeatureFilter, createVecExprEvaluator as _createVecExprEvaluator, domainFromValues as _domainFromValues, evaluateVecExpr as _evaluateVecExpr, fillInMapDatasets as _fillInMapDatasets, fillInTileStats as _fillInTileStats, _getHexagonResolution, getLog10ScaleSteps as _getLog10ScaleSteps, getRasterTileLayerStyleProps as _getRasterTileLayerStyleProps, validateVecExprSyntax as _validateVecExprSyntax, addFilter, aggregate, aggregationFunctions, applyFilters, applySorting, boundaryQuerySource, boundaryTableSource, buildBinaryFeatureFilter, buildPublicMapUrl, buildStatsUrl, calculateClusterRadius, calculateClusterTextFontSize, calculateLayerScale, clearDefaultRequestCache, clearFilters, configureSource, createColorScale, createPolygonSpatialFilter, createViewportSpatialFilter, fetchBasemapProps, fetchMap, filterFunctions, geojsonFeatures, getApplicableFilters, getClient, getColorAccessor, getColumnNameFromGeoColumn, getDataFilterExtensionProps, getDefaultAggregationExpColumnAliasForLayerType, getFilter, getIconUrlAccessor, getLayerDescriptor, getLayerProps, getMaxMarkerSize, getSizeAccessor, getSorter, getSpatialIndexFromGeoColumn, getTextAccessor, groupValuesByColumn, groupValuesByDateColumn, h3QuerySource, h3TableSource, h3TilesetSource, hasFilter, histogram, makeIntervalComplete, negateAccessor, opacityToAlpha, parseMap, quadbinQuerySource, quadbinTableSource, quadbinTilesetSource, query, rasterSource, removeFilter, requestWithParameters, scaleAggregationResLevel, scatterPlot, setClient, tileFeatures, tileFeaturesGeometries, tileFeaturesSpatialIndex, trajectoryQuerySource, trajectoryTableSource, transformToTileCoords, vectorQuerySource, vectorTableSource, vectorTilesetSource };
2236
+ export { type APIErrorContext, type APIRequestType, AUDIT_TAGS, type AddFilterOptions, type AggregationFunction, type AggregationType, AggregationTypes, type AggregationsRequestOptions, type AggregationsResponse, ApiVersion, type Attribute, _default as BASEMAP, type BaseRequestOptions, type Basemap, type BoundaryQuerySourceOptions, type BoundaryQuerySourceResponse, type BoundaryTableSourceOptions, type BoundaryTableSourceResponse, CARTO_SOURCES, CartoAPIError, type CategoryOrderBy, type CategoryRequestOptions, type CategoryResponse, type CategoryResponseEntry, type CategoryResponseRaw, CellSet, type ColumnsOption, type D3Scale, DEFAULT_API_BASE_URL, type ExtentRequestOptions, type ExtentResponse, FEATURE_GEOM_PROPERTY, type FeaturesRequestOptions, type FeaturesResponse, type FetchMapOptions, type FetchMapResult, type Filter, type FilterFunction, type FilterInterval, type FilterIntervalComplete, type FilterIntervalExtremum, type FilterLogicalOperator, type FilterOptions, FilterType, type Filters, type Format, type FormulaRequestOptions, type FormulaResponse, type GetFilterOptions, type GoogleBasemap, type GroupByFeature, type GroupDateType, type H3QuerySourceOptions, type H3QuerySourceResponse, type H3TableSourceOptions, type H3TableSourceResponse, type H3TilesetSourceOptions, type H3TilesetSourceResponse, type HasFilterOptions, type HistogramRequestOptions, type HistogramResponse, type KeplerMapConfig, type Layer, type LayerDescriptor, type LayerType, type MapLibreBasemap, type MapType, type NamedQueryParameter, OPACITY_MAP, OTHERS_CATEGORY_NAME, type ParseMapResult, type PositionalQueryParameter, Provider, type ProviderType, type QuadbinQuerySourceOptions, type QuadbinQuerySourceResponse, type QuadbinTableSourceOptions, type QuadbinTableSourceResponse, type QuadbinTilesetSourceOptions, type QuadbinTilesetSourceResponse, type QueryOptions, type QueryParameterValue, type QueryParameters, type QueryResult, type QuerySourceOptions, type RangeRequestOptions, type RangeResponse, type Raster, RasterBandColorinterp, type RasterBandType, type RasterMetadata, type RasterMetadataBand, type RasterMetadataBandStats, type RasterSourceOptions, type RasterTile, type RemoveFilterOptions, SOURCE_DEFAULTS, type Scale, type ScaleKey, type ScaleType, type Scales, type ScatterPlotFeature, type ScatterRequestOptions, type ScatterResponse, type SchemaField, SchemaFieldType, type SortColumnType, type SortDirection, type SourceOptionalOptions, type SourceOptions, type SourceRequiredOptions, type SpatialDataType, type SpatialFilter, type SpatialFilterPolyfillMode, SpatialIndex, SpatialIndexColumn, type SpatialIndexTile, type StringSearchOptions, TEXT_LABEL_INDEX, TEXT_NUMBER_FORMATTER, TEXT_OUTLINE_OPACITY, type TableRequestOptions, type TableResponse, type TableSourceOptions, type Tile, type TileFeatureExtractOptions, type TileFeatures, type TileFeaturesSpatialIndexOptions, TileFormat, type TileResolution, type Tilejson, type TilejsonResult, type TilesetSourceOptions, type Tilestats, type TimeSeriesRequestOptions, type TimeSeriesResponse, type TrajectoryQuerySourceOptions, type TrajectoryQuerySourceResponse, type TrajectoryTableSourceOptions, type TrajectoryTableSourceResponse, type VectorLayer, type VectorQuerySourceOptions, type VectorQuerySourceResponse, type VectorTableSourceOptions, type VectorTableSourceResponse, type VectorTilesetSourceOptions, type VectorTilesetSourceResponse, type ViewState, type Viewport, WidgetQuerySource, type WidgetQuerySourceResult, WidgetRasterSource, type WidgetRasterSourceProps, type WidgetRasterSourceResult, WidgetRemoteSource, type WidgetRemoteSourceProps, WidgetSource, type WidgetSourceProps, WidgetTableSource, type WidgetTableSourceResult, WidgetTilesetSource, type WidgetTilesetSourceProps, type WidgetTilesetSourceResult, type _DataFilterExtensionProps, ErrorCode as _ErrorCode, type VecExprResult as _VecExprResult, applyLayerGroupFilters as _applyLayerGroupFilters, _buildFeatureFilter, createVecExprEvaluator as _createVecExprEvaluator, domainFromValues as _domainFromValues, evaluateVecExpr as _evaluateVecExpr, fillInMapDatasets as _fillInMapDatasets, fillInTileStats as _fillInTileStats, _getHexagonResolution, getLog10ScaleSteps as _getLog10ScaleSteps, getRasterTileLayerStyleProps as _getRasterTileLayerStyleProps, validateVecExprSyntax as _validateVecExprSyntax, addFilter, aggregate, aggregationFunctions, applyFilters, applySorting, boundaryQuerySource, boundaryTableSource, buildBinaryFeatureFilter, buildPublicMapUrl, buildStatsUrl, calculateClusterRadius, calculateClusterTextFontSize, calculateLayerScale, clearDefaultRequestCache, clearFilters, compileCustomAggregation, configureSource, createColorScale, createPolygonSpatialFilter, createViewportSpatialFilter, fetchBasemapProps, fetchMap, filterFunctions, geojsonFeatures, getApplicableFilters, getClient, getColorAccessor, getColumnNameFromGeoColumn, getDataFilterExtensionProps, getDefaultAggregationExpColumnAliasForLayerType, getFilter, getIconUrlAccessor, getLayerDescriptor, getLayerProps, getMaxMarkerSize, getSizeAccessor, getSorter, getSpatialIndexFromGeoColumn, getTextAccessor, groupValuesByColumn, groupValuesByDateColumn, h3QuerySource, h3TableSource, h3TilesetSource, hasFilter, histogram, makeIntervalComplete, negateAccessor, opacityToAlpha, parseMap, quadbinQuerySource, quadbinTableSource, quadbinTilesetSource, query, rasterSource, removeFilter, requestWithParameters, scaleAggregationResLevel, scatterPlot, setClient, tileFeatures, tileFeaturesGeometries, tileFeaturesSpatialIndex, trajectoryQuerySource, trajectoryTableSource, transformToTileCoords, vectorQuerySource, vectorTableSource, vectorTilesetSource };
@@ -775,16 +775,17 @@ declare function getLayerProps(type: LayerType, config: MapLayerConfig, dataset:
775
775
  };
776
776
  declare function domainFromValues(values: any, scaleType: ScaleType): any;
777
777
  declare function opacityToAlpha(opacity?: number): number;
778
- declare function getColorAccessor({ name, colorColumn }: VisualChannelField, scaleType: ScaleType, { aggregation, range }: {
778
+ declare function getColorAccessor({ name, colorColumn, accessorKey }: VisualChannelField, scaleType: ScaleType, { aggregation, range, domainOverride, }: {
779
779
  aggregation?: string;
780
780
  range: ColorRange;
781
+ domainOverride?: [number, number];
781
782
  }, opacity: number | undefined, data: TilejsonResult): {
782
783
  accessor: any;
783
784
  domain: number[] | string[];
784
785
  scaleDomain: number[] | string[];
785
786
  range: string[];
786
787
  };
787
- declare function calculateLayerScale(name: string, scaleType: ScaleType, range: ColorRange, data: TilejsonResult): {
788
+ declare function calculateLayerScale(name: string, scaleType: ScaleType, range: ColorRange, data: TilejsonResult, domainOverride?: [number, number]): {
788
789
  scale: D3Scale;
789
790
  domain: string[] | number[];
790
791
  };
@@ -797,7 +798,7 @@ declare function getIconUrlAccessor(field: VisualChannelField | null | undefined
797
798
  declare function getMaxMarkerSize(visConfig: VisConfig, visualChannels: VisualChannels): number;
798
799
  type Accessor = number | ((d: any, i: any) => number);
799
800
  declare function negateAccessor(accessor: Accessor): Accessor;
800
- declare function getSizeAccessor({ name }: VisualChannelField, scaleType: ScaleType | undefined, aggregation: string | null | undefined, range: number[] | undefined, data: TilejsonResult): {
801
+ declare function getSizeAccessor({ name, accessorKey }: VisualChannelField, scaleType: ScaleType | undefined, aggregation: string | null | undefined, range: number[] | undefined, data: TilejsonResult, domainOverride?: [number, number]): {
801
802
  accessor: any;
802
803
  domain: number[];
803
804
  scaleDomain: number[];
@@ -814,6 +815,9 @@ declare function calculateClusterRadius(properties: {
814
815
  }>, radiusRange: [number, number], column: string): number;
815
816
  /** @privateRemarks Source: Builder */
816
817
  declare function getDefaultAggregationExpColumnAliasForLayerType(layerType: LayerType, provider: ProviderType, schema: SchemaField[]): string;
818
+ declare function compileCustomAggregation(exp: string, opts: {
819
+ provider: ProviderType;
820
+ }): string;
817
821
  /** @privateRemarks Source: Builder */
818
822
  declare function calculateClusterTextFontSize(radius: number): number;
819
823
 
@@ -821,6 +825,7 @@ type VisualChannelField = {
821
825
  name: string;
822
826
  type: string;
823
827
  colorColumn?: string;
828
+ accessorKey?: string;
824
829
  };
825
830
  type VisualChannels = {
826
831
  colorField?: VisualChannelField;
@@ -866,6 +871,8 @@ type VisConfig = {
866
871
  opacity?: number;
867
872
  enable3d?: boolean;
868
873
  colorAggregation?: string;
874
+ colorAggregationExp?: string;
875
+ colorAggregationDomain?: [number, number];
869
876
  colorRange: ColorRange;
870
877
  customMarkers?: boolean;
871
878
  customMarkersRange?: CustomMarkersRange | null;
@@ -873,14 +880,24 @@ type VisConfig = {
873
880
  radius: number;
874
881
  radiusRange?: number[];
875
882
  radiusAggregation?: string;
883
+ radiusAggregationExp?: string;
884
+ radiusAggregationDomain?: [number, number];
876
885
  sizeAggregation?: string;
886
+ sizeAggregationExp?: string;
887
+ sizeAggregationDomain?: [number, number];
877
888
  sizeRange?: number[];
878
889
  strokeColorAggregation?: string;
890
+ strokeColorAggregationExp?: string;
891
+ strokeColorAggregationDomain?: [number, number];
879
892
  strokeOpacity?: number;
880
893
  strokeColorRange?: ColorRange;
881
894
  heightRange?: number[];
882
895
  heightAggregation?: string;
896
+ heightAggregationExp?: string;
897
+ heightAggregationDomain?: [number, number];
883
898
  weightAggregation?: string;
899
+ weightAggregationExp?: string;
900
+ weightAggregationDomain?: [number, number];
884
901
  clusterLevel?: number;
885
902
  isTextVisible?: boolean;
886
903
  rasterStyleType?: 'Rgb' | 'ColorRange' | 'UniqueValues';
@@ -1060,7 +1077,7 @@ type Scale = {
1060
1077
  scaleDomain?: string[] | number[];
1061
1078
  range?: string[] | number[];
1062
1079
  };
1063
- type ScaleKey = 'fillColor' | 'pointRadius' | 'lineColor' | 'elevation' | 'weight';
1080
+ type ScaleKey = 'fillColor' | 'pointRadius' | 'lineColor' | 'lineWidth' | 'elevation' | 'weight';
1064
1081
  type Scales = Partial<Record<ScaleKey, Scale>>;
1065
1082
  type LayerDescriptor = {
1066
1083
  type: LayerType;
@@ -2216,4 +2233,4 @@ declare function getColumnNameFromGeoColumn(geoColumn: string | null | undefined
2216
2233
  */
2217
2234
  declare function getSpatialIndexFromGeoColumn(geoColumn: string): SpatialIndex | null;
2218
2235
 
2219
- export { type APIErrorContext, type APIRequestType, AUDIT_TAGS, type AddFilterOptions, type AggregationFunction, type AggregationType, AggregationTypes, type AggregationsRequestOptions, type AggregationsResponse, ApiVersion, type Attribute, _default as BASEMAP, type BaseRequestOptions, type Basemap, type BoundaryQuerySourceOptions, type BoundaryQuerySourceResponse, type BoundaryTableSourceOptions, type BoundaryTableSourceResponse, CARTO_SOURCES, CartoAPIError, type CategoryOrderBy, type CategoryRequestOptions, type CategoryResponse, type CategoryResponseEntry, type CategoryResponseRaw, CellSet, type ColumnsOption, type D3Scale, DEFAULT_API_BASE_URL, type ExtentRequestOptions, type ExtentResponse, FEATURE_GEOM_PROPERTY, type FeaturesRequestOptions, type FeaturesResponse, type FetchMapOptions, type FetchMapResult, type Filter, type FilterFunction, type FilterInterval, type FilterIntervalComplete, type FilterIntervalExtremum, type FilterLogicalOperator, type FilterOptions, FilterType, type Filters, type Format, type FormulaRequestOptions, type FormulaResponse, type GetFilterOptions, type GoogleBasemap, type GroupByFeature, type GroupDateType, type H3QuerySourceOptions, type H3QuerySourceResponse, type H3TableSourceOptions, type H3TableSourceResponse, type H3TilesetSourceOptions, type H3TilesetSourceResponse, type HasFilterOptions, type HistogramRequestOptions, type HistogramResponse, type KeplerMapConfig, type Layer, type LayerDescriptor, type LayerType, type MapLibreBasemap, type MapType, type NamedQueryParameter, OPACITY_MAP, OTHERS_CATEGORY_NAME, type ParseMapResult, type PositionalQueryParameter, Provider, type ProviderType, type QuadbinQuerySourceOptions, type QuadbinQuerySourceResponse, type QuadbinTableSourceOptions, type QuadbinTableSourceResponse, type QuadbinTilesetSourceOptions, type QuadbinTilesetSourceResponse, type QueryOptions, type QueryParameterValue, type QueryParameters, type QueryResult, type QuerySourceOptions, type RangeRequestOptions, type RangeResponse, type Raster, RasterBandColorinterp, type RasterBandType, type RasterMetadata, type RasterMetadataBand, type RasterMetadataBandStats, type RasterSourceOptions, type RasterTile, type RemoveFilterOptions, SOURCE_DEFAULTS, type Scale, type ScaleKey, type ScaleType, type Scales, type ScatterPlotFeature, type ScatterRequestOptions, type ScatterResponse, type SchemaField, SchemaFieldType, type SortColumnType, type SortDirection, type SourceOptionalOptions, type SourceOptions, type SourceRequiredOptions, type SpatialDataType, type SpatialFilter, type SpatialFilterPolyfillMode, SpatialIndex, SpatialIndexColumn, type SpatialIndexTile, type StringSearchOptions, TEXT_LABEL_INDEX, TEXT_NUMBER_FORMATTER, TEXT_OUTLINE_OPACITY, type TableRequestOptions, type TableResponse, type TableSourceOptions, type Tile, type TileFeatureExtractOptions, type TileFeatures, type TileFeaturesSpatialIndexOptions, TileFormat, type TileResolution, type Tilejson, type TilejsonResult, type TilesetSourceOptions, type Tilestats, type TimeSeriesRequestOptions, type TimeSeriesResponse, type TrajectoryQuerySourceOptions, type TrajectoryQuerySourceResponse, type TrajectoryTableSourceOptions, type TrajectoryTableSourceResponse, type VectorLayer, type VectorQuerySourceOptions, type VectorQuerySourceResponse, type VectorTableSourceOptions, type VectorTableSourceResponse, type VectorTilesetSourceOptions, type VectorTilesetSourceResponse, type ViewState, type Viewport, WidgetQuerySource, type WidgetQuerySourceResult, WidgetRasterSource, type WidgetRasterSourceProps, type WidgetRasterSourceResult, WidgetRemoteSource, type WidgetRemoteSourceProps, WidgetSource, type WidgetSourceProps, WidgetTableSource, type WidgetTableSourceResult, WidgetTilesetSource, type WidgetTilesetSourceProps, type WidgetTilesetSourceResult, type _DataFilterExtensionProps, ErrorCode as _ErrorCode, type VecExprResult as _VecExprResult, applyLayerGroupFilters as _applyLayerGroupFilters, _buildFeatureFilter, createVecExprEvaluator as _createVecExprEvaluator, domainFromValues as _domainFromValues, evaluateVecExpr as _evaluateVecExpr, fillInMapDatasets as _fillInMapDatasets, fillInTileStats as _fillInTileStats, _getHexagonResolution, getLog10ScaleSteps as _getLog10ScaleSteps, getRasterTileLayerStyleProps as _getRasterTileLayerStyleProps, validateVecExprSyntax as _validateVecExprSyntax, addFilter, aggregate, aggregationFunctions, applyFilters, applySorting, boundaryQuerySource, boundaryTableSource, buildBinaryFeatureFilter, buildPublicMapUrl, buildStatsUrl, calculateClusterRadius, calculateClusterTextFontSize, calculateLayerScale, clearDefaultRequestCache, clearFilters, configureSource, createColorScale, createPolygonSpatialFilter, createViewportSpatialFilter, fetchBasemapProps, fetchMap, filterFunctions, geojsonFeatures, getApplicableFilters, getClient, getColorAccessor, getColumnNameFromGeoColumn, getDataFilterExtensionProps, getDefaultAggregationExpColumnAliasForLayerType, getFilter, getIconUrlAccessor, getLayerDescriptor, getLayerProps, getMaxMarkerSize, getSizeAccessor, getSorter, getSpatialIndexFromGeoColumn, getTextAccessor, groupValuesByColumn, groupValuesByDateColumn, h3QuerySource, h3TableSource, h3TilesetSource, hasFilter, histogram, makeIntervalComplete, negateAccessor, opacityToAlpha, parseMap, quadbinQuerySource, quadbinTableSource, quadbinTilesetSource, query, rasterSource, removeFilter, requestWithParameters, scaleAggregationResLevel, scatterPlot, setClient, tileFeatures, tileFeaturesGeometries, tileFeaturesSpatialIndex, trajectoryQuerySource, trajectoryTableSource, transformToTileCoords, vectorQuerySource, vectorTableSource, vectorTilesetSource };
2236
+ export { type APIErrorContext, type APIRequestType, AUDIT_TAGS, type AddFilterOptions, type AggregationFunction, type AggregationType, AggregationTypes, type AggregationsRequestOptions, type AggregationsResponse, ApiVersion, type Attribute, _default as BASEMAP, type BaseRequestOptions, type Basemap, type BoundaryQuerySourceOptions, type BoundaryQuerySourceResponse, type BoundaryTableSourceOptions, type BoundaryTableSourceResponse, CARTO_SOURCES, CartoAPIError, type CategoryOrderBy, type CategoryRequestOptions, type CategoryResponse, type CategoryResponseEntry, type CategoryResponseRaw, CellSet, type ColumnsOption, type D3Scale, DEFAULT_API_BASE_URL, type ExtentRequestOptions, type ExtentResponse, FEATURE_GEOM_PROPERTY, type FeaturesRequestOptions, type FeaturesResponse, type FetchMapOptions, type FetchMapResult, type Filter, type FilterFunction, type FilterInterval, type FilterIntervalComplete, type FilterIntervalExtremum, type FilterLogicalOperator, type FilterOptions, FilterType, type Filters, type Format, type FormulaRequestOptions, type FormulaResponse, type GetFilterOptions, type GoogleBasemap, type GroupByFeature, type GroupDateType, type H3QuerySourceOptions, type H3QuerySourceResponse, type H3TableSourceOptions, type H3TableSourceResponse, type H3TilesetSourceOptions, type H3TilesetSourceResponse, type HasFilterOptions, type HistogramRequestOptions, type HistogramResponse, type KeplerMapConfig, type Layer, type LayerDescriptor, type LayerType, type MapLibreBasemap, type MapType, type NamedQueryParameter, OPACITY_MAP, OTHERS_CATEGORY_NAME, type ParseMapResult, type PositionalQueryParameter, Provider, type ProviderType, type QuadbinQuerySourceOptions, type QuadbinQuerySourceResponse, type QuadbinTableSourceOptions, type QuadbinTableSourceResponse, type QuadbinTilesetSourceOptions, type QuadbinTilesetSourceResponse, type QueryOptions, type QueryParameterValue, type QueryParameters, type QueryResult, type QuerySourceOptions, type RangeRequestOptions, type RangeResponse, type Raster, RasterBandColorinterp, type RasterBandType, type RasterMetadata, type RasterMetadataBand, type RasterMetadataBandStats, type RasterSourceOptions, type RasterTile, type RemoveFilterOptions, SOURCE_DEFAULTS, type Scale, type ScaleKey, type ScaleType, type Scales, type ScatterPlotFeature, type ScatterRequestOptions, type ScatterResponse, type SchemaField, SchemaFieldType, type SortColumnType, type SortDirection, type SourceOptionalOptions, type SourceOptions, type SourceRequiredOptions, type SpatialDataType, type SpatialFilter, type SpatialFilterPolyfillMode, SpatialIndex, SpatialIndexColumn, type SpatialIndexTile, type StringSearchOptions, TEXT_LABEL_INDEX, TEXT_NUMBER_FORMATTER, TEXT_OUTLINE_OPACITY, type TableRequestOptions, type TableResponse, type TableSourceOptions, type Tile, type TileFeatureExtractOptions, type TileFeatures, type TileFeaturesSpatialIndexOptions, TileFormat, type TileResolution, type Tilejson, type TilejsonResult, type TilesetSourceOptions, type Tilestats, type TimeSeriesRequestOptions, type TimeSeriesResponse, type TrajectoryQuerySourceOptions, type TrajectoryQuerySourceResponse, type TrajectoryTableSourceOptions, type TrajectoryTableSourceResponse, type VectorLayer, type VectorQuerySourceOptions, type VectorQuerySourceResponse, type VectorTableSourceOptions, type VectorTableSourceResponse, type VectorTilesetSourceOptions, type VectorTilesetSourceResponse, type ViewState, type Viewport, WidgetQuerySource, type WidgetQuerySourceResult, WidgetRasterSource, type WidgetRasterSourceProps, type WidgetRasterSourceResult, WidgetRemoteSource, type WidgetRemoteSourceProps, WidgetSource, type WidgetSourceProps, WidgetTableSource, type WidgetTableSourceResult, WidgetTilesetSource, type WidgetTilesetSourceProps, type WidgetTilesetSourceResult, type _DataFilterExtensionProps, ErrorCode as _ErrorCode, type VecExprResult as _VecExprResult, applyLayerGroupFilters as _applyLayerGroupFilters, _buildFeatureFilter, createVecExprEvaluator as _createVecExprEvaluator, domainFromValues as _domainFromValues, evaluateVecExpr as _evaluateVecExpr, fillInMapDatasets as _fillInMapDatasets, fillInTileStats as _fillInTileStats, _getHexagonResolution, getLog10ScaleSteps as _getLog10ScaleSteps, getRasterTileLayerStyleProps as _getRasterTileLayerStyleProps, validateVecExprSyntax as _validateVecExprSyntax, addFilter, aggregate, aggregationFunctions, applyFilters, applySorting, boundaryQuerySource, boundaryTableSource, buildBinaryFeatureFilter, buildPublicMapUrl, buildStatsUrl, calculateClusterRadius, calculateClusterTextFontSize, calculateLayerScale, clearDefaultRequestCache, clearFilters, compileCustomAggregation, configureSource, createColorScale, createPolygonSpatialFilter, createViewportSpatialFilter, fetchBasemapProps, fetchMap, filterFunctions, geojsonFeatures, getApplicableFilters, getClient, getColorAccessor, getColumnNameFromGeoColumn, getDataFilterExtensionProps, getDefaultAggregationExpColumnAliasForLayerType, getFilter, getIconUrlAccessor, getLayerDescriptor, getLayerProps, getMaxMarkerSize, getSizeAccessor, getSorter, getSpatialIndexFromGeoColumn, getTextAccessor, groupValuesByColumn, groupValuesByDateColumn, h3QuerySource, h3TableSource, h3TilesetSource, hasFilter, histogram, makeIntervalComplete, negateAccessor, opacityToAlpha, parseMap, quadbinQuerySource, quadbinTableSource, quadbinTilesetSource, query, rasterSource, removeFilter, requestWithParameters, scaleAggregationResLevel, scatterPlot, setClient, tileFeatures, tileFeaturesGeometries, tileFeaturesSpatialIndex, trajectoryQuerySource, trajectoryTableSource, transformToTileCoords, vectorQuerySource, vectorTableSource, vectorTilesetSource };
@@ -9589,15 +9589,22 @@ function findAccessorKey(keys, properties) {
9589
9589
  }
9590
9590
  return keys;
9591
9591
  }
9592
- function getColorAccessor({ name, colorColumn }, scaleType, { aggregation, range }, opacity, data) {
9592
+ function getColorAccessor({ name, colorColumn, accessorKey }, scaleType, {
9593
+ aggregation,
9594
+ range,
9595
+ domainOverride
9596
+ }, opacity, data) {
9597
+ const effectiveName = accessorKey ?? colorColumn ?? name;
9598
+ const effectiveScaleType = colorColumn && !accessorKey ? "identity" : scaleType;
9593
9599
  const { scale: scale2, domain } = calculateLayerScale(
9594
- colorColumn || name,
9595
- colorColumn ? "identity" : scaleType,
9600
+ effectiveName,
9601
+ effectiveScaleType,
9596
9602
  range,
9597
- data
9603
+ data,
9604
+ domainOverride
9598
9605
  );
9599
9606
  const alpha = opacityToAlpha(opacity);
9600
- let accessorKeys = getAccessorKeys(colorColumn || name, aggregation);
9607
+ let accessorKeys = accessorKey ? [accessorKey] : getAccessorKeys(colorColumn || name, aggregation);
9601
9608
  const accessor = (properties) => {
9602
9609
  if (!(accessorKeys[0] in properties)) {
9603
9610
  accessorKeys = findAccessorKey(accessorKeys, properties);
@@ -9614,11 +9621,11 @@ function getColorAccessor({ name, colorColumn }, scaleType, { aggregation, range
9614
9621
  range: (scale2.range() || []).map(rgbToHex)
9615
9622
  };
9616
9623
  }
9617
- function calculateLayerScale(name, scaleType, range, data) {
9624
+ function calculateLayerScale(name, scaleType, range, data, domainOverride) {
9618
9625
  let scaleDomain;
9619
9626
  let scaleColors = [];
9620
9627
  const { colors } = range;
9621
- const domain = calculateDomain(data, name, scaleType, colors.length);
9628
+ const domain = domainOverride && !range.colorMap ? domainOverride : calculateDomain(data, name, scaleType, colors.length);
9622
9629
  if (scaleType !== "identity") {
9623
9630
  if (range.colorMap) {
9624
9631
  const { colorMap } = range;
@@ -9703,19 +9710,20 @@ function negateAccessor(accessor) {
9703
9710
  }
9704
9711
  return -accessor;
9705
9712
  }
9706
- function getSizeAccessor({ name }, scaleType, aggregation, range, data) {
9713
+ function getSizeAccessor({ name, accessorKey }, scaleType, aggregation, range, data, domainOverride) {
9707
9714
  const scale2 = scaleType ? SCALE_FUNCS[scaleType]() : identity2;
9708
9715
  let domain = [];
9709
9716
  if (scaleType && range) {
9710
9717
  if (aggregation !== AggregationTypes.Count) {
9711
- domain = calculateDomain(data, name, scaleType);
9718
+ const source = accessorKey ?? name;
9719
+ domain = domainOverride ?? calculateDomain(data, source, scaleType);
9712
9720
  scale2.domain(domain);
9713
9721
  } else {
9714
9722
  domain = scale2.domain();
9715
9723
  }
9716
9724
  scale2.range(range);
9717
9725
  }
9718
- let accessorKeys = getAccessorKeys(name, aggregation);
9726
+ let accessorKeys = accessorKey ? [accessorKey] : getAccessorKeys(name, aggregation);
9719
9727
  const accessor = (properties) => {
9720
9728
  if (!(accessorKeys[0] in properties)) {
9721
9729
  accessorKeys = findAccessorKey(accessorKeys, properties);
@@ -9762,9 +9770,30 @@ function getDefaultAggregationExpColumnAliasForLayerType(layerType, provider, sc
9762
9770
  return DEFAULT_AGGREGATION_EXP_ALIAS;
9763
9771
  }
9764
9772
  }
9773
+ function hashString(input) {
9774
+ let h = 2166136261;
9775
+ for (let i = 0; i < input.length; i++) {
9776
+ h ^= input.charCodeAt(i);
9777
+ h = Math.imul(h, 16777619);
9778
+ }
9779
+ return (h >>> 0).toString(16).padStart(8, "0");
9780
+ }
9781
+ function normalizeExpression(exp) {
9782
+ return exp.trim().replace(/\s+/g, " ");
9783
+ }
9784
+ function applyProviderCase(alias, provider) {
9785
+ return provider === "snowflake" ? alias.toUpperCase() : alias;
9786
+ }
9765
9787
  function getColumnAliasForAggregationExp(name, aggregation, provider) {
9766
- const columnAlias = `${name}_${aggregation}`;
9767
- return provider === "snowflake" ? columnAlias.toUpperCase() : columnAlias;
9788
+ return applyProviderCase(`${name}_${aggregation}`, provider);
9789
+ }
9790
+ function compileCustomAggregation(exp, opts) {
9791
+ const normalized = normalizeExpression(exp);
9792
+ if (!normalized) {
9793
+ throw new Error("Custom aggregation expression must not be empty");
9794
+ }
9795
+ const hash2 = hashString(normalized);
9796
+ return applyProviderCase("custom_agg_" + hash2, opts.provider);
9768
9797
  }
9769
9798
  function getDefaultColumnFromSchemaForAggregationExp(schema) {
9770
9799
  return schema ? schema[0].name : "";
@@ -10288,6 +10317,26 @@ function createStyleProps(config2, mapping) {
10288
10317
  result.highlightColor = config2.visConfig.enable3d ? [255, 255, 255, 60] : [252, 242, 26, 255];
10289
10318
  return result;
10290
10319
  }
10320
+ function resolveCustomAggregation({
10321
+ field,
10322
+ aggregation,
10323
+ expression,
10324
+ domain,
10325
+ providerId
10326
+ }) {
10327
+ if (aggregation !== "custom") {
10328
+ return { field, aggregation, domainOverride: void 0 };
10329
+ }
10330
+ if (!field || !expression?.trim()) {
10331
+ return { field, aggregation: void 0, domainOverride: void 0 };
10332
+ }
10333
+ const alias = compileCustomAggregation(expression, { provider: providerId });
10334
+ return {
10335
+ field: { ...field, accessorKey: alias },
10336
+ aggregation: void 0,
10337
+ domainOverride: domain
10338
+ };
10339
+ }
10291
10340
  function createChannelProps(id, layerType, config2, visualChannels, data, dataset) {
10292
10341
  if (layerType === "raster") {
10293
10342
  const rasterMetadata = data.raster_metadata;
@@ -10336,18 +10385,25 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
10336
10385
  const scales = {};
10337
10386
  {
10338
10387
  const { colorField, colorScale } = visualChannels;
10339
- const { colorRange, colorAggregation } = visConfig;
10340
- if (colorField && colorScale && colorRange) {
10388
+ const { colorRange } = visConfig;
10389
+ const { field, aggregation, domainOverride } = resolveCustomAggregation({
10390
+ field: colorField,
10391
+ aggregation: visConfig.colorAggregation,
10392
+ expression: visConfig.colorAggregationExp,
10393
+ domain: visConfig.colorAggregationDomain,
10394
+ providerId: dataset.providerId
10395
+ });
10396
+ if (field && colorScale && colorRange) {
10341
10397
  const { accessor, ...scaleProps } = getColorAccessor(
10342
- colorField,
10398
+ field,
10343
10399
  colorScale,
10344
- { aggregation: colorAggregation, range: colorRange },
10400
+ { aggregation, range: colorRange, domainOverride },
10345
10401
  visConfig.opacity,
10346
10402
  data
10347
10403
  );
10348
10404
  result.getFillColor = accessor;
10349
10405
  scales.fillColor = updateTriggers.getFillColor = {
10350
- field: colorField,
10406
+ field,
10351
10407
  type: colorScale,
10352
10408
  ...scaleProps
10353
10409
  };
@@ -10407,40 +10463,54 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
10407
10463
  };
10408
10464
  }
10409
10465
  {
10410
- const radiusRange = visConfig.radiusRange;
10411
10466
  const { radiusField, radiusScale } = visualChannels;
10412
- if (radiusField && radiusRange && radiusScale) {
10467
+ const { radiusRange } = visConfig;
10468
+ const { field, aggregation, domainOverride } = resolveCustomAggregation({
10469
+ field: radiusField,
10470
+ aggregation: visConfig.radiusAggregation,
10471
+ expression: visConfig.radiusAggregationExp,
10472
+ domain: visConfig.radiusAggregationDomain,
10473
+ providerId: dataset.providerId
10474
+ });
10475
+ if (field && radiusRange && radiusScale) {
10413
10476
  const { accessor, ...scaleProps } = getSizeAccessor(
10414
- radiusField,
10477
+ field,
10415
10478
  radiusScale,
10416
- visConfig.radiusAggregation,
10479
+ aggregation,
10417
10480
  radiusRange,
10418
- data
10481
+ data,
10482
+ domainOverride
10419
10483
  );
10420
10484
  result.getPointRadius = accessor;
10421
10485
  scales.pointRadius = updateTriggers.getPointRadius = {
10422
- field: radiusField,
10486
+ field,
10423
10487
  type: radiusScale,
10424
10488
  ...scaleProps
10425
10489
  };
10426
10490
  }
10427
10491
  }
10428
10492
  {
10429
- const strokeColorRange = visConfig.strokeColorRange;
10430
10493
  const { strokeColorScale, strokeColorField } = visualChannels;
10431
- if (strokeColorField && strokeColorRange && strokeColorScale) {
10432
- const { strokeColorAggregation: aggregation } = visConfig;
10494
+ const { strokeColorRange } = visConfig;
10495
+ const { field, aggregation, domainOverride } = resolveCustomAggregation({
10496
+ field: strokeColorField,
10497
+ aggregation: visConfig.strokeColorAggregation,
10498
+ expression: visConfig.strokeColorAggregationExp,
10499
+ domain: visConfig.strokeColorAggregationDomain,
10500
+ providerId: dataset.providerId
10501
+ });
10502
+ if (field && strokeColorRange && strokeColorScale) {
10433
10503
  const opacity = visConfig.strokeOpacity !== void 0 ? visConfig.strokeOpacity : 1;
10434
10504
  const { accessor, ...scaleProps } = getColorAccessor(
10435
- strokeColorField,
10505
+ field,
10436
10506
  strokeColorScale,
10437
- { aggregation, range: strokeColorRange },
10507
+ { aggregation, range: strokeColorRange, domainOverride },
10438
10508
  opacity,
10439
10509
  data
10440
10510
  );
10441
10511
  result.getLineColor = accessor;
10442
10512
  scales.lineColor = updateTriggers.getLineColor = {
10443
- field: strokeColorField,
10513
+ field,
10444
10514
  type: strokeColorScale,
10445
10515
  ...scaleProps
10446
10516
  };
@@ -10448,37 +10518,53 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
10448
10518
  }
10449
10519
  {
10450
10520
  const { sizeField: strokeWidthField, sizeScale: strokeWidthScale } = visualChannels;
10451
- const { sizeRange, sizeAggregation } = visConfig;
10452
- if (strokeWidthField && sizeRange) {
10521
+ const { sizeRange } = visConfig;
10522
+ const { field, aggregation, domainOverride } = resolveCustomAggregation({
10523
+ field: strokeWidthField,
10524
+ aggregation: visConfig.sizeAggregation,
10525
+ expression: visConfig.sizeAggregationExp,
10526
+ domain: visConfig.sizeAggregationDomain,
10527
+ providerId: dataset.providerId
10528
+ });
10529
+ if (field && sizeRange) {
10453
10530
  const { accessor, ...scaleProps } = getSizeAccessor(
10454
- strokeWidthField,
10531
+ field,
10455
10532
  strokeWidthScale,
10456
- sizeAggregation,
10533
+ aggregation,
10457
10534
  sizeRange,
10458
- data
10535
+ data,
10536
+ domainOverride
10459
10537
  );
10460
10538
  result.getLineWidth = accessor;
10461
10539
  scales.lineWidth = updateTriggers.getLineWidth = {
10462
- field: strokeWidthField,
10540
+ field,
10463
10541
  type: strokeWidthScale || "identity",
10464
10542
  ...scaleProps
10465
10543
  };
10466
10544
  }
10467
10545
  }
10468
10546
  {
10469
- const { enable3d, heightRange } = visConfig;
10470
10547
  const { heightField, heightScale } = visualChannels;
10471
- if (heightField && heightRange && enable3d) {
10548
+ const { enable3d, heightRange } = visConfig;
10549
+ const { field, aggregation, domainOverride } = resolveCustomAggregation({
10550
+ field: heightField,
10551
+ aggregation: visConfig.heightAggregation,
10552
+ expression: visConfig.heightAggregationExp,
10553
+ domain: visConfig.heightAggregationDomain,
10554
+ providerId: dataset.providerId
10555
+ });
10556
+ if (field && heightRange && enable3d) {
10472
10557
  const { accessor, ...scaleProps } = getSizeAccessor(
10473
- heightField,
10558
+ field,
10474
10559
  heightScale,
10475
- visConfig.heightAggregation,
10560
+ aggregation,
10476
10561
  heightRange,
10477
- data
10562
+ data,
10563
+ domainOverride
10478
10564
  );
10479
10565
  result.getElevation = accessor;
10480
10566
  scales.elevation = updateTriggers.getElevation = {
10481
- field: heightField,
10567
+ field,
10482
10568
  type: heightScale || "identity",
10483
10569
  ...scaleProps
10484
10570
  };
@@ -10486,18 +10572,25 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
10486
10572
  }
10487
10573
  {
10488
10574
  const { weightField } = visualChannels;
10489
- const { weightAggregation } = visConfig;
10490
- if (weightField && weightAggregation) {
10575
+ const { field, aggregation, domainOverride } = resolveCustomAggregation({
10576
+ field: weightField,
10577
+ aggregation: visConfig.weightAggregation,
10578
+ expression: visConfig.weightAggregationExp,
10579
+ domain: visConfig.weightAggregationDomain,
10580
+ providerId: dataset.providerId
10581
+ });
10582
+ if (field && (aggregation || visConfig.weightAggregation === "custom")) {
10491
10583
  const { accessor, ...scaleProps } = getSizeAccessor(
10492
- weightField,
10584
+ field,
10493
10585
  void 0,
10494
- weightAggregation,
10586
+ aggregation,
10495
10587
  void 0,
10496
- data
10588
+ data,
10589
+ domainOverride
10497
10590
  );
10498
10591
  result.getWeight = accessor;
10499
10592
  scales.weight = updateTriggers.getWeight = {
10500
- field: weightField,
10593
+ field,
10501
10594
  type: "identity",
10502
10595
  ...scaleProps
10503
10596
  };
@@ -11293,6 +11386,7 @@ export {
11293
11386
  calculateLayerScale,
11294
11387
  clearDefaultRequestCache,
11295
11388
  clearFilters,
11389
+ compileCustomAggregation,
11296
11390
  configureSource,
11297
11391
  createColorScale,
11298
11392
  createPolygonSpatialFilter,