Socket
Book a DemoInstallSign in
Socket

p-catch-if

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

p-catch-if

Conditional promise catch handler

latest
Source
npmnpm
Version
3.0.0
Version published
Maintainers
1
Created
Source

p-catch-if

Conditional promise catch handler

Useful for handling only some types of errors and let the rest pass through.

Install

$ npm install p-catch-if

Usage

import pCatchIf from 'p-catch-if';

// Error constructor
getData().catch(pCatchIf(TimeoutError, () => retry(getData)));

// Multiple error constructors
getData().catch(pCatchIf([NetworkError, TimeoutError], () => retry(getData)));

// Boolean
getData().catch(pCatchIf(isProduction, error => recordError(error)));

// Function
const hasUnicornMessage = error => error.message.includes('unicorn');
getData().catch(pCatchIf(hasUnicornMessage, console.error));

// Promise-returning function
const handler = error => sendError(error).then(checkResults);
getData().catch(pCatchIf(handler, console.error));

// Can also be nested
const validateMessage = error => error.message === 'Too many rainbows';
getData().catch(pCatchIf(UnicornError, pCatchIf(validateMessage, console.error)));

API

pCatchIf(predicate, catchHandler)

Returns a thunk that returns a Promise.

predicate

Type: Error.constructor Error.constructor[] boolean Function -> Promise<boolean>|boolean

Specify either an error constructor, array of error constructors, boolean, or function that returns a promise for a boolean or a boolean.

If the function returns a promise, it's awaited.

catchHandler

Type: Function

Called if predicate passes.

This is what you would normally pass to .catch().

  • p-if - Conditional promise chains
  • p-tap - Tap into a promise chain without affecting its value or state
  • p-log - Log the value/error of a promise
  • More…

Keywords

promise

FAQs

Package last updated on 09 Apr 2021

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