@queso/attempt

Wraps func in a try...catch.

Usage no npm install needed!

<script type="module">
  import quesoAttempt from 'https://cdn.skypack.dev/@queso/attempt';
</script>

README

@queso/attempt

npm license Travis Build Status codecov Try @queso/attempt on RunKit

Part of a library of zero-dependency npm modules that do just one thing.

npm

min + gzip | 126 bytes

source

Wraps func in a try...catch.

Usage

import attempt from '@queso/attempt'

function exclaim(message: string) {
return message + '!'
}
attempt(exclaim)('hi')

Parameters

Name Type Description
func TFunc The function to wrap.

Type parameters

Name Constraint Default
TFunc (...args: any[]) => any
TReason Error

Returns

A new wrapper function that, when called, returns a tuple of [err, success].

Return type

<TReason = Error>(
    ...args: Parameters<TFunc>
) => [TReason | null, (ReturnType<TFunc> | undefined)?]