Deep-strip properties whose TypeScript readonly modifier originates from
an OpenAPI readOnly: true marker, recursing into nested objects and arrays.
Direction semantics — response shape → request shape.readOnly fields (e.g. server-assigned id, createdAt) must not appear
in request bodies. Writable<T>excludes those keys entirely at every
nesting level so generated Request types are always write-safe.
Consumed by ApiRequest. Previously shallow (only top-level keys
were filtered); now recurses like RequireAll so nested readOnly
props (e.g. a createdAt inside a PATCH group object) are also excluded.
Type Parameters
T
See
Mutable — strips the readonly modifier without removing keys
Deep-strip properties whose TypeScript
readonlymodifier originates from an OpenAPIreadOnly: truemarker, recursing into nested objects and arrays.Direction semantics — response shape → request shape.
readOnlyfields (e.g. server-assignedid,createdAt) must not appear in request bodies.Writable<T>excludes those keys entirely at every nesting level so generatedRequesttypes are always write-safe.Consumed by ApiRequest. Previously shallow (only top-level keys were filtered); now recurses like RequireAll so nested
readOnlyprops (e.g. acreatedAtinside a PATCH group object) are also excluded.