// 【类型推导】 获取数组的类型 export type ArrayType> = T extends Array ? P : never // 【类型推导】 获取Promise的类型 export type PromiseType> = T extends Promise ? P : never // 【类型生成】 强制替换并生成类型 *递归类型合并,可能会占用过多性能,少用 export type ReplaceType = { [K in keyof T | keyof U]?: K extends keyof U ? K extends keyof T ? U[K] extends object ? T[K] extends object ? ReplaceType : U[K] : U[K] : U[K] : K extends keyof T ? T[K] : never } // 【类型扩展】补充JSON类型 export type JsonValue = string | number | boolean | null | JsonObject | JsonArray export type JsonObject = { [key: string]: JsonValue } export type JsonArray = JsonValue[]