const ResponseSchema = <TSchema extends S.Schema.Any>(BodySchema: TSchema) => S.Struct({
status: S.Number,
body: BodySchema
}).pipe(S.transform(
BodySchema,
{
decode: (resp) => resp.body,
encode: (_) => null as any
}
))
const SpecificSchema = ResponseSchema(S.Struct({foo: S.String}))
const ResponseSchema = <TSchema extends S.Schema.Any>(BodySchema: TSchema) => S.Struct({
status: S.Number,
body: BodySchema
}).pipe(S.transform(
BodySchema,
{
decode: (resp) => resp.body,
encode: (_) => null as any
}
))
const SpecificSchema = ResponseSchema(S.Struct({foo: S.String}))