@deck.gl/carto 9.0.0-alpha.6 → 9.0.0-beta.1
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.
- package/dist/cartoRasterTile-worker.js +4 -14
- package/dist/cartoSpatialTile-worker.js +4 -14
- package/dist/cartoVectorTile-worker.js +4 -14
- package/dist/dist.dev.js +50 -35
- package/dist/es5/api/endpoints.js +41 -20
- package/dist/es5/api/endpoints.js.map +1 -1
- package/dist/es5/api/fetch-map.js +16 -18
- package/dist/es5/api/fetch-map.js.map +1 -1
- package/dist/es5/api/layer-map.js +1 -1
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/query.js +10 -7
- package/dist/es5/api/query.js.map +1 -1
- package/dist/es5/api/request-with-parameters.js +1 -1
- package/dist/es5/api/request-with-parameters.js.map +1 -1
- package/dist/es5/layers/schema/carto-raster-tile-loader.js +1 -1
- package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +1 -1
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js +1 -1
- package/dist/es5/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/es5/layers/schema/carto-vector-tile-loader.js +1 -1
- package/dist/es5/layers/schema/carto-vector-tile-loader.js.map +1 -1
- package/dist/es5/layers/utils.js +1 -1
- package/dist/es5/layers/utils.js.map +1 -1
- package/dist/es5/sources/base-source.js.map +1 -1
- package/dist/esm/api/endpoints.js +30 -17
- package/dist/esm/api/endpoints.js.map +1 -1
- package/dist/esm/api/fetch-map.js +12 -14
- package/dist/esm/api/fetch-map.js.map +1 -1
- package/dist/esm/api/layer-map.js +1 -1
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/query.js +6 -4
- package/dist/esm/api/query.js.map +1 -1
- package/dist/esm/api/request-with-parameters.js +1 -1
- package/dist/esm/api/request-with-parameters.js.map +1 -1
- package/dist/esm/layers/schema/carto-raster-tile-loader.js +1 -1
- package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +1 -1
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js +1 -1
- package/dist/esm/layers/schema/carto-spatial-tile-loader.js.map +1 -1
- package/dist/esm/layers/schema/carto-vector-tile-loader.js +1 -1
- package/dist/esm/layers/schema/carto-vector-tile-loader.js.map +1 -1
- package/dist/esm/layers/utils.js +1 -1
- package/dist/esm/layers/utils.js.map +1 -1
- package/dist/esm/sources/base-source.js.map +1 -1
- package/dist.min.js +39 -39
- package/package.json +10 -10
- package/src/.DS_Store +0 -0
- package/src/api/endpoints.ts +48 -17
- package/src/api/fetch-map.ts +13 -18
- package/src/api/layer-map.ts +3 -1
- package/src/api/query.ts +8 -4
- package/src/api/request-with-parameters.ts +1 -1
- package/src/layers/utils.ts +1 -1
- package/src/sources/base-source.ts +0 -1
- package/src/sources/types.ts +87 -3
- package/typed/api/endpoints.d.ts +17 -6
- package/typed/api/endpoints.d.ts.map +1 -1
- package/typed/api/fetch-map.d.ts +2 -3
- package/typed/api/fetch-map.d.ts.map +1 -1
- package/typed/api/layer-map.d.ts +1 -1
- package/typed/api/layer-map.d.ts.map +1 -1
- package/typed/api/query.d.ts +1 -1
- package/typed/api/query.d.ts.map +1 -1
- package/typed/api/types.d.ts +19 -19
- package/typed/api/types.d.ts.map +1 -1
- package/typed/layers/h3-tile-layer.d.ts +2 -2
- package/typed/layers/h3-tile-layer.d.ts.map +1 -1
- package/typed/layers/h3-tileset-2d.d.ts +1 -1
- package/typed/layers/h3-tileset-2d.d.ts.map +1 -1
- package/typed/layers/point-label-layer.d.ts +2 -2
- package/typed/layers/point-label-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-layer.d.ts +2 -2
- package/typed/layers/quadbin-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-tile-layer.d.ts +2 -2
- package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-tileset-2d.d.ts +1 -1
- package/typed/layers/quadbin-tileset-2d.d.ts.map +1 -1
- package/typed/layers/raster-layer.d.ts +2 -2
- package/typed/layers/raster-layer.d.ts.map +1 -1
- package/typed/layers/raster-tile-layer.d.ts +2 -2
- package/typed/layers/raster-tile-layer.d.ts.map +1 -1
- package/typed/layers/schema/carto-raster-tile-loader.d.ts +1 -1
- package/typed/layers/schema/carto-raster-tile-loader.d.ts.map +1 -1
- package/typed/layers/schema/spatialjson-utils.d.ts +8 -8
- package/typed/layers/schema/spatialjson-utils.d.ts.map +1 -1
- package/typed/layers/spatial-index-tile-layer.d.ts +2 -2
- package/typed/layers/spatial-index-tile-layer.d.ts.map +1 -1
- package/typed/layers/vector-tile-layer.d.ts +3 -3
- package/typed/layers/vector-tile-layer.d.ts.map +1 -1
- package/typed/sources/base-source.d.ts.map +1 -1
- package/typed/sources/boundary-query-source.d.ts +1 -1
- package/typed/sources/boundary-query-source.d.ts.map +1 -1
- package/typed/sources/boundary-table-source.d.ts +1 -1
- package/typed/sources/boundary-table-source.d.ts.map +1 -1
- package/typed/sources/h3-query-source.d.ts +1 -1
- package/typed/sources/h3-query-source.d.ts.map +1 -1
- package/typed/sources/h3-table-source.d.ts +1 -1
- package/typed/sources/h3-table-source.d.ts.map +1 -1
- package/typed/sources/h3-tileset-source.d.ts +1 -1
- package/typed/sources/h3-tileset-source.d.ts.map +1 -1
- package/typed/sources/quadbin-query-source.d.ts +1 -1
- package/typed/sources/quadbin-query-source.d.ts.map +1 -1
- package/typed/sources/quadbin-table-source.d.ts +1 -1
- package/typed/sources/quadbin-table-source.d.ts.map +1 -1
- package/typed/sources/quadbin-tileset-source.d.ts +1 -1
- package/typed/sources/quadbin-tileset-source.d.ts.map +1 -1
- package/typed/sources/raster-source.d.ts +1 -1
- package/typed/sources/raster-source.d.ts.map +1 -1
- package/typed/sources/types.d.ts +91 -16
- package/typed/sources/types.d.ts.map +1 -1
- package/typed/sources/vector-query-source.d.ts +1 -1
- package/typed/sources/vector-query-source.d.ts.map +1 -1
- package/typed/sources/vector-table-source.d.ts +1 -1
- package/typed/sources/vector-table-source.d.ts.map +1 -1
- package/typed/sources/vector-tileset-source.d.ts +1 -1
- package/typed/sources/vector-tileset-source.d.ts.map +1 -1
- package/typed/style/palette.d.ts +1 -1
- package/typed/style/palette.d.ts.map +1 -1
- package/typed/style/utils.d.ts +1 -1
- package/typed/style/utils.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/layer-map.ts"],"names":["SCALE_FUNCS","linear","scaleLinear","ordinal","scaleOrdinal","log","scaleLog","point","scalePoint","quantile","scaleQuantile","quantize","scaleQuantize","sqrt","scaleSqrt","custom","scaleThreshold","identity","scaleIdentity","v","UNKNOWN_COLOR","AGGREGATION","average","maximum","minimum","sum","OPACITY_MAP","getFillColor","getLineColor","getTextColor","AGGREGATION_FUNC","values","accessor","length","median","mode","pop","stddev","deviation","variance","hexToRGBA","c","r","g","b","opacity","sharedPropMap","color","isVisible","label","textLabel","alignment","anchor","size","visConfig","enable3d","elevationScale","filled","strokeColor","stroked","thickness","radius","wireframe","customMarkersPropsMap","aggregationVisConfig","colorAggregation","x","colorRange","colors","map","coverage","elevationPercentile","percentile","defaultProps","lineMiterLimit","lineWidthUnits","pointRadiusUnits","rounded","wrapLongitude","mergePropMaps","a","getLayer","type","config","dataset","basePropMap","customMarkers","getTileLayer","geoColumn","getPosition","d","coordinates","hexagonId","columns","hex_id","layerTypeDefs","Layer","GeoJsonLayer","propMap","altitude","parameters","depthTest","Boolean","outline","geojson","grid","CPUGridLayer","worldUnitSize","cellSize","heatmap","HeatmapLayer","hexagon","HexagonLayer","H3HexagonLayer","getHexagon","layer","layerFromTileDataset","scheme","RasterTileLayer","H3TileLayer","QuadbinTileLayer","VectorTileLayer","aggregationExp","aggregationResLevel","data","uniqueIdProperty","domainFromAttribute","attribute","scaleType","scaleLength","categories","category","filter","undefined","quantiles","min","max","domainFromValues","sort","d0","d1","calculateDomain","name","tilestats","attributes","layers","find","features","properties","Array","isArray","normalizeAccessor","object","info","__source","index","proxy","opacityToAlpha","Math","round","pow","getAccessorKeys","aggregation","keys","concat","toUpperCase","findAccessorKey","key","Error","getColorValueAccessor","aggregator","p","getColorAccessor","colorColumn","range","scale","calculateLayerScale","alpha","accessorKeys","propertyValue","domain","scaleColor","colorMap","forEach","value","push","slice","unknown","FALLBACK_ICON","getIconUrlAccessor","field","fallbackUrl","maxIconSize","useMaskedIcons","urlToUnpackedIcon","url","id","width","height","mask","unknownValue","othersMarker","unknownIcon","mapping","markerMap","markerUrl","getMaxMarkerSize","visualChannels","radiusRange","radiusField","sizeField","ceil","negateAccessor","i","getSizeAccessor","FORMATS","date","s","moment","utc","format","integer","float","timestamp","default","String","getTextAccessor"],"mappings":"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","sourcesContent":["import {deviation, extent, groupSort, median, variance} from 'd3-array';\nimport {rgb} from 'd3-color';\nimport {\n scaleLinear,\n scaleOrdinal,\n scaleLog,\n scalePoint,\n scaleQuantile,\n scaleQuantize,\n scaleSqrt,\n scaleThreshold\n} from 'd3-scale';\nimport {format as d3Format} from 'd3-format';\nimport moment from 'moment-timezone';\n\nimport {Accessor, Layer, _ConstructorOf as ConstructorOf} from '@deck.gl/core';\nimport {CPUGridLayer, HeatmapLayer, HexagonLayer} from '@deck.gl/aggregation-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {H3HexagonLayer} from '@deck.gl/geo-layers';\n\nimport H3TileLayer from '../layers/h3-tile-layer';\nimport QuadbinTileLayer from '../layers/quadbin-tile-layer';\nimport RasterTileLayer from '../layers/raster-tile-layer';\nimport VectorTileLayer from '../layers/vector-tile-layer';\nimport {MapType} from './types';\nimport {assert, createBinaryProxy, scaleIdentity} from '../utils';\nimport {\n CustomMarkersRange,\n MapDataset,\n MapTextSubLayerConfig,\n VisConfig,\n VisualChannelField,\n VisualChannels\n} from './types';\n\nconst SCALE_FUNCS = {\n linear: scaleLinear,\n ordinal: scaleOrdinal,\n log: scaleLog,\n point: scalePoint,\n quantile: scaleQuantile,\n quantize: scaleQuantize,\n sqrt: scaleSqrt,\n custom: scaleThreshold,\n identity: scaleIdentity\n};\nexport type SCALE_TYPE = keyof typeof SCALE_FUNCS;\n\nfunction identity<T>(v: T): T {\n return v;\n}\n\nconst UNKNOWN_COLOR = '#868d91';\n\nexport const AGGREGATION = {\n average: 'MEAN',\n maximum: 'MAX',\n minimum: 'MIN',\n sum: 'SUM'\n};\n\nexport const OPACITY_MAP = {\n getFillColor: 'opacity',\n getLineColor: 'strokeOpacity',\n getTextColor: 'opacity'\n};\n\nconst AGGREGATION_FUNC = {\n 'count unique': (values, accessor) => groupSort(values, v => v.length, accessor).length,\n median,\n // Unfortunately mode() is only available in d3-array@3+ which is ESM only\n mode: (values, accessor) => groupSort(values, v => v.length, accessor).pop(),\n stddev: deviation,\n variance\n};\n\nconst hexToRGBA = c => {\n const {r, g, b, opacity} = rgb(c);\n return [r, g, b, 255 * opacity];\n};\n\n// Kepler prop value -> Deck.gl prop value\n// Supports nested definitions, and function transforms:\n// {keplerProp: 'deckProp'} is equivalent to:\n// {keplerProp: x => ({deckProp: x})}\nconst sharedPropMap = {\n // Apply the value of Kepler `color` prop to the deck `getFillColor` prop\n color: 'getFillColor',\n isVisible: 'visible',\n label: 'cartoLabel',\n textLabel: {\n alignment: 'getTextAlignmentBaseline',\n anchor: 'getTextAnchor',\n // Apply the value of Kepler `textLabel.color` prop to the deck `getTextColor` prop\n color: 'getTextColor',\n size: 'getTextSize'\n },\n visConfig: {\n enable3d: 'extruded',\n elevationScale: 'elevationScale',\n filled: 'filled',\n strokeColor: 'getLineColor',\n stroked: 'stroked',\n thickness: 'getLineWidth',\n radius: 'getPointRadius',\n wireframe: 'wireframe'\n }\n};\n\nconst customMarkersPropsMap = {\n color: 'getIconColor',\n visConfig: {\n radius: 'getIconSize'\n }\n};\n\nconst aggregationVisConfig = {\n colorAggregation: x => ({colorAggregation: AGGREGATION[x] || AGGREGATION.sum}),\n colorRange: x => ({colorRange: x.colors.map(hexToRGBA)}),\n coverage: 'coverage',\n elevationPercentile: ['elevationLowerPercentile', 'elevationUpperPercentile'],\n percentile: ['lowerPercentile', 'upperPercentile']\n};\n\nconst defaultProps = {\n lineMiterLimit: 2,\n lineWidthUnits: 'pixels',\n pointRadiusUnits: 'pixels',\n rounded: true,\n wrapLongitude: false\n};\n\nfunction mergePropMaps(a: Record<string, any> = {}, b: Record<string, any> = {}) {\n return {...a, ...b, visConfig: {...a.visConfig, ...b.visConfig}};\n}\n\nexport function getLayer(\n type: string,\n config: MapTextSubLayerConfig,\n dataset: MapDataset\n): {Layer: ConstructorOf<Layer>; propMap: any; defaultProps: any} {\n let basePropMap: any = sharedPropMap;\n\n if (config.visConfig?.customMarkers) {\n basePropMap = mergePropMaps(sharedPropMap, customMarkersPropsMap);\n }\n if (type === 'mvt' || type === 'tileset' || type === 'h3' || type === 'quadbin') {\n return getTileLayer(dataset, basePropMap);\n }\n\n const geoColumn = dataset?.geoColumn;\n const getPosition = d => d[geoColumn].coordinates;\n\n const hexagonId = config.columns?.hex_id;\n\n const layerTypeDefs: Record<\n string,\n {Layer: ConstructorOf<Layer>; propMap?: any; defaultProps?: any}\n > = {\n point: {\n Layer: GeoJsonLayer,\n propMap: {\n columns: {\n altitude: x => ({parameters: {depthTest: Boolean(x)}})\n },\n visConfig: {outline: 'stroked'}\n }\n },\n geojson: {\n Layer: GeoJsonLayer\n },\n grid: {\n Layer: CPUGridLayer,\n propMap: {visConfig: {...aggregationVisConfig, worldUnitSize: x => ({cellSize: 1000 * x})}},\n defaultProps: {getPosition}\n },\n heatmap: {\n Layer: HeatmapLayer,\n propMap: {visConfig: {...aggregationVisConfig, radius: 'radiusPixels'}},\n defaultProps: {getPosition}\n },\n hexagon: {\n Layer: HexagonLayer,\n propMap: {visConfig: {...aggregationVisConfig, worldUnitSize: x => ({radius: 1000 * x})}},\n defaultProps: {getPosition}\n },\n hexagonId: {\n Layer: H3HexagonLayer,\n propMap: {visConfig: {coverage: 'coverage'}},\n defaultProps: {getHexagon: d => d[hexagonId], stroked: false}\n }\n };\n\n const layer = layerTypeDefs[type];\n\n assert(layer, `Unsupported layer type: ${type}`);\n return {\n ...layer,\n propMap: mergePropMaps(basePropMap, layer.propMap),\n defaultProps: {...defaultProps, ...layer.defaultProps}\n };\n}\n\nexport function layerFromTileDataset(\n scheme: string,\n type?: MapType\n): typeof VectorTileLayer | typeof H3TileLayer | typeof QuadbinTileLayer {\n if (type === 'raster') {\n return RasterTileLayer;\n }\n if (scheme === 'h3') {\n return H3TileLayer;\n }\n if (scheme === 'quadbin') {\n return QuadbinTileLayer;\n }\n\n return VectorTileLayer;\n}\n\nfunction getTileLayer(dataset: MapDataset, basePropMap) {\n const {\n aggregationExp,\n aggregationResLevel,\n data: {scheme}\n } = dataset;\n\n return {\n Layer: layerFromTileDataset(scheme),\n propMap: basePropMap,\n defaultProps: {\n ...defaultProps,\n ...(aggregationExp && {aggregationExp}),\n ...(aggregationResLevel && {aggregationResLevel}),\n uniqueIdProperty: 'geoid'\n }\n };\n}\n\nfunction domainFromAttribute(attribute, scaleType: SCALE_TYPE, scaleLength: number) {\n if (scaleType === 'ordinal' || scaleType === 'point') {\n return attribute.categories.map(c => c.category).filter(c => c !== undefined && c !== null);\n }\n\n if (scaleType === 'quantile' && attribute.quantiles) {\n return attribute.quantiles[scaleLength];\n }\n\n let {min} = attribute;\n if (scaleType === 'log' && min === 0) {\n min = 1e-5;\n }\n return [min, attribute.max];\n}\n\nfunction domainFromValues(values, scaleType: SCALE_TYPE) {\n if (scaleType === 'ordinal' || scaleType === 'point') {\n return groupSort(\n values,\n g => -g.length,\n d => d\n );\n } else if (scaleType === 'quantile') {\n return values.sort((a, b) => a - b);\n } else if (scaleType === 'log') {\n const [d0, d1] = extent(values as number[]);\n return [d0 === 0 ? 1e-5 : d0, d1];\n }\n return extent(values);\n}\n\nfunction calculateDomain(data, name, scaleType, scaleLength?) {\n if (data.tilestats) {\n // Tileset data type\n const {attributes} = data.tilestats.layers[0];\n const attribute = attributes.find(a => a.attribute === name);\n return domainFromAttribute(attribute, scaleType, scaleLength);\n } else if (data.features) {\n // GeoJSON data type\n const values = data.features.map(({properties}) => properties[name]);\n return domainFromValues(values, scaleType);\n } else if (Array.isArray(data) && data[0][name] !== undefined) {\n // JSON data type\n const values = data.map(properties => properties[name]);\n return domainFromValues(values, scaleType);\n }\n\n return [0, 1];\n}\n\nfunction normalizeAccessor(accessor, data) {\n if (data.features || data.tilestats) {\n return (object, info) => {\n if (object) {\n return accessor(object.properties || object.__source.object.properties);\n }\n\n const {data, index} = info;\n const proxy = createBinaryProxy(data, index);\n return accessor(proxy);\n };\n }\n return accessor;\n}\n\nexport function opacityToAlpha(opacity?: number) {\n return opacity !== undefined ? Math.round(255 * Math.pow(opacity, 1 / 2.2)) : 255;\n}\n\nfunction getAccessorKeys(name: string, aggregation?: string | undefined): string[] {\n let keys = [name];\n if (aggregation) {\n // Snowflake will capitalized the keys, need to check lower and upper case version\n keys = keys.concat([aggregation, aggregation.toUpperCase()].map(a => `${name}_${a}`));\n }\n return keys;\n}\n\nfunction findAccessorKey(keys: string[], properties): string[] {\n for (const key of keys) {\n if (key in properties) {\n return [key];\n }\n }\n\n throw new Error(`Could not find property for any accessor key: ${keys}`);\n}\n\nexport function getColorValueAccessor({name}, colorAggregation, data: any) {\n const aggregator = AGGREGATION_FUNC[colorAggregation];\n const accessor = values => aggregator(values, p => p[name]);\n return normalizeAccessor(accessor, data);\n}\n\nexport function getColorAccessor(\n {name, colorColumn}: VisualChannelField,\n scaleType: SCALE_TYPE,\n {aggregation, range},\n opacity: number | undefined,\n data: any\n) {\n const scale = calculateLayerScale(colorColumn || name, scaleType, range, data);\n const alpha = opacityToAlpha(opacity);\n\n let accessorKeys = getAccessorKeys(name, aggregation);\n const accessor = properties => {\n if (!(accessorKeys[0] in properties)) {\n accessorKeys = findAccessorKey(accessorKeys, properties);\n }\n const propertyValue = properties[accessorKeys[0]];\n const {r, g, b} = rgb(scale(propertyValue));\n return [r, g, b, propertyValue === null ? 0 : alpha];\n };\n return normalizeAccessor(accessor, data);\n}\n\nfunction calculateLayerScale(name, scaleType, range, data) {\n const scale = SCALE_FUNCS[scaleType]();\n let domain: (string | number)[] = [];\n let scaleColor: string[] = [];\n\n if (scaleType !== 'identity') {\n const {colorMap, colors} = range;\n\n if (Array.isArray(colorMap)) {\n colorMap.forEach(([value, color]) => {\n domain.push(value);\n scaleColor.push(color);\n });\n } else {\n domain = calculateDomain(data, name, scaleType, colors.length);\n scaleColor = colors;\n }\n\n if (scaleType === 'ordinal') {\n domain = domain.slice(0, scaleColor.length);\n }\n }\n\n scale.domain(domain);\n scale.range(scaleColor);\n scale.unknown(UNKNOWN_COLOR);\n\n return scale;\n}\n\nconst FALLBACK_ICON =\n 'data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgcj0iNTAiLz4NCjwvc3ZnPg==';\n\nexport function getIconUrlAccessor(\n field: VisualChannelField | null | undefined,\n range: CustomMarkersRange | null | undefined,\n {fallbackUrl, maxIconSize, useMaskedIcons},\n data: any\n) {\n const urlToUnpackedIcon = (url: string) => ({\n id: `${url}@@${maxIconSize}`,\n url,\n width: maxIconSize,\n height: maxIconSize,\n mask: useMaskedIcons\n });\n let unknownValue = fallbackUrl || FALLBACK_ICON;\n\n if (range?.othersMarker) {\n unknownValue = range.othersMarker;\n }\n\n const unknownIcon = urlToUnpackedIcon(unknownValue);\n if (!range || !field) {\n return () => unknownIcon;\n }\n\n const mapping: Record<string, any> = {};\n for (const {value, markerUrl} of range.markerMap) {\n if (markerUrl) {\n mapping[value] = urlToUnpackedIcon(markerUrl);\n }\n }\n\n const accessor = properties => {\n const propertyValue = properties[field.name];\n return mapping[propertyValue] || unknownIcon;\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport function getMaxMarkerSize(visConfig: VisConfig, visualChannels: VisualChannels): number {\n const {radiusRange, radius} = visConfig;\n const {radiusField, sizeField} = visualChannels;\n const field = radiusField || sizeField;\n return Math.ceil(radiusRange && field ? radiusRange[1] : radius);\n}\n\nexport function negateAccessor<T>(accessor: Accessor<T, number>): Accessor<T, number> {\n return typeof accessor === 'function' ? (d, i) => -accessor(d, i) : -accessor;\n}\n\nexport function getSizeAccessor(\n {name},\n scaleType: SCALE_TYPE | undefined,\n aggregation,\n range: Iterable<Range> | undefined,\n data: any\n) {\n const scale = scaleType ? SCALE_FUNCS[scaleType as any]() : identity;\n if (scaleType) {\n if (aggregation !== 'count') {\n scale.domain(calculateDomain(data, name, scaleType));\n }\n scale.range(range);\n }\n\n let accessorKeys = getAccessorKeys(name, aggregation);\n const accessor = properties => {\n if (!(accessorKeys[0] in properties)) {\n accessorKeys = findAccessorKey(accessorKeys, properties);\n }\n const propertyValue = properties[accessorKeys[0]];\n return scale(propertyValue);\n };\n return normalizeAccessor(accessor, data);\n}\n\nconst FORMATS: Record<string, (value: any) => string> = {\n date: s => moment.utc(s).format('MM/DD/YY HH:mm:ssa'),\n integer: d3Format('i'),\n float: d3Format('.5f'),\n timestamp: s => moment.utc(s).format('X'),\n default: String\n};\n\nexport function getTextAccessor({name, type}: VisualChannelField, data) {\n const format = FORMATS[type] || FORMATS.default;\n const accessor = properties => {\n return format(properties[name]);\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport {domainFromValues as _domainFromValues};\n"],"file":"layer-map.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/api/layer-map.ts"],"names":["SCALE_FUNCS","linear","scaleLinear","ordinal","scaleOrdinal","log","scaleLog","point","scalePoint","quantile","scaleQuantile","quantize","scaleQuantize","sqrt","scaleSqrt","custom","scaleThreshold","identity","scaleIdentity","v","UNKNOWN_COLOR","AGGREGATION","average","maximum","minimum","sum","OPACITY_MAP","getFillColor","getLineColor","getTextColor","AGGREGATION_FUNC","values","accessor","length","median","mode","pop","stddev","deviation","variance","hexToRGBA","c","r","g","b","opacity","sharedPropMap","color","isVisible","label","textLabel","alignment","anchor","size","visConfig","enable3d","elevationScale","filled","strokeColor","stroked","thickness","radius","wireframe","customMarkersPropsMap","aggregationVisConfig","colorAggregation","x","colorRange","colors","map","coverage","elevationPercentile","percentile","defaultProps","lineMiterLimit","lineWidthUnits","pointRadiusUnits","rounded","wrapLongitude","mergePropMaps","a","getLayer","type","config","dataset","basePropMap","customMarkers","getTileLayer","geoColumn","getPosition","d","coordinates","hexagonId","columns","hex_id","layerTypeDefs","Layer","GeoJsonLayer","propMap","altitude","parameters","depthTest","Boolean","outline","geojson","grid","CPUGridLayer","worldUnitSize","cellSize","heatmap","HeatmapLayer","hexagon","HexagonLayer","H3HexagonLayer","getHexagon","layer","layerFromTileDataset","scheme","RasterTileLayer","H3TileLayer","QuadbinTileLayer","VectorTileLayer","aggregationExp","aggregationResLevel","data","uniqueIdProperty","domainFromAttribute","attribute","scaleType","scaleLength","categories","category","filter","undefined","quantiles","global","min","max","domainFromValues","sort","d0","d1","calculateDomain","name","tilestats","attributes","layers","find","features","properties","Array","isArray","normalizeAccessor","object","info","__source","index","proxy","opacityToAlpha","Math","round","pow","getAccessorKeys","aggregation","keys","concat","toUpperCase","findAccessorKey","key","Error","getColorValueAccessor","aggregator","p","getColorAccessor","colorColumn","range","scale","calculateLayerScale","alpha","accessorKeys","propertyValue","domain","scaleColor","colorMap","forEach","value","push","slice","unknown","FALLBACK_ICON","getIconUrlAccessor","field","fallbackUrl","maxIconSize","useMaskedIcons","urlToUnpackedIcon","url","id","width","height","mask","unknownValue","othersMarker","unknownIcon","mapping","markerMap","markerUrl","getMaxMarkerSize","visualChannels","radiusRange","radiusField","sizeField","ceil","negateAccessor","i","getSizeAccessor","FORMATS","date","s","moment","utc","format","integer","float","timestamp","default","String","getTextAccessor"],"mappings":"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","sourcesContent":["import {deviation, extent, groupSort, median, variance} from 'd3-array';\nimport {rgb} from 'd3-color';\nimport {\n scaleLinear,\n scaleOrdinal,\n scaleLog,\n scalePoint,\n scaleQuantile,\n scaleQuantize,\n scaleSqrt,\n scaleThreshold\n} from 'd3-scale';\nimport {format as d3Format} from 'd3-format';\nimport moment from 'moment-timezone';\n\nimport {Accessor, Layer, _ConstructorOf as ConstructorOf} from '@deck.gl/core';\nimport {CPUGridLayer, HeatmapLayer, HexagonLayer} from '@deck.gl/aggregation-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {H3HexagonLayer} from '@deck.gl/geo-layers';\n\nimport H3TileLayer from '../layers/h3-tile-layer';\nimport QuadbinTileLayer from '../layers/quadbin-tile-layer';\nimport RasterTileLayer from '../layers/raster-tile-layer';\nimport VectorTileLayer from '../layers/vector-tile-layer';\nimport {MapType} from './types';\nimport {assert, createBinaryProxy, scaleIdentity} from '../utils';\nimport {\n CustomMarkersRange,\n MapDataset,\n MapTextSubLayerConfig,\n VisConfig,\n VisualChannelField,\n VisualChannels\n} from './types';\n\nconst SCALE_FUNCS = {\n linear: scaleLinear,\n ordinal: scaleOrdinal,\n log: scaleLog,\n point: scalePoint,\n quantile: scaleQuantile,\n quantize: scaleQuantize,\n sqrt: scaleSqrt,\n custom: scaleThreshold,\n identity: scaleIdentity\n};\nexport type SCALE_TYPE = keyof typeof SCALE_FUNCS;\n\nfunction identity<T>(v: T): T {\n return v;\n}\n\nconst UNKNOWN_COLOR = '#868d91';\n\nexport const AGGREGATION = {\n average: 'MEAN',\n maximum: 'MAX',\n minimum: 'MIN',\n sum: 'SUM'\n};\n\nexport const OPACITY_MAP = {\n getFillColor: 'opacity',\n getLineColor: 'strokeOpacity',\n getTextColor: 'opacity'\n};\n\nconst AGGREGATION_FUNC = {\n 'count unique': (values, accessor) => groupSort(values, v => v.length, accessor).length,\n median,\n // Unfortunately mode() is only available in d3-array@3+ which is ESM only\n mode: (values, accessor) => groupSort(values, v => v.length, accessor).pop(),\n stddev: deviation,\n variance\n};\n\nconst hexToRGBA = c => {\n const {r, g, b, opacity} = rgb(c);\n return [r, g, b, 255 * opacity];\n};\n\n// Kepler prop value -> Deck.gl prop value\n// Supports nested definitions, and function transforms:\n// {keplerProp: 'deckProp'} is equivalent to:\n// {keplerProp: x => ({deckProp: x})}\nconst sharedPropMap = {\n // Apply the value of Kepler `color` prop to the deck `getFillColor` prop\n color: 'getFillColor',\n isVisible: 'visible',\n label: 'cartoLabel',\n textLabel: {\n alignment: 'getTextAlignmentBaseline',\n anchor: 'getTextAnchor',\n // Apply the value of Kepler `textLabel.color` prop to the deck `getTextColor` prop\n color: 'getTextColor',\n size: 'getTextSize'\n },\n visConfig: {\n enable3d: 'extruded',\n elevationScale: 'elevationScale',\n filled: 'filled',\n strokeColor: 'getLineColor',\n stroked: 'stroked',\n thickness: 'getLineWidth',\n radius: 'getPointRadius',\n wireframe: 'wireframe'\n }\n};\n\nconst customMarkersPropsMap = {\n color: 'getIconColor',\n visConfig: {\n radius: 'getIconSize'\n }\n};\n\nconst aggregationVisConfig = {\n colorAggregation: x => ({colorAggregation: AGGREGATION[x] || AGGREGATION.sum}),\n colorRange: x => ({colorRange: x.colors.map(hexToRGBA)}),\n coverage: 'coverage',\n elevationPercentile: ['elevationLowerPercentile', 'elevationUpperPercentile'],\n percentile: ['lowerPercentile', 'upperPercentile']\n};\n\nconst defaultProps = {\n lineMiterLimit: 2,\n lineWidthUnits: 'pixels',\n pointRadiusUnits: 'pixels',\n rounded: true,\n wrapLongitude: false\n};\n\nfunction mergePropMaps(a: Record<string, any> = {}, b: Record<string, any> = {}) {\n return {...a, ...b, visConfig: {...a.visConfig, ...b.visConfig}};\n}\n\nexport function getLayer(\n type: string,\n config: MapTextSubLayerConfig,\n dataset: MapDataset\n): {Layer: ConstructorOf<Layer>; propMap: any; defaultProps: any} {\n let basePropMap: any = sharedPropMap;\n\n if (config.visConfig?.customMarkers) {\n basePropMap = mergePropMaps(sharedPropMap, customMarkersPropsMap);\n }\n if (type === 'mvt' || type === 'tileset' || type === 'h3' || type === 'quadbin') {\n return getTileLayer(dataset, basePropMap);\n }\n\n const geoColumn = dataset?.geoColumn;\n const getPosition = d => d[geoColumn].coordinates;\n\n const hexagonId = config.columns?.hex_id;\n\n const layerTypeDefs: Record<\n string,\n {Layer: ConstructorOf<Layer>; propMap?: any; defaultProps?: any}\n > = {\n point: {\n Layer: GeoJsonLayer,\n propMap: {\n columns: {\n altitude: x => ({parameters: {depthTest: Boolean(x)}})\n },\n visConfig: {outline: 'stroked'}\n }\n },\n geojson: {\n Layer: GeoJsonLayer\n },\n grid: {\n Layer: CPUGridLayer,\n propMap: {visConfig: {...aggregationVisConfig, worldUnitSize: x => ({cellSize: 1000 * x})}},\n defaultProps: {getPosition}\n },\n heatmap: {\n Layer: HeatmapLayer,\n propMap: {visConfig: {...aggregationVisConfig, radius: 'radiusPixels'}},\n defaultProps: {getPosition}\n },\n hexagon: {\n Layer: HexagonLayer,\n propMap: {visConfig: {...aggregationVisConfig, worldUnitSize: x => ({radius: 1000 * x})}},\n defaultProps: {getPosition}\n },\n hexagonId: {\n Layer: H3HexagonLayer,\n propMap: {visConfig: {coverage: 'coverage'}},\n defaultProps: {getHexagon: d => d[hexagonId], stroked: false}\n }\n };\n\n const layer = layerTypeDefs[type];\n\n assert(layer, `Unsupported layer type: ${type}`);\n return {\n ...layer,\n propMap: mergePropMaps(basePropMap, layer.propMap),\n defaultProps: {...defaultProps, ...layer.defaultProps}\n };\n}\n\nexport function layerFromTileDataset(\n scheme: string,\n type?: MapType\n): typeof VectorTileLayer | typeof H3TileLayer | typeof QuadbinTileLayer {\n if (type === 'raster') {\n return RasterTileLayer;\n }\n if (scheme === 'h3') {\n return H3TileLayer;\n }\n if (scheme === 'quadbin') {\n return QuadbinTileLayer;\n }\n\n return VectorTileLayer;\n}\n\nfunction getTileLayer(dataset: MapDataset, basePropMap) {\n const {\n aggregationExp,\n aggregationResLevel,\n data: {scheme}\n } = dataset;\n\n return {\n Layer: layerFromTileDataset(scheme),\n propMap: basePropMap,\n defaultProps: {\n ...defaultProps,\n ...(aggregationExp && {aggregationExp}),\n ...(aggregationResLevel && {aggregationResLevel}),\n uniqueIdProperty: 'geoid'\n }\n };\n}\n\nfunction domainFromAttribute(attribute, scaleType: SCALE_TYPE, scaleLength: number) {\n if (scaleType === 'ordinal' || scaleType === 'point') {\n return attribute.categories.map(c => c.category).filter(c => c !== undefined && c !== null);\n }\n\n if (scaleType === 'quantile' && attribute.quantiles) {\n return attribute.quantiles.global\n ? attribute.quantiles.global[scaleLength]\n : attribute.quantiles[scaleLength];\n }\n\n let {min} = attribute;\n if (scaleType === 'log' && min === 0) {\n min = 1e-5;\n }\n return [min, attribute.max];\n}\n\nfunction domainFromValues(values, scaleType: SCALE_TYPE) {\n if (scaleType === 'ordinal' || scaleType === 'point') {\n return groupSort(\n values,\n g => -g.length,\n d => d\n );\n } else if (scaleType === 'quantile') {\n return values.sort((a, b) => a - b);\n } else if (scaleType === 'log') {\n const [d0, d1] = extent(values as number[]);\n return [d0 === 0 ? 1e-5 : d0, d1];\n }\n return extent(values);\n}\n\nfunction calculateDomain(data, name, scaleType, scaleLength?) {\n if (data.tilestats) {\n // Tileset data type\n const {attributes} = data.tilestats.layers[0];\n const attribute = attributes.find(a => a.attribute === name);\n return domainFromAttribute(attribute, scaleType, scaleLength);\n } else if (data.features) {\n // GeoJSON data type\n const values = data.features.map(({properties}) => properties[name]);\n return domainFromValues(values, scaleType);\n } else if (Array.isArray(data) && data[0][name] !== undefined) {\n // JSON data type\n const values = data.map(properties => properties[name]);\n return domainFromValues(values, scaleType);\n }\n\n return [0, 1];\n}\n\nfunction normalizeAccessor(accessor, data) {\n if (data.features || data.tilestats) {\n return (object, info) => {\n if (object) {\n return accessor(object.properties || object.__source.object.properties);\n }\n\n const {data, index} = info;\n const proxy = createBinaryProxy(data, index);\n return accessor(proxy);\n };\n }\n return accessor;\n}\n\nexport function opacityToAlpha(opacity?: number) {\n return opacity !== undefined ? Math.round(255 * Math.pow(opacity, 1 / 2.2)) : 255;\n}\n\nfunction getAccessorKeys(name: string, aggregation?: string | undefined): string[] {\n let keys = [name];\n if (aggregation) {\n // Snowflake will capitalized the keys, need to check lower and upper case version\n keys = keys.concat([aggregation, aggregation.toUpperCase()].map(a => `${name}_${a}`));\n }\n return keys;\n}\n\nfunction findAccessorKey(keys: string[], properties): string[] {\n for (const key of keys) {\n if (key in properties) {\n return [key];\n }\n }\n\n throw new Error(`Could not find property for any accessor key: ${keys}`);\n}\n\nexport function getColorValueAccessor({name}, colorAggregation, data: any) {\n const aggregator = AGGREGATION_FUNC[colorAggregation];\n const accessor = values => aggregator(values, p => p[name]);\n return normalizeAccessor(accessor, data);\n}\n\nexport function getColorAccessor(\n {name, colorColumn}: VisualChannelField,\n scaleType: SCALE_TYPE,\n {aggregation, range},\n opacity: number | undefined,\n data: any\n) {\n const scale = calculateLayerScale(colorColumn || name, scaleType, range, data);\n const alpha = opacityToAlpha(opacity);\n\n let accessorKeys = getAccessorKeys(name, aggregation);\n const accessor = properties => {\n if (!(accessorKeys[0] in properties)) {\n accessorKeys = findAccessorKey(accessorKeys, properties);\n }\n const propertyValue = properties[accessorKeys[0]];\n const {r, g, b} = rgb(scale(propertyValue));\n return [r, g, b, propertyValue === null ? 0 : alpha];\n };\n return normalizeAccessor(accessor, data);\n}\n\nfunction calculateLayerScale(name, scaleType, range, data) {\n const scale = SCALE_FUNCS[scaleType]();\n let domain: (string | number)[] = [];\n let scaleColor: string[] = [];\n\n if (scaleType !== 'identity') {\n const {colorMap, colors} = range;\n\n if (Array.isArray(colorMap)) {\n colorMap.forEach(([value, color]) => {\n domain.push(value);\n scaleColor.push(color);\n });\n } else {\n domain = calculateDomain(data, name, scaleType, colors.length);\n scaleColor = colors;\n }\n\n if (scaleType === 'ordinal') {\n domain = domain.slice(0, scaleColor.length);\n }\n }\n\n scale.domain(domain);\n scale.range(scaleColor);\n scale.unknown(UNKNOWN_COLOR);\n\n return scale;\n}\n\nconst FALLBACK_ICON =\n 'data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTAwIDEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgPGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgcj0iNTAiLz4NCjwvc3ZnPg==';\n\nexport function getIconUrlAccessor(\n field: VisualChannelField | null | undefined,\n range: CustomMarkersRange | null | undefined,\n {fallbackUrl, maxIconSize, useMaskedIcons},\n data: any\n) {\n const urlToUnpackedIcon = (url: string) => ({\n id: `${url}@@${maxIconSize}`,\n url,\n width: maxIconSize,\n height: maxIconSize,\n mask: useMaskedIcons\n });\n let unknownValue = fallbackUrl || FALLBACK_ICON;\n\n if (range?.othersMarker) {\n unknownValue = range.othersMarker;\n }\n\n const unknownIcon = urlToUnpackedIcon(unknownValue);\n if (!range || !field) {\n return () => unknownIcon;\n }\n\n const mapping: Record<string, any> = {};\n for (const {value, markerUrl} of range.markerMap) {\n if (markerUrl) {\n mapping[value] = urlToUnpackedIcon(markerUrl);\n }\n }\n\n const accessor = properties => {\n const propertyValue = properties[field.name];\n return mapping[propertyValue] || unknownIcon;\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport function getMaxMarkerSize(visConfig: VisConfig, visualChannels: VisualChannels): number {\n const {radiusRange, radius} = visConfig;\n const {radiusField, sizeField} = visualChannels;\n const field = radiusField || sizeField;\n return Math.ceil(radiusRange && field ? radiusRange[1] : radius);\n}\n\nexport function negateAccessor<T>(accessor: Accessor<T, number>): Accessor<T, number> {\n return typeof accessor === 'function' ? (d, i) => -accessor(d, i) : -accessor;\n}\n\nexport function getSizeAccessor(\n {name},\n scaleType: SCALE_TYPE | undefined,\n aggregation,\n range: Iterable<Range> | undefined,\n data: any\n) {\n const scale = scaleType ? SCALE_FUNCS[scaleType as any]() : identity;\n if (scaleType) {\n if (aggregation !== 'count') {\n scale.domain(calculateDomain(data, name, scaleType));\n }\n scale.range(range);\n }\n\n let accessorKeys = getAccessorKeys(name, aggregation);\n const accessor = properties => {\n if (!(accessorKeys[0] in properties)) {\n accessorKeys = findAccessorKey(accessorKeys, properties);\n }\n const propertyValue = properties[accessorKeys[0]];\n return scale(propertyValue);\n };\n return normalizeAccessor(accessor, data);\n}\n\nconst FORMATS: Record<string, (value: any) => string> = {\n date: s => moment.utc(s).format('MM/DD/YY HH:mm:ssa'),\n integer: d3Format('i'),\n float: d3Format('.5f'),\n timestamp: s => moment.utc(s).format('X'),\n default: String\n};\n\nexport function getTextAccessor({name, type}: VisualChannelField, data) {\n const format = FORMATS[type] || FORMATS.default;\n const accessor = properties => {\n return format(properties[name]);\n };\n return normalizeAccessor(accessor, data);\n}\n\nexport {domainFromValues as _domainFromValues};\n"],"file":"layer-map.js"}
|
package/dist/es5/api/query.js
CHANGED
|
@@ -25,12 +25,13 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
25
25
|
|
|
26
26
|
var query = function () {
|
|
27
27
|
var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
|
|
28
|
-
var apiBaseUrl, connectionName, sqlQuery, queryParameters, urlParameters,
|
|
28
|
+
var _options$apiBaseUrl, apiBaseUrl, connectionName, sqlQuery, queryParameters, urlParameters, baseUrl, headers, errorContext;
|
|
29
|
+
|
|
29
30
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
30
31
|
while (1) {
|
|
31
32
|
switch (_context.prev = _context.next) {
|
|
32
33
|
case 0:
|
|
33
|
-
apiBaseUrl = options.apiBaseUrl, connectionName = options.connectionName, sqlQuery = options.sqlQuery, queryParameters = options.queryParameters;
|
|
34
|
+
_options$apiBaseUrl = options.apiBaseUrl, apiBaseUrl = _options$apiBaseUrl === void 0 ? _sources.SOURCE_DEFAULTS.apiBaseUrl : _options$apiBaseUrl, connectionName = options.connectionName, sqlQuery = options.sqlQuery, queryParameters = options.queryParameters;
|
|
34
35
|
urlParameters = {
|
|
35
36
|
q: sqlQuery
|
|
36
37
|
};
|
|
@@ -39,8 +40,10 @@ var query = function () {
|
|
|
39
40
|
urlParameters.queryParameters = JSON.stringify(queryParameters);
|
|
40
41
|
}
|
|
41
42
|
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
baseUrl = (0, _endpoints.buildQueryUrl)({
|
|
44
|
+
apiBaseUrl: apiBaseUrl,
|
|
45
|
+
connectionName: connectionName
|
|
46
|
+
});
|
|
44
47
|
headers = _objectSpread({
|
|
45
48
|
Authorization: "Bearer ".concat(options.accessToken)
|
|
46
49
|
}, options.headers);
|
|
@@ -50,7 +53,7 @@ var query = function () {
|
|
|
50
53
|
type: 'query',
|
|
51
54
|
source: JSON.stringify(urlParameters, undefined, 2)
|
|
52
55
|
};
|
|
53
|
-
_context.next =
|
|
56
|
+
_context.next = 8;
|
|
54
57
|
return (0, _requestWithParameters.requestWithParameters)({
|
|
55
58
|
baseUrl: baseUrl,
|
|
56
59
|
parameters: urlParameters,
|
|
@@ -58,10 +61,10 @@ var query = function () {
|
|
|
58
61
|
errorContext: errorContext
|
|
59
62
|
});
|
|
60
63
|
|
|
61
|
-
case
|
|
64
|
+
case 8:
|
|
62
65
|
return _context.abrupt("return", _context.sent);
|
|
63
66
|
|
|
64
|
-
case
|
|
67
|
+
case 9:
|
|
65
68
|
case "end":
|
|
66
69
|
return _context.stop();
|
|
67
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/query.ts"],"names":["query","options","apiBaseUrl","connectionName","sqlQuery","queryParameters","urlParameters","q","JSON","stringify","
|
|
1
|
+
{"version":3,"sources":["../../../src/api/query.ts"],"names":["query","options","apiBaseUrl","SOURCE_DEFAULTS","connectionName","sqlQuery","queryParameters","urlParameters","q","JSON","stringify","baseUrl","headers","Authorization","accessToken","errorContext","requestType","connection","type","source","undefined","parameters"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;;;;;AAMO,IAAMA,KAAK;AAAA,uEAAG,iBAAgBC,OAAhB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,kCAMfA,OANe,CAEjBC,UAFiB,EAEjBA,UAFiB,oCAEJC,yBAAgBD,UAFZ,wBAGjBE,cAHiB,GAMfH,OANe,CAGjBG,cAHiB,EAIjBC,QAJiB,GAMfJ,OANe,CAIjBI,QAJiB,EAKjBC,eALiB,GAMfL,OANe,CAKjBK,eALiB;AAObC,YAAAA,aAPa,GAOkB;AAACC,cAAAA,CAAC,EAAEH;AAAJ,aAPlB;;AASnB,gBAAIC,eAAJ,EAAqB;AACnBC,cAAAA,aAAa,CAACD,eAAd,GAAgCG,IAAI,CAACC,SAAL,CAAeJ,eAAf,CAAhC;AACD;;AAEKK,YAAAA,OAba,GAaH,8BAAc;AAACT,cAAAA,UAAU,EAAVA,UAAD;AAAaE,cAAAA,cAAc,EAAdA;AAAb,aAAd,CAbG;AAcbQ,YAAAA,OAda;AAcFC,cAAAA,aAAa,mBAAYZ,OAAO,CAACa,WAApB;AAdX,eAciDb,OAAO,CAACW,OAdzD;AAgBbG,YAAAA,YAhBa,GAgBmB;AACpCC,cAAAA,WAAW,EAAE,KADuB;AAEpCC,cAAAA,UAAU,EAAEhB,OAAO,CAACG,cAFgB;AAGpCc,cAAAA,IAAI,EAAE,OAH8B;AAIpCC,cAAAA,MAAM,EAAEV,IAAI,CAACC,SAAL,CAAeH,aAAf,EAA8Ba,SAA9B,EAAyC,CAAzC;AAJ4B,aAhBnB;AAAA;AAAA,mBAsBN,kDAAmC;AAC9CT,cAAAA,OAAO,EAAPA,OAD8C;AAE9CU,cAAAA,UAAU,EAAEd,aAFkC;AAG9CK,cAAAA,OAAO,EAAPA,OAH8C;AAI9CG,cAAAA,YAAY,EAAZA;AAJ8C,aAAnC,CAtBM;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAALf,KAAK;AAAA;AAAA;AAAA,GAAX","sourcesContent":["import {SOURCE_DEFAULTS} from '../sources';\nimport type {SourceOptions, QuerySourceOptions, QueryResult} from '../sources/types';\nimport {buildQueryUrl} from './endpoints';\nimport {requestWithParameters} from './request-with-parameters';\nimport {APIErrorContext} from './types';\n\nexport type QueryOptions = SourceOptions & Omit<QuerySourceOptions, 'spatialDataColumn'>;\ntype UrlParameters = {q: string; queryParameters?: string};\n\nexport const query = async function (options: QueryOptions): Promise<QueryResult> {\n const {\n apiBaseUrl = SOURCE_DEFAULTS.apiBaseUrl,\n connectionName,\n sqlQuery,\n queryParameters\n } = options;\n const urlParameters: UrlParameters = {q: sqlQuery};\n\n if (queryParameters) {\n urlParameters.queryParameters = JSON.stringify(queryParameters);\n }\n\n const baseUrl = buildQueryUrl({apiBaseUrl, connectionName});\n const headers = {Authorization: `Bearer ${options.accessToken}`, ...options.headers};\n\n const errorContext: APIErrorContext = {\n requestType: 'SQL',\n connection: options.connectionName,\n type: 'query',\n source: JSON.stringify(urlParameters, undefined, 2)\n };\n return await requestWithParameters<QueryResult>({\n baseUrl,\n parameters: urlParameters,\n headers,\n errorContext\n });\n};\n"],"file":"query.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/request-with-parameters.ts"],"names":["encodeParameter","name","value","encodeURIComponent","REQUEST_CACHE","Map","requestWithParameters","accessToken","baseUrl","parameters","customHeaders","headers","errorContext","key","JSON","stringify","has","get","url","allParameters","DEFAULT_PARAMETERS","encodedParameters","Object","entries","map","join","DEFAULT_HEADERS","length","MAX_GET_LENGTH","fetch","method","body","response","json","error","ok","delete","CartoAPIError","set"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAMA,SAASA,eAAT,CAAyBC,IAAzB,EAAuCC,KAAvC,EAAiF;AAC/E,mBAAUD,IAAV,cAAkBE,kBAAkB,CAACD,KAAD,CAApC;AACD;;AAED,IAAME,aAAa,GAAG,IAAIC,GAAJ,EAAtB;;SACsBC,qB;;;;;qFAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AACLC,YAAAA,WADK,QACLA,WADK,EAELC,OAFK,QAELA,OAFK,EAGLC,UAHK,QAGLA,UAHK,EAIIC,aAJJ,QAILC,OAJK,EAKLC,YALK,QAKLA,YALK;AAaCC,YAAAA,GAbD,GAaOC,IAAI,CAACC,SAAL,CAAe;AAACP,cAAAA,OAAO,EAAPA,OAAD;AAAUC,cAAAA,UAAU,EAAVA,UAAV;AAAsBC,cAAAA,aAAa,EAAbA;AAAtB,aAAf,CAbP;;AAAA,iBAcDN,aAAa,CAACY,GAAd,CAAkBH,GAAlB,CAdC;AAAA;AAAA;AAAA;;AAAA,6CAeIT,aAAa,CAACa,GAAd,CAAkBJ,GAAlB,CAfJ;;AAAA;AAkBDK,YAAAA,GAlBC,GAkBKV,OAlBL;;AAmBL,gBAAIC,UAAJ,EAAgB;AACRU,cAAAA,aADQ,mCACYC,0BADZ,GACmCX,UADnC;AAERY,cAAAA,iBAFQ,GAEYC,MAAM,CAACC,OAAP,CAAeJ,aAAf,EAA8BK,GAA9B,CAAkC,iBAAkB;AAAA;AAAA,oBAAhBX,GAAgB;AAAA,oBAAXX,KAAW;;AAC5E,uBAAOF,eAAe,CAACa,GAAD,EAAMX,KAAN,CAAtB;AACD,eAFyB,CAFZ;AAKdgB,cAAAA,GAAG,eAAQG,iBAAiB,CAACI,IAAlB,CAAuB,GAAvB,CAAR,CAAH;AACD;;AAEKd,YAAAA,OA3BD,mCA2Bee,uBA3Bf,GA2BmChB,aA3BnC;AAAA;;AAAA,kBA+BCQ,GAAG,CAACS,MAAJ,GAAaC,sBA/Bd;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAgCgBC,KAAK,
|
|
1
|
+
{"version":3,"sources":["../../../src/api/request-with-parameters.ts"],"names":["encodeParameter","name","value","encodeURIComponent","REQUEST_CACHE","Map","requestWithParameters","accessToken","baseUrl","parameters","customHeaders","headers","errorContext","key","JSON","stringify","has","get","url","allParameters","DEFAULT_PARAMETERS","encodedParameters","Object","entries","map","join","DEFAULT_HEADERS","length","MAX_GET_LENGTH","fetch","method","body","response","json","error","ok","delete","CartoAPIError","set"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAMA,SAASA,eAAT,CAAyBC,IAAzB,EAAuCC,KAAvC,EAAiF;AAC/E,mBAAUD,IAAV,cAAkBE,kBAAkB,CAACD,KAAD,CAApC;AACD;;AAED,IAAME,aAAa,GAAG,IAAIC,GAAJ,EAAtB;;SACsBC,qB;;;;;qFAAf;AAAA;AAAA;AAAA;AAAA;AAAA;AACLC,YAAAA,WADK,QACLA,WADK,EAELC,OAFK,QAELA,OAFK,EAGLC,UAHK,QAGLA,UAHK,EAIIC,aAJJ,QAILC,OAJK,EAKLC,YALK,QAKLA,YALK;AAaCC,YAAAA,GAbD,GAaOC,IAAI,CAACC,SAAL,CAAe;AAACP,cAAAA,OAAO,EAAPA,OAAD;AAAUC,cAAAA,UAAU,EAAVA,UAAV;AAAsBC,cAAAA,aAAa,EAAbA;AAAtB,aAAf,CAbP;;AAAA,iBAcDN,aAAa,CAACY,GAAd,CAAkBH,GAAlB,CAdC;AAAA;AAAA;AAAA;;AAAA,6CAeIT,aAAa,CAACa,GAAd,CAAkBJ,GAAlB,CAfJ;;AAAA;AAkBDK,YAAAA,GAlBC,GAkBKV,OAlBL;;AAmBL,gBAAIC,UAAJ,EAAgB;AACRU,cAAAA,aADQ,mCACYC,0BADZ,GACmCX,UADnC;AAERY,cAAAA,iBAFQ,GAEYC,MAAM,CAACC,OAAP,CAAeJ,aAAf,EAA8BK,GAA9B,CAAkC,iBAAkB;AAAA;AAAA,oBAAhBX,GAAgB;AAAA,oBAAXX,KAAW;;AAC5E,uBAAOF,eAAe,CAACa,GAAD,EAAMX,KAAN,CAAtB;AACD,eAFyB,CAFZ;AAKdgB,cAAAA,GAAG,eAAQG,iBAAiB,CAACI,IAAlB,CAAuB,GAAvB,CAAR,CAAH;AACD;;AAEKd,YAAAA,OA3BD,mCA2Bee,uBA3Bf,GA2BmChB,aA3BnC;AAAA;;AAAA,kBA+BCQ,GAAG,CAACS,MAAJ,GAAaC,sBA/Bd;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAgCgBC,KAAK,CAACrB,OAAD,EAAU;AAACsB,cAAAA,MAAM,EAAE,MAAT;AAAiBC,cAAAA,IAAI,EAAEjB,IAAI,CAACC,SAAL,CAAeN,UAAf,CAAvB;AAAmDE,cAAAA,OAAO,EAAPA;AAAnD,aAAV,CAhCrB;;AAAA;AAgCDqB,YAAAA,QAhCC;AAAA;AAAA;;AAAA;AAAA;AAAA,mBAkCgBH,KAAK,CAACX,GAAD,EAAM;AAACP,cAAAA,OAAO,EAAPA;AAAD,aAAN,CAlCrB;;AAAA;AAkCDqB,YAAAA,QAlCC;;AAAA;AAAA;AAAA;AAAA,mBAsCYA,QAAQ,CAACC,IAAT,EAtCZ;;AAAA;AAsCDA,YAAAA,IAtCC;;AAuCD,gBAAI1B,WAAJ,EAAiB;AACf0B,cAAAA,IAAI,CAAC1B,WAAL,GAAmBA,WAAnB;AACD;;AAzCA;AAAA;;AAAA;AAAA;AAAA;AA2CD0B,YAAAA,IAAI,GAAG;AAACC,cAAAA,KAAK,EAAE;AAAR,aAAP;;AA3CC;AAAA,gBA6CEF,QAAQ,CAACG,EA7CX;AAAA;AAAA;AAAA;;AA8CD/B,YAAAA,aAAa,CAACgC,MAAd,CAAqBvB,GAArB;AA9CC,kBA+CK,IAAIwB,4BAAJ,CAAkBJ,IAAI,CAACC,KAAvB,EAA8BtB,YAA9B,EAA4CoB,QAA5C,CA/CL;;AAAA;AAkDH5B,YAAAA,aAAa,CAACkC,GAAd,CAAkBzB,GAAlB,EAAuBoB,IAAvB;AAlDG,6CAmDIA,IAnDJ;;AAAA;AAAA;AAAA;AAAA,kBAqDG,IAAII,4BAAJ,cAAkCzB,YAAlC,CArDH;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["import {CartoAPIError} from './carto-api-error';\nimport {DEFAULT_HEADERS, DEFAULT_PARAMETERS, MAX_GET_LENGTH} from './common';\nimport type {APIErrorContext} from './types';\n\n/**\n * Simple encode parameter\n */\nfunction encodeParameter(name: string, value: string | boolean | number): string {\n return `${name}=${encodeURIComponent(value)}`;\n}\n\nconst REQUEST_CACHE = new Map();\nexport async function requestWithParameters<T = any>({\n accessToken,\n baseUrl,\n parameters,\n headers: customHeaders,\n errorContext\n}: {\n accessToken?: string;\n baseUrl: string;\n parameters?: Record<string, string>;\n headers: Record<string, string>;\n errorContext: APIErrorContext;\n}): Promise<T> {\n const key = JSON.stringify({baseUrl, parameters, customHeaders});\n if (REQUEST_CACHE.has(key)) {\n return REQUEST_CACHE.get(key);\n }\n\n let url = baseUrl;\n if (parameters) {\n const allParameters = {...DEFAULT_PARAMETERS, ...parameters};\n const encodedParameters = Object.entries(allParameters).map(([key, value]) => {\n return encodeParameter(key, value);\n });\n url += `?${encodedParameters.join('&')}`;\n }\n\n const headers = {...DEFAULT_HEADERS, ...customHeaders};\n try {\n /* global fetch */\n let response: Response;\n if (url.length > MAX_GET_LENGTH) {\n response = await fetch(baseUrl, {method: 'POST', body: JSON.stringify(parameters), headers});\n } else {\n response = await fetch(url, {headers});\n }\n let json: any;\n try {\n json = await response.json();\n if (accessToken) {\n json.accessToken = accessToken;\n }\n } catch {\n json = {error: ''};\n }\n if (!response.ok) {\n REQUEST_CACHE.delete(key);\n throw new CartoAPIError(json.error, errorContext, response);\n }\n\n REQUEST_CACHE.set(key, json);\n return json;\n } catch (error) {\n throw new CartoAPIError(error as Error, errorContext);\n }\n}\n"],"file":"request-with-parameters.js"}
|
|
@@ -17,7 +17,7 @@ var _tileLoaderUtils = require("./tile-loader-utils");
|
|
|
17
17
|
|
|
18
18
|
var _utils = require("../../utils");
|
|
19
19
|
|
|
20
|
-
var VERSION = typeof "9.0.0-
|
|
20
|
+
var VERSION = typeof "9.0.0-beta.1" !== 'undefined' ? "9.0.0-beta.1" : 'latest';
|
|
21
21
|
var id = 'cartoRasterTile';
|
|
22
22
|
var DEFAULT_OPTIONS = {
|
|
23
23
|
cartoRasterTile: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/carto-raster-tile-loader.ts"],"names":["VERSION","id","DEFAULT_OPTIONS","cartoRasterTile","workerUrl","CartoRasterTileLoader","name","version","module","extensions","mimeTypes","category","parse","arrayBuffer","options","parseCartoRasterTile","parseSync","worker","tile","TileReader","bands","blockHeight","blockWidth","numericProps","i","length","data","cells","properties"],"mappings":";;;;;;;;;;;;;AAEA;;AACA;;AACA;;AAGA,IAAMA,OAAO,GAAG,
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-raster-tile-loader.ts"],"names":["VERSION","id","DEFAULT_OPTIONS","cartoRasterTile","workerUrl","CartoRasterTileLoader","name","version","module","extensions","mimeTypes","category","parse","arrayBuffer","options","parseCartoRasterTile","parseSync","worker","tile","TileReader","bands","blockHeight","blockWidth","numericProps","i","length","data","cells","properties"],"mappings":";;;;;;;;;;;;;AAEA;;AACA;;AACA;;AAGA,IAAMA,OAAO,GAAG,0BAAuB,WAAvB,oBAAmD,QAAnE;AACA,IAAMC,EAAE,GAAG,iBAAX;AAQA,IAAMC,eAA6C,GAAG;AACpDC,EAAAA,eAAe,EAAE;AACfC,IAAAA,SAAS,EAAE,yBAAaH,EAAb,EAAiBD,OAAjB;AADI;AADmC,CAAtD;AAMA,IAAMK,qBAAuC,GAAG;AAC9CC,EAAAA,IAAI,EAAE,mBADwC;AAE9CC,EAAAA,OAAO,EAAEP,OAFqC;AAG9CC,EAAAA,EAAE,EAAFA,EAH8C;AAI9CO,EAAAA,MAAM,EAAE,OAJsC;AAK9CC,EAAAA,UAAU,EAAE,CAAC,KAAD,CALkC;AAM9CC,EAAAA,SAAS,EAAE,CAAC,mCAAD,CANmC;AAO9CC,EAAAA,QAAQ,EAAE,UAPoC;AAQ9CC,EAAAA,KAAK;AAAA,2EAAE,iBAAOC,WAAP,EAAoBC,OAApB;AAAA;AAAA;AAAA;AAAA;AAAA,+CACLC,oBAAoB,CAACF,WAAD,EAAcC,OAAd,CADf;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,KARyC;AAU9CE,EAAAA,SAAS,EAAED,oBAVmC;AAW9CE,EAAAA,MAAM,EAAE,IAXsC;AAY9CH,EAAAA,OAAO,EAAEZ;AAZqC,CAAhD;;AAwBA,SAASa,oBAAT,CACEF,WADF,EAEEC,OAFF,EAGiB;AACf,MAAI,CAACD,WAAL,EAAkB,OAAO,IAAP;AAClB,MAAMK,IAAI,GAAG,+BAASL,WAAT,EAAsBM,2BAAtB,CAAb;AACA,MAAOC,KAAP,GAAyCF,IAAzC,CAAOE,KAAP;AAAA,MAAcC,WAAd,GAAyCH,IAAzC,CAAcG,WAAd;AAAA,MAA2BC,UAA3B,GAAyCJ,IAAzC,CAA2BI,UAA3B;AACA,MAAMC,YAAY,GAAG,EAArB;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,KAAK,CAACK,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;AACrC,mBAAqBJ,KAAK,CAACI,CAAD,CAA1B;AAAA,QAAOlB,IAAP,YAAOA,IAAP;AAAA,QAAaoB,IAAb,YAAaA,IAAb;AACAH,IAAAA,YAAY,CAACjB,IAAD,CAAZ,GAAqBoB,IAArB;AACD;;AACD,SAAO;AAACJ,IAAAA,UAAU,EAAVA,UAAD;AAAaD,IAAAA,WAAW,EAAXA,WAAb;AAA0BM,IAAAA,KAAK,EAAE;AAACJ,MAAAA,YAAY,EAAZA,YAAD;AAAeK,MAAAA,UAAU,EAAE;AAA3B;AAAjC,GAAP;AACD;;eAEcvB,qB","sourcesContent":["import {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\n\nimport {TileReader} from './carto-raster-tile';\nimport {parsePbf} from './tile-loader-utils';\nimport {getWorkerUrl} from '../../utils';\nimport {NumericProps, Properties} from './spatialjson-utils';\n\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\nconst id = 'cartoRasterTile';\n\ntype CartoRasterTileLoaderOptions = LoaderOptions & {\n cartoRasterTile?: {\n workerUrl: string;\n };\n};\n\nconst DEFAULT_OPTIONS: CartoRasterTileLoaderOptions = {\n cartoRasterTile: {\n workerUrl: getWorkerUrl(id, VERSION)\n }\n};\n\nconst CartoRasterTileLoader: LoaderWithParser = {\n name: 'CARTO Raster Tile',\n version: VERSION,\n id,\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/vnd.carto-raster-tile'],\n category: 'geometry',\n parse: async (arrayBuffer, options?: CartoRasterTileLoaderOptions) =>\n parseCartoRasterTile(arrayBuffer, options),\n parseSync: parseCartoRasterTile,\n worker: true,\n options: DEFAULT_OPTIONS\n};\n\nexport type Raster = {\n blockWidth: number;\n blockHeight: number;\n cells: {\n numericProps: NumericProps;\n properties: Properties[];\n };\n};\n\nfunction parseCartoRasterTile(\n arrayBuffer: ArrayBuffer,\n options?: CartoRasterTileLoaderOptions\n): Raster | null {\n if (!arrayBuffer) return null;\n const tile = parsePbf(arrayBuffer, TileReader);\n const {bands, blockHeight, blockWidth} = tile;\n const numericProps = {};\n for (let i = 0; i < bands.length; i++) {\n const {name, data} = bands[i];\n numericProps[name] = data;\n }\n return {blockWidth, blockHeight, cells: {numericProps, properties: []}};\n}\n\nexport default CartoRasterTileLoader;\n"],"file":"carto-raster-tile-loader.js"}
|
|
@@ -19,7 +19,7 @@ var _utils = require("../../utils");
|
|
|
19
19
|
|
|
20
20
|
var _spatialjsonUtils = require("./spatialjson-utils");
|
|
21
21
|
|
|
22
|
-
var VERSION = typeof "9.0.0-
|
|
22
|
+
var VERSION = typeof "9.0.0-beta.1" !== 'undefined' ? "9.0.0-beta.1" : 'latest';
|
|
23
23
|
var id = 'cartoSpatialTile';
|
|
24
24
|
var DEFAULT_OPTIONS = {
|
|
25
25
|
cartoSpatialTile: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/carto-spatial-tile-loader.ts"],"names":["VERSION","id","DEFAULT_OPTIONS","cartoSpatialTile","scheme","workerUrl","CartoSpatialTileLoader","name","version","module","extensions","mimeTypes","category","parse","arrayBuffer","options","parseCartoSpatialTile","parseSync","worker","tile","TileReader","cells","data"],"mappings":";;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AAEA,IAAMA,OAAO,GAAG,
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-spatial-tile-loader.ts"],"names":["VERSION","id","DEFAULT_OPTIONS","cartoSpatialTile","scheme","workerUrl","CartoSpatialTileLoader","name","version","module","extensions","mimeTypes","category","parse","arrayBuffer","options","parseCartoSpatialTile","parseSync","worker","tile","TileReader","cells","data"],"mappings":";;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AAEA,IAAMA,OAAO,GAAG,0BAAuB,WAAvB,oBAAmD,QAAnE;AACA,IAAMC,EAAE,GAAG,kBAAX;AASA,IAAMC,eAA8C,GAAG;AACrDC,EAAAA,gBAAgB,EAAE;AAChBC,IAAAA,MAAM,EAAE,SADQ;AAEhBC,IAAAA,SAAS,EAAE,yBAAaJ,EAAb,EAAiBD,OAAjB;AAFK;AADmC,CAAvD;AAOA,IAAMM,sBAAwC,GAAG;AAC/CC,EAAAA,IAAI,EAAE,oBADyC;AAE/CC,EAAAA,OAAO,EAAER,OAFsC;AAG/CC,EAAAA,EAAE,EAAFA,EAH+C;AAI/CQ,EAAAA,MAAM,EAAE,OAJuC;AAK/CC,EAAAA,UAAU,EAAE,CAAC,KAAD,CALmC;AAM/CC,EAAAA,SAAS,EAAE,CAAC,oCAAD,CANoC;AAO/CC,EAAAA,QAAQ,EAAE,UAPqC;AAQ/CC,EAAAA,KAAK;AAAA,2EAAE,iBAAOC,WAAP,EAAoBC,OAApB;AAAA;AAAA;AAAA;AAAA;AAAA,+CACLC,qBAAqB,CAACF,WAAD,EAAcC,OAAd,CADhB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,KAR0C;AAU/CE,EAAAA,SAAS,EAAED,qBAVoC;AAW/CE,EAAAA,MAAM,EAAE,IAXuC;AAY/CH,EAAAA,OAAO,EAAEb;AAZsC,CAAjD;;AAeA,SAASc,qBAAT,CACEF,WADF,EAEEC,OAFF,EAGsB;AAAA;;AACpB,MAAI,CAACD,WAAL,EAAkB,OAAO,IAAP;AAClB,MAAMK,IAAU,GAAG,+BAASL,WAAT,EAAsBM,4BAAtB,CAAnB;AAEA,MAAOC,KAAP,GAAgBF,IAAhB,CAAOE,KAAP;AACA,MAAMjB,MAAM,GAAGW,OAAH,aAAGA,OAAH,gDAAGA,OAAO,CAAEZ,gBAAZ,0DAAG,sBAA2BC,MAA1C;AACA,MAAMkB,IAAI,GAAG;AAACD,IAAAA,KAAK,EAALA,KAAD;AAAQjB,IAAAA,MAAM,EAANA;AAAR,GAAb;AAEA,SAAO,2CAAoBkB,IAApB,CAAP;AACD;;eAEchB,sB","sourcesContent":["import {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\n\nimport {Tile, TileReader} from './carto-spatial-tile';\nimport {parsePbf} from './tile-loader-utils';\nimport {getWorkerUrl} from '../../utils';\nimport {IndexScheme, binaryToSpatialjson, SpatialJson} from './spatialjson-utils';\n\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\nconst id = 'cartoSpatialTile';\n\ntype CartoSpatialTileLoaderOptions = LoaderOptions & {\n cartoSpatialTile?: {\n scheme: IndexScheme;\n workerUrl: string;\n };\n};\n\nconst DEFAULT_OPTIONS: CartoSpatialTileLoaderOptions = {\n cartoSpatialTile: {\n scheme: 'quadbin',\n workerUrl: getWorkerUrl(id, VERSION)\n }\n};\n\nconst CartoSpatialTileLoader: LoaderWithParser = {\n name: 'CARTO Spatial Tile',\n version: VERSION,\n id,\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/vnd.carto-spatial-tile'],\n category: 'geometry',\n parse: async (arrayBuffer, options?: CartoSpatialTileLoaderOptions) =>\n parseCartoSpatialTile(arrayBuffer, options),\n parseSync: parseCartoSpatialTile,\n worker: true,\n options: DEFAULT_OPTIONS\n};\n\nfunction parseCartoSpatialTile(\n arrayBuffer: ArrayBuffer,\n options?: CartoSpatialTileLoaderOptions\n): SpatialJson | null {\n if (!arrayBuffer) return null;\n const tile: Tile = parsePbf(arrayBuffer, TileReader);\n\n const {cells} = tile;\n const scheme = options?.cartoSpatialTile?.scheme;\n const data = {cells, scheme};\n\n return binaryToSpatialjson(data);\n}\n\nexport default CartoSpatialTileLoader;\n"],"file":"carto-spatial-tile-loader.js"}
|
|
@@ -19,7 +19,7 @@ var _tileLoaderUtils = require("./tile-loader-utils");
|
|
|
19
19
|
|
|
20
20
|
var _utils = require("../../utils");
|
|
21
21
|
|
|
22
|
-
var VERSION = typeof "9.0.0-
|
|
22
|
+
var VERSION = typeof "9.0.0-beta.1" !== 'undefined' ? "9.0.0-beta.1" : 'latest';
|
|
23
23
|
var id = 'cartoVectorTile';
|
|
24
24
|
var DEFAULT_OPTIONS = {
|
|
25
25
|
cartoVectorTile: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/carto-vector-tile-loader.ts"],"names":["VERSION","id","DEFAULT_OPTIONS","cartoVectorTile","workerUrl","CartoVectorTileLoader","name","version","module","extensions","mimeTypes","category","parse","arrayBuffer","options","parseCartoVectorTile","parseSync","worker","triangulatePolygon","polygons","target","startPosition","endPosition","indices","coordLength","positions","size","start","end","polygonPositions","value","subarray","holes","slice","map","n","triangles","t","tl","length","push","triangulate","polygonIndices","primitivePolygonIndices","rangeStart","i","rangeEnd","indexOf","Uint32Array","tile","TileReader"],"mappings":";;;;;;;;;;;;;AAAA;;AAIA;;AACA;;AACA;;AAEA,IAAMA,OAAO,GAAG,
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-vector-tile-loader.ts"],"names":["VERSION","id","DEFAULT_OPTIONS","cartoVectorTile","workerUrl","CartoVectorTileLoader","name","version","module","extensions","mimeTypes","category","parse","arrayBuffer","options","parseCartoVectorTile","parseSync","worker","triangulatePolygon","polygons","target","startPosition","endPosition","indices","coordLength","positions","size","start","end","polygonPositions","value","subarray","holes","slice","map","n","triangles","t","tl","length","push","triangulate","polygonIndices","primitivePolygonIndices","rangeStart","i","rangeEnd","indexOf","Uint32Array","tile","TileReader"],"mappings":"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","sourcesContent":["import earcut from 'earcut';\nimport {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {BinaryFeatureCollection, BinaryPolygonFeature, TypedArray} from '@loaders.gl/schema';\n\nimport {TileReader} from './carto-tile';\nimport {parsePbf} from './tile-loader-utils';\nimport {getWorkerUrl} from '../../utils';\n\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\nconst id = 'cartoVectorTile';\n\ntype CartoVectorTileLoaderOptions = LoaderOptions & {\n cartoVectorTile?: {\n workerUrl: string;\n };\n};\n\nconst DEFAULT_OPTIONS: CartoVectorTileLoaderOptions = {\n cartoVectorTile: {\n workerUrl: getWorkerUrl(id, VERSION)\n }\n};\n\nconst CartoVectorTileLoader: LoaderWithParser = {\n name: 'CARTO Vector Tile',\n version: VERSION,\n id,\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/vnd.carto-vector-tile'],\n category: 'geometry',\n parse: async (arrayBuffer, options?: CartoVectorTileLoaderOptions) =>\n parseCartoVectorTile(arrayBuffer, options),\n parseSync: parseCartoVectorTile,\n worker: true,\n options: DEFAULT_OPTIONS\n};\n\nfunction triangulatePolygon(\n polygons: BinaryPolygonFeature,\n target: number[],\n {\n startPosition,\n endPosition,\n indices\n }: {startPosition: number; endPosition: number; indices: TypedArray}\n): void {\n const coordLength = polygons.positions.size;\n const start = startPosition * coordLength;\n const end = endPosition * coordLength;\n\n // Extract positions and holes for just this polygon\n const polygonPositions = polygons.positions.value.subarray(start, end);\n\n // Holes are referenced relative to outer polygon\n const holes = indices.slice(1).map((n: number) => n - startPosition);\n\n // Compute triangulation\n const triangles = earcut(polygonPositions, holes, coordLength);\n\n // Indices returned by triangulation are relative to start\n // of polygon, so we need to offset\n for (let t = 0, tl = triangles.length; t < tl; ++t) {\n target.push(startPosition + triangles[t]);\n }\n}\n\nfunction triangulate(polygons: BinaryPolygonFeature) {\n const {polygonIndices, primitivePolygonIndices} = polygons;\n const triangles = [];\n\n let rangeStart = 0;\n for (let i = 0; i < polygonIndices.value.length - 1; i++) {\n const startPosition = polygonIndices.value[i];\n const endPosition = polygonIndices.value[i + 1];\n\n // Extract hole indices between start & end position\n const rangeEnd = primitivePolygonIndices.value.indexOf(endPosition);\n const indices = primitivePolygonIndices.value.subarray(rangeStart, rangeEnd);\n rangeStart = rangeEnd;\n\n triangulatePolygon(polygons, triangles, {startPosition, endPosition, indices});\n }\n\n polygons.triangles = {value: new Uint32Array(triangles), size: 1};\n}\n\nfunction parseCartoVectorTile(\n arrayBuffer: ArrayBuffer,\n options?: CartoVectorTileLoaderOptions\n): BinaryFeatureCollection | null {\n if (!arrayBuffer) return null;\n const tile = parsePbf(arrayBuffer, TileReader);\n\n if (tile.polygons && !tile.polygons.triangles) {\n triangulate(tile.polygons);\n }\n\n return tile;\n}\n\nexport default CartoVectorTileLoader;\n"],"file":"carto-vector-tile-loader.js"}
|
package/dist/es5/layers/utils.js
CHANGED
|
@@ -56,7 +56,7 @@ function mergeBoundaryData(geometry, properties) {
|
|
|
56
56
|
rest = (0, _objectWithoutProperties2.default)(_ref3, _excluded);
|
|
57
57
|
|
|
58
58
|
if (geoid in mapping) {
|
|
59
|
-
_core.log.warn(
|
|
59
|
+
_core.log.warn('Duplicate geoid key in boundary mapping, using first occurance')();
|
|
60
60
|
} else {
|
|
61
61
|
mapping[geoid] = rest;
|
|
62
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/utils.ts"],"names":["injectAccessToken","loadOptions","accessToken","fetch","headers","Authorization","mergeBoundaryData","geometry","properties","mapping","geoid","rest","log","warn","type","geom","positions","value","length","map","globalFeatureIds","indices","pathIndices","polygonIndices","size","key","numericProps","sourceProp","TypedArray","constructor","destProp","i","featureId","startIndex","endIndex","fill","TilejsonPropType","validate","propType","optional","Array","isArray","tiles","every","url","equal","value1","value2","async"],"mappings":"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","sourcesContent":["import {log} from '@deck.gl/core';\nimport {Tile as PropertiesTile} from './schema/carto-properties-tile';\nimport {Tile as VectorTile} from './schema/carto-tile';\nimport {_deepEqual as deepEqual} from '@deck.gl/core';\nimport type {TilejsonResult} from '../sources/types';\n\n/**\n * Adds access token to Authorization header in loadOptions\n */\nexport function injectAccessToken(loadOptions: any, accessToken: string): void {\n if (!loadOptions?.fetch?.headers?.Authorization) {\n loadOptions.fetch = {\n ...loadOptions.fetch,\n headers: {...loadOptions.fetch?.headers, Authorization: `Bearer ${accessToken}`}\n };\n }\n}\n\nexport function mergeBoundaryData(geometry: VectorTile, properties: PropertiesTile): VectorTile {\n const mapping = {};\n for (const {geoid, ...rest} of properties.properties) {\n if (geoid in mapping) {\n log.warn(
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/utils.ts"],"names":["injectAccessToken","loadOptions","accessToken","fetch","headers","Authorization","mergeBoundaryData","geometry","properties","mapping","geoid","rest","log","warn","type","geom","positions","value","length","map","globalFeatureIds","indices","pathIndices","polygonIndices","size","key","numericProps","sourceProp","TypedArray","constructor","destProp","i","featureId","startIndex","endIndex","fill","TilejsonPropType","validate","propType","optional","Array","isArray","tiles","every","url","equal","value1","value2","async"],"mappings":"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","sourcesContent":["import {log} from '@deck.gl/core';\nimport {Tile as PropertiesTile} from './schema/carto-properties-tile';\nimport {Tile as VectorTile} from './schema/carto-tile';\nimport {_deepEqual as deepEqual} from '@deck.gl/core';\nimport type {TilejsonResult} from '../sources/types';\n\n/**\n * Adds access token to Authorization header in loadOptions\n */\nexport function injectAccessToken(loadOptions: any, accessToken: string): void {\n if (!loadOptions?.fetch?.headers?.Authorization) {\n loadOptions.fetch = {\n ...loadOptions.fetch,\n headers: {...loadOptions.fetch?.headers, Authorization: `Bearer ${accessToken}`}\n };\n }\n}\n\nexport function mergeBoundaryData(geometry: VectorTile, properties: PropertiesTile): VectorTile {\n const mapping = {};\n for (const {geoid, ...rest} of properties.properties) {\n if (geoid in mapping) {\n log.warn('Duplicate geoid key in boundary mapping, using first occurance')();\n } else {\n mapping[geoid] = rest;\n }\n }\n\n for (const type of ['points', 'lines', 'polygons']) {\n const geom = geometry[type];\n if (geom.positions.value.length === 0) {\n continue;\n }\n\n geom.properties = geom.properties.map(({geoid}) => mapping[geoid]);\n\n // numericProps need to be filled to match length of positions buffer\n const {positions, globalFeatureIds} = geom;\n let indices: Uint16Array | Uint32Array | null = null;\n if (type === 'lines') indices = geom.pathIndices.value;\n if (type === 'polygons') indices = geom.polygonIndices.value;\n const length = positions.value.length / positions.size;\n for (const key in properties.numericProps) {\n const sourceProp = properties.numericProps[key].value;\n const TypedArray = sourceProp.constructor as\n | Float32ArrayConstructor\n | Float64ArrayConstructor;\n const destProp = new TypedArray(length);\n geom.numericProps[key] = {value: destProp, size: 1};\n\n if (!indices) {\n for (let i = 0; i < length; i++) {\n // points\n const featureId = globalFeatureIds.value[i];\n destProp[i] = sourceProp[featureId];\n }\n } else {\n // lines|polygons\n for (let i = 0; i < indices.length - 1; i++) {\n const startIndex = indices[i];\n const endIndex = indices[i + 1];\n const featureId = globalFeatureIds.value[startIndex];\n destProp.fill(sourceProp[featureId], startIndex, endIndex);\n }\n }\n }\n }\n\n return geometry;\n}\n\nexport const TilejsonPropType = {\n type: 'object' as const,\n value: null as null | TilejsonResult,\n validate: (value: TilejsonResult, propType) =>\n (propType.optional && value === null) ||\n (typeof value === 'object' &&\n Array.isArray(value.tiles) &&\n value.tiles.every(url => typeof url === 'string')),\n equal: (value1, value2) => {\n return deepEqual(value1, value2, 2);\n },\n async: true\n};\n"],"file":"utils.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/sources/base-source.ts"],"names":["SOURCE_DEFAULTS","apiBaseUrl","DEFAULT_API_BASE_URL","clientId","DEFAULT_CLIENT","format","headers","baseSource","endpoint","options","urlParameters","accessToken","connectionName","cache","optionalOptions","mergedOptions","key","baseUrl","Authorization","errorContext","requestType","connection","type","source","JSON","stringify","undefined","parameters","mapInstantiation","dataUrl","url","value","parseInt","URL","searchParams","get"],"mappings":";;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/sources/base-source.ts"],"names":["SOURCE_DEFAULTS","apiBaseUrl","DEFAULT_API_BASE_URL","clientId","DEFAULT_CLIENT","format","headers","baseSource","endpoint","options","urlParameters","accessToken","connectionName","cache","optionalOptions","mergedOptions","key","baseUrl","Authorization","errorContext","requestType","connection","type","source","JSON","stringify","undefined","parameters","mapInstantiation","dataUrl","url","value","parseInt","URL","searchParams","get"],"mappings":";;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;;;AAWO,IAAMA,eAAsC,GAAG;AACpDC,EAAAA,UAAU,EAAEC,4BADwC;AAEpDC,EAAAA,QAAQ,EAAEC,sBAF0C;AAGpDC,EAAAA,MAAM,EAAE,UAH4C;AAIpDC,EAAAA,OAAO,EAAE;AAJ2C,CAA/C;;;SAOeC,U;;;;;0EAAf,iBACLC,QADK,EAELC,OAFK,EAGLC,aAHK;AAAA;AAAA;AAAA;AAAA;AAAA;AAKEC,YAAAA,WALF,GAK4DF,OAL5D,CAKEE,WALF,EAKeC,cALf,GAK4DH,OAL5D,CAKeG,cALf,EAK+BC,KAL/B,GAK4DJ,OAL5D,CAK+BI,KAL/B,EAKyCC,eALzC,0CAK4DL,OAL5D;AAMCM,YAAAA,aAND,mCAMqBf,eANrB;AAMsCW,cAAAA,WAAW,EAAXA,WANtC;AAMmDC,cAAAA,cAAc,EAAdA,cANnD;AAMmEJ,cAAAA,QAAQ,EAARA;AANnE;;AAOL,iBAAWQ,GAAX,IAAkBF,eAAlB,EAAmC;AACjC,kBAAIA,eAAe,CAACE,GAAD,CAAnB,EAA0B;AACxBD,gBAAAA,aAAa,CAACC,GAAD,CAAb,GAAqBF,eAAe,CAACE,GAAD,CAApC;AACD;AACF;;AACKC,YAAAA,OAZD,GAYW,+BAAeF,aAAf,CAZX;AAaEV,YAAAA,MAbF,GAaYU,aAbZ,CAaEV,MAbF;AAcCC,YAAAA,OAdD;AAcYY,cAAAA,aAAa,mBAAYT,OAAO,CAACE,WAApB;AAdzB,eAc+DF,OAAO,CAACH,OAdvE;AAgBCa,YAAAA,YAhBD,GAgBiC;AACpCC,cAAAA,WAAW,EAAE,mBADuB;AAEpCC,cAAAA,UAAU,EAAEZ,OAAO,CAACG,cAFgB;AAGpCU,cAAAA,IAAI,EAAEd,QAH8B;AAIpCe,cAAAA,MAAM,EAAEC,IAAI,CAACC,SAAL,CAAef,aAAf,EAA8BgB,SAA9B,EAAyC,CAAzC;AAJ4B,aAhBjC;AAAA;AAAA,mBAsB0B,kDAAgD;AAC7ET,cAAAA,OAAO,EAAPA,OAD6E;AAE7EU,cAAAA,UAAU,EAAEjB,aAFiE;AAG7EJ,cAAAA,OAAO,EAAPA,OAH6E;AAI7Ea,cAAAA,YAAY,EAAZA;AAJ6E,aAAhD,CAtB1B;;AAAA;AAsBCS,YAAAA,gBAtBD;AA6BCC,YAAAA,OA7BD,GA6BWD,gBAAgB,CAACvB,MAAD,CAAhB,CAAyByB,GAAzB,CAA6B,CAA7B,CA7BX;;AA8BL,gBAAIjB,KAAJ,EAAW;AACTA,cAAAA,KAAK,CAACkB,KAAN,GAAcC,QAAQ,CAAC,IAAIC,GAAJ,CAAQJ,OAAR,EAAiBK,YAAjB,CAA8BC,GAA9B,CAAkC,OAAlC,KAA8C,EAA/C,EAAmD,EAAnD,CAAtB;AACD;;AACDhB,YAAAA,YAAY,CAACC,WAAb,GAA2B,UAA3B;;AAjCK,kBAmCDf,MAAM,KAAK,UAnCV;AAAA;AAAA;AAAA;;AAAA;AAAA,mBAoCU,kDAAsC;AACjDM,cAAAA,WAAW,EAAXA,WADiD;AAEjDM,cAAAA,OAAO,EAAEY,OAFwC;AAGjDvB,cAAAA,OAAO,EAAPA,OAHiD;AAIjDa,cAAAA,YAAY,EAAZA;AAJiD,aAAtC,CApCV;;AAAA;AAAA;;AAAA;AAAA;AAAA,mBA4CQ,kDAAkD;AAC7DF,cAAAA,OAAO,EAAEY,OADoD;AAE7DvB,cAAAA,OAAO,EAAPA,OAF6D;AAG7Da,cAAAA,YAAY,EAAZA;AAH6D,aAAlD,CA5CR;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["/* eslint-disable camelcase */\nimport {DEFAULT_API_BASE_URL, DEFAULT_CLIENT} from '../api/common';\nimport {buildSourceUrl} from '../api/endpoints';\nimport {requestWithParameters} from '../api/request-with-parameters';\nimport type {APIErrorContext, MapType} from '../api/types';\nimport type {\n GeojsonResult,\n JsonResult,\n SourceOptionalOptions,\n SourceRequiredOptions,\n TilejsonMapInstantiation,\n TilejsonResult\n} from './types';\n\nexport const SOURCE_DEFAULTS: SourceOptionalOptions = {\n apiBaseUrl: DEFAULT_API_BASE_URL,\n clientId: DEFAULT_CLIENT,\n format: 'tilejson',\n headers: {}\n};\n\nexport async function baseSource<UrlParameters extends Record<string, string>>(\n endpoint: MapType,\n options: Partial<SourceOptionalOptions> & SourceRequiredOptions,\n urlParameters: UrlParameters\n): Promise<TilejsonResult | GeojsonResult | JsonResult> {\n const {accessToken, connectionName, cache, ...optionalOptions} = options;\n const mergedOptions = {...SOURCE_DEFAULTS, accessToken, connectionName, endpoint};\n for (const key in optionalOptions) {\n if (optionalOptions[key]) {\n mergedOptions[key] = optionalOptions[key];\n }\n }\n const baseUrl = buildSourceUrl(mergedOptions);\n const {format} = mergedOptions;\n const headers = {Authorization: `Bearer ${options.accessToken}`, ...options.headers};\n\n const errorContext: APIErrorContext = {\n requestType: 'Map instantiation',\n connection: options.connectionName,\n type: endpoint,\n source: JSON.stringify(urlParameters, undefined, 2)\n };\n const mapInstantiation = await requestWithParameters<TilejsonMapInstantiation>({\n baseUrl,\n parameters: urlParameters,\n headers,\n errorContext\n });\n\n const dataUrl = mapInstantiation[format].url[0];\n if (cache) {\n cache.value = parseInt(new URL(dataUrl).searchParams.get('cache') || '', 10);\n }\n errorContext.requestType = 'Map data';\n\n if (format === 'tilejson') {\n return await requestWithParameters<TilejsonResult>({\n accessToken,\n baseUrl: dataUrl,\n headers,\n errorContext\n });\n }\n\n return await requestWithParameters<GeojsonResult | JsonResult>({\n baseUrl: dataUrl,\n headers,\n errorContext\n });\n}\n"],"file":"base-source.js"}
|
|
@@ -1,28 +1,41 @@
|
|
|
1
|
-
function
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
if (apiBaseUrl.endsWith('/')) {
|
|
5
|
-
suffix = suffix.substring(1);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
return `${apiBaseUrl}${suffix}`;
|
|
1
|
+
function joinPath(...args) {
|
|
2
|
+
return args.map(part => part.endsWith('/') ? part.slice(0, -1) : part).join('/');
|
|
9
3
|
}
|
|
10
4
|
|
|
11
|
-
|
|
12
|
-
return
|
|
5
|
+
function buildV3Path(apiBaseUrl, version, endpoint, ...rest) {
|
|
6
|
+
return joinPath(apiBaseUrl, version, endpoint, ...rest);
|
|
13
7
|
}
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
|
|
9
|
+
export function buildPublicMapUrl({
|
|
10
|
+
apiBaseUrl,
|
|
11
|
+
cartoMapId
|
|
12
|
+
}) {
|
|
13
|
+
return buildV3Path(apiBaseUrl, 'v3', 'maps', 'public', cartoMapId);
|
|
16
14
|
}
|
|
17
|
-
export function
|
|
18
|
-
|
|
15
|
+
export function buildStatsUrl({
|
|
16
|
+
attribute,
|
|
17
|
+
apiBaseUrl,
|
|
18
|
+
connectionName,
|
|
19
|
+
source,
|
|
20
|
+
type
|
|
21
|
+
}) {
|
|
22
|
+
if (type === 'query') {
|
|
23
|
+
return buildV3Path(apiBaseUrl, 'v3', 'stats', connectionName, attribute);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return buildV3Path(apiBaseUrl, 'v3', 'stats', connectionName, source, attribute);
|
|
19
27
|
}
|
|
20
28
|
export function buildSourceUrl({
|
|
21
29
|
apiBaseUrl,
|
|
22
30
|
connectionName,
|
|
23
|
-
endpoint
|
|
24
|
-
|
|
31
|
+
endpoint
|
|
32
|
+
}) {
|
|
33
|
+
return buildV3Path(apiBaseUrl, 'v3', 'maps', connectionName, endpoint);
|
|
34
|
+
}
|
|
35
|
+
export function buildQueryUrl({
|
|
36
|
+
apiBaseUrl,
|
|
37
|
+
connectionName
|
|
25
38
|
}) {
|
|
26
|
-
return
|
|
39
|
+
return buildV3Path(apiBaseUrl, 'v3', 'sql', connectionName, 'query');
|
|
27
40
|
}
|
|
28
41
|
//# sourceMappingURL=endpoints.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/endpoints.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/api/endpoints.ts"],"names":["joinPath","args","map","part","endsWith","slice","join","buildV3Path","apiBaseUrl","version","endpoint","rest","buildPublicMapUrl","cartoMapId","buildStatsUrl","attribute","connectionName","source","type","buildSourceUrl","buildQueryUrl"],"mappings":"AAIA,SAASA,QAAT,CAAkB,GAAGC,IAArB,EAA6C;AAC3C,SAAOA,IAAI,CAACC,GAAL,CAASC,IAAI,IAAKA,IAAI,CAACC,QAAL,CAAc,GAAd,IAAqBD,IAAI,CAACE,KAAL,CAAW,CAAX,EAAc,CAAC,CAAf,CAArB,GAAyCF,IAA3D,EAAkEG,IAAlE,CAAuE,GAAvE,CAAP;AACD;;AAED,SAASC,WAAT,CACEC,UADF,EAEEC,OAFF,EAGEC,QAHF,EAIE,GAAGC,IAJL,EAKU;AACR,SAAOX,QAAQ,CAACQ,UAAD,EAAaC,OAAb,EAAsBC,QAAtB,EAAgC,GAAGC,IAAnC,CAAf;AACD;;AAED,OAAO,SAASC,iBAAT,CAA2B;AAChCJ,EAAAA,UADgC;AAEhCK,EAAAA;AAFgC,CAA3B,EAMI;AACT,SAAON,WAAW,CAACC,UAAD,EAAa,IAAb,EAAmB,MAAnB,EAA2B,QAA3B,EAAqCK,UAArC,CAAlB;AACD;AAED,OAAO,SAASC,aAAT,CAAuB;AAC5BC,EAAAA,SAD4B;AAE5BP,EAAAA,UAF4B;AAG5BQ,EAAAA,cAH4B;AAI5BC,EAAAA,MAJ4B;AAK5BC,EAAAA;AAL4B,CAAvB,EAYI;AACT,MAAIA,IAAI,KAAK,OAAb,EAAsB;AACpB,WAAOX,WAAW,CAACC,UAAD,EAAa,IAAb,EAAmB,OAAnB,EAA4BQ,cAA5B,EAA4CD,SAA5C,CAAlB;AACD;;AAGD,SAAOR,WAAW,CAACC,UAAD,EAAa,IAAb,EAAmB,OAAnB,EAA4BQ,cAA5B,EAA4CC,MAA5C,EAAoDF,SAApD,CAAlB;AACD;AAED,OAAO,SAASI,cAAT,CAAwB;AAC7BX,EAAAA,UAD6B;AAE7BQ,EAAAA,cAF6B;AAG7BN,EAAAA;AAH6B,CAAxB,EAQI;AACT,SAAOH,WAAW,CAACC,UAAD,EAAa,IAAb,EAAmB,MAAnB,EAA2BQ,cAA3B,EAA2CN,QAA3C,CAAlB;AACD;AAED,OAAO,SAASU,aAAT,CAAuB;AAC5BZ,EAAAA,UAD4B;AAE5BQ,EAAAA;AAF4B,CAAvB,EAMI;AACT,SAAOT,WAAW,CAACC,UAAD,EAAa,IAAb,EAAmB,KAAnB,EAA0BQ,cAA1B,EAA0C,OAA1C,CAAlB;AACD","sourcesContent":["import {MapType} from './types';\n\nexport type V3Endpoint = 'maps' | 'stats' | 'sql';\n\nfunction joinPath(...args: string[]): string {\n return args.map(part => (part.endsWith('/') ? part.slice(0, -1) : part)).join('/');\n}\n\nfunction buildV3Path(\n apiBaseUrl: string,\n version: 'v3',\n endpoint: V3Endpoint,\n ...rest: string[]\n): string {\n return joinPath(apiBaseUrl, version, endpoint, ...rest);\n}\n\nexport function buildPublicMapUrl({\n apiBaseUrl,\n cartoMapId\n}: {\n apiBaseUrl: string;\n cartoMapId: string;\n}): string {\n return buildV3Path(apiBaseUrl, 'v3', 'maps', 'public', cartoMapId);\n}\n\nexport function buildStatsUrl({\n attribute,\n apiBaseUrl,\n connectionName,\n source,\n type\n}: {\n attribute: string;\n apiBaseUrl: string;\n connectionName: string;\n source: string;\n type: MapType;\n}): string {\n if (type === 'query') {\n return buildV3Path(apiBaseUrl, 'v3', 'stats', connectionName, attribute);\n }\n\n // type === 'table'\n return buildV3Path(apiBaseUrl, 'v3', 'stats', connectionName, source, attribute);\n}\n\nexport function buildSourceUrl({\n apiBaseUrl,\n connectionName,\n endpoint\n}: {\n apiBaseUrl: string;\n connectionName: string;\n endpoint: MapType;\n}): string {\n return buildV3Path(apiBaseUrl, 'v3', 'maps', connectionName, endpoint);\n}\n\nexport function buildQueryUrl({\n apiBaseUrl,\n connectionName\n}: {\n apiBaseUrl: string;\n connectionName: string;\n}): string {\n return buildV3Path(apiBaseUrl, 'v3', 'sql', connectionName, 'query');\n}\n"],"file":"endpoints.js"}
|