UNPKG

@loaders.gl/gltf

Version:

Framework-independent loader for the glTF format

25 lines 949 B
// Resolves a relative url against a baseUrl // If url is absolute, return it unchanged export function resolveUrl(url, options, context) { // TODO: Use better logic to handle all protocols plus not delay on data const absolute = url.startsWith('data:') || url.startsWith('http:') || url.startsWith('https:'); if (absolute) { return url; } const baseUrl = context?.baseUrl || getResolveBaseUrl(options?.core?.baseUrl); if (!baseUrl) { throw new Error(`'baseUrl' must be provided to resolve relative url ${url}`); } return baseUrl.endsWith('/') ? `${baseUrl}${url}` : `${baseUrl}/${url}`; } function getResolveBaseUrl(baseUrl) { if (!baseUrl) { return undefined; } if (baseUrl.endsWith('/')) { return baseUrl; } const slashIndex = baseUrl.lastIndexOf('/'); return slashIndex >= 0 ? baseUrl.slice(0, slashIndex + 1) : ''; } //# sourceMappingURL=resolve-url.js.map