UNPKG

@loaders.gl/core

Version:

Framework-independent loaders for 3D graphics formats

52 lines (38 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseSync = parseSync; var _selectLoader = require("./select-loader"); var _normalizeLoader = require("./loader-utils/normalize-loader"); var _normalizeOptions = require("./loader-utils/normalize-options"); var _getData = require("./loader-utils/get-data"); var _getLoaderContext = require("./loader-utils/get-loader-context"); function parseSync(data, loaders, options, url) { if (!Array.isArray(loaders) && !(0, _normalizeLoader.isLoaderObject)(loaders)) { url = options; options = loaders; loaders = null; } var loader = (0, _selectLoader.selectLoader)(loaders, url, data); if (!loader) { return null; } options = (0, _normalizeOptions.mergeLoaderAndUserOptions)(options, loader); var context = (0, _getLoaderContext.getLoaderContext)({ url: url, parseSync: parseSync }, options); return parseWithLoaderSync(loader, data, options, context); } function parseWithLoaderSync(loader, data, options, context) { data = (0, _getData.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