Files
node/tools/eslint/node_modules/onetime
Rich Trott 6a5c37655d tools: update to ESLint 4.1.0
Update ESLint to 4.1.0. This fixes a bug that previously prevented us
from using the new and stricter indentation checking.

Refs: https://github.com/eslint/eslint/issues/8721
PR-URL: https://github.com/nodejs/node/pull/13895
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2017-07-18 19:56:50 +02:00
..
2017-06-21 22:43:32 +02:00
2016-01-13 23:15:39 +01:00
2017-07-18 19:56:50 +02:00
2017-06-21 22:43:32 +02:00

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