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

This commit is contained in:
Julien Valverdé
2024-02-06 02:52:04 +01:00
parent cf82cb6683
commit ff1f38a4a2
2 changed files with 20 additions and 5 deletions

View File

@@ -1,7 +1,7 @@
import { Fn, Pipe, Tuples } from "hotscript"
import { AbstractClass, Class, Opaque } from "type-fest"
import { AbstractTag, TraitExpression, emptyTraitExpression } from "."
import { ExtendFn, SimplifyFn, StaticMembers } from "./util"
import { ExtendFn, SimplifyFn, StaticMembers, StaticMembersFn } from "./util"
export type AddAbstractToImplClass<
@@ -110,20 +110,33 @@ export namespace Trait {
Trait.Instance<T>,
any[]
> &
Pipe<Trait.Supertraits<T>, [
Tuples.Map<Trait.OwnAbstractFn>,
Pipe<[
...Trait.Supertraits<T>,
T,
], [
Tuples.Map<Trait.OwnClassFn>,
Tuples.Map<StaticMembersFn>,
ExtendFn,
SimplifyFn,
]>
)
export interface ClassFn extends Fn {
return: Trait.Class<this["arg0"]>
}
export type Instance<T> = (
Pipe<Trait.Supertraits<T>, [
Pipe<[
...Trait.Supertraits<T>,
T,
], [
Tuples.Map<Trait.OwnInstanceFn>,
ExtendFn,
SimplifyFn,
]>
)
export interface InstanceFn extends Fn {
return: Trait.Instance<this["arg0"]>
}
}

View File

@@ -1,4 +1,6 @@
import { Simplify } from "type-fest"
import { Implements, Trait, abstract, expression, trait } from "."
import { Pipe } from "hotscript"
const PrintsHelloOnNew = trait(
@@ -49,7 +51,7 @@ const ActiveStatefulSubscription = expression
Super => class ActiveStatefulSubscription extends Super {},
)
type T = Trait.OwnAbstract<typeof ActiveStatefulSubscription>
type T = Trait.Instance<typeof ActiveStatefulSubscription>
class TestSuperclass {