1.1.1 • Published 7 months ago

@neumatter/enum v1.1.1

Weekly downloads
-
License
-
Repository
github
Last release
7 months ago

Enum

JavaScript Style Guide

Table of Contents

Install

npm i @neumatter/enum

Building Enums

import Enum from '@neumatter/enum'

class Color extends Enum {
  static Blue = new Color()
  static Green = new Color()
  static Red = new Color()
}

// Builds the objects and freezes all objects within Enum to prevent changes.
Color.build()

Color.Blue.is('Blue') // returns true
Color.Blue.is(0) // returns true
Color.Blue.is(Color.Blue) // returns true

Color.get('Blue') // returns { key: 'Blue', value: 0 }
Color.get(0) // returns { key: 'Blue', value: 0 }

Color.getKey('Blue') // returns 'Blue'
Color.getKey(0) // returns 'Blue'

Color.getValue('Blue') // returns 0
Color.getValue(0) // returns 0

Color.Blue.toString() // returns '0'

Color.Blue.toJSON() // returns 0
import Enum from '@neumatter/enum'

// Useful if needing to deserialize Enum
class TmpColor extends Enum {}

// No need to call Enum.build when using Enum.initialize
const Color = TmpColor.initialize({
  Blue: 0,
  Green: 1,
  Red: 2
})

Color.Blue.is('Blue') // returns true
Color.Blue.is(0) // returns true
Color.Blue.is(Color.Blue) // returns true

Color.get('Blue') // returns { key: 'Blue', value: 0 }
Color.get(0) // returns { key: 'Blue', value: 0 }

Color.getKey('Blue') // returns 'Blue'
Color.getKey(0) // returns 'Blue'

Color.getValue('Blue') // returns 0
Color.getValue(0) // returns 0

Color.Blue.toString() // returns '0'

Color.Blue.toJSON() // returns 0
1.1.1

7 months ago

1.1.0

8 months ago

1.0.1

8 months ago

1.0.0

9 months ago