40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
declare const pTry: {
 | 
						|
	/**
 | 
						|
	Start a promise chain.
 | 
						|
 | 
						|
	@param fn - The function to run to start the promise chain.
 | 
						|
	@param arguments - Arguments to pass to `fn`.
 | 
						|
	@returns The value of calling `fn(...arguments)`. If the function throws an error, the returned `Promise` will be rejected with that error.
 | 
						|
 | 
						|
	@example
 | 
						|
	```
 | 
						|
	import pTry = require('p-try');
 | 
						|
 | 
						|
	(async () => {
 | 
						|
		try {
 | 
						|
			const value = await pTry(() => {
 | 
						|
				return synchronousFunctionThatMightThrow();
 | 
						|
			});
 | 
						|
			console.log(value);
 | 
						|
		} catch (error) {
 | 
						|
			console.error(error);
 | 
						|
		}
 | 
						|
	})();
 | 
						|
	```
 | 
						|
	*/
 | 
						|
	<ValueType, ArgumentsType extends unknown[]>(
 | 
						|
		fn: (...arguments: ArgumentsType) => PromiseLike<ValueType> | ValueType,
 | 
						|
		...arguments: ArgumentsType
 | 
						|
	): Promise<ValueType>;
 | 
						|
 | 
						|
	// TODO: remove this in the next major version, refactor the whole definition to:
 | 
						|
	// declare function pTry<ValueType, ArgumentsType extends unknown[]>(
 | 
						|
	//	fn: (...arguments: ArgumentsType) => PromiseLike<ValueType> | ValueType,
 | 
						|
	//	...arguments: ArgumentsType
 | 
						|
	// ): Promise<ValueType>;
 | 
						|
	// export = pTry;
 | 
						|
	default: typeof pTry;
 | 
						|
};
 | 
						|
 | 
						|
export = pTry;
 |