dyomedea/src/components/map/uris.ts

27 lines
675 B
TypeScript
Raw Normal View History

2022-10-17 15:15:24 +00:00
import { route } from 'docuri';
/**
* A [docuri](https://github.com/jo/docuri) route for {@link components/map/types!TileKeyObject}
*
2022-10-17 15:15:24 +00:00
* TODO: update docuri (or write a wrapper) to support datatyping (and formats).
*/
export const tileUri = (rte: any) => {
const r = route('tile/:provider/:zoomLevel(/:x/:y)')(rte);
2022-10-17 15:15:24 +00:00
if (typeof r === 'object') {
return r.x === undefined
? {
provider: r.provider,
zoomLevel: parseInt(r.zoomLevel),
}
: {
provider: r.provider,
zoomLevel: parseInt(r.zoomLevel),
x: parseInt(r.x),
y: parseInt(r.y),
};
2022-10-17 15:15:24 +00:00
}
return r;
};
export default tileUri;