nope/lib/loader/nopePackageLoader.nodejs.ts
2022-01-17 19:23:00 +01:00

35 lines
943 B
TypeScript

/**
* @author Martin Karkowski
* @email m.karkowski@zema.de
* @create date 2018-07-01 09:10:35
* @modify date 2022-01-10 16:24:45
* @desc [description]
*/
import { injectable } from "inversify";
import { resolve } from "path";
import "reflect-metadata";
import { IPackageDescription } from "../types/nope/nopePackage.interface";
import { NopePackageLoader } from "./nopePackageLoader";
/**
* Helper Class to Build an inversify Container.
*
* @export
* @class NopePackageLoader
* @implements {INopePackageLoader}
*/
@injectable()
export class NopePackageLoaderFileAccess extends NopePackageLoader {
async loadPackageFile(path: string, useAutostart = true, useInstance = true) {
const loadedPackage = (await import(resolve(path)))
.DESCRIPTION as IPackageDescription<any>;
if (!useAutostart) {
loadedPackage.autostart = {};
}
if (!useInstance) {
loadedPackage.defaultInstances = [];
}
}
}