ModuleResolverBase.ts
22 lines
| 621 B
| video/mp2t
|
TypeScriptLexer
|
|
r34 | import { argumentNotEmptyString, get } from "../safe"; | ||
| export abstract class ModuleResolverBase { | ||||
| async resolve(typeName: string) { | ||||
| argumentNotEmptyString(typeName, "typeName"); | ||||
|
|
r38 | const [moduleName, localName] = typeName.split("#", 2); | ||
|
|
r34 | |||
|
|
r38 | const moduleObject = await this.loadModule(moduleName); | ||
|
|
r34 | return localName ? get(localName, moduleObject) : moduleObject; | ||
| } | ||||
|
|
r38 | beginBatch() { | ||
| } | ||||
|
|
r34 | |||
|
|
r38 | completeBatch() { | ||
| } | ||||
| abstract loadModule(moduleName: string): PromiseLike<object>; | ||||
| abstract createResolver(moduleName: string, opts?: object): PromiseLike<ModuleResolverBase>; | ||||
| } | ||||
