lite-ts-enum
v11.30.4
Published
```typescript const enumerator: Enum;
Downloads
22
Readme
代码
Enum - 枚举对象
const enumerator: Enum;
// 获取所有枚举项(字典)
const res = await enumerator.allItem;
// res = { 枚举编号: 枚举数据, ... }
// 获取所有枚举(数组)
const res = await enumerator.items;
// res = [枚举数据, ... ]
// 获取单个枚举项
const res = await enumerator.get(r => r.value == 2);
// 获取枚举聚合
const res = await enumerator.getReduce<ValueTypeRewardAddition>(ValueTypeRewardAddition.ctor);
EnumFactoryBase - 枚举工厂
const enumFactory: EnumFactoryBase;
class XxxData extends EnumItem {}
const enum_ = enumFactory.build<XxxData>({
app: 应用名,
// name和typer二选一
name: 枚举名,
projectNo: 项目编号,
typer: XxxData,
});
- EnumFactory - 默认枚举工厂
// 当EnumBuildOption.app无效时 使用该值
const app: string;
const defaultLoadFunc: EnumLoadDelegate<EnumItem>;
// 当EnumBuildOption.app与app相同时 使用defaultLoadFunc 否则otherLoadFunc
const otherLoadFunc: EnumLoadDelegate<EnumItem>;
const enumFactory: EnumFactoryBase = new EnumFactory(app, defaultLoadFunc, otherLoadFunc, {
枚举名: EnumReducer<EnumItem>,
...
});
EnumItem - 单个枚举项
class EnumItem {
// 枚举编号(默认从1开始)
public value: number;
// 枚举键(唯一键)
public key?: string;
// 枚举文本(枚举项名)
public text?: string;
}
- ProjectData - 项目枚举
EnumLoadDelegate - 枚举加载委托
EnumReducer - 枚举聚合器
getEnumCacheKey - 获取枚举缓存键
const key = getEnumCacheKey(项目编号, '应用', '枚举名');