type DeepOptional = { [K in keyof T]?: T[K] extends object ? DeepOptional : T[K]; }; type DeepNullable = { [K in keyof T]: T[K] extends object ? DeepNullable | null : T[K] | null; }; type DeepRequired = { [K in keyof T]-?: T[K] extends object ? DeepRequired : T[K]; }; /** * 将 DTO 定义的所有字段转换为可选(optional) * * @example * class DtoUser { * name = dto.String() * age = dto.Number() * } * * // 转换为所有字段可选 * const DtoPartialUser = dto.toOptional(DtoUser) * * // 验证时 name 和 age 都可以为 undefined * dtoVerify(DtoPartialUser, {}) // OK */ export declare function dtoToOptional any>(dtoClass: T): DeepOptional>; export declare function dtoToOptional>(dtoObject: T): DeepOptional; /** * 将 DTO 定义的所有字段转换为可空(nullable) * * @example * class DtoUser { * name = dto.String() * age = dto.Number() * } * * // 转换为所有字段可空 * const DtoNullableUser = dto.toNullable(DtoUser) * * // 验证时 name 和 age 都可以为 null * dtoVerify(DtoNullableUser, { name: null, age: null }) // OK */ export declare function dtoToNullable any>(dtoClass: T): DeepNullable>; export declare function dtoToNullable>(dtoObject: T): DeepNullable; /** * 将 DTO 定义的所有字段转换为必需(required),移除 optional 和 nullable 标记 * * @example * class DtoUser { * name? = dto.optional.String() * age? = dto.optional.Number() * } * * // 转换为所有字段必需 * const DtoRequiredUser = dto.toRequired(DtoUser) * * // 验证时 name 和 age 都必须提供 * dtoVerify(DtoRequiredUser, {}) // Error * dtoVerify(DtoRequiredUser, { name: 'test', age: 18 }) // OK */ export declare function dtoToRequired any>(dtoClass: T): DeepRequired>; export declare function dtoToRequired>(dtoObject: T): DeepRequired; export {}; //# sourceMappingURL=type-convert.d.ts.map