
Security News
Open Source CAI Framework Handles Pen Testing Tasks up to 3,600× Faster Than Humans
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
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).
This module is published to the public npm registry and can be installed by running:
npm install --save one-time
Simply supply the function with the function that should only be called one time:
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'
});
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.
import one from 'one-time/async';
const fn = one(async function () {
return await example();
});
await fn();
await fn();
await fn();
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.
FAQs
Run the supplied function exactly one time (once)
The npm package one-time receives a total of 0 weekly downloads. As such, one-time popularity was classified as not popular.
We found that one-time demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
Security News
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.
Security News
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.