dtsgenerator-plugin-use-enums
TypeScript icon, indicating that this package has built-in type declarations

1.3.4 • Public • Published

dtsgenerator-plugin-use-enums

This is the dtsgenerator-plugin-use-enums plugin. Use this plugin to generate enums from schemas with the dtsgenerator package by @horiuchi.

Install

npm install dtsgenerator-plugin-use-enums
yarn add dtsgenerator-plugin-use-enums

Usage

dtsgen.json

{
    "plugins": {
        "dtsgenerator-plugin-use-enums": true, // or { config object }
    }
}

Configuration

  • the type of configuration
type Config = {
  enumStrategy?: EnumStrategy;
  consistentEnumCasing?: EnumCasing;
  constEnums?: boolean;
};

export type EnumStrategy = 
  | 'schema'
  | 'all' 

type EnumCasing =
  | 'value' /* Both key and value take the casing of the value. 'foo bar' would generate `'foo bar' = 'foo bar'`  */
  | 'upper' /* Both key and value take upper snake case of the value. 'foo bar' would generate `FOO_BAR = 'FOO_BAR'` */
  | 'lower' /* Both key and value take snake case of the value. 'foo bar' would generate `foo_bar = 'foo_bar'` */
  | 'pascal' /* Both key and value take pascal case of the value. 'foo bar' would generate `FooBar = 'FooBar'` */
key type description Required Default
enumStrategy EnumStrategy | undefined Determines whether enums are created only from schema-defined enums, or from all string unions no "schema"
consistentEnumCasing EnumCasing | undefined If passed, enforces consistent casing. If not passed, keys are PascalCase and values are as they were no undefined
constEnums boolean | undefined Whether or not to use const enums no false
  • Example
{
  "enumStrategy": "all", // default "schema"
  "consistentEnumCasing": "upper", // default undefined
  "constEnums": true // default false
}

Development

npm run build
npm test

Stacks

  • TypeScript
  • eslint

Files

  • index.ts: plugin main file
  • test/snapshot_test.ts: test main file. should not edit this file.
  • test/post_snapshots/: post process test patterns. Please add folder if you need.
  • test/pre_snapshots/: pre process test patterns. Please add folder if you need.

npm scripts

main scripts

  • npm run build: transpile this plugin. This command need before publishing this plugin.
  • npm test: test this plugin with coverage.
  • npm run clean: remove all compiled files.

sub scripts

  • npm run watch: watch editing files for compile.
  • npm run lint:fix: fix lint error automatically.
  • npm run test:update-snapshot: update snapshot files for unit test.
  • npm run coverage: report to coveralls. Need coveralls configuration file.

Package Sidebar

Install

npm i dtsgenerator-plugin-use-enums

Weekly Downloads

18

Version

1.3.4

License

none

Unpacked Size

35.4 kB

Total Files

5

Last publish

Collaborators

  • joshuagraber