Launch Week Day 5: Introducing Reachability for PHP.Learn More
Socket
Book a DemoSign in
Socket

any-signal

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

any-signal

Combines an array of AbortSignals into a single signal that is aborted when any signal is

latest
Source
npmnpm
Version
4.2.0
Version published
Weekly downloads
200K
-5.35%
Maintainers
1
Weekly downloads
 
Created
Source

any-signal

codecov CI

Combines an array of AbortSignals into a single signal that is aborted when any signal is

About

Similar to AbortSignal.any except the returned promise has a .clear method that removes all event listeners added to passed signals preventing memory leaks.

At the time of writing at least, AbortSignal.any leaks memory in Node.js and Deno environments:

Example

import { anySignal } from 'any-signal'

const userController = new AbortController()

// Abort after 1 second
const timeoutSignal = AbortSignal.timeout(1000)

const combinedSignal = anySignal([userController.signal, timeoutSignal])
combinedSignal.addEventListener('abort', () => console.log('Abort!'))

try {
  // The user or the timeout can now abort the action
  await performSomeAction({ signal: combinedSignal })
} finally {
  // Clear will clean up internal event handlers
  combinedSignal.clear()
}

Install

$ npm i any-signal

Browser <script> tag

Loading this module through a script tag will make its exports available as AnySignal in the global namespace.

<script src="https://unpkg.com/any-signal/dist/index.min.js"></script>

Acknowledgements

The anySignal function is taken from a comment by jakearchibald

API Docs

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

FAQs

Package last updated on 19 Dec 2025

Did you know?

Socket

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.

Install

Related posts