Files
cloudron-box/src/once.js
T
2026-02-14 16:34:34 +01:00

20 lines
471 B
JavaScript

import debugModule from 'debug';
const debug = debugModule('box:once');
// https://github.com/isaacs/once/blob/main/LICENSE (ISC)
function once (fn) {
const f = function () {
if (f.called) {
debug(`${f.name} was already called, returning previous return value`);
return f.value;
}
f.called = true;
return f.value = fn.apply(this, arguments);
};
f.called = false;
return f;
}
export default once;