This commit is contained in:
@@ -51,6 +51,7 @@ export class TraitBuilder<
|
|||||||
private readonly traitApply: (Super: AbstractClass<object>) => ImplClass,
|
private readonly traitApply: (Super: AbstractClass<object>) => ImplClass,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
|
// TODO: consider "implements" as a name?
|
||||||
abstract<A extends Abstract>(
|
abstract<A extends Abstract>(
|
||||||
_: (Super: AbstractClass<Abstract>) => AbstractClass<A, []>
|
_: (Super: AbstractClass<Abstract>) => AbstractClass<A, []>
|
||||||
) {
|
) {
|
||||||
@@ -62,6 +63,7 @@ export class TraitBuilder<
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: consider "staticImplements" as a name?
|
||||||
staticAbstract<A extends StaticAbstract>(
|
staticAbstract<A extends StaticAbstract>(
|
||||||
_: (Super: AbstractClass<StaticAbstract>) => AbstractClass<A, []>
|
_: (Super: AbstractClass<StaticAbstract>) => AbstractClass<A, []>
|
||||||
) {
|
) {
|
||||||
@@ -73,6 +75,7 @@ export class TraitBuilder<
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: consider "impl" as a name?
|
||||||
implement<
|
implement<
|
||||||
ImplClassWithAbstract extends ImplSuper<typeof this> // TODO: find a way to set the constraint to concrete classes while keeping the Super arg as an abstract class
|
ImplClassWithAbstract extends ImplSuper<typeof this> // TODO: find a way to set the constraint to concrete classes while keeping the Super arg as an abstract class
|
||||||
>(
|
>(
|
||||||
|
|||||||
Reference in New Issue
Block a user