diff --git a/package.json b/package.json index 5d0c1b2..6c2d4bf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@thilawyn/traitify-ts", - "version": "0.1.8", + "version": "0.1.9", "type": "module", "publishConfig": { "registry": "https://git.jvalver.de/api/packages/thilawyn/npm/" diff --git a/src/TraitBuilder.ts b/src/TraitBuilder.ts index bcc45ee..26cdcb9 100644 --- a/src/TraitBuilder.ts +++ b/src/TraitBuilder.ts @@ -45,13 +45,12 @@ export class TraitBuilder< ImplClass extends AbstractClass, > { constructor( - private readonly traitSuperExpression: SuperExpression, - private readonly traitAbstract: Abstract, - private readonly traitStaticAbstract: StaticAbstract, - private readonly traitApply: (Super: AbstractClass) => ImplClass, + protected readonly traitSuperExpression: SuperExpression, + protected readonly traitAbstract: Abstract, + protected readonly traitStaticAbstract: StaticAbstract, + protected readonly traitApply: (Super: AbstractClass) => ImplClass, ) {} - // TODO: consider "implements" as a name? abstract( _: (Super: AbstractClass) => AbstractClass ) { @@ -63,7 +62,6 @@ export class TraitBuilder< ) } - // TODO: consider "staticImplements" as a name? staticAbstract( _: (Super: AbstractClass) => AbstractClass ) { @@ -75,7 +73,6 @@ export class TraitBuilder< ) } - // TODO: consider "impl" as a name? implement< ImplClassWithAbstract extends ImplSuper // TODO: find a way to set the constraint to concrete classes while keeping the Super arg as an abstract class >( diff --git a/src/TraitExpressionBuilder.ts b/src/TraitExpressionBuilder.ts index 0fd65d6..35ce56a 100644 --- a/src/TraitExpressionBuilder.ts +++ b/src/TraitExpressionBuilder.ts @@ -64,8 +64,8 @@ export class TraitExpressionBuilder< const Traits extends Trait[], > { constructor( - private readonly expressionSuperclass: Superclass, - private readonly expressionTraits: Traits, + protected readonly expressionSuperclass: Superclass, + protected readonly expressionTraits: Traits, ) {} extends<