Skip to main content

A simple lint rule for deno's builtin linter to ban the usage of enums & attempt to provide a type union as a suggested fix.

This package works with Node.js, Deno, Bun
This package works with Node.js
This package works with Deno
This package works with Bun
JSR Score
100%
Published
a month ago (0.2.3)

Lint Rule: Ban-Enum

Forbids usage of enums & attempts to provide a fix for replacing enum with type unions. The right side of enums with values is used at the type union values.

Examples

Found enum:

enum Direction {
  Up = 'UP',
  Down = 'DOWN',
  Left = 'LEFT',
  Right = 'RIGHT',
}

Suggested fix:

type Direction = "UP" | "DOWN" | "LEFT" | "RIGHT";

Found enum:

enum Direction {
  Up = 1,
  Down = 2,
  Left = 3,
  Right = 4,
}

Suggested fix:

type Direction = 1 | 2 | 3 | 4;

Add Package

deno add jsr:@danteasc4/ban-enum

Import symbol

import * as ban_enum from "@danteasc4/ban-enum";

---- OR ----

Import directly with a jsr specifier

import * as ban_enum from "jsr:@danteasc4/ban-enum";

Add Package

npx jsr add @danteasc4/ban-enum

Import symbol

import * as ban_enum from "@danteasc4/ban-enum";

Add Package

yarn dlx jsr add @danteasc4/ban-enum

Import symbol

import * as ban_enum from "@danteasc4/ban-enum";

Add Package

pnpm dlx jsr add @danteasc4/ban-enum

Import symbol

import * as ban_enum from "@danteasc4/ban-enum";

Add Package

bunx jsr add @danteasc4/ban-enum

Import symbol

import * as ban_enum from "@danteasc4/ban-enum";