export function initiallyNullish<S extends Schema.Schema.Any>(schema: S) {
return Schema.NullishOr(schema).pipe(
Schema.transformOrFail(schema, {
strict: false,
encode: (value) => value,
decode: (value) =>
Either.match(Schema.decodeUnknownEither(schema)(value), {
onLeft: (error) => ParseResult.fail(error.issue),
onRight: (value) => ParseResult.succeed(value)
})
})
)
}
export function initiallyNullish<S extends Schema.Schema.Any>(schema: S) {
return Schema.NullishOr(schema).pipe(
Schema.transformOrFail(schema, {
strict: false,
encode: (value) => value,
decode: (value) =>
Either.match(Schema.decodeUnknownEither(schema)(value), {
onLeft: (error) => ParseResult.fail(error.issue),
onRight: (value) => ParseResult.succeed(value)
})
})
)
}