```typescript const enumerator: Enum;
npm install lite-ts-enumtypescript
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.ctor);
`
$3
`typescript
const enumFactory: EnumFactoryBase;
class XxxData extends EnumItem {}
const enum_ = enumFactory.build({
app: 应用名,
// name和typer二选一
name: 枚举名,
projectNo: 项目编号,
typer: XxxData,
});
`
* EnumFactory - 默认枚举工厂
`typescript
// 当EnumBuildOption.app无效时 使用该值
const app: string;
const defaultLoadFunc: EnumLoadDelegate;
// 当EnumBuildOption.app与app相同时 使用defaultLoadFunc 否则otherLoadFunc
const otherLoadFunc: EnumLoadDelegate;
const enumFactory: EnumFactoryBase = new EnumFactory(app, defaultLoadFunc, otherLoadFunc, {
枚举名: EnumReducer,
...
});
`
$3
`typescript
class EnumItem {
// 枚举编号(默认从1开始)
public value: number;
// 枚举键(唯一键)
public key?: string;
// 枚举文本(枚举项名)
public text?: string;
}
`
* ProjectData - 项目枚举
$3
$3
$3
`typescript
const key = getEnumCacheKey(项目编号, '应用', '枚举名');
``