You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
760 B
18 lines
760 B
import {Canonical, CanonicalDefinition} from "./Canonical";
|
|
import {isStaticClass, StaticClass} from "@extollo/di";
|
|
import {InvalidCanonicalExportError} from "./CanonicalInstantiable";
|
|
|
|
export class CanonicalStatic<T, T2> extends Canonical<StaticClass<T, T2>> {
|
|
public async initCanonicalItem(definition: CanonicalDefinition): Promise<StaticClass<T, T2>> {
|
|
if ( isStaticClass(definition.imported.default) ) {
|
|
return definition.imported.default
|
|
}
|
|
|
|
if ( isStaticClass(definition.imported[definition.canonicalName.split(':').reverse()[0]]) ) {
|
|
return definition.imported[definition.canonicalName.split(':').reverse()[0]]
|
|
}
|
|
|
|
throw new InvalidCanonicalExportError(definition.originalName)
|
|
}
|
|
}
|