import { Async, Constructor } from "@bonbons/contracts"; import * as c from "@bonbons/contracts/dist/src/private-api"; /** * Base BONBONS Pipe * --- * * you should always extends this Class * * contains input params and request/response context support * * @description * @author Big Mogician * @export * @abstract * @class PipeMiddleware * @implements {IPipe} * @template T */ export declare abstract class PipeMiddleware implements c.IPipe { readonly params: T; constructor(); readonly context: c.IBonbonsContext; abstract process(): Async; protected break(): c.PipeProcessResult; } /** * Bonbons Pipe Factory Generator * --- * use this generator to create factory and params bundle. */ export declare const PipeFactory: { /** * Create a generic pipe * ----- * Create a bundle with pipe which input params is a typed-object. * @description * @author Big Mogician * @template T * @param {Constructor>} type * @returns */ generic(type: Constructor>): (params: T) => c.IPipeBundle; /** * Create a array pipe * ----- * Create a bundle with pipe which input params is an array. * @description * @author Big Mogician * @template T * @param {Constructor>} type * @returns */ fromArray(type: Constructor>): (params: T) => c.IPipeBundle; /** * * Create a common pipe * ----- * Create a bundle with pipe which input params is an object. * @description * @author Big Mogician * @template T * @param {Constructor>} type * @returns */ fromMap(type: Constructor>): (params: T) => c.IPipeBundle; };