1.4.2 • Published 3 months ago
enum-opt v1.4.2
English | 简体中文
enum-opt
typescript enum Convert to an option data structure
Install
npm
npm install enum-opt --save
Using
npx enum-opt yourfile.ts
Or add script in package.json script
"scripts": {
"enum-opt": "enum-opt"
}
npm run enum-opt
Commands
Command | Description | Default |
---|---|---|
-o | Output file directory | . |
Config
Add enumoptconfig.json or.enumoptrc.js to the root directory
enumoptconfig.json
{
"entry": "enum.ts"
}
.enumoptrc.js
module.exports = {
entry: "enum.ts"
}
Property | Description | Type | Default |
---|---|---|---|
entry | Enumeration file path to be parsed, multiple files can be configured using objects | string|object | - |
outDir | Output file directory | string | ./ |
fileSuffix | The output file name is the entry file name + the file name suffix (invalid if the entry type is object). | string | -opt |
optionSuffix | Output option variable suffix | string | Options |
exclude | Excluded enumeration, excluded options will not be generated | string | - |
Example
single file
enum.ts
/**
* action type
*/
export enum ActionType {
// add
Add,
// edit
Edit,
// detail
Detail,
// perfect
Perfect,
}
npx enum-opt enum.ts
generate enum-opt.ts
// @ts-ignore
import { ActionType } from 'enum'
/**
* action type
*/
export const actionTypeOptions = [
{
label: 'add',
value: ActionType.Add,
},
{
label: 'edit',
value: ActionType.Edit,
},
{
label: 'detail',
value: ActionType.Detail,
},
{
label: 'perfect',
value: ActionType.Perfect,
},
]
multiple file
enumoptconfig.json
{
"entry": {
"enum-options": "enum.ts",
"actions-options": "action-enum.ts"
}
}
enum-options.ts and actions-options.ts will be printed
Formatting
import { valueToLabel, labelToValue } from 'enum-opt'
import { actionTypeOptions } from './util/enum-opt'
import { ActionType } from './enum'
valueToLabel(ActionType.Add, actionTypeOptions) // add
labelToValue('add', actionTypeOptions) // 1
notice
- Enumeration comments should be above the enumeration value, otherwise the build may fail
1.4.2
3 months ago
1.4.1
5 months ago
1.4.0
5 months ago
1.3.3
1 year ago
1.3.1-beta.0
1 year ago
1.3.2
1 year ago
1.3.1
1 year ago
1.2.2
1 year ago
1.3.0
1 year ago
1.2.0
2 years ago
1.1.0
2 years ago
1.2.1
2 years ago
1.0.7
2 years ago
1.0.6
2 years ago
1.0.5
2 years ago
1.0.4
2 years ago
1.0.3
2 years ago
1.0.2
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago