@deck.gl/carto 9.0.0-alpha.5 → 9.0.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/cartoRasterTile-worker.js +4 -14
  2. package/dist/cartoSpatialTile-worker.js +4 -14
  3. package/dist/cartoVectorTile-worker.js +4 -14
  4. package/dist/dist.dev.js +57 -55
  5. package/dist/es5/api/endpoints.js +41 -20
  6. package/dist/es5/api/endpoints.js.map +1 -1
  7. package/dist/es5/api/fetch-map.js +16 -18
  8. package/dist/es5/api/fetch-map.js.map +1 -1
  9. package/dist/es5/api/layer-map.js +1 -1
  10. package/dist/es5/api/layer-map.js.map +1 -1
  11. package/dist/es5/api/query.js +10 -7
  12. package/dist/es5/api/query.js.map +1 -1
  13. package/dist/es5/index.js +0 -7
  14. package/dist/es5/index.js.map +1 -1
  15. package/dist/es5/layers/schema/carto-raster-tile-loader.js +1 -1
  16. package/dist/es5/layers/schema/carto-spatial-tile-loader.js +1 -1
  17. package/dist/es5/layers/schema/carto-vector-tile-loader.js +1 -1
  18. package/dist/es5/layers/utils.js +1 -1
  19. package/dist/es5/layers/utils.js.map +1 -1
  20. package/dist/es5/sources/base-source.js.map +1 -1
  21. package/dist/es5/sources/boundary-query-source.js +4 -4
  22. package/dist/es5/sources/boundary-query-source.js.map +1 -1
  23. package/dist/es5/sources/boundary-table-source.js +4 -4
  24. package/dist/es5/sources/boundary-table-source.js.map +1 -1
  25. package/dist/es5/sources/index.js +0 -8
  26. package/dist/es5/sources/index.js.map +1 -1
  27. package/dist/esm/api/endpoints.js +30 -17
  28. package/dist/esm/api/endpoints.js.map +1 -1
  29. package/dist/esm/api/fetch-map.js +12 -14
  30. package/dist/esm/api/fetch-map.js.map +1 -1
  31. package/dist/esm/api/layer-map.js +1 -1
  32. package/dist/esm/api/layer-map.js.map +1 -1
  33. package/dist/esm/api/query.js +6 -4
  34. package/dist/esm/api/query.js.map +1 -1
  35. package/dist/esm/index.js +2 -3
  36. package/dist/esm/index.js.map +1 -1
  37. package/dist/esm/layers/schema/carto-raster-tile-loader.js +1 -1
  38. package/dist/esm/layers/schema/carto-spatial-tile-loader.js +1 -1
  39. package/dist/esm/layers/schema/carto-vector-tile-loader.js +1 -1
  40. package/dist/esm/layers/utils.js +1 -1
  41. package/dist/esm/layers/utils.js.map +1 -1
  42. package/dist/esm/sources/base-source.js.map +1 -1
  43. package/dist/esm/sources/boundary-query-source.js +4 -4
  44. package/dist/esm/sources/boundary-query-source.js.map +1 -1
  45. package/dist/esm/sources/boundary-table-source.js +4 -4
  46. package/dist/esm/sources/boundary-table-source.js.map +1 -1
  47. package/dist/esm/sources/index.js +0 -1
  48. package/dist/esm/sources/index.js.map +1 -1
  49. package/dist.min.js +40 -40
  50. package/package.json +10 -10
  51. package/src/api/endpoints.ts +48 -17
  52. package/src/api/fetch-map.ts +13 -18
  53. package/src/api/layer-map.ts +3 -1
  54. package/src/api/query.ts +8 -4
  55. package/src/index.ts +0 -4
  56. package/src/layers/utils.ts +1 -1
  57. package/src/sources/base-source.ts +0 -1
  58. package/src/sources/boundary-query-source.ts +7 -7
  59. package/src/sources/boundary-table-source.ts +7 -7
  60. package/src/sources/index.ts +0 -3
  61. package/src/sources/types.ts +87 -3
  62. package/typed/api/endpoints.d.ts +17 -6
  63. package/typed/api/endpoints.d.ts.map +1 -1
  64. package/typed/api/fetch-map.d.ts +2 -3
  65. package/typed/api/fetch-map.d.ts.map +1 -1
  66. package/typed/api/layer-map.d.ts +1 -1
  67. package/typed/api/layer-map.d.ts.map +1 -1
  68. package/typed/api/query.d.ts +1 -1
  69. package/typed/api/query.d.ts.map +1 -1
  70. package/typed/api/types.d.ts +19 -19
  71. package/typed/api/types.d.ts.map +1 -1
  72. package/typed/index.d.ts +3 -4
  73. package/typed/index.d.ts.map +1 -1
  74. package/typed/layers/h3-tile-layer.d.ts +2 -2
  75. package/typed/layers/h3-tile-layer.d.ts.map +1 -1
  76. package/typed/layers/h3-tileset-2d.d.ts +1 -1
  77. package/typed/layers/h3-tileset-2d.d.ts.map +1 -1
  78. package/typed/layers/point-label-layer.d.ts +2 -2
  79. package/typed/layers/point-label-layer.d.ts.map +1 -1
  80. package/typed/layers/quadbin-layer.d.ts +2 -2
  81. package/typed/layers/quadbin-layer.d.ts.map +1 -1
  82. package/typed/layers/quadbin-tile-layer.d.ts +2 -2
  83. package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
  84. package/typed/layers/quadbin-tileset-2d.d.ts +1 -1
  85. package/typed/layers/quadbin-tileset-2d.d.ts.map +1 -1
  86. package/typed/layers/raster-layer.d.ts +2 -2
  87. package/typed/layers/raster-layer.d.ts.map +1 -1
  88. package/typed/layers/raster-tile-layer.d.ts +2 -2
  89. package/typed/layers/raster-tile-layer.d.ts.map +1 -1
  90. package/typed/layers/schema/carto-raster-tile-loader.d.ts +1 -1
  91. package/typed/layers/schema/carto-raster-tile-loader.d.ts.map +1 -1
  92. package/typed/layers/schema/spatialjson-utils.d.ts +8 -8
  93. package/typed/layers/schema/spatialjson-utils.d.ts.map +1 -1
  94. package/typed/layers/spatial-index-tile-layer.d.ts +2 -2
  95. package/typed/layers/spatial-index-tile-layer.d.ts.map +1 -1
  96. package/typed/layers/vector-tile-layer.d.ts +3 -3
  97. package/typed/layers/vector-tile-layer.d.ts.map +1 -1
  98. package/typed/sources/base-source.d.ts.map +1 -1
  99. package/typed/sources/boundary-query-source.d.ts +3 -3
  100. package/typed/sources/boundary-query-source.d.ts.map +1 -1
  101. package/typed/sources/boundary-table-source.d.ts +3 -3
  102. package/typed/sources/boundary-table-source.d.ts.map +1 -1
  103. package/typed/sources/h3-query-source.d.ts +1 -1
  104. package/typed/sources/h3-query-source.d.ts.map +1 -1
  105. package/typed/sources/h3-table-source.d.ts +1 -1
  106. package/typed/sources/h3-table-source.d.ts.map +1 -1
  107. package/typed/sources/h3-tileset-source.d.ts +1 -1
  108. package/typed/sources/h3-tileset-source.d.ts.map +1 -1
  109. package/typed/sources/index.d.ts +0 -2
  110. package/typed/sources/index.d.ts.map +1 -1
  111. package/typed/sources/quadbin-query-source.d.ts +1 -1
  112. package/typed/sources/quadbin-query-source.d.ts.map +1 -1
  113. package/typed/sources/quadbin-table-source.d.ts +1 -1
  114. package/typed/sources/quadbin-table-source.d.ts.map +1 -1
  115. package/typed/sources/quadbin-tileset-source.d.ts +1 -1
  116. package/typed/sources/quadbin-tileset-source.d.ts.map +1 -1
  117. package/typed/sources/raster-source.d.ts +1 -1
  118. package/typed/sources/raster-source.d.ts.map +1 -1
  119. package/typed/sources/types.d.ts +91 -16
  120. package/typed/sources/types.d.ts.map +1 -1
  121. package/typed/sources/vector-query-source.d.ts +1 -1
  122. package/typed/sources/vector-query-source.d.ts.map +1 -1
  123. package/typed/sources/vector-table-source.d.ts +1 -1
  124. package/typed/sources/vector-table-source.d.ts.map +1 -1
  125. package/typed/sources/vector-tileset-source.d.ts +1 -1
  126. package/typed/sources/vector-tileset-source.d.ts.map +1 -1
  127. package/typed/style/palette.d.ts +1 -1
  128. package/typed/style/palette.d.ts.map +1 -1
  129. package/typed/style/utils.d.ts +1 -1
  130. package/typed/style/utils.d.ts.map +1 -1
  131. package/dist/es5/sources/boundary-tileset-source.js +0 -43
  132. package/dist/es5/sources/boundary-tileset-source.js.map +0 -1
  133. package/dist/esm/sources/boundary-tileset-source.js +0 -11
  134. package/dist/esm/sources/boundary-tileset-source.js.map +0 -1
  135. package/src/sources/boundary-tileset-source.ts +0 -14
  136. package/typed/sources/boundary-tileset-source.d.ts +0 -6
  137. package/typed/sources/boundary-tileset-source.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/fetch-map.ts"],"names":["_fetchMapDataset","dataset","accessToken","apiBaseUrl","clientId","headers","aggregationExp","aggregationResLevel","connectionName","columns","format","geoColumn","source","type","queryParameters","cache","globalOptions","tableName","data","split","spatialDataType","spatialDataColumn","options","sqlQuery","cacheChanged","value","_fetchTilestats","attribute","connection","id","errorContext","requestType","CartoAPIError","Error","statsUrl","baseUrl","Authorization","parameters","q","JSON","stringify","stats","attributes","tilestats","layers","index","findIndex","d","fillInMapDatasets","datasets","token","promises","map","Promise","all","fillInTileStats","keplerMapConfig","config","visState","layer","Object","keys","visualChannels","channel","name","find","dataId","push","filteredAttributes","a","fetchMap","DEFAULT_API_BASE_URL","cartoMapId","DEFAULT_CLIENT","mapsUrl","autoRefresh","onNewData","mapId","intervalId","setInterval","Date","toUTCString","changed","some","v","stopAutoRefresh","clearInterval","geojsonLayers","filter","geojsonDatasetIds","forEach","includes","geojson","out","textLayers","pointType","props","length","window","FontFace","document","fonts","check","font","load","then","f","add"],"mappings":"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","sourcesContent":["/* eslint-disable camelcase */\n/**\n * Maps API Client for Carto 3\n */\nimport {CartoAPIError} from './carto-api-error';\nimport {DEFAULT_API_BASE_URL, DEFAULT_CLIENT} from './common';\nimport {buildMapsUrlFromBase, buildStatsUrlFromBase} from './endpoints';\nimport {\n GeojsonResult,\n JsonResult,\n TilejsonResult,\n h3QuerySource,\n h3TableSource,\n quadbinQuerySource,\n quadbinTableSource,\n vectorQuerySource,\n vectorTableSource,\n vectorTilesetSource\n} from '../sources';\nimport {parseMap} from './parse-map';\nimport {requestWithParameters} from './request-with-parameters';\nimport {assert} from '../utils';\nimport type {APIErrorContext, Format, MapType, QueryParameters} from './types';\n\ntype Dataset = {\n id: string;\n type: MapType;\n source: string;\n cache?: number;\n connectionName: string;\n geoColumn: string;\n data: TilejsonResult | GeojsonResult | JsonResult;\n columns: string[];\n format: Format;\n aggregationExp: string;\n aggregationResLevel: number;\n queryParameters: QueryParameters;\n};\n\n/* global clearInterval, setInterval, URL */\n/* eslint-disable complexity, max-statements */\nasync function _fetchMapDataset(\n dataset: Dataset,\n accessToken: string,\n apiBaseUrl: string,\n clientId?: string,\n headers?: Record<string, string>\n) {\n const {\n aggregationExp,\n aggregationResLevel,\n connectionName,\n columns,\n format,\n geoColumn,\n source,\n type,\n queryParameters\n } = dataset;\n\n const cache: {value?: number} = {};\n const globalOptions: any = {\n accessToken,\n apiBaseUrl,\n cache,\n clientId,\n connectionName,\n format,\n headers\n };\n\n if (type === 'tileset') {\n // TODO do we want a generic tilesetSource?\n // @ts-ignore\n dataset.data = await vectorTilesetSource({...globalOptions, tableName: source});\n } else {\n const [spatialDataType, spatialDataColumn] = geoColumn ? geoColumn.split(':') : ['geom'];\n if (spatialDataType === 'geom') {\n const options = {...globalOptions, spatialDataColumn};\n if (type === 'table') {\n dataset.data = await vectorTableSource({...options, columns, tableName: source});\n } else if (type === 'query') {\n dataset.data = await vectorQuerySource({...options, sqlQuery: source, queryParameters});\n }\n } else if (spatialDataType === 'h3') {\n const options = {...globalOptions, aggregationExp, aggregationResLevel, spatialDataColumn};\n if (type === 'table') {\n dataset.data = await h3TableSource({...options, columns, tableName: source});\n } else if (type === 'query') {\n dataset.data = await h3QuerySource({...options, sqlQuery: source, queryParameters});\n }\n } else if (spatialDataType === 'quadbin') {\n const options = {...globalOptions, aggregationExp, aggregationResLevel, spatialDataColumn};\n if (type === 'table') {\n dataset.data = await quadbinTableSource({...options, columns, tableName: source});\n } else if (type === 'query') {\n dataset.data = await quadbinQuerySource({...options, sqlQuery: source, queryParameters});\n }\n }\n }\n let cacheChanged = true;\n if (cache.value) {\n cacheChanged = dataset.cache !== cache.value;\n dataset.cache = cache.value;\n }\n\n return cacheChanged;\n}\n\nasync function _fetchTilestats(\n attribute,\n dataset: Dataset,\n accessToken: string,\n apiBaseUrl: string\n) {\n const {connectionName: connection, data, id, source, type, queryParameters} = dataset;\n const errorContext: APIErrorContext = {requestType: 'Tile stats', connection, type, source};\n if (!('tilestats' in data)) {\n throw new CartoAPIError(new Error(`Invalid dataset for tilestats: ${id}`), errorContext);\n }\n\n const statsUrl = buildStatsUrlFromBase(apiBaseUrl);\n let baseUrl = `${statsUrl}/${connection}/`;\n if (type === 'query') {\n baseUrl += attribute;\n } else {\n // MAP_TYPE.TABLE\n baseUrl += `${source}/${attribute}`;\n }\n\n const headers = {Authorization: `Bearer ${accessToken}`};\n const parameters: Record<string, string> = {};\n if (type === 'query') {\n parameters.q = source;\n if (queryParameters) {\n parameters.queryParameters = JSON.stringify(queryParameters);\n }\n }\n const stats = await requestWithParameters({\n baseUrl,\n headers,\n parameters,\n errorContext\n });\n\n // Replace tilestats for attribute with value from API\n const {attributes} = data.tilestats.layers[0];\n const index = attributes.findIndex(d => d.attribute === attribute);\n attributes[index] = stats;\n return true;\n}\n\nasync function fillInMapDatasets(\n {datasets, token}: {datasets: Dataset[]; token: string},\n clientId: string,\n apiBaseUrl: string,\n headers?: Record<string, string>\n) {\n const promises = datasets.map(dataset =>\n _fetchMapDataset(dataset, token, apiBaseUrl, clientId, headers)\n );\n return await Promise.all(promises);\n}\n\nasync function fillInTileStats(\n {datasets, keplerMapConfig, token}: {datasets: Dataset[]; keplerMapConfig: any; token: string},\n apiBaseUrl: string\n) {\n const attributes: {attribute?: string; dataset?: any}[] = [];\n const {layers} = keplerMapConfig.config.visState;\n for (const layer of layers) {\n for (const channel of Object.keys(layer.visualChannels)) {\n const attribute = layer.visualChannels[channel]?.name;\n if (attribute) {\n const dataset = datasets.find(d => d.id === layer.config.dataId);\n if (dataset && dataset.type !== 'tileset' && (dataset.data as TilejsonResult).tilestats) {\n // Only fetch stats for QUERY & TABLE map types\n attributes.push({attribute, dataset});\n }\n }\n }\n }\n // Remove duplicates to avoid repeated requests\n const filteredAttributes: {attribute?: string; dataset?: any}[] = [];\n for (const a of attributes) {\n if (\n !filteredAttributes.find(\n ({attribute, dataset}) => attribute === a.attribute && dataset === a.dataset\n )\n ) {\n filteredAttributes.push(a);\n }\n }\n\n const promises = filteredAttributes.map(({attribute, dataset}) =>\n _fetchTilestats(attribute, dataset, token, apiBaseUrl)\n );\n return await Promise.all(promises);\n}\n\nexport type FetchMapOptions = {\n apiBaseUrl?: string;\n cartoMapId: string;\n clientId?: string;\n headers?: Record<string, string>;\n mapsUrl?: string;\n autoRefresh?: number;\n onNewData?: (map: any) => void;\n};\n\n/* eslint-disable max-statements */\nexport async function fetchMap({\n apiBaseUrl = DEFAULT_API_BASE_URL,\n cartoMapId,\n clientId = DEFAULT_CLIENT,\n headers = {},\n mapsUrl,\n autoRefresh,\n onNewData\n}: FetchMapOptions) {\n assert(cartoMapId, 'Must define CARTO map id: fetchMap({cartoMapId: \"XXXX-XXXX-XXXX\"})');\n assert(apiBaseUrl, 'Must define apiBaseUrl');\n\n if (autoRefresh || onNewData) {\n assert(onNewData, 'Must define `onNewData` when using autoRefresh');\n assert(typeof onNewData === 'function', '`onNewData` must be a function');\n assert(\n typeof autoRefresh === 'number' && autoRefresh > 0,\n '`autoRefresh` must be a positive number'\n );\n }\n\n const baseUrl = `${mapsUrl || buildMapsUrlFromBase(apiBaseUrl)}/public/${cartoMapId}`;\n const errorContext: APIErrorContext = {requestType: 'Public map', mapId: cartoMapId};\n const map = await requestWithParameters({baseUrl, headers, errorContext});\n\n // Periodically check if the data has changed. Note that this\n // will not update when a map is published.\n let stopAutoRefresh: (() => void) | undefined;\n if (autoRefresh) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n const intervalId = setInterval(async () => {\n const changed = await fillInMapDatasets(map, clientId, apiBaseUrl, {\n ...headers,\n 'If-Modified-Since': new Date().toUTCString()\n });\n if (onNewData && changed.some(v => v === true)) {\n onNewData(parseMap(map));\n }\n }, autoRefresh * 1000);\n stopAutoRefresh = () => {\n clearInterval(intervalId);\n };\n }\n\n const geojsonLayers = map.keplerMapConfig.config.visState.layers.filter(\n ({type}) => type === 'geojson' || type === 'point'\n );\n const geojsonDatasetIds = geojsonLayers.map(({config}) => config.dataId);\n map.datasets.forEach(dataset => {\n if (geojsonDatasetIds.includes(dataset.id)) {\n const {config} = geojsonLayers.find(({config}) => config.dataId === dataset.id);\n dataset.format = 'geojson';\n // Support for very old maps. geoColumn was not stored in the past\n if (!dataset.geoColumn && config.columns.geojson) {\n dataset.geoColumn = config.columns.geojson;\n }\n }\n });\n\n // Mutates map.datasets so that dataset.data contains data\n await fillInMapDatasets(map, clientId, apiBaseUrl, headers);\n\n // Mutates attributes in visualChannels to contain tile stats\n await fillInTileStats(map, apiBaseUrl);\n const out = {...parseMap(map), ...{stopAutoRefresh}};\n\n const textLayers = out.layers.filter(layer => {\n const pointType = layer.props.pointType || '';\n return pointType.includes('text');\n });\n\n /* global FontFace, window, document */\n if (textLayers.length && window.FontFace && !document.fonts.check('12px Inter')) {\n // Fetch font needed for labels\n const font = new FontFace(\n 'Inter',\n 'url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2)'\n );\n await font.load().then(f => document.fonts.add(f));\n }\n\n return out;\n}\n"],"file":"fetch-map.js"}
1
+ {"version":3,"sources":["../../../src/api/fetch-map.ts"],"names":["_fetchMapDataset","dataset","accessToken","apiBaseUrl","clientId","headers","aggregationExp","aggregationResLevel","connectionName","columns","format","geoColumn","source","type","queryParameters","cache","globalOptions","tableName","data","split","spatialDataType","spatialDataColumn","options","sqlQuery","cacheChanged","value","_fetchTilestats","attribute","id","errorContext","requestType","connection","CartoAPIError","Error","baseUrl","Authorization","parameters","q","JSON","stringify","stats","attributes","tilestats","layers","index","findIndex","d","fillInMapDatasets","datasets","token","promises","map","Promise","all","fillInTileStats","keplerMapConfig","config","visState","layer","Object","keys","visualChannels","channel","name","find","dataId","push","filteredAttributes","a","fetchMap","DEFAULT_API_BASE_URL","cartoMapId","DEFAULT_CLIENT","autoRefresh","onNewData","mapId","intervalId","setInterval","Date","toUTCString","changed","some","v","stopAutoRefresh","clearInterval","geojsonLayers","filter","geojsonDatasetIds","forEach","includes","geojson","out","textLayers","pointType","props","length","window","FontFace","document","fonts","check","font","load","then","f","add"],"mappings":"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","sourcesContent":["/* eslint-disable camelcase */\n/**\n * Maps API Client for Carto 3\n */\nimport {CartoAPIError} from './carto-api-error';\nimport {DEFAULT_API_BASE_URL, DEFAULT_CLIENT} from './common';\nimport {buildPublicMapUrl, buildStatsUrl} from './endpoints';\nimport {\n GeojsonResult,\n JsonResult,\n TilejsonResult,\n h3QuerySource,\n h3TableSource,\n quadbinQuerySource,\n quadbinTableSource,\n vectorQuerySource,\n vectorTableSource,\n vectorTilesetSource\n} from '../sources';\nimport {parseMap} from './parse-map';\nimport {requestWithParameters} from './request-with-parameters';\nimport {assert} from '../utils';\nimport type {APIErrorContext, Format, MapType, QueryParameters} from './types';\n\ntype Dataset = {\n id: string;\n type: MapType;\n source: string;\n cache?: number;\n connectionName: string;\n geoColumn: string;\n data: TilejsonResult | GeojsonResult | JsonResult;\n columns: string[];\n format: Format;\n aggregationExp: string;\n aggregationResLevel: number;\n queryParameters: QueryParameters;\n};\n\n/* global clearInterval, setInterval, URL */\n/* eslint-disable complexity, max-statements */\nasync function _fetchMapDataset(\n dataset: Dataset,\n accessToken: string,\n apiBaseUrl: string,\n clientId?: string,\n headers?: Record<string, string>\n) {\n const {\n aggregationExp,\n aggregationResLevel,\n connectionName,\n columns,\n format,\n geoColumn,\n source,\n type,\n queryParameters\n } = dataset;\n\n const cache: {value?: number} = {};\n const globalOptions: any = {\n accessToken,\n apiBaseUrl,\n cache,\n clientId,\n connectionName,\n format,\n headers\n };\n\n if (type === 'tileset') {\n // TODO do we want a generic tilesetSource?\n // @ts-ignore\n dataset.data = await vectorTilesetSource({...globalOptions, tableName: source});\n } else {\n const [spatialDataType, spatialDataColumn] = geoColumn ? geoColumn.split(':') : ['geom'];\n if (spatialDataType === 'geom') {\n const options = {...globalOptions, spatialDataColumn};\n if (type === 'table') {\n dataset.data = await vectorTableSource({...options, columns, tableName: source});\n } else if (type === 'query') {\n dataset.data = await vectorQuerySource({...options, sqlQuery: source, queryParameters});\n }\n } else if (spatialDataType === 'h3') {\n const options = {...globalOptions, aggregationExp, aggregationResLevel, spatialDataColumn};\n if (type === 'table') {\n dataset.data = await h3TableSource({...options, columns, tableName: source});\n } else if (type === 'query') {\n dataset.data = await h3QuerySource({...options, sqlQuery: source, queryParameters});\n }\n } else if (spatialDataType === 'quadbin') {\n const options = {...globalOptions, aggregationExp, aggregationResLevel, spatialDataColumn};\n if (type === 'table') {\n dataset.data = await quadbinTableSource({...options, columns, tableName: source});\n } else if (type === 'query') {\n dataset.data = await quadbinQuerySource({...options, sqlQuery: source, queryParameters});\n }\n }\n }\n let cacheChanged = true;\n if (cache.value) {\n cacheChanged = dataset.cache !== cache.value;\n dataset.cache = cache.value;\n }\n\n return cacheChanged;\n}\n\nasync function _fetchTilestats(\n attribute: string,\n dataset: Dataset,\n accessToken: string,\n apiBaseUrl: string\n) {\n const {connectionName, data, id, source, type, queryParameters} = dataset;\n const errorContext: APIErrorContext = {\n requestType: 'Tile stats',\n connection: connectionName,\n type,\n source\n };\n if (!('tilestats' in data)) {\n throw new CartoAPIError(new Error(`Invalid dataset for tilestats: ${id}`), errorContext);\n }\n\n const baseUrl = buildStatsUrl({attribute, apiBaseUrl, ...dataset});\n const headers = {Authorization: `Bearer ${accessToken}`};\n const parameters: Record<string, string> = {};\n if (type === 'query') {\n parameters.q = source;\n if (queryParameters) {\n parameters.queryParameters = JSON.stringify(queryParameters);\n }\n }\n const stats = await requestWithParameters({\n baseUrl,\n headers,\n parameters,\n errorContext\n });\n\n // Replace tilestats for attribute with value from API\n const {attributes} = data.tilestats.layers[0];\n const index = attributes.findIndex(d => d.attribute === attribute);\n attributes[index] = stats;\n return true;\n}\n\nasync function fillInMapDatasets(\n {datasets, token}: {datasets: Dataset[]; token: string},\n clientId: string,\n apiBaseUrl: string,\n headers?: Record<string, string>\n) {\n const promises = datasets.map(dataset =>\n _fetchMapDataset(dataset, token, apiBaseUrl, clientId, headers)\n );\n return await Promise.all(promises);\n}\n\nasync function fillInTileStats(\n {datasets, keplerMapConfig, token}: {datasets: Dataset[]; keplerMapConfig: any; token: string},\n apiBaseUrl: string\n) {\n const attributes: {attribute: string; dataset: any}[] = [];\n const {layers} = keplerMapConfig.config.visState;\n for (const layer of layers) {\n for (const channel of Object.keys(layer.visualChannels)) {\n const attribute = layer.visualChannels[channel]?.name;\n if (attribute) {\n const dataset = datasets.find(d => d.id === layer.config.dataId);\n if (dataset && dataset.type !== 'tileset' && (dataset.data as TilejsonResult).tilestats) {\n // Only fetch stats for QUERY & TABLE map types\n attributes.push({attribute, dataset});\n }\n }\n }\n }\n // Remove duplicates to avoid repeated requests\n const filteredAttributes: {attribute: string; dataset: any}[] = [];\n for (const a of attributes) {\n if (\n !filteredAttributes.find(\n ({attribute, dataset}) => attribute === a.attribute && dataset === a.dataset\n )\n ) {\n filteredAttributes.push(a);\n }\n }\n\n const promises = filteredAttributes.map(({attribute, dataset}) =>\n _fetchTilestats(attribute, dataset, token, apiBaseUrl)\n );\n return await Promise.all(promises);\n}\n\nexport type FetchMapOptions = {\n apiBaseUrl?: string;\n cartoMapId: string;\n clientId?: string;\n headers?: Record<string, string>;\n autoRefresh?: number;\n onNewData?: (map: any) => void;\n};\n\n/* eslint-disable max-statements */\nexport async function fetchMap({\n apiBaseUrl = DEFAULT_API_BASE_URL,\n cartoMapId,\n clientId = DEFAULT_CLIENT,\n headers = {},\n autoRefresh,\n onNewData\n}: FetchMapOptions) {\n assert(cartoMapId, 'Must define CARTO map id: fetchMap({cartoMapId: \"XXXX-XXXX-XXXX\"})');\n assert(apiBaseUrl, 'Must define apiBaseUrl');\n\n if (autoRefresh || onNewData) {\n assert(onNewData, 'Must define `onNewData` when using autoRefresh');\n assert(typeof onNewData === 'function', '`onNewData` must be a function');\n assert(\n typeof autoRefresh === 'number' && autoRefresh > 0,\n '`autoRefresh` must be a positive number'\n );\n }\n\n const baseUrl = buildPublicMapUrl({apiBaseUrl, cartoMapId});\n const errorContext: APIErrorContext = {requestType: 'Public map', mapId: cartoMapId};\n const map = await requestWithParameters({baseUrl, headers, errorContext});\n\n // Periodically check if the data has changed. Note that this\n // will not update when a map is published.\n let stopAutoRefresh: (() => void) | undefined;\n if (autoRefresh) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n const intervalId = setInterval(async () => {\n const changed = await fillInMapDatasets(map, clientId, apiBaseUrl, {\n ...headers,\n 'If-Modified-Since': new Date().toUTCString()\n });\n if (onNewData && changed.some(v => v === true)) {\n onNewData(parseMap(map));\n }\n }, autoRefresh * 1000);\n stopAutoRefresh = () => {\n clearInterval(intervalId);\n };\n }\n\n const geojsonLayers = map.keplerMapConfig.config.visState.layers.filter(\n ({type}) => type === 'geojson' || type === 'point'\n );\n const geojsonDatasetIds = geojsonLayers.map(({config}) => config.dataId);\n map.datasets.forEach(dataset => {\n if (geojsonDatasetIds.includes(dataset.id)) {\n const {config} = geojsonLayers.find(({config}) => config.dataId === dataset.id);\n dataset.format = 'geojson';\n // Support for very old maps. geoColumn was not stored in the past\n if (!dataset.geoColumn && config.columns.geojson) {\n dataset.geoColumn = config.columns.geojson;\n }\n }\n });\n\n // Mutates map.datasets so that dataset.data contains data\n await fillInMapDatasets(map, clientId, apiBaseUrl, headers);\n\n // Mutates attributes in visualChannels to contain tile stats\n await fillInTileStats(map, apiBaseUrl);\n const out = {...parseMap(map), ...{stopAutoRefresh}};\n\n const textLayers = out.layers.filter(layer => {\n const pointType = layer.props.pointType || '';\n return pointType.includes('text');\n });\n\n /* global FontFace, window, document */\n if (textLayers.length && window.FontFace && !document.fonts.check('12px Inter')) {\n // Fetch font needed for labels\n const font = new FontFace(\n 'Inter',\n 'url(https://fonts.gstatic.com/s/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2)'\n );\n await font.load().then(f => document.fonts.add(f));\n }\n\n return out;\n}\n"],"file":"fetch-map.js"}
@@ -320,7 +320,7 @@ function domainFromAttribute(attribute, scaleType, scaleLength) {
320
320
  }
321
321
 
322
322
  if (scaleType === 'quantile' && attribute.quantiles) {
323
- return attribute.quantiles[scaleLength];
323
+ return attribute.quantiles.global ? attribute.quantiles.global[scaleLength] : attribute.quantiles[scaleLength];
324
324
  }
325
325
 
326
326
  var min = attribute.min;
@@ -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"}
@@ -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, queryUrl, baseUrl, headers, errorContext;
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
- queryUrl = (0, _endpoints.buildQueryUrlFromBase)(apiBaseUrl || _sources.SOURCE_DEFAULTS.apiBaseUrl);
43
- baseUrl = "".concat(queryUrl, "/").concat(connectionName, "/query");
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 = 9;
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 9:
64
+ case 8:
62
65
  return _context.abrupt("return", _context.sent);
63
66
 
64
- case 10:
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","queryUrl","SOURCE_DEFAULTS","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;AACZC,YAAAA,UADY,GAC6CD,OAD7C,CACZC,UADY,EACAC,cADA,GAC6CF,OAD7C,CACAE,cADA,EACgBC,QADhB,GAC6CH,OAD7C,CACgBG,QADhB,EAC0BC,eAD1B,GAC6CJ,OAD7C,CAC0BI,eAD1B;AAEbC,YAAAA,aAFa,GAEkB;AAACC,cAAAA,CAAC,EAAEH;AAAJ,aAFlB;;AAInB,gBAAIC,eAAJ,EAAqB;AACnBC,cAAAA,aAAa,CAACD,eAAd,GAAgCG,IAAI,CAACC,SAAL,CAAeJ,eAAf,CAAhC;AACD;;AAEKK,YAAAA,QARa,GAQF,sCAAsBR,UAAU,IAAIS,yBAAgBT,UAApD,CARE;AASbU,YAAAA,OATa,aASAF,QATA,cASYP,cATZ;AAUbU,YAAAA,OAVa;AAUFC,cAAAA,aAAa,mBAAYb,OAAO,CAACc,WAApB;AAVX,eAUiDd,OAAO,CAACY,OAVzD;AAYbG,YAAAA,YAZa,GAYmB;AACpCC,cAAAA,WAAW,EAAE,KADuB;AAEpCC,cAAAA,UAAU,EAAEjB,OAAO,CAACE,cAFgB;AAGpCgB,cAAAA,IAAI,EAAE,OAH8B;AAIpCC,cAAAA,MAAM,EAAEZ,IAAI,CAACC,SAAL,CAAeH,aAAf,EAA8Be,SAA9B,EAAyC,CAAzC;AAJ4B,aAZnB;AAAA;AAAA,mBAkBN,kDAAmC;AAC9CT,cAAAA,OAAO,EAAPA,OAD8C;AAE9CU,cAAAA,UAAU,EAAEhB,aAFkC;AAG9CO,cAAAA,OAAO,EAAPA,OAH8C;AAI9CG,cAAAA,YAAY,EAAZA;AAJ8C,aAAnC,CAlBM;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAALhB,KAAK;AAAA;AAAA;AAAA,GAAX","sourcesContent":["import {SOURCE_DEFAULTS} from '../sources';\nimport type {SourceOptions, QuerySourceOptions, QueryResult} from '../sources/types';\nimport {buildQueryUrlFromBase} 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 {apiBaseUrl, connectionName, sqlQuery, queryParameters} = options;\n const urlParameters: UrlParameters = {q: sqlQuery};\n\n if (queryParameters) {\n urlParameters.queryParameters = JSON.stringify(queryParameters);\n }\n\n const queryUrl = buildQueryUrlFromBase(apiBaseUrl || SOURCE_DEFAULTS.apiBaseUrl);\n const baseUrl = `${queryUrl}/${connectionName}/query`;\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
+ {"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"}
package/dist/es5/index.js CHANGED
@@ -89,12 +89,6 @@ Object.defineProperty(exports, "boundaryTableSource", {
89
89
  return _sources.boundaryTableSource;
90
90
  }
91
91
  });
92
- Object.defineProperty(exports, "boundaryTilesetSource", {
93
- enumerable: true,
94
- get: function get() {
95
- return _sources.boundaryTilesetSource;
96
- }
97
- });
98
92
  Object.defineProperty(exports, "h3QuerySource", {
99
93
  enumerable: true,
100
94
  get: function get() {
@@ -196,7 +190,6 @@ exports.CARTO_LAYERS = CARTO_LAYERS;
196
190
  var CARTO_SOURCES = {
197
191
  boundaryQuerySource: _sources.boundaryQuerySource,
198
192
  boundaryTableSource: _sources.boundaryTableSource,
199
- boundaryTilesetSource: _sources.boundaryTilesetSource,
200
193
  h3QuerySource: _sources.h3QuerySource,
201
194
  h3TableSource: _sources.h3TableSource,
202
195
  h3TilesetSource: _sources.h3TilesetSource,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":["CARTO_LAYERS","H3TileLayer","_PointLabelLayer","QuadbinTileLayer","RasterTileLayer","VectorTileLayer","CARTO_SOURCES","boundaryQuerySource","boundaryTableSource","boundaryTilesetSource","h3QuerySource","h3TableSource","h3TilesetSource","rasterSource","quadbinQuerySource","quadbinTableSource","quadbinTilesetSource","vectorQuerySource","vectorTableSource","vectorTilesetSource"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAiBA;;AACA;;AACA;;AACA;;AACA;;AAWA;;AA/BA,IAAMA,YAAY,GAAG;AACnBC,EAAAA,WAAW,EAAXA,oBADmB;AAEnBC,EAAAA,gBAAgB,EAAhBA,wBAFmB;AAGnBC,EAAAA,gBAAgB,EAAhBA,yBAHmB;AAInBC,EAAAA,eAAe,EAAfA,wBAJmB;AAKnBC,EAAAA,eAAe,EAAfA;AALmB,CAArB;;AAgDA,IAAMC,aAAa,GAAG;AACpBC,EAAAA,mBAAmB,EAAnBA,4BADoB;AAEpBC,EAAAA,mBAAmB,EAAnBA,4BAFoB;AAGpBC,EAAAA,qBAAqB,EAArBA,8BAHoB;AAIpBC,EAAAA,aAAa,EAAbA,sBAJoB;AAKpBC,EAAAA,aAAa,EAAbA,sBALoB;AAMpBC,EAAAA,eAAe,EAAfA,wBANoB;AAOpBC,EAAAA,YAAY,EAAZA,qBAPoB;AAQpBC,EAAAA,kBAAkB,EAAlBA,2BARoB;AASpBC,EAAAA,kBAAkB,EAAlBA,2BAToB;AAUpBC,EAAAA,oBAAoB,EAApBA,6BAVoB;AAWpBC,EAAAA,iBAAiB,EAAjBA,0BAXoB;AAYpBC,EAAAA,iBAAiB,EAAjBA,0BAZoB;AAapBC,EAAAA,mBAAmB,EAAnBA;AAboB,CAAtB","sourcesContent":["import {default as H3TileLayer} from './layers/h3-tile-layer';\nimport {default as _PointLabelLayer} from './layers/point-label-layer';\nimport {default as QuadbinTileLayer} from './layers/quadbin-tile-layer';\nimport {default as RasterTileLayer} from './layers/raster-tile-layer';\nimport {default as VectorTileLayer} from './layers/vector-tile-layer';\nconst CARTO_LAYERS = {\n H3TileLayer,\n _PointLabelLayer,\n QuadbinTileLayer,\n RasterTileLayer,\n VectorTileLayer\n};\nexport {\n CARTO_LAYERS,\n H3TileLayer,\n _PointLabelLayer,\n QuadbinTileLayer,\n RasterTileLayer,\n VectorTileLayer\n};\n\nexport {default as BASEMAP} from './basemap';\nexport {default as colorBins} from './style/color-bins-style';\nexport {default as colorCategories} from './style/color-categories-style';\nexport {default as colorContinuous} from './style/color-continuous-style';\nexport {CartoAPIError, fetchMap, query} from './api';\nexport type {\n APIErrorContext,\n FetchMapOptions,\n Format,\n MapType,\n RequestType,\n QueryParameters,\n QueryOptions\n} from './api';\n\nimport {\n boundaryQuerySource,\n boundaryTableSource,\n boundaryTilesetSource,\n h3QuerySource,\n h3TableSource,\n h3TilesetSource,\n rasterSource,\n quadbinQuerySource,\n quadbinTableSource,\n quadbinTilesetSource,\n vectorQuerySource,\n vectorTableSource,\n vectorTilesetSource,\n SOURCE_DEFAULTS\n} from './sources';\n\nconst CARTO_SOURCES = {\n boundaryQuerySource,\n boundaryTableSource,\n boundaryTilesetSource,\n h3QuerySource,\n h3TableSource,\n h3TilesetSource,\n rasterSource,\n quadbinQuerySource,\n quadbinTableSource,\n quadbinTilesetSource,\n vectorQuerySource,\n vectorTableSource,\n vectorTilesetSource\n};\n\nexport {\n boundaryQuerySource,\n boundaryTableSource,\n boundaryTilesetSource,\n h3QuerySource,\n h3TableSource,\n h3TilesetSource,\n rasterSource,\n quadbinQuerySource,\n quadbinTableSource,\n quadbinTilesetSource,\n vectorQuerySource,\n vectorTableSource,\n vectorTilesetSource,\n CARTO_SOURCES,\n SOURCE_DEFAULTS\n};\n\nexport type {\n TilejsonResult,\n BoundaryQuerySourceOptions,\n BoundaryTableSourceOptions,\n BoundaryTilesetSourceOptions,\n H3QuerySourceOptions,\n H3TableSourceOptions,\n H3TilesetSourceOptions,\n RasterSourceOptions,\n QuadbinQuerySourceOptions,\n QuadbinTableSourceOptions,\n QuadbinTilesetSourceOptions,\n VectorQuerySourceOptions,\n VectorTableSourceOptions,\n VectorTilesetSourceOptions,\n GeojsonResult,\n JsonResult\n} from './sources';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":["CARTO_LAYERS","H3TileLayer","_PointLabelLayer","QuadbinTileLayer","RasterTileLayer","VectorTileLayer","CARTO_SOURCES","boundaryQuerySource","boundaryTableSource","h3QuerySource","h3TableSource","h3TilesetSource","rasterSource","quadbinQuerySource","quadbinTableSource","quadbinTilesetSource","vectorQuerySource","vectorTableSource","vectorTilesetSource"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAiBA;;AACA;;AACA;;AACA;;AACA;;AAWA;;AA/BA,IAAMA,YAAY,GAAG;AACnBC,EAAAA,WAAW,EAAXA,oBADmB;AAEnBC,EAAAA,gBAAgB,EAAhBA,wBAFmB;AAGnBC,EAAAA,gBAAgB,EAAhBA,yBAHmB;AAInBC,EAAAA,eAAe,EAAfA,wBAJmB;AAKnBC,EAAAA,eAAe,EAAfA;AALmB,CAArB;;AA+CA,IAAMC,aAAa,GAAG;AACpBC,EAAAA,mBAAmB,EAAnBA,4BADoB;AAEpBC,EAAAA,mBAAmB,EAAnBA,4BAFoB;AAGpBC,EAAAA,aAAa,EAAbA,sBAHoB;AAIpBC,EAAAA,aAAa,EAAbA,sBAJoB;AAKpBC,EAAAA,eAAe,EAAfA,wBALoB;AAMpBC,EAAAA,YAAY,EAAZA,qBANoB;AAOpBC,EAAAA,kBAAkB,EAAlBA,2BAPoB;AAQpBC,EAAAA,kBAAkB,EAAlBA,2BARoB;AASpBC,EAAAA,oBAAoB,EAApBA,6BAToB;AAUpBC,EAAAA,iBAAiB,EAAjBA,0BAVoB;AAWpBC,EAAAA,iBAAiB,EAAjBA,0BAXoB;AAYpBC,EAAAA,mBAAmB,EAAnBA;AAZoB,CAAtB","sourcesContent":["import {default as H3TileLayer} from './layers/h3-tile-layer';\nimport {default as _PointLabelLayer} from './layers/point-label-layer';\nimport {default as QuadbinTileLayer} from './layers/quadbin-tile-layer';\nimport {default as RasterTileLayer} from './layers/raster-tile-layer';\nimport {default as VectorTileLayer} from './layers/vector-tile-layer';\nconst CARTO_LAYERS = {\n H3TileLayer,\n _PointLabelLayer,\n QuadbinTileLayer,\n RasterTileLayer,\n VectorTileLayer\n};\nexport {\n CARTO_LAYERS,\n H3TileLayer,\n _PointLabelLayer,\n QuadbinTileLayer,\n RasterTileLayer,\n VectorTileLayer\n};\n\nexport {default as BASEMAP} from './basemap';\nexport {default as colorBins} from './style/color-bins-style';\nexport {default as colorCategories} from './style/color-categories-style';\nexport {default as colorContinuous} from './style/color-continuous-style';\nexport {CartoAPIError, fetchMap, query} from './api';\nexport type {\n APIErrorContext,\n FetchMapOptions,\n Format,\n MapType,\n RequestType,\n QueryParameters,\n QueryOptions\n} from './api';\n\nimport {\n boundaryQuerySource,\n boundaryTableSource,\n h3QuerySource,\n h3TableSource,\n h3TilesetSource,\n rasterSource,\n quadbinQuerySource,\n quadbinTableSource,\n quadbinTilesetSource,\n vectorQuerySource,\n vectorTableSource,\n vectorTilesetSource,\n SOURCE_DEFAULTS\n} from './sources';\n\nconst CARTO_SOURCES = {\n boundaryQuerySource,\n boundaryTableSource,\n h3QuerySource,\n h3TableSource,\n h3TilesetSource,\n rasterSource,\n quadbinQuerySource,\n quadbinTableSource,\n quadbinTilesetSource,\n vectorQuerySource,\n vectorTableSource,\n vectorTilesetSource\n};\n\nexport {\n boundaryQuerySource,\n boundaryTableSource,\n h3QuerySource,\n h3TableSource,\n h3TilesetSource,\n rasterSource,\n quadbinQuerySource,\n quadbinTableSource,\n quadbinTilesetSource,\n vectorQuerySource,\n vectorTableSource,\n vectorTilesetSource,\n CARTO_SOURCES,\n SOURCE_DEFAULTS\n};\n\nexport type {\n TilejsonResult,\n BoundaryQuerySourceOptions,\n BoundaryTableSourceOptions,\n H3QuerySourceOptions,\n H3TableSourceOptions,\n H3TilesetSourceOptions,\n RasterSourceOptions,\n QuadbinQuerySourceOptions,\n QuadbinTableSourceOptions,\n QuadbinTilesetSourceOptions,\n VectorQuerySourceOptions,\n VectorTableSourceOptions,\n VectorTilesetSourceOptions,\n GeojsonResult,\n JsonResult\n} from './sources';\n"],"file":"index.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-alpha.5" !== 'undefined' ? "9.0.0-alpha.5" : 'latest';
20
+ var VERSION = typeof "9.0.0-alpha.7" !== 'undefined' ? "9.0.0-alpha.7" : 'latest';
21
21
  var id = 'cartoRasterTile';
22
22
  var DEFAULT_OPTIONS = {
23
23
  cartoRasterTile: {
@@ -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-alpha.5" !== 'undefined' ? "9.0.0-alpha.5" : 'latest';
22
+ var VERSION = typeof "9.0.0-alpha.7" !== 'undefined' ? "9.0.0-alpha.7" : 'latest';
23
23
  var id = 'cartoSpatialTile';
24
24
  var DEFAULT_OPTIONS = {
25
25
  cartoSpatialTile: {
@@ -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-alpha.5" !== 'undefined' ? "9.0.0-alpha.5" : 'latest';
22
+ var VERSION = typeof "9.0.0-alpha.7" !== 'undefined' ? "9.0.0-alpha.7" : 'latest';
23
23
  var id = 'cartoVectorTile';
24
24
  var DEFAULT_OPTIONS = {
25
25
  cartoVectorTile: {
@@ -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("Duplicate geoid key in boundary mapping, using first occurance")();
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(`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
+ {"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;;;;;;;;AAYO,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 Tilejson,\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
+ {"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"}
@@ -15,17 +15,17 @@ var _baseSource = require("./base-source");
15
15
 
16
16
  var boundaryQuerySource = function () {
17
17
  var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
18
- var boundaryId, _options$matchingColu, matchingColumn, sqlQuery, queryParameters, urlParameters;
18
+ var tilesetTableName, _options$matchingColu, matchingColumn, propertiesSqlQuery, queryParameters, urlParameters;
19
19
 
20
20
  return _regenerator.default.wrap(function _callee$(_context) {
21
21
  while (1) {
22
22
  switch (_context.prev = _context.next) {
23
23
  case 0:
24
- boundaryId = options.boundaryId, _options$matchingColu = options.matchingColumn, matchingColumn = _options$matchingColu === void 0 ? 'id' : _options$matchingColu, sqlQuery = options.sqlQuery, queryParameters = options.queryParameters;
24
+ tilesetTableName = options.tilesetTableName, _options$matchingColu = options.matchingColumn, matchingColumn = _options$matchingColu === void 0 ? 'id' : _options$matchingColu, propertiesSqlQuery = options.propertiesSqlQuery, queryParameters = options.queryParameters;
25
25
  urlParameters = {
26
- boundaryId: boundaryId,
26
+ tilesetTableName: tilesetTableName,
27
27
  matchingColumn: matchingColumn,
28
- sqlQuery: sqlQuery
28
+ propertiesSqlQuery: propertiesSqlQuery
29
29
  };
30
30
 
31
31
  if (queryParameters) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sources/boundary-query-source.ts"],"names":["boundaryQuerySource","options","boundaryId","matchingColumn","sqlQuery","queryParameters","urlParameters","JSON","stringify"],"mappings":";;;;;;;;;;;;;AACA;;AAgBO,IAAMA,mBAAmB;AAAA,uEAAG,iBACjCC,OADiC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAG1BC,YAAAA,UAH0B,GAGsCD,OAHtC,CAG1BC,UAH0B,0BAGsCD,OAHtC,CAGdE,cAHc,EAGdA,cAHc,sCAGG,IAHH,0BAGSC,QAHT,GAGsCH,OAHtC,CAGSG,QAHT,EAGmBC,eAHnB,GAGsCJ,OAHtC,CAGmBI,eAHnB;AAI3BC,YAAAA,aAJ2B,GAII;AACnCJ,cAAAA,UAAU,EAAVA,UADmC;AAEnCC,cAAAA,cAAc,EAAdA,cAFmC;AAGnCC,cAAAA,QAAQ,EAARA;AAHmC,aAJJ;;AASjC,gBAAIC,eAAJ,EAAqB;AACnBC,cAAAA,aAAa,CAACD,eAAd,GAAgCE,IAAI,CAACC,SAAL,CAAeH,eAAf,CAAhC;AACD;;AAXgC,6CAY1B,4BAA0B,UAA1B,EAAsCJ,OAAtC,EAA+CK,aAA/C,CAZ0B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAnBN,mBAAmB;AAAA;AAAA;AAAA,GAAzB","sourcesContent":["import {QueryParameters} from '../api';\nimport {baseSource} from './base-source';\nimport type {SourceOptions, TilejsonResult} from './types';\n\nexport type BoundaryQuerySourceOptions = SourceOptions & {\n boundaryId: string;\n matchingColumn?: string;\n sqlQuery: string;\n queryParameters?: QueryParameters;\n};\ntype UrlParameters = {\n boundaryId: string;\n matchingColumn: string;\n sqlQuery: string;\n queryParameters?: string;\n};\n\nexport const boundaryQuerySource = async function (\n options: BoundaryQuerySourceOptions\n): Promise<TilejsonResult> {\n const {boundaryId, matchingColumn = 'id', sqlQuery, queryParameters} = options;\n const urlParameters: UrlParameters = {\n boundaryId,\n matchingColumn,\n sqlQuery\n };\n if (queryParameters) {\n urlParameters.queryParameters = JSON.stringify(queryParameters);\n }\n return baseSource<UrlParameters>('boundary', options, urlParameters) as Promise<TilejsonResult>;\n};\n"],"file":"boundary-query-source.js"}
1
+ {"version":3,"sources":["../../../src/sources/boundary-query-source.ts"],"names":["boundaryQuerySource","options","tilesetTableName","matchingColumn","propertiesSqlQuery","queryParameters","urlParameters","JSON","stringify"],"mappings":";;;;;;;;;;;;;AACA;;AAgBO,IAAMA,mBAAmB;AAAA,uEAAG,iBACjCC,OADiC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAG1BC,YAAAA,gBAH0B,GAGsDD,OAHtD,CAG1BC,gBAH0B,0BAGsDD,OAHtD,CAGRE,cAHQ,EAGRA,cAHQ,sCAGS,IAHT,0BAGeC,kBAHf,GAGsDH,OAHtD,CAGeG,kBAHf,EAGmCC,eAHnC,GAGsDJ,OAHtD,CAGmCI,eAHnC;AAI3BC,YAAAA,aAJ2B,GAII;AACnCJ,cAAAA,gBAAgB,EAAhBA,gBADmC;AAEnCC,cAAAA,cAAc,EAAdA,cAFmC;AAGnCC,cAAAA,kBAAkB,EAAlBA;AAHmC,aAJJ;;AASjC,gBAAIC,eAAJ,EAAqB;AACnBC,cAAAA,aAAa,CAACD,eAAd,GAAgCE,IAAI,CAACC,SAAL,CAAeH,eAAf,CAAhC;AACD;;AAXgC,6CAY1B,4BAA0B,UAA1B,EAAsCJ,OAAtC,EAA+CK,aAA/C,CAZ0B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAnBN,mBAAmB;AAAA;AAAA;AAAA,GAAzB","sourcesContent":["import {QueryParameters} from '../api';\nimport {baseSource} from './base-source';\nimport type {SourceOptions, TilejsonResult} from './types';\n\nexport type BoundaryQuerySourceOptions = SourceOptions & {\n tilesetTableName: string;\n matchingColumn?: string;\n propertiesSqlQuery: string;\n queryParameters?: QueryParameters;\n};\ntype UrlParameters = {\n tilesetTableName: string;\n matchingColumn: string;\n propertiesSqlQuery: string;\n queryParameters?: string;\n};\n\nexport const boundaryQuerySource = async function (\n options: BoundaryQuerySourceOptions\n): Promise<TilejsonResult> {\n const {tilesetTableName, matchingColumn = 'id', propertiesSqlQuery, queryParameters} = options;\n const urlParameters: UrlParameters = {\n tilesetTableName,\n matchingColumn,\n propertiesSqlQuery\n };\n if (queryParameters) {\n urlParameters.queryParameters = JSON.stringify(queryParameters);\n }\n return baseSource<UrlParameters>('boundary', options, urlParameters) as Promise<TilejsonResult>;\n};\n"],"file":"boundary-query-source.js"}
@@ -15,17 +15,17 @@ var _baseSource = require("./base-source");
15
15
 
16
16
  var boundaryTableSource = function () {
17
17
  var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
18
- var boundaryId, columns, _options$matchingColu, matchingColumn, tableName, urlParameters;
18
+ var tilesetTableName, columns, _options$matchingColu, matchingColumn, propertiesTableName, urlParameters;
19
19
 
20
20
  return _regenerator.default.wrap(function _callee$(_context) {
21
21
  while (1) {
22
22
  switch (_context.prev = _context.next) {
23
23
  case 0:
24
- boundaryId = options.boundaryId, columns = options.columns, _options$matchingColu = options.matchingColumn, matchingColumn = _options$matchingColu === void 0 ? 'id' : _options$matchingColu, tableName = options.tableName;
24
+ tilesetTableName = options.tilesetTableName, columns = options.columns, _options$matchingColu = options.matchingColumn, matchingColumn = _options$matchingColu === void 0 ? 'id' : _options$matchingColu, propertiesTableName = options.propertiesTableName;
25
25
  urlParameters = {
26
- boundaryId: boundaryId,
26
+ tilesetTableName: tilesetTableName,
27
27
  matchingColumn: matchingColumn,
28
- tableName: tableName
28
+ propertiesTableName: propertiesTableName
29
29
  };
30
30
 
31
31
  if (columns) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/sources/boundary-table-source.ts"],"names":["boundaryTableSource","options","boundaryId","columns","matchingColumn","tableName","urlParameters","join"],"mappings":";;;;;;;;;;;;;AAAA;;AAgBO,IAAMA,mBAAmB;AAAA,uEAAG,iBACjCC,OADiC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAG1BC,YAAAA,UAH0B,GAG+BD,OAH/B,CAG1BC,UAH0B,EAGdC,OAHc,GAG+BF,OAH/B,CAGdE,OAHc,0BAG+BF,OAH/B,CAGLG,cAHK,EAGLA,cAHK,sCAGY,IAHZ,0BAGkBC,SAHlB,GAG+BJ,OAH/B,CAGkBI,SAHlB;AAI3BC,YAAAA,aAJ2B,GAII;AACnCJ,cAAAA,UAAU,EAAVA,UADmC;AAEnCE,cAAAA,cAAc,EAAdA,cAFmC;AAGnCC,cAAAA,SAAS,EAATA;AAHmC,aAJJ;;AAUjC,gBAAIF,OAAJ,EAAa;AACXG,cAAAA,aAAa,CAACH,OAAd,GAAwBA,OAAO,CAACI,IAAR,CAAa,GAAb,CAAxB;AACD;;AAZgC,6CAa1B,4BAA0B,UAA1B,EAAsCN,OAAtC,EAA+CK,aAA/C,CAb0B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAnBN,mBAAmB;AAAA;AAAA;AAAA,GAAzB","sourcesContent":["import {baseSource} from './base-source';\nimport type {SourceOptions, TilejsonResult} from './types';\n\nexport type BoundaryTableSourceOptions = SourceOptions & {\n boundaryId: string;\n columns?: string[];\n matchingColumn?: string;\n tableName: string;\n};\ntype UrlParameters = {\n boundaryId: string;\n columns?: string;\n matchingColumn: string;\n tableName: string;\n};\n\nexport const boundaryTableSource = async function (\n options: BoundaryTableSourceOptions\n): Promise<TilejsonResult> {\n const {boundaryId, columns, matchingColumn = 'id', tableName} = options;\n const urlParameters: UrlParameters = {\n boundaryId,\n matchingColumn,\n tableName\n };\n\n if (columns) {\n urlParameters.columns = columns.join(',');\n }\n return baseSource<UrlParameters>('boundary', options, urlParameters) as Promise<TilejsonResult>;\n};\n"],"file":"boundary-table-source.js"}
1
+ {"version":3,"sources":["../../../src/sources/boundary-table-source.ts"],"names":["boundaryTableSource","options","tilesetTableName","columns","matchingColumn","propertiesTableName","urlParameters","join"],"mappings":";;;;;;;;;;;;;AAAA;;AAgBO,IAAMA,mBAAmB;AAAA,uEAAG,iBACjCC,OADiC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAG1BC,YAAAA,gBAH0B,GAG+CD,OAH/C,CAG1BC,gBAH0B,EAGRC,OAHQ,GAG+CF,OAH/C,CAGRE,OAHQ,0BAG+CF,OAH/C,CAGCG,cAHD,EAGCA,cAHD,sCAGkB,IAHlB,0BAGwBC,mBAHxB,GAG+CJ,OAH/C,CAGwBI,mBAHxB;AAI3BC,YAAAA,aAJ2B,GAII;AACnCJ,cAAAA,gBAAgB,EAAhBA,gBADmC;AAEnCE,cAAAA,cAAc,EAAdA,cAFmC;AAGnCC,cAAAA,mBAAmB,EAAnBA;AAHmC,aAJJ;;AAUjC,gBAAIF,OAAJ,EAAa;AACXG,cAAAA,aAAa,CAACH,OAAd,GAAwBA,OAAO,CAACI,IAAR,CAAa,GAAb,CAAxB;AACD;;AAZgC,6CAa1B,4BAA0B,UAA1B,EAAsCN,OAAtC,EAA+CK,aAA/C,CAb0B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAnBN,mBAAmB;AAAA;AAAA;AAAA,GAAzB","sourcesContent":["import {baseSource} from './base-source';\nimport type {SourceOptions, TilejsonResult} from './types';\n\nexport type BoundaryTableSourceOptions = SourceOptions & {\n tilesetTableName: string;\n columns?: string[];\n matchingColumn?: string;\n propertiesTableName: string;\n};\ntype UrlParameters = {\n tilesetTableName: string;\n columns?: string;\n matchingColumn: string;\n propertiesTableName: string;\n};\n\nexport const boundaryTableSource = async function (\n options: BoundaryTableSourceOptions\n): Promise<TilejsonResult> {\n const {tilesetTableName, columns, matchingColumn = 'id', propertiesTableName} = options;\n const urlParameters: UrlParameters = {\n tilesetTableName,\n matchingColumn,\n propertiesTableName\n };\n\n if (columns) {\n urlParameters.columns = columns.join(',');\n }\n return baseSource<UrlParameters>('boundary', options, urlParameters) as Promise<TilejsonResult>;\n};\n"],"file":"boundary-table-source.js"}