UNPKG

rambda

Version:

Lightweight and faster alternative to Ramda with included TS definitions

25 lines (18 loc) 378 B
import { curry } from './curry.js' function onceFn(fn, context){ let result return function (){ if (fn){ result = fn.apply(context || this, arguments) fn = null } return result } } export function once(fn, context){ if (arguments.length === 1){ const wrap = onceFn(fn, context) return curry(wrap) } return onceFn(fn, context) }