This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { AbstractClass, Class, Simplify } from "type-fest"
|
||||
import { Trait, TraitInstance, TraitStaticMembers, TraitTuple } from "./Trait"
|
||||
import { TraitBuilder } from "./TraitBuilder"
|
||||
import { ExtendPlain, StaticMembers } from "./util"
|
||||
import { Extend, StaticMembers } from "./util"
|
||||
|
||||
|
||||
export class TraitExpression<
|
||||
@@ -16,7 +16,7 @@ export class TraitExpression<
|
||||
get extends(): (
|
||||
AbstractClass<
|
||||
Simplify<
|
||||
ExtendPlain<[
|
||||
Extend<[
|
||||
InstanceType<Superclass>,
|
||||
...TraitTuple.MapImplInstance<Traits>,
|
||||
]>
|
||||
@@ -26,7 +26,7 @@ export class TraitExpression<
|
||||
> &
|
||||
|
||||
Simplify<
|
||||
ExtendPlain<[
|
||||
Extend<[
|
||||
StaticMembers<Superclass>,
|
||||
...TraitTuple.MapImplStaticMembers<Traits>,
|
||||
]>
|
||||
@@ -49,19 +49,19 @@ export class TraitExpression<
|
||||
This,
|
||||
|
||||
Simplify<
|
||||
ExtendPlain<TraitTuple.MapAbstract<Traits>>
|
||||
Extend<TraitTuple.MapAbstract<Traits>>
|
||||
>,
|
||||
Simplify<
|
||||
ExtendPlain<TraitTuple.MapStaticAbstract<Traits>>
|
||||
Extend<TraitTuple.MapStaticAbstract<Traits>>
|
||||
>,
|
||||
|
||||
AbstractClass<
|
||||
Simplify<
|
||||
ExtendPlain<TraitTuple.MapImplInstance<Traits>>
|
||||
Extend<TraitTuple.MapImplInstance<Traits>>
|
||||
>
|
||||
> &
|
||||
Simplify<
|
||||
ExtendPlain<TraitTuple.MapImplStaticMembers<Traits>>
|
||||
Extend<TraitTuple.MapImplStaticMembers<Traits>>
|
||||
>
|
||||
>(
|
||||
this,
|
||||
@@ -96,7 +96,7 @@ export type Implements<
|
||||
Exp extends TraitExpression<any, Trait<any, any, any, any>[]>
|
||||
> = (
|
||||
Simplify<
|
||||
ExtendPlain<
|
||||
Extend<
|
||||
TraitTuple.MapAbstract<
|
||||
TraitExpression.Traits<Exp>
|
||||
>
|
||||
@@ -108,7 +108,7 @@ export type ImplementsStatic<
|
||||
Exp extends TraitExpression<any, Trait<any, any, any, any>[]>
|
||||
> = (
|
||||
Simplify<
|
||||
ExtendPlain<
|
||||
Extend<
|
||||
TraitTuple.MapStaticAbstract<
|
||||
TraitExpression.Traits<Exp>
|
||||
>
|
||||
@@ -141,7 +141,7 @@ export type TraitExpressionInstance<
|
||||
Exp extends TraitExpression<any, Trait<any, any, any, any>[]>
|
||||
> = (
|
||||
Simplify<
|
||||
ExtendPlain<[
|
||||
Extend<[
|
||||
InstanceType<TraitExpression.Superclass<Exp>>,
|
||||
...MapTraitsInstance<TraitExpression.Traits<Exp>>,
|
||||
]>
|
||||
@@ -159,7 +159,7 @@ export type TraitExpressionStaticMembers<
|
||||
Exp extends TraitExpression<any, Trait<any, any, any, any>[]>
|
||||
> = (
|
||||
Simplify<
|
||||
ExtendPlain<[
|
||||
Extend<[
|
||||
StaticMembers<TraitExpression.Superclass<Exp>>,
|
||||
...MapTraitsStaticMembers<TraitExpression.Traits<Exp>>,
|
||||
]>
|
||||
|
||||
Reference in New Issue
Block a user