const Foo = S.Struct({
// this one works fine
// foo: S.String,
foo: S.optional(S.String, { default: () => "default" }),
}).pipe(
S.extend(
S.Union(
S.Struct({
bar: S.String,
baz: S.Undefined.pipe(S.optional()),
}),
S.Struct({
baz: S.String,
bar: S.Undefined.pipe(S.optional()),
})
)
)
);
const Foo = S.Struct({
// this one works fine
// foo: S.String,
foo: S.optional(S.String, { default: () => "default" }),
}).pipe(
S.extend(
S.Union(
S.Struct({
bar: S.String,
baz: S.Undefined.pipe(S.optional()),
}),
S.Struct({
baz: S.String,
bar: S.Undefined.pipe(S.optional()),
})
)
)
);