API reference › @evolu/common › Type › partial
function partial<Props>(
props: Props,
..._validation: [ObjectValidationError<Props>] extends [never]
? []
: [ValidationFailure<ObjectValidationError<Props>>]
): StrictObjectType<PartialObjectProps<Props>>;
Defined in: packages/common/src/Type.ts:11530
Object Type with every property optional.
No property is required, but every present property must still satisfy its Type.
Example
import {
assertFalse,
assertOk,
PositiveInt,
String,
partial,
} from "@evolu/common";
const PartialUser = partial({ name: String, age: PositiveInt });
const emptyPartialUser: typeof PartialUser.Output = {};
assertOk(PartialUser.fromUnknown({}), emptyPartialUser);
assertOk(PartialUser.fromUnknown({ name: "Ada" }), { name: "Ada" });
assertFalse(PartialUser.fromUnknown({ age: -1 }).ok);