From 9250a1fd0b1788213ea4bb51147dc2638ee10333 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Wed, 28 Feb 2024 01:27:09 +0100 Subject: [PATCH] 0.1.13 (#13) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Julien Valverdé Reviewed-on: https://git.jvalver.de/Thilawyn/traitify-ts/pulls/13 --- package.json | 2 +- src/TraitBuilder.ts | 8 ++++++++ src/lib.ts | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 37bfd3b..f855135 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@thilawyn/traitify-ts", - "version": "0.1.12", + "version": "0.1.13", "type": "module", "publishConfig": { "registry": "https://git.jvalver.de/api/packages/thilawyn/npm/" diff --git a/src/TraitBuilder.ts b/src/TraitBuilder.ts index abe27ae..219948e 100644 --- a/src/TraitBuilder.ts +++ b/src/TraitBuilder.ts @@ -120,6 +120,14 @@ export namespace TraitBuilder { } +export type ImplStaticThis< + ImplClass extends AbstractClass & { readonly [implSuperSymbol]: true } +> = ( + AbstractClass> & + Omit, typeof implSuperSymbol> +) + + export const trait = new TraitBuilder( new TraitExpression(TraitExpression.NullSuperclass, []), {} as object, diff --git a/src/lib.ts b/src/lib.ts index 6fa058d..5cfa1af 100644 --- a/src/lib.ts +++ b/src/lib.ts @@ -1,4 +1,4 @@ export { Trait, TraitClass, TraitConcreteClass, TraitInstance, TraitStaticMembers, TraitTuple } from "./Trait" -export { TraitBuilder, trait } from "./TraitBuilder" +export { ImplStaticThis, TraitBuilder, trait } from "./TraitBuilder" export { Implements, StaticImplements, TraitExpression, TraitExpressionClass, TraitExpressionConcreteClass, TraitExpressionInstance, TraitExpressionStaticMembers } from "./TraitExpression" export { TraitExpressionBuilder, expression } from "./TraitExpressionBuilder"