##// END OF EJS Templates
Added childContainer service to container services, ServiceContaier is destroyable, fixed browser Uuid version
Added childContainer service to container services, ServiceContaier is destroyable, fixed browser Uuid version

File last commit:

r115:691199f665e0 ioc ts support
r146:f3f5c56d3b3e v1.4.0-rc5 default
Show More
ResolverHelper.ts
33 lines | 1.1 KiB | video/mp2t | TypeScriptLexer
/ src / cjs / ts / di / ResolverHelper.ts
cin
working on support commonjs modules format
r59 import { argumentNotEmptyString } from "../safe";
import { TraceSource } from "../log/TraceSource";
const trace = TraceSource.get(module.id);
const mainModule = require.main;
cin
corrected code to support ts strict mode...
r115 const mainRequire = (id: string) => mainModule ? mainModule.require(id) : require;
cin
working on support commonjs modules format
r59
class ModuleResolver {
cin
corrected code to support ts strict mode...
r115 _base: string | undefined;
cin
working on support commonjs modules format
r59 _require: NodeRequireFunction;
constructor(req: NodeRequireFunction, base?: string) {
this._base = base;
this._require = (req || mainRequire).bind(null);
}
resolve(moduleName: string) {
argumentNotEmptyString(moduleName, "moduleName");
const resolvedName = moduleName[0] === "." && this._base ? [this._base, moduleName].join("/") : moduleName;
trace.debug(`${moduleName} -> ${resolvedName}`);
return this._require(resolvedName);
}
}
export function makeResolver(moduleName: string, contextRequire: NodeRequireFunction) {
const base = moduleName && moduleName.split("/").slice(0, -1).join("/");
const resolver = new ModuleResolver(contextRequire, base);
return (id: string) => resolver.resolve(id);
}