UNPKG

@sanpjs/bundler-webpack

Version:

@sanpjs/bundler-webpack

29 lines 1.15 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); // import MFS from 'memfs'; const memory_fs_1 = __importDefault(require("memory-fs")); class AsyncMFS extends memory_fs_1.default { } exports.default = AsyncMFS; const syncRegex = /Sync$/; const propsToPromisify = Object.getOwnPropertyNames(memory_fs_1.default.prototype).filter(n => n.endsWith('Sync')); for (const prop of propsToPromisify) { const asyncProp = prop.replace(syncRegex, ''); const origAsync = AsyncMFS.prototype[asyncProp]; AsyncMFS.prototype[asyncProp] = function (...args) { // Callback support for webpack if (origAsync && args.length && typeof args[args.length - 1] === 'function') { return origAsync.call(this, ...args); } try { return Promise.resolve(memory_fs_1.default.prototype[prop].call(this, ...args)); } catch (error) { return Promise.reject(error); } }; } //# sourceMappingURL=async-mfs.js.map