0.1.21 #21

Merged
Thilawyn merged 23 commits from next into master 2024-05-12 01:11:51 +02:00
5 changed files with 3 additions and 45 deletions
Showing only changes of commit 35016a7c46 - Show all commits

BIN
bun.lockb

Binary file not shown.

View File

@@ -47,11 +47,11 @@
"npm-check-updates": "^16.14.20",
"npm-sort": "^0.0.4",
"tsup": "^8.0.2",
"tsx": "^4.9.3",
"tsx": "^4.9.4",
"typescript": "^5.4.5"
},
"optionalDependencies": {
"@effect/schema": "^0.66.16",
"@effect/schema": "^0.67.0",
"effect": "^3.1.3"
}
}

View File

@@ -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
}

View File

@@ -1,9 +1,7 @@
import { Schema as S } from "@effect/schema"
import { Implements } from "../TraitExpression"
import { effectSchemaExpression } from "./EffectSchemaTraitExpressionBuilder"
import { StaticMembers } from "../util"
import { Trait } from "../Trait"
import { EffectSchemaTraitExpression } from "./EffectSchemaTraitExpression"
import { effectSchemaExpression } from "./EffectSchemaTraitExpressionBuilder"
type Extr<T> =

View File

@@ -2,4 +2,3 @@ export { Trait, TraitClass, TraitConcreteClass, TraitInstance, TraitStaticMember
export { ImplStatic, TraitBuilder, implStaticInstantiableThis, implStaticThis, trait } from "./TraitBuilder"
export { Implements, StaticImplements, TraitExpression, TraitExpressionClass, TraitExpressionConcreteClass, TraitExpressionInstance, TraitExpressionStaticMembers } from "./TraitExpression"
export { TraitExpressionBuilder, expression } from "./TraitExpressionBuilder"
export { extendsEffectSchemaExpression } from "./effect"