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

This commit is contained in:
Julien Valverdé
2024-02-03 02:24:44 +01:00
parent c044051813
commit c6b9bbe9cb

View File

@@ -1,7 +1,7 @@
import { Fn } from "hotscript"
import { AbstractClass, Class, Opaque } from "type-fest"
import { StaticMembers } from "./util"
import { AbstractTag } from "."
import { StaticMembers } from "./util"
type AddAbstractToImpl<
@@ -97,7 +97,7 @@ export interface TraitInstanceFn extends Fn {
export type TraitApplierSuperTag = "@thilawyn/traitify-ts/TraitApplierSuper"
export type TraitApplier<
Abstract extends object,
Abstract extends {},
ImplWithAbstract extends Class<Abstract, []>,
> = (
(Super: Opaque<AbstractClass<Abstract>, TraitApplierSuperTag>) => (
@@ -109,10 +109,8 @@ export function trait<
Abstract extends {},
ImplWithAbstract extends Class<Abstract, []>,
>(
abstract: Opaque<Abstract, AbstractTag>,
apply: (Super: Opaque<AbstractClass<Abstract>, TraitApplierSuperTag>) => (
Opaque<ImplWithAbstract, TraitApplierSuperTag>
),
abstract: Opaque<Abstract, AbstractTag>,
apply: TraitApplier<Abstract, ImplWithAbstract>,
): Trait<
Abstract,
RemoveAbstractFromImpl<ImplWithAbstract, Abstract>