state-toggle

Enter/exit a state

Usage no npm install needed!

<script type="module">
  import stateToggle from 'https://cdn.skypack.dev/state-toggle';
</script>

README

state-toggle

Build Coverage Downloads Size

Enter/exit a state.

Install

npm:

npm install state-toggle

Use

import {stateToggle} from 'state-toggle'

var ctx = {on: false}
var enter = stateToggle('on', ctx.on, ctx)
var exit

// Entering:
exit = enter()
console.log(ctx.on) // => true

// Exiting:
exit()
console.log(ctx.on) // => false

API

state-toggle exports the following identifier: stateToggle. There is no default export.

toggle(key, initial[, ctx])

Create a toggle, which when entering toggles key on ctx (or this, if ctx is not given) to !initial, and when exiting, sets key on the context back to the value it had before entering.

Returns

Functionenter.

enter()

Enter the state.

Context

If no ctx was given to toggle, the context object (this) of enter() is used to toggle.

Returns

Functionexit.

exit()

Exit the state, reverting key to the value it had before entering.

License

MIT © Titus Wormer