From 463c8f1586e96e751ae8ed27a65520d43b2c294e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Mon, 5 Feb 2024 00:07:07 +0100 Subject: [PATCH] Refactoring --- src/Trait.ts | 4 ++-- src/TraitExpression.ts | 6 +++--- src/tests.ts | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Trait.ts b/src/Trait.ts index 3637455..b3fdb42 100644 --- a/src/Trait.ts +++ b/src/Trait.ts @@ -1,6 +1,6 @@ import { Fn } from "hotscript" import { AbstractClass, Class, Opaque } from "type-fest" -import { AbstractTag, TraitExpression, TraitExpressionNullSuperclass, emptyTraitExpression } from "." +import { AbstractTag, TraitExpression, emptyTraitExpression } from "." import { StaticMembers } from "./util" @@ -28,7 +28,7 @@ type RemoveAbstractFromImplClass< export class Trait< - Supertraits extends TraitExpression[], Trait[]>, + Supertraits extends TraitExpression[], Trait[]>, Abstract extends {}, ImplClass extends Class<{}, []>, > { diff --git a/src/TraitExpression.ts b/src/TraitExpression.ts index e24cb6d..c51a32a 100644 --- a/src/TraitExpression.ts +++ b/src/TraitExpression.ts @@ -4,8 +4,6 @@ import { AbstractTag, Trait, TraitApplierSuperTag } from "." import { ExtendFn, SimplifyFn, StaticMembersFn } from "./util" -export class TraitExpressionNullSuperclass {} - export class TraitExpression< Superclass extends AbstractClass<{}>, OwnTraits extends Trait[], @@ -62,6 +60,8 @@ export class TraitExpression< } export namespace TraitExpression { + export class NullSuperclass {} + export type Superclass = ( T extends TraitExpression ? Superclass @@ -103,7 +103,7 @@ export type Implements> = ( export const emptyTraitExpression = new TraitExpression( - TraitExpressionNullSuperclass, + TraitExpression.NullSuperclass, [] as const, [] as const, ) diff --git a/src/tests.ts b/src/tests.ts index c0a35ca..4aef87e 100644 --- a/src/tests.ts +++ b/src/tests.ts @@ -1,4 +1,4 @@ -import { Implements, Trait, TraitExpression, abstract, expression, trait } from "." +import { Implements, TraitExpression, abstract, expression, trait } from "." const PrintsHelloOnNew = trait(