This commit is contained in:
20
src/tests.ts
20
src/tests.ts
@@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user