Abstract
Creates a new UnionHandler
.
When requireAll
is false or ignoreErrors
is true,
the length of the input to combine
can vary;
otherwise, it is exactly the number of handlers.
The handlers whose output is to be combined.
If true, will fail if any of the handlers do not support the input. If false, only the handlers that support the input will be called; will fail only if none of the handlers can handle the input.
If true, ignores handlers that fail by omitting their output; if false, fails when any handlers fail.
Protected
allChecks if all handlers can handle the input. If not, throw an error based on the errors of the failed handlers.
Checks whether the input can be handled by this class. If it cannot handle the input, rejects with an error explaining why.
Input that could potentially be handled.
A promise resolving if the input can be handled, rejecting with an Error if not.
Protected
Abstract
combineCombines the results of the handlers into a single output.
Handles the given input. This may only be called if canHandle did not reject. When unconditionally calling both in sequence, consider handleSafe instead.
Input that needs to be handled.
A promise resolving when handling is finished.
Helper function that first runs canHandle followed by handle. Throws the error of canHandle if the data cannot be handled, or returns the result of handle otherwise.
Input data that will be handled if it can be handled.
A promise resolving if the input can be handled, rejecting with an Error if not.
Utility handler that allows combining the results of multiple handlers into one. Will run the handlers and then call the abstract
combine
function with the results, which then generates the handler's output.