0.0.6 • Published 1 year ago

stenum v0.0.6

Weekly downloads
2
License
WTFPL
Repository
github
Last release
1 year 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

1 year ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago