in src/client/src/schema/validation/schema_to_io_ts.ts [88:97]
function schemaObjectToIoTs<Value>(schemaObject: SchemaObject<Value>): t.Type<Record<string, unknown>> {
const objectEntries: Array<[string, SchemaValue<unknown>]> = Object.entries(schemaObject.properties);
const requiredFields = objectEntries.filter(([key, { _meta }]) => _meta?.optional !== true);
const optionalFields = objectEntries.filter(([key, { _meta }]) => _meta?.optional === true);
return excess(
t.intersection([t.interface(entriesToObjectIoTs(requiredFields)), t.partial(entriesToObjectIoTs(optionalFields))])
);
}