This commit is contained in:
@@ -12,20 +12,20 @@ import type * as TF from "type-fest"
|
|||||||
// return jsonifiable.pipe(S.compose(schema))
|
// return jsonifiable.pipe(S.compose(schema))
|
||||||
// }
|
// }
|
||||||
|
|
||||||
export function Jsonifiable<A, I, R>(
|
// export function Jsonifiable<A, I, R>(
|
||||||
schema: S.Schema<A, I, R>
|
// schema: S.Schema<A, I, R>
|
||||||
) {
|
// ) {
|
||||||
return <
|
// return <
|
||||||
JsonifiableA extends I,
|
// JsonifiableA extends I,
|
||||||
JsonifiableI extends TF.Jsonifiable,
|
// JsonifiableI extends TF.Jsonifiable,
|
||||||
JsonifiableR,
|
// JsonifiableR,
|
||||||
>(
|
// >(
|
||||||
jsonifiable: S.Schema<JsonifiableA, JsonifiableI, JsonifiableR>
|
// jsonifiable: S.Schema<JsonifiableA, JsonifiableI, JsonifiableR>
|
||||||
) =>
|
// ) =>
|
||||||
jsonifiable.pipe(S.compose(schema))
|
// jsonifiable.pipe(S.compose(schema))
|
||||||
}
|
// }
|
||||||
|
|
||||||
export function Jsonifiable2<
|
export function Jsonifiable<
|
||||||
JsonifiableA,
|
JsonifiableA,
|
||||||
JsonifiableI extends TF.Jsonifiable,
|
JsonifiableI extends TF.Jsonifiable,
|
||||||
JsonifiableR,
|
JsonifiableR,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Schema as S } from "@effect/schema"
|
import { Schema as S } from "@effect/schema"
|
||||||
import { reaction, runInAction } from "mobx"
|
import { reaction, runInAction } from "mobx"
|
||||||
import { Jsonifiable2 } from "./Jsonifiable"
|
import { Jsonifiable } from "./Jsonifiable"
|
||||||
import { MobXObservable, MutableTaggedClass } from "./class"
|
import { MobXObservable, MutableTaggedClass } from "./class"
|
||||||
|
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ class User extends MutableTaggedClass<User>()("User", {
|
|||||||
) {}
|
) {}
|
||||||
|
|
||||||
const JsonifiableUser = User.pipe(
|
const JsonifiableUser = User.pipe(
|
||||||
Jsonifiable2(S.Struct({
|
Jsonifiable(S.Struct({
|
||||||
...User.fields,
|
...User.fields,
|
||||||
id: S.BigInt,
|
id: S.BigInt,
|
||||||
}))
|
}))
|
||||||
|
|||||||
Reference in New Issue
Block a user