REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 2.11 KB
Close
//home/byroehnu/easepay.easetack.com/node_modules/one-time/README.md
Text
Base64
# one-time Call the supplied function exactly one time. This prevents double callback execution. This module can be used on both Node.js, React-Native, or browsers using Browserify. No magical ES5/6 methods used unlike the `once` module does (except for the async version). ## Installation This module is published to the public npm registry and can be installed by running: ```sh npm install --save one-time ``` ## Usage (normal) Simply supply the function with the function that should only be called one time: ```js var one = require('one-time'); function load(file, fn) { fn = one(fn); eventemitter.once('load', fn); eventemitter.once('error', fn); // do stuff eventemitter.emit('error', new Error('Failed to load, but still finished')); eventemitter.emit('load'); } function example(fn) { fn = one(fn); fn(); fn('also receives all arguments'); fn('it returns the same value') === 'bar'; fn('never'); fn('gonna'); fn('give'); fn('you'); fn('up'); } example(function () { return 'bar' }); ``` ## Usage (async) The same pattern is available for **async** functions as well, for that you should import that `one-time/async` version instead. This one is optimized for **async** and **await** support. It following exactly the same as the normal version but assumes it's an `async function () {}` that it's wrapping instead of a regular function, and it will return an `async function() {}` instead of a regular function. ```js import one from 'one-time/async'; const fn = one(async function () { return await example(); }); await fn(); await fn(); await fn(); ``` ### Why not `once`? The main reason is that `once` cannot be used in a browser environment unless it's ES5 compatible. For a module as simple as this I find that unacceptable. In addition to that it super heavy on the dependency side. So it's totally not suitable to be used in client side applications. In addition to that we make sure that your code stays easy to debug as returned functions are named in the same way as your supplied functions. Making heap inspection and stack traces easier to understand. ## License [MIT](LICENSE)
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 6
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
.htaccess
127 B
lr--r--r--
2026-03-14 01:49:21
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
async.js
1.03 KB
lrw-r--r--
2026-02-21 00:53:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
index.js
1.00 KB
lrw-r--r--
2026-02-21 00:53:20
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
LICENSE
1.09 KB
lrw-r--r--
2026-02-21 00:53:22
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
package.json
734 B
lrw-r--r--
2026-02-21 00:53:18
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
README.md
2.11 KB
lrw-r--r--
2026-02-21 00:53:22
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).