{"version":3,"sources":["../lib/plugin.ts"],"sourcesContent":["import compose, { ComposedMiddleware } from 'koa-compose';\n\ntype Middleware = compose.Middleware<any>\ntype Middlewares = Array<Middleware>\n\nclass PluginManage {\n\n    clientMiddlewares: Middlewares = []\n\n    constructor() {\n        console.log(\"Plugin\")\n    }\n\n    addClientMiddleware(middleware: Middleware) {\n        this.clientMiddlewares.push(middleware)\n    }\n\n    callClientMiddleware(ctx: any, callClient: ComposedMiddleware<any>) {\n        const fnMiddleware = compose([].concat(this.clientMiddlewares, [callClient]));\n        return fnMiddleware(ctx);\n    }\n}\n\n\nconst pluginManage = new PluginManage()\n\nexport default pluginManage;\n\ntype AddPluginOptions = {\n    clientMiddleware?: Middleware,\n}\n\nexport const addPlugin = ({ clientMiddleware }: AddPluginOptions) => {\n    clientMiddleware && pluginManage.addClientMiddleware(clientMiddleware)\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAA4C;AAK5C,IAAM,eAAN,MAAmB;AAAA,EAEf,oBAAiC,CAAC;AAAA,EAElC,cAAc;AACV,YAAQ,IAAI,QAAQ;AAAA,EACxB;AAAA,EAEA,oBAAoB,YAAwB;AACxC,SAAK,kBAAkB,KAAK,UAAU;AAAA,EAC1C;AAAA,EAEA,qBAAqB,KAAU,YAAqC;AAChE,UAAM,mBAAe,mBAAAA,SAAQ,CAAC,EAAE,OAAO,KAAK,mBAAmB,CAAC,UAAU,CAAC,CAAC;AAC5E,WAAO,aAAa,GAAG;AAAA,EAC3B;AACJ;AAGA,IAAM,eAAe,IAAI,aAAa;AAEtC,IAAO,iBAAQ;AAMR,IAAM,YAAY,CAAC,EAAE,iBAAiB,MAAwB;AACjE,sBAAoB,aAAa,oBAAoB,gBAAgB;AACzE;","names":["compose"]}