lite-ts-enum
TypeScript icon, indicating that this package has built-in type declarations

11.30.4 • Public • Published

Version

代码

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(项目编号, '应用', '枚举名');

Readme

Keywords

Package Sidebar

Install

npm i lite-ts-enum

Weekly Downloads

0

Version

11.30.4

License

GPL-3.0

Unpacked Size

49.5 kB

Total Files

23

Last publish

Collaborators

  • ahl5esoft