0.1.0 #1

Merged
Thilawyn merged 65 commits from next into master 2024-02-06 03:15:40 +01:00
Showing only changes of commit cf82cb6683 - Show all commits

View File

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