UNPKG

kepler.gl

Version:

kepler.gl is a webgl based application to visualize large scale location data in the browser

81 lines (76 loc) 9.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getBaseMapLibrary = void 0; exports.isStyleUsingMapboxTiles = isStyleUsingMapboxTiles; exports.isStyleUsingOpenStreetMapTiles = isStyleUsingOpenStreetMapTiles; exports.transformRequest = void 0; var _constants = require("@kepler.gl/constants"); // SPDX-License-Identifier: MIT // Copyright contributors to the kepler.gl project // import {isMapboxURL, transformMapboxUrl} from 'maplibregl-mapbox-request-transformer'; /** * Determines whether a Map Style is using Mapbox Tiles * @param {any} mapStyle the mapStyle to check * @returns true if the style is using Mapbox tiles */ function isStyleUsingMapboxTiles(mapStyle) { var _mapStyle$stylesheet; var sources = ((_mapStyle$stylesheet = mapStyle.stylesheet) === null || _mapStyle$stylesheet === void 0 ? void 0 : _mapStyle$stylesheet.sources) || {}; return Object.keys(sources).some(function (sourceId) { var _ref = sources[sourceId] || {}, url = _ref.url, tiles = _ref.tiles; if (url) { return url.toLowerCase().startsWith('mapbox://'); } if (tiles) { return tiles.some(function (tileUrl) { return tileUrl.toLowerCase().startsWith('mapbox://'); }); } return false; }); } function isStyleUsingOpenStreetMapTiles(mapStyle) { var _mapStyle$stylesheet2; var sources = (mapStyle === null || mapStyle === void 0 || (_mapStyle$stylesheet2 = mapStyle.stylesheet) === null || _mapStyle$stylesheet2 === void 0 ? void 0 : _mapStyle$stylesheet2.sources) || {}; return Object.keys(sources).some(function (sourceId) { var _ref2 = sources[sourceId] || {}, attribution = _ref2.attribution; if (typeof (attribution === null || attribution === void 0 ? void 0 : attribution.attribution) === 'string') { return attribution.attribution.includes('openstreetmap.org'); } return false; }); } /** * Transform mapbox protocol so can be used with maplibre * @param mapboxKey mapbox api key * @returns transformed url */ var transformRequest = exports.transformRequest = function transformRequest(_mapboxKey) { return function (url, _resourceType) { /* if (isMapboxURL(url)) { // ! TODO - use MapBox directly? return transformMapboxUrl(url, resourceType, mapboxKey); } */ return { url: url }; }; }; var getBaseMapLibrary = exports.getBaseMapLibrary = function getBaseMapLibrary(baseMapStyle) { if (baseMapStyle) { var _baseMapStyle$url, _baseMapStyle$url2, _baseMapStyle$style; if ((_baseMapStyle$url = baseMapStyle.url) !== null && _baseMapStyle$url !== void 0 && _baseMapStyle$url.startsWith('mapbox://') || (_baseMapStyle$url2 = baseMapStyle.url) !== null && _baseMapStyle$url2 !== void 0 && _baseMapStyle$url2.includes('mapbox.com')) { return _constants.MAP_LIB_OPTIONS.MAPBOX; } if ((_baseMapStyle$style = baseMapStyle.style) !== null && _baseMapStyle$style !== void 0 && (_baseMapStyle$style = _baseMapStyle$style.sources) !== null && _baseMapStyle$style !== void 0 && _baseMapStyle$style['mapbox']) return _constants.MAP_LIB_OPTIONS.MAPBOX; } return _constants.MAP_LIB_OPTIONS.MAPLIBRE; }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29uc3RhbnRzIiwicmVxdWlyZSIsImlzU3R5bGVVc2luZ01hcGJveFRpbGVzIiwibWFwU3R5bGUiLCJfbWFwU3R5bGUkc3R5bGVzaGVldCIsInNvdXJjZXMiLCJzdHlsZXNoZWV0IiwiT2JqZWN0Iiwia2V5cyIsInNvbWUiLCJzb3VyY2VJZCIsIl9yZWYiLCJ1cmwiLCJ0aWxlcyIsInRvTG93ZXJDYXNlIiwic3RhcnRzV2l0aCIsInRpbGVVcmwiLCJpc1N0eWxlVXNpbmdPcGVuU3RyZWV0TWFwVGlsZXMiLCJfbWFwU3R5bGUkc3R5bGVzaGVldDIiLCJfcmVmMiIsImF0dHJpYnV0aW9uIiwiaW5jbHVkZXMiLCJ0cmFuc2Zvcm1SZXF1ZXN0IiwiZXhwb3J0cyIsIl9tYXBib3hLZXkiLCJfcmVzb3VyY2VUeXBlIiwiZ2V0QmFzZU1hcExpYnJhcnkiLCJiYXNlTWFwU3R5bGUiLCJfYmFzZU1hcFN0eWxlJHVybCIsIl9iYXNlTWFwU3R5bGUkdXJsMiIsIl9iYXNlTWFwU3R5bGUkc3R5bGUiLCJNQVBfTElCX09QVElPTlMiLCJNQVBCT1giLCJzdHlsZSIsIk1BUExJQlJFIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC1zdHlsZS11dGlscy9tYXBib3gtdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuLy8gaW1wb3J0IHtpc01hcGJveFVSTCwgdHJhbnNmb3JtTWFwYm94VXJsfSBmcm9tICdtYXBsaWJyZWdsLW1hcGJveC1yZXF1ZXN0LXRyYW5zZm9ybWVyJztcblxuaW1wb3J0IHtNQVBfTElCX09QVElPTlMsIEJhc2VNYXBMaWJyYXJ5VHlwZX0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIE1hcCBTdHlsZSBpcyB1c2luZyBNYXBib3ggVGlsZXNcbiAqIEBwYXJhbSB7YW55fSBtYXBTdHlsZSB0aGUgbWFwU3R5bGUgdG8gY2hlY2tcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIHN0eWxlIGlzIHVzaW5nIE1hcGJveCB0aWxlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTdHlsZVVzaW5nTWFwYm94VGlsZXMobWFwU3R5bGUpIHtcbiAgY29uc3Qgc291cmNlcyA9IG1hcFN0eWxlLnN0eWxlc2hlZXQ/LnNvdXJjZXMgfHwge307XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKHNvdXJjZXMpLnNvbWUoc291cmNlSWQgPT4ge1xuICAgIGNvbnN0IHt1cmwsIHRpbGVzfSA9IHNvdXJjZXNbc291cmNlSWRdIHx8IHt9O1xuXG4gICAgaWYgKHVybCkge1xuICAgICAgcmV0dXJuIHVybC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJ21hcGJveDovLycpO1xuICAgIH1cblxuICAgIGlmICh0aWxlcykge1xuICAgICAgcmV0dXJuIHRpbGVzLnNvbWUodGlsZVVybCA9PiB0aWxlVXJsLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnbWFwYm94Oi8vJykpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0eWxlVXNpbmdPcGVuU3RyZWV0TWFwVGlsZXMobWFwU3R5bGU6IGFueSkge1xuICBjb25zdCBzb3VyY2VzID0gbWFwU3R5bGU/LnN0eWxlc2hlZXQ/LnNvdXJjZXMgfHwge307XG4gIHJldHVybiBPYmplY3Qua2V5cyhzb3VyY2VzKS5zb21lKHNvdXJjZUlkID0+IHtcbiAgICBjb25zdCB7YXR0cmlidXRpb259ID0gc291cmNlc1tzb3VyY2VJZF0gfHwge307XG4gICAgaWYgKHR5cGVvZiBhdHRyaWJ1dGlvbj8uYXR0cmlidXRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gYXR0cmlidXRpb24uYXR0cmlidXRpb24uaW5jbHVkZXMoJ29wZW5zdHJlZXRtYXAub3JnJyk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfSk7XG59XG5cbi8qKlxuICogVHJhbnNmb3JtIG1hcGJveCBwcm90b2NvbCBzbyBjYW4gYmUgdXNlZCB3aXRoIG1hcGxpYnJlXG4gKiBAcGFyYW0gbWFwYm94S2V5IG1hcGJveCBhcGkga2V5XG4gKiBAcmV0dXJucyB0cmFuc2Zvcm1lZCB1cmxcbiAqL1xuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybVJlcXVlc3QgPSAoXG4gIF9tYXBib3hLZXk6IHN0cmluZ1xuKTogKCh1cmw6IHN0cmluZywgcmVzb3VyY2VUeXBlOiBzdHJpbmcpID0+IHt1cmw6IHN0cmluZ30pID0+IHtcbiAgcmV0dXJuICh1cmw6IHN0cmluZywgX3Jlc291cmNlVHlwZTogc3RyaW5nKSA9PiB7XG4gICAgLypcbiAgICBpZiAoaXNNYXBib3hVUkwodXJsKSkge1xuICAgICAgLy8gISBUT0RPIC0gdXNlIE1hcEJveCBkaXJlY3RseT9cbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NYXBib3hVcmwodXJsLCByZXNvdXJjZVR5cGUsIG1hcGJveEtleSk7XG4gICAgfVxuICAgICovXG5cbiAgICByZXR1cm4ge3VybH07XG4gIH07XG59O1xuXG50eXBlIFN0eWxlV2l0aFNvdXJjZXMgPSB7XG4gIHNvdXJjZXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEJhc2VNYXBMaWJyYXJ5ID0gKGJhc2VNYXBTdHlsZT86IHtcbiAgdXJsPzogc3RyaW5nIHwgbnVsbDtcbiAgc3R5bGU/OiBhbnk7XG59KTogQmFzZU1hcExpYnJhcnlUeXBlID0+IHtcbiAgaWYgKGJhc2VNYXBTdHlsZSkge1xuICAgIGlmIChiYXNlTWFwU3R5bGUudXJsPy5zdGFydHNXaXRoKCdtYXBib3g6Ly8nKSB8fCBiYXNlTWFwU3R5bGUudXJsPy5pbmNsdWRlcygnbWFwYm94LmNvbScpKSB7XG4gICAgICByZXR1cm4gTUFQX0xJQl9PUFRJT05TLk1BUEJPWDtcbiAgICB9XG5cbiAgICBpZiAoKGJhc2VNYXBTdHlsZS5zdHlsZSBhcyBTdHlsZVdpdGhTb3VyY2VzKT8uc291cmNlcz8uWydtYXBib3gnXSlcbiAgICAgIHJldHVybiBNQVBfTElCX09QVElPTlMuTUFQQk9YO1xuICB9XG5cbiAgcmV0dXJuIE1BUF9MSUJfT1BUSU9OUy5NQVBMSUJSRTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUtBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUxBO0FBQ0E7O0FBRUE7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNDLHVCQUF1QkEsQ0FBQ0MsUUFBUSxFQUFFO0VBQUEsSUFBQUMsb0JBQUE7RUFDaEQsSUFBTUMsT0FBTyxHQUFHLEVBQUFELG9CQUFBLEdBQUFELFFBQVEsQ0FBQ0csVUFBVSxjQUFBRixvQkFBQSx1QkFBbkJBLG9CQUFBLENBQXFCQyxPQUFPLEtBQUksQ0FBQyxDQUFDO0VBRWxELE9BQU9FLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDSCxPQUFPLENBQUMsQ0FBQ0ksSUFBSSxDQUFDLFVBQUFDLFFBQVEsRUFBSTtJQUMzQyxJQUFBQyxJQUFBLEdBQXFCTixPQUFPLENBQUNLLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztNQUFyQ0UsR0FBRyxHQUFBRCxJQUFBLENBQUhDLEdBQUc7TUFBRUMsS0FBSyxHQUFBRixJQUFBLENBQUxFLEtBQUs7SUFFakIsSUFBSUQsR0FBRyxFQUFFO01BQ1AsT0FBT0EsR0FBRyxDQUFDRSxXQUFXLENBQUMsQ0FBQyxDQUFDQyxVQUFVLENBQUMsV0FBVyxDQUFDO0lBQ2xEO0lBRUEsSUFBSUYsS0FBSyxFQUFFO01BQ1QsT0FBT0EsS0FBSyxDQUFDSixJQUFJLENBQUMsVUFBQU8sT0FBTztRQUFBLE9BQUlBLE9BQU8sQ0FBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQ0MsVUFBVSxDQUFDLFdBQVcsQ0FBQztNQUFBLEVBQUM7SUFDN0U7SUFFQSxPQUFPLEtBQUs7RUFDZCxDQUFDLENBQUM7QUFDSjtBQUVPLFNBQVNFLDhCQUE4QkEsQ0FBQ2QsUUFBYSxFQUFFO0VBQUEsSUFBQWUscUJBQUE7RUFDNUQsSUFBTWIsT0FBTyxHQUFHLENBQUFGLFFBQVEsYUFBUkEsUUFBUSxnQkFBQWUscUJBQUEsR0FBUmYsUUFBUSxDQUFFRyxVQUFVLGNBQUFZLHFCQUFBLHVCQUFwQkEscUJBQUEsQ0FBc0JiLE9BQU8sS0FBSSxDQUFDLENBQUM7RUFDbkQsT0FBT0UsTUFBTSxDQUFDQyxJQUFJLENBQUNILE9BQU8sQ0FBQyxDQUFDSSxJQUFJLENBQUMsVUFBQUMsUUFBUSxFQUFJO0lBQzNDLElBQUFTLEtBQUEsR0FBc0JkLE9BQU8sQ0FBQ0ssUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO01BQXRDVSxXQUFXLEdBQUFELEtBQUEsQ0FBWEMsV0FBVztJQUNsQixJQUFJLFFBQU9BLFdBQVcsYUFBWEEsV0FBVyx1QkFBWEEsV0FBVyxDQUFFQSxXQUFXLE1BQUssUUFBUSxFQUFFO01BQ2hELE9BQU9BLFdBQVcsQ0FBQ0EsV0FBVyxDQUFDQyxRQUFRLENBQUMsbUJBQW1CLENBQUM7SUFDOUQ7SUFDQSxPQUFPLEtBQUs7RUFDZCxDQUFDLENBQUM7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sSUFBTUMsZ0JBQWdCLEdBQUFDLE9BQUEsQ0FBQUQsZ0JBQUEsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUMzQkUsVUFBa0IsRUFDeUM7RUFDM0QsT0FBTyxVQUFDWixHQUFXLEVBQUVhLGFBQXFCLEVBQUs7SUFDN0M7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztJQUVJLE9BQU87TUFBQ2IsR0FBRyxFQUFIQTtJQUFHLENBQUM7RUFDZCxDQUFDO0FBQ0gsQ0FBQztBQU1NLElBQU1jLGlCQUFpQixHQUFBSCxPQUFBLENBQUFHLGlCQUFBLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUMsWUFHakMsRUFBeUI7RUFDeEIsSUFBSUEsWUFBWSxFQUFFO0lBQUEsSUFBQUMsaUJBQUEsRUFBQUMsa0JBQUEsRUFBQUMsbUJBQUE7SUFDaEIsSUFBSSxDQUFBRixpQkFBQSxHQUFBRCxZQUFZLENBQUNmLEdBQUcsY0FBQWdCLGlCQUFBLGVBQWhCQSxpQkFBQSxDQUFrQmIsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFBYyxrQkFBQSxHQUFJRixZQUFZLENBQUNmLEdBQUcsY0FBQWlCLGtCQUFBLGVBQWhCQSxrQkFBQSxDQUFrQlIsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFO01BQ3pGLE9BQU9VLDBCQUFlLENBQUNDLE1BQU07SUFDL0I7SUFFQSxLQUFBRixtQkFBQSxHQUFLSCxZQUFZLENBQUNNLEtBQUssY0FBQUgsbUJBQUEsZ0JBQUFBLG1CQUFBLEdBQW5CQSxtQkFBQSxDQUEwQ3pCLE9BQU8sY0FBQXlCLG1CQUFBLGVBQWpEQSxtQkFBQSxDQUFvRCxRQUFRLENBQUMsRUFDL0QsT0FBT0MsMEJBQWUsQ0FBQ0MsTUFBTTtFQUNqQztFQUVBLE9BQU9ELDBCQUFlLENBQUNHLFFBQVE7QUFDakMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==