Skip to content

Endo API documentation - v0.2.0 / Exports / @endo/common / apply-labeling-error

Module: apply-labeling-error

Table of contents

Functions

Functions

applyLabelingError

applyLabelingError<A, R>(func, args, label?): R

Calls func(...args), but annotating any failure error with label.

If label is omitted or undefined, then this is equivalent to `func(...args).

Otherwise, if it successfully returns a non-promise, that non-promise is returned.

If it throws, rethrow a similar error whose message is

js
`${label}: ${originalMessage}`

That way, in an error happens deep within a stack of calls to applyLabelingError, the resulting error will show the stack of labels.

If it returns a promise, then applyLabelingError cannot tell until that promise settles whether it represents a success or failure. So it immediately returns a new promise. If the original promise fulfills, then the fulfillment is propagated to the returned promise.

If the promise rejects with an error, then the returned promise is rejected with a similar promise, prefixed with the label in that same way.

Type parameters

Name
A
R

Parameters

NameTypeDefault value
func(...args: A[]) => Rundefined
argsA[]undefined
label?string | numberundefined

Returns

R

Defined in

apply-labeling-error.js:35