API reference › @evolu/common › Type › nullableToOptional
function nullableToOptional<Props>(
props: Props,
..._validation: [ObjectValidationError<Props>] extends [never]
? []
: [ValidationFailure<ObjectValidationError<Props>>]
): StrictObjectType<NullableToOptionalProps<Props>>;
Defined in: packages/common/src/Type.ts:11596
Object Type making every property whose Union Type includes Null optional.
The property retains its original Union Type, so consumers may omit it, set
it to null, or provide any other member of that Union. Properties without
null remain required.
Example
import { assertOk, String, nullOr, nullableToOptional } from "@evolu/common";
const User = nullableToOptional({
name: String,
nickname: nullOr(String),
});
assertOk(User.fromUnknown({ name: "Ada" }), { name: "Ada" });
assertOk(User.fromUnknown({ name: "Ada", nickname: null }), {
name: "Ada",
nickname: null,
});