// 1.配置项 // 2.改变配置项的函数 // 3.从 配置项 根据配置 获取目标值 /** 转换类型 */ export type ConvertType = 'object' | 'boolean' | 'array' | 'custom'; /** 转换字段 */ export interface ConvertFields { getConvert?: (fields: ConvertFields, value: any, reverse: boolean) => T | undefined; [key: string]: any; } /** 布尔 转换字段 */ export interface BooleanFields extends ConvertFields { /** true 值的索引 */ true?: string | number; /** false 值的索引 */ false?: string | number; } /** 对象 转换字段 */ export interface ObjectFields extends ConvertFields { /** 需要得到的值的索引集合 */ keys: string[] } /** 数组 转换字段 */ export interface ArrayFields extends ConvertFields { /** 从对象中获取值的索引 */ key: string; } /** 转换配置 */ export interface ConvertConfig { /** 转换类型 */ convertType: ConvertType, /** 转换字段 */ convertFields: ConvertFields, }