@deck.gl/carto 8.6.4 → 8.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.dev.js +396 -207
- package/dist/es5/api/index.js +21 -21
- package/dist/es5/api/maps-api-common.js +14 -10
- package/dist/es5/api/maps-api-common.js.map +1 -1
- package/dist/es5/api/maps-client.js +158 -99
- package/dist/es5/api/maps-client.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +308 -193
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/basemap.js +1 -1
- package/dist/es5/basemap.js.map +1 -1
- package/dist/es5/config.js +25 -23
- package/dist/es5/config.js.map +1 -1
- package/dist/es5/index.js +45 -45
- package/dist/es5/layers/carto-bqtiler-layer.js +41 -6
- package/dist/es5/layers/carto-bqtiler-layer.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +211 -132
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/carto-sql-layer.js +41 -6
- package/dist/es5/layers/carto-sql-layer.js.map +1 -1
- package/dist/es5/style/color-bins-style.js +16 -11
- package/dist/es5/style/color-bins-style.js.map +1 -1
- package/dist/es5/style/color-categories-style.js +43 -14
- package/dist/es5/style/color-categories-style.js.map +1 -1
- package/dist/es5/style/color-continuous-style.js +16 -11
- package/dist/es5/style/color-continuous-style.js.map +1 -1
- package/dist/es5/style/palette.js +25 -13
- package/dist/es5/style/palette.js.map +1 -1
- package/dist/es5/style/utils.js +14 -7
- package/dist/es5/style/utils.js.map +1 -1
- package/dist/esm/api/maps-client.js +30 -24
- package/dist/esm/api/maps-client.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +60 -52
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/layers/carto-bqtiler-layer.js +2 -2
- package/dist/esm/layers/carto-bqtiler-layer.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +7 -5
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/layers/carto-sql-layer.js +2 -2
- package/dist/esm/layers/carto-sql-layer.js.map +1 -1
- package/dist/esm/style/color-bins-style.js +7 -6
- package/dist/esm/style/color-bins-style.js.map +1 -1
- package/dist/esm/style/color-categories-style.js +8 -7
- package/dist/esm/style/color-categories-style.js.map +1 -1
- package/dist/esm/style/color-continuous-style.js +7 -6
- package/dist/esm/style/color-continuous-style.js.map +1 -1
- package/dist/esm/style/utils.js +3 -1
- package/dist/esm/style/utils.js.map +1 -1
- package/dist.min.js +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/maps-v3-client.js"],"names":["getDefaultCredentials","buildMapsUrlFromBase","API_VERSIONS","encodeParameter","FORMATS","MAP_TYPES","log","MAX_GET_LENGTH","request","method","url","format","accessToken","body","response","headers","Accept","Authorization","fetch","error","Error","NDJSON","json","ok","dealWithError","rows","status","getParameters","type","source","geoColumn","columns","schema","parameters","push","sourceName","QUERY","TABLE","join","mapInstantiation","connection","credentials","baseUrl","mapsUrl","length","JSON","stringify","q","client","getUrlFromMetadata","metadata","m","checkGetLayerDataParameters","localCreds","assert","apiVersion","V3","apiBaseUrl","fetchLayerData","defaultCredentials","mapFormat","prioritizedFormats","GEOJSON","TILEJSON","f","data","result","getData","layerData"],"mappings":"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","sourcesContent":["/**\n * Maps API Client for Carto 3\n */\nimport {getDefaultCredentials, buildMapsUrlFromBase} from '../config';\nimport {API_VERSIONS, encodeParameter, FORMATS, MAP_TYPES} from './maps-api-common';\nimport {log} from '@deck.gl/core';\n\nconst MAX_GET_LENGTH = 2048;\n\n/**\n * Request against Maps API\n */\nasync function request({method, url, format, accessToken, body}) {\n let response;\n\n const headers = {\n Accept: 'application/json'\n };\n\n if (accessToken) {\n headers.Authorization = `Bearer ${accessToken}`;\n }\n\n if (method === 'POST') {\n headers['Content-Type'] = 'application/json';\n }\n\n try {\n /* global fetch */\n /* eslint no-undef: \"error\" */\n response = await fetch(url, {\n method,\n headers,\n body\n });\n } catch (error) {\n throw new Error(`Failed to connect to Maps API: ${error}`);\n }\n\n if (format === FORMATS.NDJSON) {\n return response;\n }\n\n const json = await response.json();\n\n if (!response.ok) {\n dealWithError({response, error: json.error});\n }\n\n return json.rows ? json.rows : json;\n}\n\n/**\n * Display proper message from Maps API error\n */\nfunction dealWithError({response, error}) {\n switch (response.status) {\n case 400:\n throw new Error(`Bad request. ${error}`);\n case 401:\n case 403:\n throw new Error(`Unauthorized access. ${error}`);\n default:\n throw new Error(error);\n }\n}\n\n/**\n * Build a URL with all required parameters\n */\nfunction getParameters({type, source, geoColumn, columns, schema}) {\n const parameters = [encodeParameter('client', 'deck-gl-carto')];\n if (schema) {\n parameters.push(encodeParameter('schema', true));\n }\n\n const sourceName = type === MAP_TYPES.QUERY ? 'q' : 'name';\n parameters.push(encodeParameter(sourceName, source));\n\n if (type === MAP_TYPES.TABLE) {\n if (geoColumn) {\n parameters.push(encodeParameter('geo_column', geoColumn));\n }\n if (columns) {\n parameters.push(encodeParameter('columns', columns.join(',')));\n }\n }\n\n return parameters.join('&');\n}\n\nexport async function mapInstantiation({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n schema\n}) {\n const baseUrl = `${credentials.mapsUrl}/${connection}/${type}`;\n const url = `${baseUrl}?${getParameters({type, source, geoColumn, columns, schema})}`;\n const {accessToken} = credentials;\n\n const format = 'json';\n\n if (url.length > MAX_GET_LENGTH && type === MAP_TYPES.QUERY) {\n // need to be a POST request\n const body = JSON.stringify({\n q: source,\n client: 'deck-gl-carto'\n });\n return await request({method: 'POST', url: baseUrl, format, accessToken, body});\n }\n\n return await request({url, format, accessToken});\n}\n\nfunction getUrlFromMetadata(metadata, format) {\n const m = metadata[format];\n\n if (m && !m.error && m.url) {\n return m.url[0];\n }\n\n return null;\n}\n\nfunction checkGetLayerDataParameters({type, source, connection, localCreds}) {\n log.assert(connection, 'Must define connection');\n log.assert(type, 'Must define a type');\n log.assert(source, 'Must define a source');\n\n log.assert(localCreds.apiVersion === API_VERSIONS.V3, 'Method only available for v3');\n log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');\n log.assert(localCreds.accessToken, 'Must define an accessToken');\n}\n\nexport async function fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema\n}) {\n const defaultCredentials = getDefaultCredentials();\n // Only pick up default credentials if they have been defined for\n // correct API version\n const localCreds = {\n ...(defaultCredentials.apiVersion === API_VERSIONS.V3 && defaultCredentials),\n ...credentials\n };\n checkGetLayerDataParameters({type, source, connection, localCreds});\n\n if (!localCreds.mapsUrl) {\n localCreds.mapsUrl = buildMapsUrlFromBase(localCreds.apiBaseUrl);\n }\n\n const metadata = await mapInstantiation({\n type,\n source,\n connection,\n credentials: localCreds,\n geoColumn,\n columns,\n schema\n });\n let url;\n let mapFormat;\n\n if (format) {\n mapFormat = format;\n url = getUrlFromMetadata(metadata, format);\n log.assert(url, `Format ${format} not available`);\n } else {\n // guess map format\n const prioritizedFormats = [FORMATS.GEOJSON, FORMATS.NDJSON, FORMATS.TILEJSON];\n for (const f of prioritizedFormats) {\n url = getUrlFromMetadata(metadata, f);\n if (url) {\n mapFormat = f;\n break;\n }\n }\n }\n\n const {accessToken} = localCreds;\n\n const data = await request({url, format: mapFormat, accessToken});\n const result = {data, format: mapFormat};\n if (schema) {\n result.schema = metadata.schema;\n }\n\n return result;\n}\n\nexport async function getData({type, source, connection, credentials, geoColumn, columns, format}) {\n const layerData = await fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema: false\n });\n return layerData.data;\n}\n"],"file":"maps-v3-client.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/api/maps-v3-client.js"],"names":["getDefaultCredentials","buildMapsUrlFromBase","API_VERSIONS","encodeParameter","FORMATS","MAP_TYPES","log","MAX_GET_LENGTH","request","method","url","format","accessToken","body","response","headers","Accept","Authorization","fetch","error","Error","NDJSON","json","ok","dealWithError","rows","status","getParameters","type","source","geoColumn","columns","schema","parameters","push","sourceName","QUERY","TABLE","join","mapInstantiation","connection","credentials","baseUrl","mapsUrl","length","JSON","stringify","q","client","getUrlFromMetadata","metadata","m","checkGetLayerDataParameters","localCreds","assert","apiVersion","V3","apiBaseUrl","fetchLayerData","defaultCredentials","mapFormat","prioritizedFormats","GEOJSON","TILEJSON","f","data","result","getData","layerData"],"mappings":"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","sourcesContent":["/**\n * Maps API Client for Carto 3\n */\nimport {getDefaultCredentials, buildMapsUrlFromBase} from '../config';\nimport {API_VERSIONS, encodeParameter, FORMATS, MAP_TYPES} from './maps-api-common';\nimport {log} from '@deck.gl/core';\n\nconst MAX_GET_LENGTH = 2048;\n\n/**\n * Request against Maps API\n */\nasync function request({method, url, format, accessToken, body}) {\n let response;\n\n const headers = {\n Accept: 'application/json'\n };\n\n if (accessToken) {\n headers.Authorization = `Bearer ${accessToken}`;\n }\n\n if (method === 'POST') {\n headers['Content-Type'] = 'application/json';\n }\n\n try {\n /* global fetch */\n /* eslint no-undef: \"error\" */\n response = await fetch(url, {\n method,\n headers,\n body\n });\n } catch (error) {\n throw new Error(`Failed to connect to Maps API: ${error}`);\n }\n\n if (format === FORMATS.NDJSON) {\n return response;\n }\n\n const json = await response.json();\n\n if (!response.ok) {\n dealWithError({response, error: json.error});\n }\n\n return json.rows ? json.rows : json;\n}\n\n/**\n * Display proper message from Maps API error\n */\nfunction dealWithError({response, error}) {\n switch (response.status) {\n case 400:\n throw new Error(`Bad request. ${error}`);\n case 401:\n case 403:\n throw new Error(`Unauthorized access. ${error}`);\n default:\n throw new Error(error);\n }\n}\n\n/**\n * Build a URL with all required parameters\n */\nfunction getParameters({type, source, geoColumn, columns, schema}) {\n const parameters = [encodeParameter('client', 'deck-gl-carto')];\n if (schema) {\n parameters.push(encodeParameter('schema', true));\n }\n\n const sourceName = type === MAP_TYPES.QUERY ? 'q' : 'name';\n parameters.push(encodeParameter(sourceName, source));\n\n if (type === MAP_TYPES.TABLE) {\n if (geoColumn) {\n parameters.push(encodeParameter('geo_column', geoColumn));\n }\n if (columns) {\n parameters.push(encodeParameter('columns', columns.join(',')));\n }\n }\n\n return parameters.join('&');\n}\n\nexport async function mapInstantiation({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n schema\n}) {\n const baseUrl = `${credentials.mapsUrl}/${connection}/${type}`;\n const url = `${baseUrl}?${getParameters({type, source, geoColumn, columns, schema})}`;\n const {accessToken} = credentials;\n\n const format = 'json';\n\n if (url.length > MAX_GET_LENGTH && type === MAP_TYPES.QUERY) {\n // need to be a POST request\n const body = JSON.stringify({\n q: source,\n client: 'deck-gl-carto'\n });\n return await request({method: 'POST', url: baseUrl, format, accessToken, body});\n }\n\n return await request({url, format, accessToken});\n}\n\nfunction getUrlFromMetadata(metadata, format) {\n const m = metadata[format];\n\n if (m && !m.error && m.url) {\n return m.url[0];\n }\n\n return null;\n}\n\nfunction checkGetLayerDataParameters({type, source, connection, localCreds}) {\n log.assert(connection, 'Must define connection');\n log.assert(type, 'Must define a type');\n log.assert(source, 'Must define a source');\n\n log.assert(localCreds.apiVersion === API_VERSIONS.V3, 'Method only available for v3');\n log.assert(localCreds.apiBaseUrl, 'Must define apiBaseUrl');\n log.assert(localCreds.accessToken, 'Must define an accessToken');\n}\n\nexport async function fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema\n}) {\n const defaultCredentials = getDefaultCredentials();\n // Only pick up default credentials if they have been defined for\n // correct API version\n const localCreds = {\n ...(defaultCredentials.apiVersion === API_VERSIONS.V3 && defaultCredentials),\n ...credentials\n };\n checkGetLayerDataParameters({type, source, connection, localCreds});\n\n if (!localCreds.mapsUrl) {\n localCreds.mapsUrl = buildMapsUrlFromBase(localCreds.apiBaseUrl);\n }\n\n const metadata = await mapInstantiation({\n type,\n source,\n connection,\n credentials: localCreds,\n geoColumn,\n columns,\n schema\n });\n let url;\n let mapFormat;\n\n if (format) {\n mapFormat = format;\n url = getUrlFromMetadata(metadata, format);\n log.assert(url, `Format ${format} not available`);\n } else {\n // guess map format\n const prioritizedFormats = [FORMATS.GEOJSON, FORMATS.NDJSON, FORMATS.TILEJSON];\n for (const f of prioritizedFormats) {\n url = getUrlFromMetadata(metadata, f);\n if (url) {\n mapFormat = f;\n break;\n }\n }\n }\n\n const {accessToken} = localCreds;\n\n const data = await request({url, format: mapFormat, accessToken});\n const result = {data, format: mapFormat};\n if (schema) {\n result.schema = metadata.schema;\n }\n\n return result;\n}\n\nexport async function getData({type, source, connection, credentials, geoColumn, columns, format}) {\n const layerData = await fetchLayerData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns,\n format,\n schema: false\n });\n return layerData.data;\n}\n"],"file":"maps-v3-client.js"}
|
|
@@ -5,8 +5,8 @@ const defaultProps = { ...CartoLayer.defaultProps,
|
|
|
5
5
|
type: MAP_TYPES.TILESET
|
|
6
6
|
};
|
|
7
7
|
export default class CartoBQTilerLayer extends CartoLayer {
|
|
8
|
-
constructor(
|
|
9
|
-
super(...
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
10
|
log.warn('CartoBQTilerLayer will be removed in future versions. Use CartoLayer with type=MAP_TYPES.TILESET and apiVersion=API_VERSIONS.V2')();
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/carto-bqtiler-layer.js"],"names":["log","CartoLayer","MAP_TYPES","defaultProps","type","TILESET","CartoBQTilerLayer","constructor","
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/carto-bqtiler-layer.js"],"names":["log","CartoLayer","MAP_TYPES","defaultProps","type","TILESET","CartoBQTilerLayer","constructor","warn","layerName"],"mappings":"AAAA,SAAQA,GAAR,QAAkB,eAAlB;AACA,OAAOC,UAAP,MAAuB,eAAvB;AACA,SAAQC,SAAR,QAAwB,QAAxB;AAEA,MAAMC,YAAY,GAAG,EACnB,GAAGF,UAAU,CAACE,YADK;AAEnBC,EAAAA,IAAI,EAAEF,SAAS,CAACG;AAFG,CAArB;AAKA,eAAe,MAAMC,iBAAN,SAAgCL,UAAhC,CAA2C;AACxDM,EAAAA,WAAW,GAAU;AACnB,UAAM,YAAN;AAEAP,IAAAA,GAAG,CAACQ,IAAJ,CACE,iIADF;AAGD;;AAPuD;AAU1DF,iBAAiB,CAACG,SAAlB,GAA8B,mBAA9B;AACAH,iBAAiB,CAACH,YAAlB,GAAiCA,YAAjC","sourcesContent":["import {log} from '@deck.gl/core';\nimport CartoLayer from './carto-layer';\nimport {MAP_TYPES} from '../api';\n\nconst defaultProps = {\n ...CartoLayer.defaultProps,\n type: MAP_TYPES.TILESET\n};\n\nexport default class CartoBQTilerLayer extends CartoLayer {\n constructor(...args) {\n super(...args);\n\n log.warn(\n 'CartoBQTilerLayer will be removed in future versions. Use CartoLayer with type=MAP_TYPES.TILESET and apiVersion=API_VERSIONS.V2'\n )();\n }\n}\n\nCartoBQTilerLayer.layerName = 'CartoBQTilerLayer';\nCartoBQTilerLayer.defaultProps = defaultProps;\n"],"file":"carto-bqtiler-layer.js"}
|
|
@@ -74,11 +74,13 @@ export default class CartoLayer extends CompositeLayer {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
updateState({
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
updateState(_ref) {
|
|
78
|
+
let {
|
|
79
|
+
props,
|
|
80
|
+
oldProps,
|
|
81
|
+
changeFlags
|
|
82
|
+
} = _ref;
|
|
83
|
+
|
|
82
84
|
this._checkProps(props);
|
|
83
85
|
|
|
84
86
|
const shouldUpdateData = changeFlags.dataChanged || props.connection !== oldProps.connection || props.geoColumn !== oldProps.geoColumn || JSON.stringify(props.columns) !== JSON.stringify(oldProps.columns) || props.type !== oldProps.type || JSON.stringify(props.credentials) !== JSON.stringify(oldProps.credentials);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/carto-layer.js"],"names":["CompositeLayer","log","MVTLayer","GeoJsonLayer","getData","getDataV2","API_VERSIONS","MAP_TYPES","getDefaultCredentials","defaultProps","data","type","onDataLoad","value","compare","onDataError","optional","credentials","connection","geoColumn","columns","CartoLayer","initializeState","state","apiVersion","isLoaded","getSubLayers","length","_checkProps","props","localCreds","assert","Object","values","includes","V1","V2","QUERY","TILESET","V3","TABLE","Array","isArray","updateState","oldProps","changeFlags","shouldUpdateData","dataChanged","JSON","stringify","setState","_updateData","source","localConfig","err","renderLayers","updateTriggers","layer","getSubLayerProps","id","layerName"],"mappings":"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","sourcesContent":["import {CompositeLayer, log} from '@deck.gl/core';\nimport {MVTLayer} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {getData, getDataV2, API_VERSIONS} from '../api';\nimport {MAP_TYPES} from '../api/maps-api-common';\nimport {getDefaultCredentials} from '../config';\n\nconst defaultProps = {\n // (String, required): data resource to load. table name, sql query or tileset name.\n data: null,\n // (Enum (MAP_TYPES), required)\n type: null,\n onDataLoad: {type: 'function', value: data => {}, compare: false},\n onDataError: {type: 'function', value: null, compare: false, optional: true},\n\n // override carto credentials for the layer, set to null to read from default\n credentials: null,\n\n /*********************/\n /* API v3 PARAMETERS */\n /**********************/\n // (String, required): connection name at CARTO platform\n connection: null,\n\n // (String, optional): name of the `geo_column` in the CARTO platform. Use this override the default column ('geom'), from which the geometry information should be fetched.\n geoColumn: null,\n\n // (Array<String>, optional): names of columns to fetch. By default, all columns are fetched.\n columns: {type: 'array', value: null}\n};\n\nexport default class CartoLayer extends CompositeLayer {\n initializeState() {\n this.state = {\n data: null,\n apiVersion: null\n };\n }\n\n get isLoaded() {\n return this.getSubLayers().length > 0 && super.isLoaded;\n }\n\n _checkProps(props) {\n const {type, credentials, connection, geoColumn, columns} = props;\n const localCreds = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localCreds;\n\n log.assert(\n Object.values(API_VERSIONS).includes(apiVersion),\n `Invalid apiVersion ${apiVersion}. Use API_VERSIONS enum.`\n );\n\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n log.assert(\n type === MAP_TYPES.QUERY || type === MAP_TYPES.TILESET,\n `Invalid type ${type}. Use type MAP_TYPES.QUERY or MAP_TYPES.TILESET for apiVersion ${apiVersion}`\n );\n log.assert(!connection, `Connection prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!geoColumn, `geoColumn prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!columns, `columns prop is not supported for apiVersion ${apiVersion}`);\n } else if (apiVersion === API_VERSIONS.V3) {\n log.assert(connection, 'Missing mandatory connection parameter');\n log.assert(\n Object.values(MAP_TYPES).includes(type),\n `Invalid type ${type}. Use MAP_TYPES enum.`\n );\n if (type !== MAP_TYPES.TABLE) {\n log.assert(!geoColumn, `geoColumn prop is only supported for type ${MAP_TYPES.TABLE}`);\n log.assert(!columns, `columns prop is only supported for type ${MAP_TYPES.TABLE}`);\n }\n if (columns) {\n log.assert(Array.isArray(columns), 'columns prop must be an Array');\n }\n }\n }\n\n updateState({props, oldProps, changeFlags}) {\n this._checkProps(props);\n const shouldUpdateData =\n changeFlags.dataChanged ||\n props.connection !== oldProps.connection ||\n props.geoColumn !== oldProps.geoColumn ||\n JSON.stringify(props.columns) !== JSON.stringify(oldProps.columns) ||\n props.type !== oldProps.type ||\n JSON.stringify(props.credentials) !== JSON.stringify(oldProps.credentials);\n\n if (shouldUpdateData) {\n this.setState({data: null, apiVersion: null});\n this._updateData();\n }\n }\n\n async _updateData() {\n try {\n const {type, data: source, connection, credentials, geoColumn, columns} = this.props;\n const localConfig = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localConfig;\n\n let data;\n\n if (apiVersion === API_VERSIONS.V3) {\n data = await getData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns\n });\n } else if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n data = await getDataV2({type, source, credentials});\n } else {\n log.assert(`Unknow apiVersion ${apiVersion}. Use API_VERSIONS enum.`);\n }\n\n this.setState({data, apiVersion});\n this.props.onDataLoad(data);\n } catch (err) {\n if (this.props.onDataError) {\n this.props.onDataError(err);\n } else {\n throw err;\n }\n }\n }\n\n renderLayers() {\n const {data, apiVersion} = this.state;\n const {type} = this.props;\n\n if (!data) return null;\n\n const {updateTriggers} = this.props;\n\n let layer;\n\n if (\n apiVersion === API_VERSIONS.V1 ||\n apiVersion === API_VERSIONS.V2 ||\n type === MAP_TYPES.TILESET\n ) {\n layer = MVTLayer;\n } else {\n layer = GeoJsonLayer;\n }\n\n const props = {...this.props};\n delete props.data;\n\n // eslint-disable-next-line new-cap\n return new layer(\n props,\n this.getSubLayerProps({\n id: `carto-${layer.layerName}`,\n data,\n updateTriggers\n })\n );\n }\n}\n\nCartoLayer.layerName = 'CartoLayer';\nCartoLayer.defaultProps = defaultProps;\n"],"file":"carto-layer.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/carto-layer.js"],"names":["CompositeLayer","log","MVTLayer","GeoJsonLayer","getData","getDataV2","API_VERSIONS","MAP_TYPES","getDefaultCredentials","defaultProps","data","type","onDataLoad","value","compare","onDataError","optional","credentials","connection","geoColumn","columns","CartoLayer","initializeState","state","apiVersion","isLoaded","getSubLayers","length","_checkProps","props","localCreds","assert","Object","values","includes","V1","V2","QUERY","TILESET","V3","TABLE","Array","isArray","updateState","oldProps","changeFlags","shouldUpdateData","dataChanged","JSON","stringify","setState","_updateData","source","localConfig","err","renderLayers","updateTriggers","layer","getSubLayerProps","id","layerName"],"mappings":"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","sourcesContent":["import {CompositeLayer, log} from '@deck.gl/core';\nimport {MVTLayer} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {getData, getDataV2, API_VERSIONS} from '../api';\nimport {MAP_TYPES} from '../api/maps-api-common';\nimport {getDefaultCredentials} from '../config';\n\nconst defaultProps = {\n // (String, required): data resource to load. table name, sql query or tileset name.\n data: null,\n // (Enum (MAP_TYPES), required)\n type: null,\n onDataLoad: {type: 'function', value: data => {}, compare: false},\n onDataError: {type: 'function', value: null, compare: false, optional: true},\n\n // override carto credentials for the layer, set to null to read from default\n credentials: null,\n\n /*********************/\n /* API v3 PARAMETERS */\n /**********************/\n // (String, required): connection name at CARTO platform\n connection: null,\n\n // (String, optional): name of the `geo_column` in the CARTO platform. Use this override the default column ('geom'), from which the geometry information should be fetched.\n geoColumn: null,\n\n // (Array<String>, optional): names of columns to fetch. By default, all columns are fetched.\n columns: {type: 'array', value: null}\n};\n\nexport default class CartoLayer extends CompositeLayer {\n initializeState() {\n this.state = {\n data: null,\n apiVersion: null\n };\n }\n\n get isLoaded() {\n return this.getSubLayers().length > 0 && super.isLoaded;\n }\n\n _checkProps(props) {\n const {type, credentials, connection, geoColumn, columns} = props;\n const localCreds = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localCreds;\n\n log.assert(\n Object.values(API_VERSIONS).includes(apiVersion),\n `Invalid apiVersion ${apiVersion}. Use API_VERSIONS enum.`\n );\n\n if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n log.assert(\n type === MAP_TYPES.QUERY || type === MAP_TYPES.TILESET,\n `Invalid type ${type}. Use type MAP_TYPES.QUERY or MAP_TYPES.TILESET for apiVersion ${apiVersion}`\n );\n log.assert(!connection, `Connection prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!geoColumn, `geoColumn prop is not supported for apiVersion ${apiVersion}`);\n log.assert(!columns, `columns prop is not supported for apiVersion ${apiVersion}`);\n } else if (apiVersion === API_VERSIONS.V3) {\n log.assert(connection, 'Missing mandatory connection parameter');\n log.assert(\n Object.values(MAP_TYPES).includes(type),\n `Invalid type ${type}. Use MAP_TYPES enum.`\n );\n if (type !== MAP_TYPES.TABLE) {\n log.assert(!geoColumn, `geoColumn prop is only supported for type ${MAP_TYPES.TABLE}`);\n log.assert(!columns, `columns prop is only supported for type ${MAP_TYPES.TABLE}`);\n }\n if (columns) {\n log.assert(Array.isArray(columns), 'columns prop must be an Array');\n }\n }\n }\n\n updateState({props, oldProps, changeFlags}) {\n this._checkProps(props);\n const shouldUpdateData =\n changeFlags.dataChanged ||\n props.connection !== oldProps.connection ||\n props.geoColumn !== oldProps.geoColumn ||\n JSON.stringify(props.columns) !== JSON.stringify(oldProps.columns) ||\n props.type !== oldProps.type ||\n JSON.stringify(props.credentials) !== JSON.stringify(oldProps.credentials);\n\n if (shouldUpdateData) {\n this.setState({data: null, apiVersion: null});\n this._updateData();\n }\n }\n\n async _updateData() {\n try {\n const {type, data: source, connection, credentials, geoColumn, columns} = this.props;\n const localConfig = {...getDefaultCredentials(), ...credentials};\n const {apiVersion} = localConfig;\n\n let data;\n\n if (apiVersion === API_VERSIONS.V3) {\n data = await getData({\n type,\n source,\n connection,\n credentials,\n geoColumn,\n columns\n });\n } else if (apiVersion === API_VERSIONS.V1 || apiVersion === API_VERSIONS.V2) {\n data = await getDataV2({type, source, credentials});\n } else {\n log.assert(`Unknow apiVersion ${apiVersion}. Use API_VERSIONS enum.`);\n }\n\n this.setState({data, apiVersion});\n this.props.onDataLoad(data);\n } catch (err) {\n if (this.props.onDataError) {\n this.props.onDataError(err);\n } else {\n throw err;\n }\n }\n }\n\n renderLayers() {\n const {data, apiVersion} = this.state;\n const {type} = this.props;\n\n if (!data) return null;\n\n const {updateTriggers} = this.props;\n\n let layer;\n\n if (\n apiVersion === API_VERSIONS.V1 ||\n apiVersion === API_VERSIONS.V2 ||\n type === MAP_TYPES.TILESET\n ) {\n layer = MVTLayer;\n } else {\n layer = GeoJsonLayer;\n }\n\n const props = {...this.props};\n delete props.data;\n\n // eslint-disable-next-line new-cap\n return new layer(\n props,\n this.getSubLayerProps({\n id: `carto-${layer.layerName}`,\n data,\n updateTriggers\n })\n );\n }\n}\n\nCartoLayer.layerName = 'CartoLayer';\nCartoLayer.defaultProps = defaultProps;\n"],"file":"carto-layer.js"}
|
|
@@ -6,8 +6,8 @@ const defaultProps = { ...CartoLayer.defaultProps,
|
|
|
6
6
|
uniqueIdProperty: 'cartodb_id'
|
|
7
7
|
};
|
|
8
8
|
export default class CartoSQLLayer extends CartoLayer {
|
|
9
|
-
constructor(
|
|
10
|
-
super(...
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
11
|
log.warn('CartoSQLLayer will be removed in future versions. Use CartoLayer with type=MAP_TYPES.QUERY and apiVersion=API_VERSIONS.V2')();
|
|
12
12
|
}
|
|
13
13
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/carto-sql-layer.js"],"names":["log","CartoLayer","MAP_TYPES","defaultProps","type","QUERY","uniqueIdProperty","CartoSQLLayer","constructor","
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/carto-sql-layer.js"],"names":["log","CartoLayer","MAP_TYPES","defaultProps","type","QUERY","uniqueIdProperty","CartoSQLLayer","constructor","warn","layerName"],"mappings":"AAAA,SAAQA,GAAR,QAAkB,eAAlB;AACA,OAAOC,UAAP,MAAuB,eAAvB;AACA,SAAQC,SAAR,QAAwB,QAAxB;AAEA,MAAMC,YAAY,GAAG,EACnB,GAAGF,UAAU,CAACE,YADK;AAEnBC,EAAAA,IAAI,EAAEF,SAAS,CAACG,KAFG;AAGnBC,EAAAA,gBAAgB,EAAE;AAHC,CAArB;AAMA,eAAe,MAAMC,aAAN,SAA4BN,UAA5B,CAAuC;AACpDO,EAAAA,WAAW,GAAU;AACnB,UAAM,YAAN;AAEAR,IAAAA,GAAG,CAACS,IAAJ,CACE,2HADF;AAGD;;AAPmD;AAUtDF,aAAa,CAACG,SAAd,GAA0B,eAA1B;AACAH,aAAa,CAACJ,YAAd,GAA6BA,YAA7B","sourcesContent":["import {log} from '@deck.gl/core';\nimport CartoLayer from './carto-layer';\nimport {MAP_TYPES} from '../api';\n\nconst defaultProps = {\n ...CartoLayer.defaultProps,\n type: MAP_TYPES.QUERY,\n uniqueIdProperty: 'cartodb_id'\n};\n\nexport default class CartoSQLLayer extends CartoLayer {\n constructor(...args) {\n super(...args);\n\n log.warn(\n 'CartoSQLLayer will be removed in future versions. Use CartoLayer with type=MAP_TYPES.QUERY and apiVersion=API_VERSIONS.V2'\n )();\n }\n}\n\nCartoSQLLayer.layerName = 'CartoSQLLayer';\nCartoSQLLayer.defaultProps = defaultProps;\n"],"file":"carto-sql-layer.js"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { scaleThreshold } from 'd3-scale';
|
|
2
2
|
import getPalette, { DEFAULT_PALETTE, NULL_COLOR } from './palette';
|
|
3
3
|
import { assert, getAttrValue } from './utils';
|
|
4
|
-
export default function colorBins({
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
export default function colorBins(_ref) {
|
|
5
|
+
let {
|
|
6
|
+
attr,
|
|
7
|
+
domain,
|
|
8
|
+
colors = DEFAULT_PALETTE,
|
|
9
|
+
nullColor = NULL_COLOR
|
|
10
|
+
} = _ref;
|
|
10
11
|
assert(Array.isArray(domain), 'Expected "domain" to be an array of numbers');
|
|
11
12
|
const palette = typeof colors === 'string' ? getPalette(colors, domain.length) : colors;
|
|
12
13
|
const color = scaleThreshold().domain(domain).range(palette);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/style/color-bins-style.js"],"names":["scaleThreshold","getPalette","DEFAULT_PALETTE","NULL_COLOR","assert","getAttrValue","colorBins","attr","domain","colors","nullColor","Array","isArray","palette","length","color","range","d","value","Number","isFinite"],"mappings":"AAAA,SAAQA,cAAR,QAA6B,UAA7B;AACA,OAAOC,UAAP,IAAoBC,eAApB,EAAqCC,UAArC,QAAsD,WAAtD;AACA,SAAQC,MAAR,EAAgBC,YAAhB,QAAmC,SAAnC;AAEA,eAAe,SAASC,SAAT,
|
|
1
|
+
{"version":3,"sources":["../../../src/style/color-bins-style.js"],"names":["scaleThreshold","getPalette","DEFAULT_PALETTE","NULL_COLOR","assert","getAttrValue","colorBins","attr","domain","colors","nullColor","Array","isArray","palette","length","color","range","d","value","Number","isFinite"],"mappings":"AAAA,SAAQA,cAAR,QAA6B,UAA7B;AACA,OAAOC,UAAP,IAAoBC,eAApB,EAAqCC,UAArC,QAAsD,WAAtD;AACA,SAAQC,MAAR,EAAgBC,YAAhB,QAAmC,SAAnC;AAEA,eAAe,SAASC,SAAT,OAKZ;AAAA,MAL+B;AAChCC,IAAAA,IADgC;AAEhCC,IAAAA,MAFgC;AAGhCC,IAAAA,MAAM,GAAGP,eAHuB;AAIhCQ,IAAAA,SAAS,GAAGP;AAJoB,GAK/B;AACDC,EAAAA,MAAM,CAACO,KAAK,CAACC,OAAN,CAAcJ,MAAd,CAAD,EAAwB,6CAAxB,CAAN;AAEA,QAAMK,OAAO,GAAG,OAAOJ,MAAP,KAAkB,QAAlB,GAA6BR,UAAU,CAACQ,MAAD,EAASD,MAAM,CAACM,MAAhB,CAAvC,GAAiEL,MAAjF;AAEA,QAAMM,KAAK,GAAGf,cAAc,GACzBQ,MADW,CACJA,MADI,EAEXQ,KAFW,CAELH,OAFK,CAAd;AAIA,SAAOI,CAAC,IAAI;AACV,UAAMC,KAAK,GAAGb,YAAY,CAACE,IAAD,EAAOU,CAAP,CAA1B;AACA,WAAOE,MAAM,CAACC,QAAP,CAAgBF,KAAhB,IAAyBH,KAAK,CAACG,KAAD,CAA9B,GAAwCR,SAA/C;AACD,GAHD;AAID","sourcesContent":["import {scaleThreshold} from 'd3-scale';\nimport getPalette, {DEFAULT_PALETTE, NULL_COLOR} from './palette';\nimport {assert, getAttrValue} from './utils';\n\nexport default function colorBins({\n attr,\n domain,\n colors = DEFAULT_PALETTE,\n nullColor = NULL_COLOR\n}) {\n assert(Array.isArray(domain), 'Expected \"domain\" to be an array of numbers');\n\n const palette = typeof colors === 'string' ? getPalette(colors, domain.length) : colors;\n\n const color = scaleThreshold()\n .domain(domain)\n .range(palette);\n\n return d => {\n const value = getAttrValue(attr, d);\n return Number.isFinite(value) ? color(value) : nullColor;\n };\n}\n"],"file":"color-bins-style.js"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import getPalette, { DEFAULT_PALETTE, NULL_COLOR, OTHERS_COLOR } from './palette';
|
|
2
2
|
import { assert, getAttrValue } from './utils';
|
|
3
|
-
export default function colorCategories({
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
export default function colorCategories(_ref) {
|
|
4
|
+
let {
|
|
5
|
+
attr,
|
|
6
|
+
domain,
|
|
7
|
+
colors = DEFAULT_PALETTE,
|
|
8
|
+
nullColor = NULL_COLOR,
|
|
9
|
+
othersColor = OTHERS_COLOR
|
|
10
|
+
} = _ref;
|
|
10
11
|
assert(Array.isArray(domain), 'Expected "domain" to be an array of numbers or strings');
|
|
11
12
|
const colorsByCategory = {};
|
|
12
13
|
const palette = typeof colors === 'string' ? getPalette(colors, domain.length) : colors;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/style/color-categories-style.js"],"names":["getPalette","DEFAULT_PALETTE","NULL_COLOR","OTHERS_COLOR","assert","getAttrValue","colorCategories","attr","domain","colors","nullColor","othersColor","Array","isArray","colorsByCategory","palette","length","i","c","entries","d","value","Number","isFinite"],"mappings":"AAAA,OAAOA,UAAP,IAAoBC,eAApB,EAAqCC,UAArC,EAAiDC,YAAjD,QAAoE,WAApE;AACA,SAAQC,MAAR,EAAgBC,YAAhB,QAAmC,SAAnC;AAEA,eAAe,SAASC,eAAT,
|
|
1
|
+
{"version":3,"sources":["../../../src/style/color-categories-style.js"],"names":["getPalette","DEFAULT_PALETTE","NULL_COLOR","OTHERS_COLOR","assert","getAttrValue","colorCategories","attr","domain","colors","nullColor","othersColor","Array","isArray","colorsByCategory","palette","length","i","c","entries","d","value","Number","isFinite"],"mappings":"AAAA,OAAOA,UAAP,IAAoBC,eAApB,EAAqCC,UAArC,EAAiDC,YAAjD,QAAoE,WAApE;AACA,SAAQC,MAAR,EAAgBC,YAAhB,QAAmC,SAAnC;AAEA,eAAe,SAASC,eAAT,OAMZ;AAAA,MANqC;AACtCC,IAAAA,IADsC;AAEtCC,IAAAA,MAFsC;AAGtCC,IAAAA,MAAM,GAAGR,eAH6B;AAItCS,IAAAA,SAAS,GAAGR,UAJ0B;AAKtCS,IAAAA,WAAW,GAAGR;AALwB,GAMrC;AACDC,EAAAA,MAAM,CAACQ,KAAK,CAACC,OAAN,CAAcL,MAAd,CAAD,EAAwB,wDAAxB,CAAN;AAEA,QAAMM,gBAAgB,GAAG,EAAzB;AACA,QAAMC,OAAO,GAAG,OAAON,MAAP,KAAkB,QAAlB,GAA6BT,UAAU,CAACS,MAAD,EAASD,MAAM,CAACQ,MAAhB,CAAvC,GAAiEP,MAAjF;;AAEA,OAAK,MAAM,CAACQ,CAAD,EAAIC,CAAJ,CAAX,IAAqBV,MAAM,CAACW,OAAP,EAArB,EAAuC;AACrCL,IAAAA,gBAAgB,CAACI,CAAD,CAAhB,GAAsBH,OAAO,CAACE,CAAD,CAA7B;AACD;;AAED,SAAOG,CAAC,IAAI;AACV,UAAMC,KAAK,GAAGhB,YAAY,CAACE,IAAD,EAAOa,CAAP,CAA1B;AACA,WAAOE,MAAM,CAACC,QAAP,CAAgBF,KAAhB,KAA0B,OAAOA,KAAP,KAAiB,QAA3C,GACHP,gBAAgB,CAACO,KAAD,CAAhB,IAA2BV,WADxB,GAEHD,SAFJ;AAGD,GALD;AAMD","sourcesContent":["import getPalette, {DEFAULT_PALETTE, NULL_COLOR, OTHERS_COLOR} from './palette';\nimport {assert, getAttrValue} from './utils';\n\nexport default function colorCategories({\n attr,\n domain,\n colors = DEFAULT_PALETTE,\n nullColor = NULL_COLOR,\n othersColor = OTHERS_COLOR\n}) {\n assert(Array.isArray(domain), 'Expected \"domain\" to be an array of numbers or strings');\n\n const colorsByCategory = {};\n const palette = typeof colors === 'string' ? getPalette(colors, domain.length) : colors;\n\n for (const [i, c] of domain.entries()) {\n colorsByCategory[c] = palette[i];\n }\n\n return d => {\n const value = getAttrValue(attr, d);\n return Number.isFinite(value) || typeof value === 'string'\n ? colorsByCategory[value] || othersColor\n : nullColor;\n };\n}\n"],"file":"color-categories-style.js"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { scaleLinear } from 'd3-scale';
|
|
2
2
|
import getPalette, { DEFAULT_PALETTE, NULL_COLOR } from './palette';
|
|
3
3
|
import { assert, getAttrValue } from './utils';
|
|
4
|
-
export default function colorContinuous({
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
export default function colorContinuous(_ref) {
|
|
5
|
+
let {
|
|
6
|
+
attr,
|
|
7
|
+
domain,
|
|
8
|
+
colors = DEFAULT_PALETTE,
|
|
9
|
+
nullColor = NULL_COLOR
|
|
10
|
+
} = _ref;
|
|
10
11
|
assert(Array.isArray(domain), 'Expected "domain" to be an array of numbers');
|
|
11
12
|
const palette = typeof colors === 'string' ? getPalette(colors) : colors;
|
|
12
13
|
const color = scaleLinear().domain(domain).range(palette);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/style/color-continuous-style.js"],"names":["scaleLinear","getPalette","DEFAULT_PALETTE","NULL_COLOR","assert","getAttrValue","colorContinuous","attr","domain","colors","nullColor","Array","isArray","palette","color","range","d","value","Number","isFinite"],"mappings":"AAAA,SAAQA,WAAR,QAA0B,UAA1B;AACA,OAAOC,UAAP,IAAoBC,eAApB,EAAqCC,UAArC,QAAsD,WAAtD;AACA,SAAQC,MAAR,EAAgBC,YAAhB,QAAmC,SAAnC;AAEA,eAAe,SAASC,eAAT,
|
|
1
|
+
{"version":3,"sources":["../../../src/style/color-continuous-style.js"],"names":["scaleLinear","getPalette","DEFAULT_PALETTE","NULL_COLOR","assert","getAttrValue","colorContinuous","attr","domain","colors","nullColor","Array","isArray","palette","color","range","d","value","Number","isFinite"],"mappings":"AAAA,SAAQA,WAAR,QAA0B,UAA1B;AACA,OAAOC,UAAP,IAAoBC,eAApB,EAAqCC,UAArC,QAAsD,WAAtD;AACA,SAAQC,MAAR,EAAgBC,YAAhB,QAAmC,SAAnC;AAEA,eAAe,SAASC,eAAT,OAKZ;AAAA,MALqC;AACtCC,IAAAA,IADsC;AAEtCC,IAAAA,MAFsC;AAGtCC,IAAAA,MAAM,GAAGP,eAH6B;AAItCQ,IAAAA,SAAS,GAAGP;AAJ0B,GAKrC;AACDC,EAAAA,MAAM,CAACO,KAAK,CAACC,OAAN,CAAcJ,MAAd,CAAD,EAAwB,6CAAxB,CAAN;AAEA,QAAMK,OAAO,GAAG,OAAOJ,MAAP,KAAkB,QAAlB,GAA6BR,UAAU,CAACQ,MAAD,CAAvC,GAAkDA,MAAlE;AACA,QAAMK,KAAK,GAAGd,WAAW,GACtBQ,MADW,CACJA,MADI,EAEXO,KAFW,CAELF,OAFK,CAAd;AAIA,SAAOG,CAAC,IAAI;AACV,UAAMC,KAAK,GAAGZ,YAAY,CAACE,IAAD,EAAOS,CAAP,CAA1B;AACA,WAAOE,MAAM,CAACC,QAAP,CAAgBF,KAAhB,IAAyBH,KAAK,CAACG,KAAD,CAA9B,GAAwCP,SAA/C;AACD,GAHD;AAID","sourcesContent":["import {scaleLinear} from 'd3-scale';\nimport getPalette, {DEFAULT_PALETTE, NULL_COLOR} from './palette';\nimport {assert, getAttrValue} from './utils';\n\nexport default function colorContinuous({\n attr,\n domain,\n colors = DEFAULT_PALETTE,\n nullColor = NULL_COLOR\n}) {\n assert(Array.isArray(domain), 'Expected \"domain\" to be an array of numbers');\n\n const palette = typeof colors === 'string' ? getPalette(colors) : colors;\n const color = scaleLinear()\n .domain(domain)\n .range(palette);\n\n return d => {\n const value = getAttrValue(attr, d);\n return Number.isFinite(value) ? color(value) : nullColor;\n };\n}\n"],"file":"color-continuous-style.js"}
|
package/dist/esm/style/utils.js
CHANGED
|
@@ -13,7 +13,9 @@ export function getAttrValue(attr, d) {
|
|
|
13
13
|
|
|
14
14
|
return {};
|
|
15
15
|
}
|
|
16
|
-
export function assert(condition
|
|
16
|
+
export function assert(condition) {
|
|
17
|
+
let message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
18
|
+
|
|
17
19
|
if (!condition) {
|
|
18
20
|
throw new Error("CARTO style error: ".concat(message));
|
|
19
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/style/utils.js"],"names":["ALLOWED_ATTR_TYPES","Object","freeze","getAttrValue","attr","d","assert","includes","properties","condition","message","Error"],"mappings":"AAAA,MAAMA,kBAAkB,GAAGC,MAAM,CAACC,MAAP,CAAc,CAAC,UAAD,EAAa,QAAb,CAAd,CAA3B;AAEA,OAAO,SAASC,YAAT,CAAsBC,IAAtB,EAA4BC,CAA5B,EAA+B;AACpCC,EAAAA,MAAM,CAAC,OAAOD,CAAP,KAAa,QAAd,EAAwB,iCAAxB,CAAN;AACAC,EAAAA,MAAM,CAACN,kBAAkB,CAACO,QAAnB,CAA4B,OAAOH,IAAnC,CAAD,EAA2C,4CAA3C,CAAN;;AAGA,MAAI,OAAOA,IAAP,KAAgBJ,kBAAkB,CAAC,CAAD,CAAtC,EAA2C;AACzC,WAAOI,IAAI,CAACC,CAAD,CAAX;AACD;;AAGD,MAAI,OAAOD,IAAP,KAAgBJ,kBAAkB,CAAC,CAAD,CAAtC,EAA2C;AACzC,WAAOK,CAAC,CAACG,UAAF,CAAaJ,IAAb,CAAP;AACD;;AAED,SAAO,EAAP;AACD;AAED,OAAO,SAASE,MAAT,CAAgBG,SAAhB,
|
|
1
|
+
{"version":3,"sources":["../../../src/style/utils.js"],"names":["ALLOWED_ATTR_TYPES","Object","freeze","getAttrValue","attr","d","assert","includes","properties","condition","message","Error"],"mappings":"AAAA,MAAMA,kBAAkB,GAAGC,MAAM,CAACC,MAAP,CAAc,CAAC,UAAD,EAAa,QAAb,CAAd,CAA3B;AAEA,OAAO,SAASC,YAAT,CAAsBC,IAAtB,EAA4BC,CAA5B,EAA+B;AACpCC,EAAAA,MAAM,CAAC,OAAOD,CAAP,KAAa,QAAd,EAAwB,iCAAxB,CAAN;AACAC,EAAAA,MAAM,CAACN,kBAAkB,CAACO,QAAnB,CAA4B,OAAOH,IAAnC,CAAD,EAA2C,4CAA3C,CAAN;;AAGA,MAAI,OAAOA,IAAP,KAAgBJ,kBAAkB,CAAC,CAAD,CAAtC,EAA2C;AACzC,WAAOI,IAAI,CAACC,CAAD,CAAX;AACD;;AAGD,MAAI,OAAOD,IAAP,KAAgBJ,kBAAkB,CAAC,CAAD,CAAtC,EAA2C;AACzC,WAAOK,CAAC,CAACG,UAAF,CAAaJ,IAAb,CAAP;AACD;;AAED,SAAO,EAAP;AACD;AAED,OAAO,SAASE,MAAT,CAAgBG,SAAhB,EAAyC;AAAA,MAAdC,OAAc,uEAAJ,EAAI;;AAC9C,MAAI,CAACD,SAAL,EAAgB;AACd,UAAM,IAAIE,KAAJ,8BAAgCD,OAAhC,EAAN;AACD;AACF","sourcesContent":["const ALLOWED_ATTR_TYPES = Object.freeze(['function', 'string']);\n\nexport function getAttrValue(attr, d) {\n assert(typeof d === 'object', 'Expected \"data\" to be an object');\n assert(ALLOWED_ATTR_TYPES.includes(typeof attr), 'Expected \"attr\" to be a function or string');\n\n // Is function\n if (typeof attr === ALLOWED_ATTR_TYPES[0]) {\n return attr(d);\n }\n\n // Is string\n if (typeof attr === ALLOWED_ATTR_TYPES[1]) {\n return d.properties[attr];\n }\n\n return {};\n}\n\nexport function assert(condition, message = '') {\n if (!condition) {\n throw new Error(`CARTO style error: ${message}`);\n }\n}\n"],"file":"utils.js"}
|