firebase-tools
Version:
Command-Line Interface for Firebase
38 lines (37 loc) • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.loadStreamJson = loadStreamJson;
const url_1 = require("url");
const importModule = new Function("url", "return import(url)");
const nodeRequire = typeof __webpack_require__ === "function" ? __non_webpack_require__ : require;
async function load(specifier) {
return importModule((0, url_1.pathToFileURL)(nodeRequire.resolve(specifier)).href);
}
let loaded;
function loadStreamJson() {
if (!loaded) {
loaded = (async () => {
const [streamChain, streamJson, pick, filter, streamArray, streamObject] = await Promise.all([
load("stream-chain"),
load("stream-json"),
load("stream-json/filters/pick.js"),
load("stream-json/filters/filter.js"),
load("stream-json/streamers/stream-array.js"),
load("stream-json/streamers/stream-object.js"),
]);
return {
chain: streamChain.chain,
many: streamChain.many,
parser: streamJson.parser,
pick: pick.pick,
filter: filter.filter,
streamArray: streamArray.streamArray,
streamObject: streamObject.streamObject,
};
})();
loaded.catch(() => {
loaded = undefined;
});
}
return loaded;
}