extendStaticAbstract
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Julien Valverdé
2024-02-14 22:33:23 +01:00
parent a065daec1e
commit 0b0ca2326c
2 changed files with 21 additions and 20 deletions

View File

@@ -51,20 +51,12 @@ type StatefulSubscriptionClass = Trait.Class<typeof StatefulSubscription>
const ActiveStatefulSubscription = expression
.expresses(StatefulSubscription)
.build()
.subtrait(
exp => {
interface IActiveStatefulSubscription extends Implements<typeof exp> {
readonly isActiveStatefulSubscription: true
readonly status: { _tag: "active", activeSince: Date, expiresAt?: Date }
}
return abstract<IActiveStatefulSubscription>()
},
exp => abstract<ImplementsStatic<typeof exp>>(),
Super => class ActiveStatefulSubscription extends Super {},
)
.subtrait()
.extendAbstract(Super => class extends Super {
readonly isActiveStatefulSubscription!: true
readonly status!: { _tag: "active", activeSince: Date, expiresAt?: Date }
})
.build()
type ActiveStatefulSubscriptionClass = Trait.Class<typeof ActiveStatefulSubscription>