This commit is contained in:
@@ -21,14 +21,24 @@ const MyJsonifiedObject = S.Struct({
|
|||||||
export function Jsonifiable<
|
export function Jsonifiable<
|
||||||
A, I, R,
|
A, I, R,
|
||||||
JsonifiableA extends I, JsonifiableI extends TF.Jsonifiable, JsonifiableR,
|
JsonifiableA extends I, JsonifiableI extends TF.Jsonifiable, JsonifiableR,
|
||||||
// JsonifiableFields extends Schema.Struct.Fields
|
|
||||||
>(
|
>(
|
||||||
schema: S.Schema<A, I, R>,
|
schema: S.Schema<A, I, R>,
|
||||||
// jsonifiable: Schema.Struct<JsonifiableFields> & { readonly Type: I },
|
|
||||||
jsonifiable: S.Schema<JsonifiableA, JsonifiableI, JsonifiableR>,
|
jsonifiable: S.Schema<JsonifiableA, JsonifiableI, JsonifiableR>,
|
||||||
) {
|
) {
|
||||||
return jsonifiable.pipe(S.compose(schema))
|
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 MyJsonifiableObject = Jsonifiable(MyObjectStruct, MyJsonifiedObject)
|
||||||
|
const MyJsonifiableObject2 = JsonifiableStruct(MyObjectStruct, MyJsonifiedObject)
|
||||||
|
|||||||
Reference in New Issue
Block a user