Socket
Socket
Sign inDemoInstall

function-timeout

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

function-timeout

Make a synchronous function have a timeout


Version published
Weekly downloads
532K
decreased by-13.5%
Maintainers
1
Weekly downloads
 
Created
Source

function-timeout

Make a synchronous function have a timeout

This can be useful if you accept external data and want to ensure processing it does not take too long.

The timeout only works in Node.js. When used in a browser, the function will be wrapped, but never time out.

I have a different package to prevent ReDoS for regexes.

Install

npm install function-timeout

Usage

import functionTimeout, {isTimeoutError} from 'function-timeout';

const generateNumbers = count => {
	// Imagine this takes a long time.
};

const generateNumbersWithTimeout = functionTimeout(generateNumbers, {timeout: 100});

try {
	console.log(generateNumbersWithTimeout(500));
} catch (error) {
	if (isTimeoutError(error)) {
		console.error('Timed out');
	} else {
		throw error;
	}
}

API

functionTimeout(function, options?)

Returns a wrapped version of the given function that throws a timeout error if the execution takes longer than the given timeout.

options

Type: object

timeout?

Type: number (integer)

The time in milliseconds to wait before timing out.

Keep in mind that execution time can vary between different hardware and Node.js versions. Set a generous timeout to avoid flakiness.

isTimeoutError(error)

Returns a boolean for whether the given error is a timeout error.

  • super-regex - Make a regular expression time out if it takes too long to execute
  • p-timeout - Timeout a promise after a certain amount of time

Keywords

FAQs

Package last updated on 28 Jun 2022

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc