Files
openlayers/src/ol/proj/projections.js
Florent gravin 5d8aa85caa Use regexp replacements in ol.proj.get
This avoids to have to many redundant identifier definitions for each projection and ensure to cover most of the existing srsNames
2020-09-08 17:33:07 +02:00

38 lines
775 B
JavaScript

/**
* @module ol/proj/projections
*/
/**
* @type {Object<string, import("./Projection.js").default>}
*/
let cache = {};
/**
* Clear the projections cache.
*/
export function clear() {
cache = {};
}
/**
* Get a cached projection by code.
* @param {string} code The code for the projection.
* @return {import("./Projection.js").default} The projection (if cached).
*/
export function get(code) {
return (
cache[code] ||
cache[code.replace(/urn:(x-)?ogc:def:crs:EPSG:(.*:)?(\w+)$/, 'EPSG:$3')] ||
null
);
}
/**
* Add a projection to the cache.
* @param {string} code The projection code.
* @param {import("./Projection.js").default} projection The projection to cache.
*/
export function add(code, projection) {
cache[code] = projection;
}