This commit is contained in:
@@ -47,11 +47,11 @@
|
|||||||
"npm-check-updates": "^16.14.20",
|
"npm-check-updates": "^16.14.20",
|
||||||
"npm-sort": "^0.0.4",
|
"npm-sort": "^0.0.4",
|
||||||
"tsup": "^8.0.2",
|
"tsup": "^8.0.2",
|
||||||
"tsx": "^4.9.3",
|
"tsx": "^4.9.4",
|
||||||
"typescript": "^5.4.5"
|
"typescript": "^5.4.5"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@effect/schema": "^0.66.16",
|
"@effect/schema": "^0.67.0",
|
||||||
"effect": "^3.1.3"
|
"effect": "^3.1.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
import { Schema as S } from "@effect/schema"
|
|
||||||
import { Simplify } from "type-fest"
|
|
||||||
import { Trait, TraitTuple } from "./Trait"
|
|
||||||
import { TraitExpression } from "./TraitExpression"
|
|
||||||
import { Extend } from "./util"
|
|
||||||
|
|
||||||
|
|
||||||
export function extendsEffectSchemaExpression<
|
|
||||||
Fields extends S.Struct.Fields,
|
|
||||||
A, I, R, C,
|
|
||||||
Inherited extends object,
|
|
||||||
Proto,
|
|
||||||
|
|
||||||
const Traits extends readonly Trait<any, any, any, any>[],
|
|
||||||
>(
|
|
||||||
expression: TraitExpression<
|
|
||||||
S.Class<unknown, Fields, A, I, R, C, Inherited, Proto>,
|
|
||||||
Traits
|
|
||||||
>
|
|
||||||
) {
|
|
||||||
return <Self>(): (
|
|
||||||
S.Class<
|
|
||||||
Self,
|
|
||||||
Fields,
|
|
||||||
A, I, R, C,
|
|
||||||
Simplify<
|
|
||||||
Extend<[
|
|
||||||
Inherited,
|
|
||||||
...TraitTuple.MapImplInstance<Traits>
|
|
||||||
]>
|
|
||||||
>,
|
|
||||||
Proto
|
|
||||||
> &
|
|
||||||
|
|
||||||
Simplify<
|
|
||||||
Extend<TraitTuple.MapImplStaticMembers<Traits>>
|
|
||||||
>
|
|
||||||
) => expression.extends as any
|
|
||||||
}
|
|
||||||
@@ -1,9 +1,7 @@
|
|||||||
import { Schema as S } from "@effect/schema"
|
import { Schema as S } from "@effect/schema"
|
||||||
import { Implements } from "../TraitExpression"
|
import { Implements } from "../TraitExpression"
|
||||||
import { effectSchemaExpression } from "./EffectSchemaTraitExpressionBuilder"
|
|
||||||
import { StaticMembers } from "../util"
|
|
||||||
import { Trait } from "../Trait"
|
|
||||||
import { EffectSchemaTraitExpression } from "./EffectSchemaTraitExpression"
|
import { EffectSchemaTraitExpression } from "./EffectSchemaTraitExpression"
|
||||||
|
import { effectSchemaExpression } from "./EffectSchemaTraitExpressionBuilder"
|
||||||
|
|
||||||
|
|
||||||
type Extr<T> =
|
type Extr<T> =
|
||||||
|
|||||||
@@ -2,4 +2,3 @@ export { Trait, TraitClass, TraitConcreteClass, TraitInstance, TraitStaticMember
|
|||||||
export { ImplStatic, TraitBuilder, implStaticInstantiableThis, implStaticThis, trait } from "./TraitBuilder"
|
export { ImplStatic, TraitBuilder, implStaticInstantiableThis, implStaticThis, trait } from "./TraitBuilder"
|
||||||
export { Implements, StaticImplements, TraitExpression, TraitExpressionClass, TraitExpressionConcreteClass, TraitExpressionInstance, TraitExpressionStaticMembers } from "./TraitExpression"
|
export { Implements, StaticImplements, TraitExpression, TraitExpressionClass, TraitExpressionConcreteClass, TraitExpressionInstance, TraitExpressionStaticMembers } from "./TraitExpression"
|
||||||
export { TraitExpressionBuilder, expression } from "./TraitExpressionBuilder"
|
export { TraitExpressionBuilder, expression } from "./TraitExpressionBuilder"
|
||||||
export { extendsEffectSchemaExpression } from "./effect"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user