UNPKG

@ocubist/error-alchemy

Version:

A powerful Node.js error-handling-framework with custom error types for easy debugging, enhanced error management, strong zod-support and useful quality-of-life-functionality for asserting and validating values.

25 lines (22 loc) 734 B
import { executeSynthesizerMiddlewareOneByOne, flattenMiddlewareChain, } from "./helpers"; import { Synthesizer, SynthesizerMiddlewareChain } from "./types"; /** * Crafts a new error synthesizer with the given middleware chain. * * @param {SynthesizerMiddlewareChain} middlewareChain - The middleware chain of transmuters. * @returns {Synthesizer} The crafted synthesizer. */ export const craftErrorSynthesizer = ( middlewareChain: SynthesizerMiddlewareChain ): Synthesizer => { const newSynthesizer: Synthesizer = { middlewareChain: flattenMiddlewareChain(middlewareChain), synthesize(err) { return executeSynthesizerMiddlewareOneByOne(err, this.middlewareChain); }, }; return newSynthesizer; };