'use strict' module.exports = factory // Construct a state `toggler`: a function which inverses `property` in context // based on its current value. // The by `toggler` returned function restores that value. function factory(key, state, ctx) { return enter function enter() { var context = ctx || this var current = context[key] context[key] = !state return exit function exit() { context[key] = current } } }