call-once
v1.0.3
Published
Call a function once and no more
Downloads
1,182
Readme
Call Once
Limit dangerous function calls.
Install
$ npm install call-once
Usage
// Simple usage
var callOnce = require( 'call-once' )
var wrapped = callOnce( function( n ){
setupNuclearTestPlant()
return true
})
wrapped() // => true
wrapped() // => undefined
// Blocking and unblocking wrapped functions
var callOnce = require( 'call-once' )
var setup = callOnce( function( n ){
setupNuclearTestPlant()
return true
})
powerPlant.on( 'constructed', function(){
setup()
})
president.on( 'cancel_project', function(){
setup.block() // will prevent the function from being called at all
})
president.on( 'changed_mind', function(){
setup.unblock() // will allow the function to be called again
})
Note: in reality this is more useful for stuff like promise resolutions on a timeout