safethen
Function wrappers for synchronous and asynchronous try/catch.
Motivation
This tiny package provides two functions that let you write less error checking code. Useful for handling MongoDB
documents, DOM
nodes etc.
const safe safeThen = ;
safe() - use in synchronous code
const safe = ; // a random nested objectsconst obj = a: ; // if undefined is an accepted value// valueOrUndefined === undefinedconst valueOrUndefined = ; // if you don't want undefined// valueOrUndefined === 'some default'const valueOrDefault = ; // wrap any logic in safe()// valueOrUndefined === 'some default'const valueOrDefault = ; // if-like conditions in promise chainsPromise ; // logs 'phew!' // vanila promises versionPromise ; // logs 'phew!'
safeThen() - use with promises
const safeThen = ; const obj = a: b: c: true ; // value === 123; const ajaxRequest = Promise; // value === 'OK' ; // value === 123, ajaxRequest() is never called ; // value === undefined // true
Source
/** * safe * * @param * @param * @returns */ { try const value = ; return value !== void 0 ? value : defaultValue; catch ex return defaultValue; } /** * safeThen * * @param * @param * @returns */ { return Promise ;}