0.1.21 #21
@@ -7,20 +7,32 @@ import { traitsUnique } from "../traitsUnique"
|
|||||||
|
|
||||||
|
|
||||||
export class EffectSchemaTraitExpressionBuilder<
|
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,
|
Fields extends S.Struct.Fields,
|
||||||
A, I, R, C,
|
A, I, R, C,
|
||||||
Inherited extends object,
|
Inherited extends object,
|
||||||
Proto,
|
Proto,
|
||||||
|
Static extends object,
|
||||||
|
|
||||||
|
const Traits extends readonly Trait<any, any, any, any>[],
|
||||||
> {
|
> {
|
||||||
constructor(
|
constructor(
|
||||||
readonly expressionSuperclass: Superclass,
|
readonly expressionSuperclass: S.Class<unknown, Fields, A, I, R, C, Inherited, Proto> & Static,
|
||||||
readonly expressionTraits: Traits,
|
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<
|
extends<
|
||||||
Super extends S.Class<unknown, SuperFields, SuperA, SuperI, SuperR, SuperC, SuperInherited, SuperProto>,
|
Super extends S.Class<unknown, SuperFields, SuperA, SuperI, SuperR, SuperC, SuperInherited, SuperProto>,
|
||||||
|
|
||||||
@@ -58,13 +70,13 @@ export class EffectSchemaTraitExpressionBuilder<
|
|||||||
>(
|
>(
|
||||||
...traits: T
|
...traits: T
|
||||||
): EffectSchemaTraitExpressionBuilder<
|
): EffectSchemaTraitExpressionBuilder<
|
||||||
Superclass,
|
|
||||||
TraitExpressionBuilder.ExpressesReturnTypeTraits<Traits, T>,
|
|
||||||
|
|
||||||
Fields,
|
Fields,
|
||||||
A, I, R, C,
|
A, I, R, C,
|
||||||
Inherited,
|
Inherited,
|
||||||
Proto
|
Proto,
|
||||||
|
Static,
|
||||||
|
|
||||||
|
TraitExpressionBuilder.ExpressesReturnTypeTraits<Traits, T>
|
||||||
> {
|
> {
|
||||||
return new EffectSchemaTraitExpressionBuilder(
|
return new EffectSchemaTraitExpressionBuilder(
|
||||||
this.expressionSuperclass,
|
this.expressionSuperclass,
|
||||||
|
|||||||
Reference in New Issue
Block a user