interface NamedDictOptions { requires?: string[]; nameKey?: string | ((value: any) => string); ignoreInvalidItems?: boolean; default: string; normalize: (item: any) => any; } /** * 封装一个具备名称的数据容器, * 该数据容器具有以下特点: * 1. 容器的数据项均具有一个唯一的名称,一般是具有一个name的字段 * 2. 数据项里面有些字段是必须的,不能为空:即不能是null,undefined * 3. 支持两种构造方法,即NamedDict([{name,...},{name,...}...])和NamedDict({name:{...},name:{...}}) * 4. 支持为每一项指定默认值 * 5. 当校验数据项无效时,可以指定是忽略或者返回错误 * * 如: * 以下class是必须的不能为空必选的项 * items = NamedDict([{name,class,...},{name,class,...},...],{requires:["class"]}) * 返回的items: * * @param items 支持数组或者{} * @param defaultItem 默认项,可以是{} 也可以是一个返回{}的函数 * @param options * @constructor */ declare function NamedDict(items: any[], defaultItem?: T, options?: NamedDictOptions): Record; export { NamedDict, type NamedDictOptions };