{"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":[]}