Engines will be executed in the same order as the array.
The name of the key used to pass the body of one engine to the next.
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.
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.
Calls the given array of TemplateEngines in the order they appear, feeding the output of one into the input of the next.
The first engine will be called with the provided contents and template parameters. All subsequent engines will be called with no template parameter. Contents will still be passed along and another entry will be added for the body of the previous output.