A small JavaScript/Node.js utility that wraps a function so it runs exactly once, preventing double callback execution. Useful when event handlers or async flows might call the same callback multiple times, with an additional async variant (`one-time/async`) for async functions and `await`.
Project status
- Maintenance status: Based on the last upstream push in 2019 and the most recent update also dated 2019-05-05, the repository appears quiet or dormant (not actively maintained) as of 2026-08-12.
- Update cadence: The updates stop after 2019 (earlier versions exist in 2015), indicating multi-year gaps with no evidence of recent ongoing development.
AI summary generated
Recent updates
1.0.0
This release (0.0.4 to 1.0.0) introduces an async variant of the one-time wrapper and refactors name/displayName handling to use the fn.name dependency for easier debugging. It also updates build/test tooling and CI targets, and adjusts packaging ignores for the published npm artifact. No release notes were provided, so all behavior and API changes below are effectively undocumented in the release description.
BreakingFeatures0.0.4
Release 0.0.4 (no release notes provided). The code change is focused on improving debuggability of the returned wrapper function, and the project tooling was updated (tests, Travis matrix, devDependencies).
Features0.0.3
Release 0.0.3 was published on 2015-01-19, but no release notes were provided by the publisher. As a result, the provided information does not describe any new features, fixes, breaking changes, or migration requirements.