diff --git a/src/Trait.ts b/src/Trait.ts index 63109a6..d2f1f2e 100644 --- a/src/Trait.ts +++ b/src/Trait.ts @@ -74,43 +74,43 @@ export namespace Trait { export namespace TraitTuple { export type MapAbstract = { - [K in keyof T]: K extends keyof [] + [K in keyof T]: K extends keyof readonly [] ? T[K] : Trait.Abstract } export type MapStaticAbstract = { - [K in keyof T]: K extends keyof [] + [K in keyof T]: K extends keyof readonly [] ? T[K] : Trait.StaticAbstract } export type MapImplClass = { - [K in keyof T]: K extends keyof [] + [K in keyof T]: K extends keyof readonly [] ? T[K] : Trait.ImplClass } export type MapImplInstance = { - [K in keyof T]: K extends keyof [] + [K in keyof T]: K extends keyof readonly [] ? T[K] : Trait.ImplInstance } export type MapImplStaticMembers = { - [K in keyof T]: K extends keyof [] + [K in keyof T]: K extends keyof readonly [] ? T[K] : Trait.ImplStaticMembers } export type MapInstance = { - [K in keyof T]: K extends keyof [] + [K in keyof T]: K extends keyof readonly [] ? T[K] : Trait.Instance } export type MapStaticMembers = { - [K in keyof T]: K extends keyof [] + [K in keyof T]: K extends keyof readonly [] ? T[K] : Trait.Static } diff --git a/src/TraitExpressionBuilder.ts b/src/TraitExpressionBuilder.ts index 3591c74..60335c9 100644 --- a/src/TraitExpressionBuilder.ts +++ b/src/TraitExpressionBuilder.ts @@ -176,7 +176,7 @@ export namespace TraitExpressionBuilder { Traits extends readonly Trait[], T extends readonly Trait[], > = ( - TraitExpressionBuilder.TraitsUniq<[ + TraitExpressionBuilder.TraitsUniq, ]> @@ -186,7 +186,7 @@ export namespace TraitExpressionBuilder { Traits extends readonly Trait[], T extends readonly Trait[], > = ( - TraitExpressionBuilder.TraitsUniq<[ + TraitExpressionBuilder.TraitsUniq, ...Traits, ]>