onetime

Ensure a function is only called once

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

Unlike the module oncearrow-up-right, this one isn't naughty and extending Function.prototype.

Install

npm install onetime

Usage

import onetime from 'onetime';

let index = 0;

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

foo(); //=> 1
foo(); //=> 1
foo(); //=> 1

onetime.callCount(foo); //=> 3

API

onetime(fn, options?)

Returns a function that only calls fn once.

fn

Type: Function

The function that should only be called once.

options

Type: object

throw

Type: boolean Default: false

Throw an error when called more than once.

onetime.callCount(fn)

Returns a number representing how many times fn has been called.

Note: It throws an error if you pass in a function that is not wrapped by onetime.

fn

Type: Function

The function to get call count from.

Last updated