Refactoring
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Julien Valverdé
2024-02-05 00:07:07 +01:00
parent 33275ae63e
commit 463c8f1586
3 changed files with 6 additions and 6 deletions

View File

@@ -1,6 +1,6 @@
import { Fn } from "hotscript" import { Fn } from "hotscript"
import { AbstractClass, Class, Opaque } from "type-fest" import { AbstractClass, Class, Opaque } from "type-fest"
import { AbstractTag, TraitExpression, TraitExpressionNullSuperclass, emptyTraitExpression } from "." import { AbstractTag, TraitExpression, emptyTraitExpression } from "."
import { StaticMembers } from "./util" import { StaticMembers } from "./util"
@@ -28,7 +28,7 @@ type RemoveAbstractFromImplClass<
export class Trait< export class Trait<
Supertraits extends TraitExpression<typeof TraitExpressionNullSuperclass, Trait<any, any, any>[], Trait<any, any, any>[]>, Supertraits extends TraitExpression<typeof TraitExpression.NullSuperclass, Trait<any, any, any>[], Trait<any, any, any>[]>,
Abstract extends {}, Abstract extends {},
ImplClass extends Class<{}, []>, ImplClass extends Class<{}, []>,
> { > {

View File

@@ -4,8 +4,6 @@ import { AbstractTag, Trait, TraitApplierSuperTag } from "."
import { ExtendFn, SimplifyFn, StaticMembersFn } from "./util" import { ExtendFn, SimplifyFn, StaticMembersFn } from "./util"
export class TraitExpressionNullSuperclass {}
export class TraitExpression< export class TraitExpression<
Superclass extends AbstractClass<{}>, Superclass extends AbstractClass<{}>,
OwnTraits extends Trait<any, any, any>[], OwnTraits extends Trait<any, any, any>[],
@@ -62,6 +60,8 @@ export class TraitExpression<
} }
export namespace TraitExpression { export namespace TraitExpression {
export class NullSuperclass {}
export type Superclass<T> = ( export type Superclass<T> = (
T extends TraitExpression<infer Superclass, any, any> T extends TraitExpression<infer Superclass, any, any>
? Superclass ? Superclass
@@ -103,7 +103,7 @@ export type Implements<Exp extends TraitExpression<any, any, any>> = (
export const emptyTraitExpression = new TraitExpression( export const emptyTraitExpression = new TraitExpression(
TraitExpressionNullSuperclass, TraitExpression.NullSuperclass,
[] as const, [] as const,
[] as const, [] as const,
) )

View File

@@ -1,4 +1,4 @@
import { Implements, Trait, TraitExpression, abstract, expression, trait } from "." import { Implements, TraitExpression, abstract, expression, trait } from "."
const PrintsHelloOnNew = trait( const PrintsHelloOnNew = trait(