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

1.1.2 • Public • Published

enum-ts

usage

import { Enum } from 'enum-ts';

let enumDefine = {
    week: {
        sunday: 0 as 0,
    },
    status: {
        enable: '0' as '0',
        disable: '1' as '1',
    },
    statusOperate: {
        disable: 'disable'
    }
};
let enumChangeDefine = {
    status: {
        [enumDefine.status.enable]: {
            [enumDefine.status.disable]: 'change to disable',
            disable: 'change to disable by operate'
        },
    }
};

let enumInst = Enum.createInstance(enumDefine, enumChangeDefine);
let { week, status } = enumInst;

console.log(`sunday is ${week.sunday}`);
//sunday is 0

try {
    console.log(week.getAllKey());
    //[ 'sunday' ]
    console.log(week.getAllValue());
    //[ 0 ]

    //check can srcEnum change to destEnum
    let result = status.enumChangeCheck(status.enable, status.disable);
    console.log(result);
    //change to disable

    result = status.enumChangeCheck(status.enable, enumDefine.statusOperate.disable);
    console.log(result);
    //change to disable by operate

    result = status.enumChangeCheck(status.disable, status.enable);
    //throw error: 
    //status:[1](disable) can not change to [0](enable)
} catch (e) {
    console.log(e);
}

Readme

Keywords

Package Sidebar

Install

npm i enum-ts

Weekly Downloads

0

Version

1.1.2

License

ISC

Unpacked Size

16.9 kB

Total Files

10

Last publish

Collaborators

  • umi-aoi