diff --git a/src/value/transform/encode.ts b/src/value/transform/encode.ts index 695a7ea7..de050faf 100644 --- a/src/value/transform/encode.ts +++ b/src/value/transform/encode.ts @@ -171,6 +171,9 @@ function FromTuple(schema: TTuple, references: TSchema[], value: any) { } // prettier-ignore function FromUnion(schema: TUnion, references: TSchema[], value: any) { + if (IsOptional(schema) && value === undefined) { + return undefined + } // test value against union variants for (const subschema of schema.anyOf) { if (!Check(subschema, references, value)) continue