@versatiles/server
Version:
25 lines (24 loc) • 836 B
JavaScript
import { guessStyle } from '@versatiles/style';
/**
* Asynchronously generates a style string based on the given container and options.
*
* @param {VersaTiles} container - An instance of the VersaTiles container.
* @param {Record<string, any>} serverOptions - An object containing options for style generation.
* @returns {Promise<string>} A promise that resolves to a style string.
*/
export function generateStyle(metadata, serverOptions) {
let tileJSON;
try {
tileJSON = JSON.parse(metadata);
}
catch (_) {
throw Error('invalid metadata');
}
tileJSON.tiles = [serverOptions.tilesUrl];
const style = guessStyle(tileJSON, {
baseUrl: serverOptions.baseUrl,
sprite: serverOptions.sprites,
glyphs: serverOptions.glyphs,
});
return JSON.stringify(style);
}