Ensure a function is only called once
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.editorconfig
.gitattributes
.gitignore
.travis.yml
index.js
license
package.json
readme.md
test.js Meta tweaks Mar 20, 2017

readme.md

onetime Build Status

Ensure a function is only called once

When called multiple times it will return the return value from the first call.

Unlike the module once, this one isn't naughty extending Function.prototype.

Install

$ npm install --save onetime

Usage

let i = 0;

const foo = onetime(() => i++);

foo(); //=> 0
foo(); //=> 0
foo(); //=> 0
const foo = onetime(() => {}, {throw: true});

foo();

foo();
//=> Error: Function `foo` can only be called once

API

onetime(fn, [options])

Returns a function that only calls fn once.

fn

Type: Function

Function that should only be called once.

options

Type: Object

throw

Type: boolean
Default: false

Throw an error when called more than once.

License

MIT © Sindre Sorhus