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

This commit is contained in:
Julien Valverdé
2024-05-09 04:15:27 +02:00
parent 6979cc27a7
commit 7e68b0002d

View File

@@ -7,20 +7,32 @@ import { traitsUnique } from "../traitsUnique"
export class EffectSchemaTraitExpressionBuilder<
Superclass extends S.Class<unknown, Fields, A, I, R, C, Inherited, Proto>,
const Traits extends readonly Trait<any, any, any, any>[],
Fields extends S.Struct.Fields,
A, I, R, C,
Inherited extends object,
Proto,
Static extends object,
const Traits extends readonly Trait<any, any, any, any>[],
> {
constructor(
readonly expressionSuperclass: Superclass,
readonly expressionSuperclass: S.Class<unknown, Fields, A, I, R, C, Inherited, Proto> & Static,
readonly expressionTraits: Traits,
) {}
class<NewFields extends S.Struct.Fields>(
identifier: string,
fields: NewFields,
annotations?: S.Annotations.Schema<unknown>
) {
return new EffectSchemaTraitExpressionBuilder(
S.Class<unknown>(identifier)(fields, annotations),
this.expressionTraits,
)
}
extends<
Super extends S.Class<unknown, SuperFields, SuperA, SuperI, SuperR, SuperC, SuperInherited, SuperProto>,
@@ -58,13 +70,13 @@ export class EffectSchemaTraitExpressionBuilder<
>(
...traits: T
): EffectSchemaTraitExpressionBuilder<
Superclass,
TraitExpressionBuilder.ExpressesReturnTypeTraits<Traits, T>,
Fields,
A, I, R, C,
Inherited,
Proto
Proto,
Static,
TraitExpressionBuilder.ExpressesReturnTypeTraits<Traits, T>
> {
return new EffectSchemaTraitExpressionBuilder(
this.expressionSuperclass,