@thisisagile/easy 9.0.0 → 9.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"Api.js","sourceRoot":"","sources":["../../src/services/Api.ts"],"names":[],"mappings":";;;AACA,kCAA8E;AAC9E,mDAAgD;AAEhD,MAAa,GAAG;IACd,YAAqB,WAA4B,IAAI,6BAAa,EAAE;QAA/C,aAAQ,GAAR,QAAQ,CAAuC;QAEpE,QAAG,GAAG,CAAC,GAAQ,EAAE,UAA0B,qBAAc,CAAC,IAAI,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAqB,EAAE,CAChJ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QAEzF,SAAI,GAAG,CAAC,GAAQ,EAAE,IAAc,EAAE,UAA0B,qBAAc,CAAC,IAAI,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAqB,EAAE,CACjK,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QAEhG,QAAG,GAAG,CAAC,GAAQ,EAAE,IAAc,EAAE,UAA0B,qBAAc,CAAC,IAAI,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAqB,EAAE,CAChK,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QAE/F,UAAK,GAAG,CAAC,GAAQ,EAAE,IAAc,EAAE,UAA0B,qBAAc,CAAC,IAAI,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAqB,EAAE,CAClK,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QAEjG,WAAM,GAAG,CAAC,GAAQ,EAAE,UAA0B,qBAAc,CAAC,IAAI,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAqB,EAAE,CACnJ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IAfrB,CAAC;CAgBzE;AAjBD,kBAiBC;AAEY,QAAA,GAAG,GAAQ,IAAI,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"Api.js","sourceRoot":"","sources":["../../src/services/Api.ts"],"names":[],"mappings":";;;AACA,kCAA8E;AAC9E,mDAAgD;AAEhD,MAAa,GAAG;IACd,YAAqB,WAA4B,IAAI,6BAAa,EAAE;QAA/C,aAAQ,GAAR,QAAQ,CAAuC;QAEpE,QAAG,GAAG,CAAC,GAAQ,EAAE,UAA0B,qBAAc,CAAC,IAAI,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAqB,EAAE,CAChJ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QAEzF,SAAI,GAAG,CACL,GAAQ,EACR,IAAc,EACd,UAA0B,qBAAc,CAAC,IAAI,EAC7C,SAA2B,EAC3B,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EACX,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QAEtH,QAAG,GAAG,CACJ,GAAQ,EACR,IAAc,EACd,UAA0B,qBAAc,CAAC,IAAI,EAC7C,SAA2B,EAC3B,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EACX,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QAErH,UAAK,GAAG,CACN,GAAQ,EACR,IAAc,EACd,UAA0B,qBAAc,CAAC,IAAI,EAC7C,SAA2B,EAC3B,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EACX,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QAEvH,WAAM,GAAG,CAAC,GAAQ,EAAE,UAA0B,qBAAc,CAAC,IAAI,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAqB,EAAE,CACnJ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IA9BrB,CAAC;CA+BzE;AAhCD,kBAgCC;AAEY,QAAA,GAAG,GAAQ,IAAI,GAAG,EAAE,CAAC"}
@@ -1,16 +1,16 @@
1
1
  import { Api } from './Api';
2
- import { Func, Id, Json, JsonValue, List, Uri } from '../types';
2
+ import { Func, Json, List, Uri } from '../types';
3
3
  import { Mapper } from '../utils';
4
4
  import { RouteGateway } from './RouteGateway';
5
+ import { RequestOptions } from '../http';
5
6
  export declare class MappedRouteGateway extends RouteGateway {
6
7
  readonly route: Func<Uri>;
7
8
  readonly routeId: Func<Uri>;
8
9
  readonly map: Mapper;
9
10
  readonly api: Api;
10
11
  constructor(route: Func<Uri>, routeId: Func<Uri>, map?: Mapper, api?: Api);
11
- all(): Promise<List<Json>>;
12
- byId(id: Id): Promise<Json | undefined>;
13
- search(q: JsonValue): Promise<List<Json>>;
12
+ get(uri: Uri, options?: RequestOptions): Promise<List<Json>>;
13
+ getOne(uri: Uri, options?: RequestOptions): Promise<Json | undefined>;
14
14
  add(item: Json): Promise<Json>;
15
15
  update(item: Json): Promise<Json>;
16
16
  }
@@ -12,14 +12,11 @@ class MappedRouteGateway extends RouteGateway_1.RouteGateway {
12
12
  this.map = map;
13
13
  this.api = api;
14
14
  }
