partial
Создает измененную копию схемы объекта, в которой все или только выбранные записи помечаются как необязательные.
const Schema = v.partial<TSchema, TKeys>(schema, keys);
Дженерики
TSchemaextends SchemaWithoutPipe<LooseObjectSchema<ObjectEntries, ErrorMessage<ObjectIssue> | undefined> | ObjectSchema<ObjectEntries, ErrorMessage<ObjectIssue> | undefined> | ObjectWithRestSchema<ObjectEntries, BaseSchema<unknown, unknown, BaseIssue<unknown>>, ErrorMessage<ObjectWithRestIssue> | undefined> | StrictObjectSchema<ObjectEntries, ErrorMessage<ObjectIssue> | undefined>>TKeysextends ObjectKeys<TSchema> | undefined
Параметры
schemaTSchemakeysTKey
Объяснение
partial создает измененную копию переданного объекта schema, в которой все записи или только выбранные keys являются необязательными. Это похоже на служебный тип Partial в TypeScript.
Поскольку
partialизменяет тип данных входных и выходных значений, запрещено передавать схему, измененную с помощью методаpipe, так как это может привести к ошибкам во время выполнения. Пожалуйста, используйте методpipeпосле того, как измените схему с помощьюpartial.
Возвращаемое значение
SchemaSchemaWithPartial<TSchema, TKeys>
Примеры
Следующие примеры показывают, как можно использовать partial.
Частичная схема объекта
Схема для валидации объекта с частичными записями.
const PartialSchema = v.partial(
v.object({
key1: v.string(),
key2: v.number(),
})
); // { key1?: string; key2?: number }
Только с определенными ключами
Схема для валидации объекта, в которой только определенные записи помечены как необязательные.
const PartialSchema = v.partial(
v.object({
key1: v.string(),
key2: v.number(),
key3: v.boolean(),
}),
['key1', 'key3']
); // { key1?: string; key2: number; key3?: boolean }
Связанное
Следующие API могут сочетаться с partial.
Схемы
array, exactOptional, intersect, lazy, looseObject, looseTuple, map, nonNullable, nonNullish, nonOptional, nullable, nullish, object, objectWithRest, optional, record, set, strictObject, strictTuple, tuple, tupleWithRest, undefinedable, union
Методы
assert, config, fallback, forward, getDefault, getDefaults, getFallback, getFallbacks, is, keyof, message, omit, parse, parser, pick, required, safeParse, safeParser, unwrap
Действия
check, brand, description, entries, flavor, guard, maxEntries, metadata, minEntries, notEntries, partialCheck, rawCheck, rawTransform, readonly, title, transform
Утилиты
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/partial/