1.0.1 • Published 5 years ago

enum-desc v1.0.1

Weekly downloads
1
License
ISC
Repository
-
Last release
5 years ago

项目中包含大量的枚举状态,如卡券的状态等,一个枚举类型一般会包含2类信息:枚举值-文字描述(一般是汉字),稍复杂点会包含3类信息:变量名-枚举值-文字描述

在开发中如果对枚举值没有足够重视,往往会导致代码可读性差,也非常容易将枚举值搞混,从而导致出现bug,为解决这一问题,提供专门处理枚举值类型的方法:setEnum,说明如下:

安装方法:

npm install enum-desc

引入包:

import setEnum from 'enum-desc'

setEnum 接受一个Object作为参数,这个Object的格式如下

// 英文变量名: [枚举值, 文字描述],
{
    WAITING: [1, '等待中'],
    ONGOING: [2, '进行中']
}
// 或
{
    WAITING: 1,
    ONGOING: 2
}

调用 setEnum 方法返回一个 EnumTable 类型的实例变量:

let testEnum = setEnum({
    WAITING: [1, '等待中'],
    ONGOING: 2
})

EnumTable 实例包含以下几种方法

testEnum.get('WAITING') // {value: 1, description: "等待中"}

// 获取枚举值 value
testEnum['WAITING'];// 1
// or
testEnum.WAITING // 1

// 获取 key
testEnum[1];// 'WAITING'

// 获取描述信息
testEnum.getDesc('WAITING')
// or
testEnum.getDesc(1);// "等待中"

setEnum 同样支持自增方式赋值

const foo = setEnum(['key0','key1','key2'])

foo.key0 // 0
foo[2]  // 'key1'
foo.key2 === 2 // true