UNPKG

@loaders.gl/core

Version:

Framework-independent loaders for 3D graphics formats

40 lines (33 loc) 1.31 kB
import { selectLoader } from './select-loader'; import { isLoaderObject } from './loader-utils/normalize-loader'; import { mergeLoaderAndUserOptions } from './loader-utils/normalize-options'; import { getArrayBufferOrStringFromDataSync } from './loader-utils/get-data'; import { getLoaderContext } from './loader-utils/get-loader-context'; export function parseSync(data, loaders, options, url) { if (!Array.isArray(loaders) && !isLoaderObject(loaders)) { url = options; options = loaders; loaders = null; } const loader = selectLoader(loaders, url, data); if (!loader) { return null; } options = mergeLoaderAndUserOptions(options, loader); const context = getLoaderContext({ url, parseSync }, options); return parseWithLoaderSync(loader, data, options, context); } function parseWithLoaderSync(loader, data, options, context) { data = getArrayBufferOrStringFromDataSync(data, loader); if (loader.parseTextSync && typeof data === 'string') { return loader.parseTextSync(data, options, context, loader); } if (loader.parseSync) { return loader.parseSync(data, options, context, loader); } throw new Error("Could not parse ".concat(context.url || 'data', " using ").concat(loader.name, " loader")); } //# sourceMappingURL=parse-sync.js.map