@nestjs-mod/common
Version:
A collection of utilities for unifying NestJS applications and modules
28 lines • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LoadPackageError = void 0;
exports.loadPackage = loadPackage;
const MISSING_REQUIRED_DEPENDENCY = (name) => `The "${name}" package is missing. Please, make sure to install this library ($ npm install ${name}).`;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const loadedPackages = {};
class LoadPackageError extends Error {
constructor(message) {
super(message);
}
}
exports.LoadPackageError = LoadPackageError;
function loadPackage(packageName,
// eslint-disable-next-line @typescript-eslint/ban-types
loaderFn) {
try {
if (!loadedPackages[packageName]) {
const result = loaderFn ? loaderFn() : require(packageName);
loadedPackages[packageName] = result;
}
return loadedPackages[packageName];
}
catch (e) {
throw new LoadPackageError(MISSING_REQUIRED_DEPENDENCY(packageName));
}
}
//# sourceMappingURL=load-package.js.map