UNPKG

@thisisagile/easy

Version:

Straightforward library for building domain-driven microservice architectures

1 lines 1.9 kB
{"version":3,"sources":["../../src/services/MappedRouteGateway.ts"],"sourcesContent":["import { Api } from './Api';\nimport { RouteGateway } from './RouteGateway';\nimport { Func } from '../types/Func';\nimport { Uri } from '../types/Uri';\nimport { Mapper } from '../utils/Mapper';\nimport { RequestOptions } from '../http/RequestOptions';\nimport { PageList } from '../types/PageList';\nimport { Json } from '../types/Json';\nimport { Optional } from '../types/Types';\n\nexport class MappedRouteGateway extends RouteGateway {\n constructor(\n readonly route: Func<Uri>,\n readonly routeId: Func<Uri>,\n readonly map = new Mapper(),\n readonly api: Api = new Api()\n ) {\n super(route, routeId, api);\n }\n\n get(uri: Uri, options?: RequestOptions): Promise<PageList<Json>> {\n return super.get(uri, options).then(is => is.map(i => this.map.in(i)));\n }\n\n getOne(uri: Uri, options?: RequestOptions): Promise<Optional<Json>> {\n return super\n .get(uri, options)\n .then(is => is.first())\n .then(i => this.map.in(i));\n }\n\n add(item: Json): Promise<Json> {\n return super.add(this.map.out(item));\n }\n\n update(item: Json): Promise<Json> {\n return super.update(this.map.out(item));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,IAAM,qBAAN,cAAiC,aAAa;AAAA,EACnD,YACW,OACA,SACA,MAAM,IAAI,OAAO,GACjB,MAAW,IAAI,IAAI,GAC5B;AACA,UAAM,OAAO,SAAS,GAAG;AALhB;AACA;AACA;AACA;AAAA,EAGX;AAAA,EAEA,IAAI,KAAU,SAAmD;AAC/D,WAAO,MAAM,IAAI,KAAK,OAAO,EAAE,KAAK,QAAM,GAAG,IAAI,OAAK,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC;AAAA,EACvE;AAAA,EAEA,OAAO,KAAU,SAAmD;AAClE,WAAO,MACJ,IAAI,KAAK,OAAO,EAChB,KAAK,QAAM,GAAG,MAAM,CAAC,EACrB,KAAK,OAAK,KAAK,IAAI,GAAG,CAAC,CAAC;AAAA,EAC7B;AAAA,EAEA,IAAI,MAA2B;AAC7B,WAAO,MAAM,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC;AAAA,EACrC;AAAA,EAEA,OAAO,MAA2B;AAChC,WAAO,MAAM,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC;AAAA,EACxC;AACF;","names":[]}