5.0.0 • Published 1 year ago

@particle/make-enum v5.0.0

Weekly downloads
290
License
UNLICENSED
Repository
-
Last release
1 year ago

@particle/make-enum

Turn an array of values into an object that will throw an error when getting a non existing property to avoid typos in enum values

Note: relies on Proxy which is a Javascript feature that cannot be polyfilled, so it's not safe to use in the browser.

Installation

npm install @particle/make-enum --save
const makeEnum = require('@particle/make-enum');

API

@particle/make-enum


module.exports(values) ⇒ Object

Turn an array of values into an object that will throw an error when getting a non existing property to avoid typos in enum values

Kind: Exported function
Returns: Object - The extended array object where enum values can be accessed as properties

ParamTypeDescription
valuesArrayThe array of string values for the enum

Example

const states = makeEnum(['new', 'in_progress']);
// states.new === 'new'
// states.inprogress throws

const nestedEnum = makeEnum(['animals.cow', 'animals', 'animals.eagle']);
// To compare with the string, the enum must be basted to a string
// nestedEnum.animals.toString() === 'animals'
// `${nestedEnum.animals.cow}` === 'animals.cow'

NOTE: Unfortunately, docs have a nasty habit of falling out of date. When in doubt, check usage in tests

5.0.0

1 year ago

4.0.1

2 years ago

4.0.0

2 years ago

3.0.2

3 years ago

3.0.1

3 years ago

3.0.0

3 years ago

2.0.2

3 years ago

2.0.1

4 years ago

2.0.0

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago