0.0.6 • Published 8 days ago

stenum v0.0.6

Weekly downloads
2
License
WTFPL
Repository
github
Last release
8 days ago

NPM version Size license

🗿 stenum

Like enums where each one can contain a value

Stenum can help you make a quick state model with multiple properties that are mutually exclusive. Only one property can be set at a time.

Simple usage example

Live sample on flems.io

import stenum from 'stenum'

const s = stenum([
  'loading',
  'result',
  'error'
], (key, value) =>
  console.log(key, 'changed to', value)
)

s.loading = true
s.result = { some: 'result' } // s.loading === undefined
s.error = new Error('Oh noes - not good') // s.result === undefined

stenum(keys, [observer])

The stenum creator can take multiple arguments, where each will be a group of properties that become mutually exclusive.

The observer function is optional and will be called with (key, value) anytime a property is changed.

stenum.property = 'some value'

Setting one of the specified properties will set the rest to undefined.

stenum('property')

The stenum instance itself is a function that returns a setter for any value passed to it. This is very useful if supplying it as a callback for promises and the like.

0.0.6

8 days ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

4 years ago

0.0.2

5 years ago

0.0.1

5 years ago