@graphql-mesh/cli
Version:
32 lines (31 loc) • 1.05 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultImportFn = void 0;
const tslib_1 = require("tslib");
const jiti_1 = tslib_1.__importDefault(require("jiti"));
let jiti;
function getOrCreateImportFn() {
if (!jiti) {
// we instantiate on demand because sometimes jiti is not used
jiti = (0, jiti_1.default)(__filename);
}
return id => jiti.import(id, {});
}
const defaultImportFn = async (id) => {
let module = await getOrCreateImportFn()(id);
if (module.default != null) {
module = module.default;
}
if (typeof module === 'object' && module != null) {
const prototypeOfObject = Object.getPrototypeOf(module);
if (prototypeOfObject == null || prototypeOfObject === Object.prototype) {
const normalizedVal = {};
for (const key in module) {
normalizedVal[key] = module[key];
}
return normalizedVal;
}
}
return module;
};
exports.defaultImportFn = defaultImportFn;
;