15
- all() {
16
- return super.all().then(is => is.map(i => this.map.in(i)));
15
+ get(uri, options) {
16
+ return super.get(uri, options).then(is => is.map(i => this.map.in(i)));
17
17
  }
18
- byId(id) {
19
- return super.byId(id).then(i => this.map.in(i));
20
- }
21
- search(q) {
22
- return super.search(q).then(is => is.map(i => this.map.in(i)));
18
+ getOne(uri, options) {
19
+ return super.get(uri, options).then(is => is.first()).then(i => this.map.in(i));
23
20
  }
24
21
  add(item) {
25
22
  return super.add(this.map.out(item));
@@ -1 +1 @@
1
- {"version":3,"file":"MappedRouteGateway.js","sourceRoot":"","sources":["../../src/services/MappedRouteGateway.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAE5B,oCAAkC;AAClC,iDAA8C;AAE9C,MAAa,kBAAmB,SAAQ,2BAAY;IAClD,YAAqB,KAAgB,EAAW,OAAkB,EAAW,MAAM,IAAI,cAAM,EAAE,EAAW,MAAW,IAAI,SAAG,EAAE;QAC5H,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QADR,UAAK,GAAL,KAAK,CAAW;QAAW,YAAO,GAAP,OAAO,CAAW;QAAW,QAAG,GAAH,GAAG,CAAe;QAAW,QAAG,GAAH,GAAG,CAAiB;IAE9H,CAAC;IAED,GAAG;QACD,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC,EAAM;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,CAAY;QACjB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,GAAG,CAAC,IAAU;QACZ,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,IAAU;QACf,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF;AAxBD,gDAwBC"}
1
+ {"version":3,"file":"MappedRouteGateway.js","sourceRoot":"","sources":["../../src/services/MappedRouteGateway.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAE5B,oCAAkC;AAClC,iDAA8C;AAG9C,MAAa,kBAAmB,SAAQ,2BAAY;IAClD,YAAqB,KAAgB,EAAW,OAAkB,EAAW,MAAM,IAAI,cAAM,EAAE,EAAW,MAAW,IAAI,SAAG,EAAE;QAC5H,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QADR,UAAK,GAAL,KAAK,CAAW;QAAW,YAAO,GAAP,OAAO,CAAW;QAAW,QAAG,GAAH,GAAG,CAAe;QAAW,QAAG,GAAH,GAAG,CAAiB;IAE9H,CAAC;IAED,GAAG,CAAC,GAAQ,EAAE,OAAwB;QACpC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,CAAC,GAAQ,EAAE,OAAwB;QACvC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,GAAG,CAAC,IAAU;QACZ,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,IAAU;QACf,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF;AApBD,gDAoBC"}
@@ -1,12 +1,13 @@
1
1
  import { Api } from './Api';
2
2
  import { Func, Gateway, Id, Json, JsonValue, List, Uri } from '../types';
3
+ import { RequestOptions } from '../http';
3
4
  export declare class RouteGateway extends Gateway {
4
5
  readonly route: Func<Uri>;
5
6
  readonly routeId: Func<Uri>;
6
7
  readonly api: Api;
7
8
  constructor(route: Func<Uri>, routeId: Func<Uri>, api?: Api);
8
- get(uri: Uri): Promise<List<Json>>;
9
- getOne(uri: Uri): Promise<Json | undefined>;
9
+ get(uri: Uri, options?: RequestOptions): Promise<List<Json>>;
10
+ getOne(uri: Uri, options?: RequestOptions): Promise<Json | undefined>;
10
11
  all(): Promise<List<Json>>;
11
12
  byId(id: Id): Promise<Json | undefined>;
12
13
  search(q: JsonValue): Promise<List<Json>>;
@@ -11,11 +11,11 @@ class RouteGateway extends types_1.Gateway {
11
11
  this.routeId = routeId;
12
12
  this.api = api;
13
13
  }
14
- get(uri) {
15
- return this.api.get(uri).then(r => r.body.data?.items ?? (0, types_1.toList)());
14
+ get(uri, options) {
15
+ return this.api.get(uri, options).then(r => r.body.data?.items ?? (0, types_1.toList)());
16
16
  }
17
- getOne(uri) {
18
- return this.get(uri).then(r => r.first());
17
+ getOne(uri, options) {
18
+ return this.get(uri, options).then(r => r.first());
19
19
  }
20
20
  all() {
21
21
  return this.get(this.route());
@@ -1 +1 @@
1
- {"version":3,"file":"RouteGateway.js","sourceRoot":"","sources":["../../src/services/RouteGateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RouteGateway.js","sourceRoot":"","sources":["../../src/services/RouteGateway.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { Api } from './Api';
2
+ import { Func, Json, List, Uri } from '../types';
3
+ import { RouteGateway } from './RouteGateway';
4
+ import { RequestOptions } from '../http';
5
+ export declare class ViewRouteGateway extends RouteGateway {
6
+ readonly route: Func<Uri>;
7
+ readonly routeId: Func<Uri>;
8
+ readonly views: {
9
+ in: import("../utils").View;
10
+ out: import("../utils").View;
11
+ };
12
+ readonly api: Api;
13
+ constructor(route: Func<Uri>, routeId: Func<Uri>, views?: {
14
+ in: import("../utils").View;
15
+ out: import("../utils").View;
16
+ }, api?: Api);
17
+ get(uri: Uri, options?: RequestOptions): Promise<List<Json>>;
18
+ getOne(uri: Uri, options?: RequestOptions): Promise<Json | undefined>;
19
+ add(item: Json): Promise<Json>;
20
+ update(item: Json): Promise<Json>;
21
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViewRouteGateway = void 0;
4
+ const Api_1 = require("./Api");
5
+ const utils_1 = require("../utils");
6
+ const RouteGateway_1 = require("./RouteGateway");
7
+ class ViewRouteGateway extends RouteGateway_1.RouteGateway {
8
+ constructor(route, routeId, views = {
9
+ in: (0, utils_1.view)({}).fromSource,
10
+ out: (0, utils_1.view)({}).fromSource,
11
+ }, api = new Api_1.Api()) {
12
+ super(route, routeId, api);
13
+ this.route = route;
14
+ this.routeId = routeId;
15
+ this.views = views;
16
+ this.api = api;
17
+ }
18
+ get(uri, options) {
19
+ return super.get(uri, options).then(is => is.map(i => this.views.in.from(i)));
20
+ }
21
+ getOne(uri, options) {
22
+ return super.get(uri, options).then(is => is.first()).then(i => this.views.in.from(i));
23
+ }
24
+ add(item) {
25
+ return super.add(this.views.out.from(item));
26
+ }
27
+ update(item) {
28
+ return super.update(this.views.out.from(item));
29
+ }
30
+ }
31
+ exports.ViewRouteGateway = ViewRouteGateway;
32
+ //# sourceMappingURL=ViewRouteGateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewRouteGateway.js","sourceRoot":"","sources":["../../src/services/ViewRouteGateway.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAE5B,oCAAgC;AAChC,iDAA8C;AAG9C,MAAa,gBAAiB,SAAQ,2BAAY;IAChD,YACW,KAAgB,EAChB,OAAkB,EAClB,QAAQ;QACf,EAAE,EAAE,IAAA,YAAI,EAAC,EAAE,CAAC,CAAC,UAAU;QACvB,GAAG,EAAE,IAAA,YAAI,EAAC,EAAE,CAAC,CAAC,UAAU;KACzB,EACQ,MAAW,IAAI,SAAG,EAAE;QAE7B,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QARlB,UAAK,GAAL,KAAK,CAAW;QAChB,YAAO,GAAP,OAAO,CAAW;QAClB,UAAK,GAAL,KAAK,CAGb;QACQ,QAAG,GAAH,GAAG,CAAiB;IAG/B,CAAC;IAED,GAAG,CAAC,GAAQ,EAAE,OAAwB;QACpC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,CAAC,GAAQ,EAAE,OAAwB;QACvC,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,GAAG,CAAC,IAAU;QACZ,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,IAAU;QACf,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;CACF;AA5BD,4CA4BC"}
@@ -2,3 +2,4 @@ export * from './Api';
2
2
  export * from './AxiosProvider';
3
3
  export * from './MappedRouteGateway';
4
4
  export * from './RouteGateway';
5
+ export * from './ViewRouteGateway';
@@ -18,4 +18,5 @@ __exportStar(require("./Api"), exports);
18
18
  __exportStar(require("./AxiosProvider"), exports);
19
19
  __exportStar(require("./MappedRouteGateway"), exports);
20
20
  __exportStar(require("./RouteGateway"), exports);
21
+ __exportStar(require("./ViewRouteGateway"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,kDAAgC;AAChC,uDAAqC;AACrC,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,kDAAgC;AAChC,uDAAqC;AACrC,iDAA+B;AAC/B,qDAAmC"}
@@ -1 +1 @@
1
- {"version":3,"file":"View.js","sourceRoot":"","sources":["../../src/utils/View.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"View.js","sourceRoot":"","sources":["../../src/utils/View.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy",
3
- "version": "9.0.0",
3
+ "version": "9.4.1",
4
4
  "description": "Straightforward library for building domain-driven microservice architectures",
5
5
  "author": "Sander Hoogendoorn",
6
6
  "license": "MIT",
@@ -31,7 +31,7 @@
31
31
  "access": "public"
32
32
  },
33
33
  "devDependencies": {
34
- "@thisisagile/easy-test": "9.0.0",
34
+ "@thisisagile/easy-test": "9.4.1",
35
35
  "@types/form-urlencoded": "^4.4.0",
36
36
  "@types/jsonwebtoken": "^8.5.8",
37
37
  "@types/validator": "^13.7.2"
@@ -8,14 +8,29 @@ export class Api {
8
8
  get = (uri: Uri, options: RequestOptions = RequestOptions.Json, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> =>
9
9
  this.provider.execute({ uri, verb: HttpVerb.Get, transform, transformError, options });
10
10
 
11
- post = (uri: Uri, body?: unknown, options: RequestOptions = RequestOptions.Json, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> =>
12
- this.provider.execute({ uri, verb: HttpVerb.Post, body, transform, transformError, options });
11
+ post = (
12
+ uri: Uri,
13
+ body?: unknown,
14
+ options: RequestOptions = RequestOptions.Json,
15
+ transform?: (r: any) => any,
16
+ transformError = (r: any) => r
17
+ ): Promise<Response> => this.provider.execute({ uri, verb: HttpVerb.Post, body, transform, transformError, options });
13
18
 
14
- put = (uri: Uri, body?: unknown, options: RequestOptions = RequestOptions.Json, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> =>
15
- this.provider.execute({ uri, verb: HttpVerb.Put, body, transform, transformError, options });
19
+ put = (
20
+ uri: Uri,
21
+ body?: unknown,
22
+ options: RequestOptions = RequestOptions.Json,
23
+ transform?: (r: any) => any,
24
+ transformError = (r: any) => r
25
+ ): Promise<Response> => this.provider.execute({ uri, verb: HttpVerb.Put, body, transform, transformError, options });
16
26
 
17
- patch = (uri: Uri, body?: unknown, options: RequestOptions = RequestOptions.Json, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> =>
18
- this.provider.execute({ uri, verb: HttpVerb.Patch, body, transform, transformError, options });
27
+ patch = (
28
+ uri: Uri,
29
+ body?: unknown,
30
+ options: RequestOptions = RequestOptions.Json,
31
+ transform?: (r: any) => any,
32
+ transformError = (r: any) => r
33
+ ): Promise<Response> => this.provider.execute({ uri, verb: HttpVerb.Patch, body, transform, transformError, options });
19
34
 
20
35
  delete = (uri: Uri, options: RequestOptions = RequestOptions.Json, transform?: (b: any) => any, transformError = (r: any) => r): Promise<Response> =>
21
36
  this.provider.execute({ uri, verb: HttpVerb.Delete, transform, transformError, options });
@@ -1,23 +1,20 @@
1
1
  import { Api } from './Api';
2
- import { Func, Id, Json, JsonValue, List, Uri } from '../types';
2
+ import { Func, Json, List, Uri } from '../types';
3
3
  import { Mapper } from '../utils';
4
4
  import { RouteGateway } from './RouteGateway';
5
+ import { RequestOptions } from '../http';
5
6
 
6
7
  export class MappedRouteGateway extends RouteGateway {
7
8
  constructor(readonly route: Func<Uri>, readonly routeId: Func<Uri>, readonly map = new Mapper(), readonly api: Api = new Api()) {
8
9
  super(route, routeId, api);
9
10
  }
10
11
 
11
- all(): Promise<List<Json>> {
12
- return super.all().then(is => is.map(i => this.map.in(i)));
12
+ get(uri: Uri, options?: RequestOptions): Promise<List<Json>> {
13
+ return super.get(uri, options).then(is => is.map(i => this.map.in(i)));
13
14
  }
14
15
 
15
- byId(id: Id): Promise<Json | undefined> {
16
- return super.byId(id).then(i => this.map.in(i));
17
- }
18
-
19
- search(q: JsonValue): Promise<List<Json>> {
20
- return super.search(q).then(is => is.map(i => this.map.in(i)));
16
+ getOne(uri: Uri, options?: RequestOptions): Promise<Json | undefined> {
17
+ return super.get(uri, options).then(is => is.first()).then(i => this.map.in(i));
21
18
  }
22
19
 
23
20
  add(item: Json): Promise<Json> {
@@ -1,18 +1,18 @@
1
1
  import { Api } from './Api';
2
2
  import { Func, Gateway, Id, Json, JsonValue, List, toList, Uri } from '../types';
3
- import { HttpStatus } from '../http';
3
+ import { HttpStatus, RequestOptions } from '../http';
4
4
 
5
5
  export class RouteGateway extends Gateway {
6
6
  constructor(readonly route: Func<Uri>, readonly routeId: Func<Uri>, readonly api: Api = new Api()) {
7
7
  super();
8
8
  }
9
9
 
10
- get(uri: Uri): Promise<List<Json>> {
11
- return this.api.get(uri).then(r => r.body.data?.items ?? toList());
10
+ get(uri: Uri, options?: RequestOptions): Promise<List<Json>> {
11
+ return this.api.get(uri, options).then(r => r.body.data?.items ?? toList());
12
12
  }
13
13
 
14
- getOne(uri: Uri): Promise<Json | undefined> {
15
- return this.get(uri).then(r => r.first());
14
+ getOne(uri: Uri, options?: RequestOptions): Promise<Json | undefined> {
15
+ return this.get(uri, options).then(r => r.first());
16
16
  }
17
17
 
18
18
  all(): Promise<List<Json>> {
@@ -0,0 +1,35 @@
1
+ import { Api } from './Api';
2
+ import { Func, Json, List, Uri } from '../types';
3
+ import { view } from '../utils';
4
+ import { RouteGateway } from './RouteGateway';
5
+ import { RequestOptions } from '../http';
6
+
7
+ export class ViewRouteGateway extends RouteGateway {
8
+ constructor(
9
+ readonly route: Func<Uri>,
10
+ readonly routeId: Func<Uri>,
11
+ readonly views = {
12
+ in: view({}).fromSource,
13
+ out: view({}).fromSource,
14
+ },
15
+ readonly api: Api = new Api(),
16
+ ) {
17
+ super(route, routeId, api);
18
+ }
19
+
20
+ get(uri: Uri, options?: RequestOptions): Promise<List<Json>> {
21
+ return super.get(uri, options).then(is => is.map(i => this.views.in.from(i)));
22
+ }
23
+
24
+ getOne(uri: Uri, options?: RequestOptions): Promise<Json | undefined> {
25
+ return super.get(uri, options).then(is => is.first()).then(i => this.views.in.from(i));
26
+ }
27
+
28
+ add(item: Json): Promise<Json> {
29
+ return super.add(this.views.out.from(item));
30
+ }
31
+
32
+ update(item: Json): Promise<Json> {
33
+ return super.update(this.views.out.from(item));
34
+ }
35
+ }
@@ -2,3 +2,4 @@ export * from './Api';
2
2
  export * from './AxiosProvider';
3
3
  export * from './MappedRouteGateway';
4
4
  export * from './RouteGateway';
5
+ export * from './ViewRouteGateway';
package/src/utils/View.ts CHANGED
@@ -1,16 +1,4 @@
1
- import {
2
- asJson,
3
- isArray, isBoolean,
4
- isDefined,
5
- isFunction, isNumber,
6
- isObject,
7
- isString,
8
- isUndefined,
9
- Json,
10
- json,
11
- meta,
12
- tryTo,
13
- } from '../types';
1
+ import { asJson, isArray, isBoolean, isDefined, isFunction, isNumber, isObject, isString, isUndefined, Json, json, meta, tryTo } from '../types';
14
2
  import { traverse } from './Traverse';
15
3
  import { choose } from './Case';
16
4
 
@@ -66,6 +54,9 @@ export const views = {
66
54
  ignore: () => undefined,
67
55
  keep: (a: unknown, key?: string) => traverse(a, key),
68
56
  keepOr: (alt?: string) => (a: unknown, key?: string) => traverse(a, key) ?? alt,
69
- or: (key: string, alt = '') => (a: unknown) => traverse(a, key) ?? alt,
57
+ or:
58
+ (key: string, alt = '') =>
59
+ (a: unknown) =>
60
+ traverse(a, key) ?? alt,
70
61
  value: (value: unknown) => () => value,
71
62
  };