Jsonifiable done
All checks were successful
Lint / lint (push) Successful in 11s

This commit is contained in:
Julien Valverdé
2024-06-18 02:27:51 +02:00
parent 516cc76582
commit ed2de8a0f6
2 changed files with 3 additions and 33 deletions

View File

@@ -2,22 +2,6 @@ import { Schema as S } from "@effect/schema"
import * as TF from "type-fest"
const MyObjectStruct = S.Struct({
id: S.BigIntFromSelf,
name: S.String,
})
class MyObjectClass extends S.Class<MyObjectClass>("MyObjectClass")({
id: S.BigIntFromSelf,
name: S.String,
}) {}
const MyJsonifiedObject = S.Struct({
...MyObjectStruct.fields,
id: S.BigInt,
})
export function Jsonifiable<
A, I, R,
JsonifiableA extends I, JsonifiableI extends TF.Jsonifiable, JsonifiableR,
@@ -27,18 +11,3 @@ export function Jsonifiable<
) {
return jsonifiable.pipe(S.compose(schema))
}
export function JsonifiableStruct<
A, I, R,
JsonifiableA extends I, JsonifiableI extends TF.Jsonifiable, JsonifiableR,
JsonifiableFields extends S.Struct.Fields,
>(
schema: S.Schema<A, I, R>,
jsonifiable: S.Struct<JsonifiableFields> & S.Schema<JsonifiableA, JsonifiableI, JsonifiableR>,
) {
return jsonifiable.pipe(S.compose(schema))
}
const MyJsonifiableObject = Jsonifiable(MyObjectStruct, MyJsonifiedObject)
const MyJsonifiableObject2 = JsonifiableStruct(MyObjectStruct, MyJsonifiedObject)

View File

@@ -0,0 +1 @@
export { Jsonifiable } from "./Jsonifiable"