Schema.transform(
Schema.NullishOr(Schema.String),
Schema.OptionFromSelf(Schema.NonEmptyString),
{
encode: Option.getOrNull,
decode: (value) =>
pipe(
value,
Option.fromNullable,
Option.flatMap(Option.liftPredicate(String.isNonEmpty)),
),
},
),
Schema.transform(
Schema.NullishOr(Schema.String),
Schema.OptionFromSelf(Schema.NonEmptyString),
{
encode: Option.getOrNull,
decode: (value) =>
pipe(
value,
Option.fromNullable,
Option.flatMap(Option.liftPredicate(String.isNonEmpty)),
),
},
),