我尝试将所有JSONSchemaType嵌套的property都做为可选。我试过了(根据这个答案(:
import { JSONSchemaType as _JSONSchemaType } from "ajv";
type NestedPartial<T> = {
[K in keyof T]?: T[K] extends Array<infer R> ? Array<NestedPartial<R>> : NestedPartial<T[K]>
};
export declare type JSONSchemaType<T> = NestedPartial<_JSONSchemaType<T>>;
const a: JSONSchemaType<number> = { minimum:2 };
错误为-类型"number"不可分配给类型"NestedPartial<未知>[]|嵌套部分<任意>|未定义
没有简单的方法吗?
我找到了修复它的方法-
type NestedPartial<T> = {
[K in keyof T]?: T[K] extends Array<infer R> ? Array<NestedPartial<R>> : (T[K] extends unknown ? unknown : NestedPartial<T[K]>)
};