UNPKG

@loaders.gl/core

Version:

Framework-independent loaders for 3D graphics formats

38 lines (33 loc) 1.25 kB
import { isFileReadable } from '../javascript-utils/is-type'; import { fetchFile } from './fetch/fetch-file'; import { isLoaderObject } from './loader-utils/normalize-loader'; import { mergeLoaderAndUserOptions } from './loader-utils/normalize-options'; import { selectLoader } from './select-loader'; import { parse } from './parse'; import { parseInBatches } from './parse-in-batches'; export async function loadInBatches(url, loaders, options) { const response = await fetchFile(url, options); return parseInBatches(response, loaders, options, url); } export async function load(url, loaders, options) { if (!Array.isArray(loaders) && !isLoaderObject(loaders)) { options = loaders; loaders = null; } const autoUrl = isFileReadable(url) ? url.name : url; const loader = selectLoader(loaders, autoUrl, null, { nothrow: true }); if (loader) { if (loader.loadAndParse) { const loaderOptions = mergeLoaderAndUserOptions(options, loader); return await loader.loadAndParse(url, loaderOptions); } } let data = url; if (isFileReadable(data) || typeof data === 'string') { data = await fetchFile(url, options); } return parse(data, loaders, options, url); } //# sourceMappingURL=load.js.map