@thisisagile/easy 10.5.17 → 10.5.22

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.
@@ -12,7 +12,7 @@ class RouteGateway extends types_1.Gateway {
12
12
  this.api = api;
13
13
  }
14
14
  get(uri, options) {
15
- return this.api.get(uri, options).then(r => (0, types_1.toPageList)(r.body.data?.items, r.body.data?.totalItems));
15
+ return this.api.get(uri, options).then(r => (0, types_1.toPageList)(r.body.data?.items, { total: r.body.data?.totalItems }));
16
16
  }
17
17
  getOne(uri, options) {
18
18
  return this.get(uri, options).then(r => r.first());
@@ -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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"}
@@ -1,12 +1,12 @@
1
1
  import { Json, JsonValue } from './Json';
2
2
  import { Id } from './Id';
3
- import { PageList } from './PageList';
3
+ import { PageList, PageOptions } from './PageList';
4
4
  export declare abstract class Gateway {
5
- all(): Promise<PageList<Json>>;
5
+ all(options?: PageOptions): Promise<PageList<Json>>;
6
6
  byId(id: Id): Promise<Json | undefined>;
7
- by(key: string, value: JsonValue): Promise<PageList<Json>>;
8
- byIds(...ids: Id[]): Promise<PageList<Json>>;
9
- search(q: JsonValue): Promise<PageList<Json>>;
7
+ by(_key: string, _value: JsonValue, _options?: PageOptions): Promise<PageList<Json>>;
8
+ byIds(..._ids: Id[]): Promise<PageList<Json>>;
9
+ search(q: JsonValue, options?: PageOptions): Promise<PageList<Json>>;
10
10
  exists(id: Id): Promise<boolean>;
11
11
  add(item: Json): Promise<Json>;
12
12
  update(item: Json): Promise<Json>;
@@ -4,19 +4,19 @@ exports.Gateway = void 0;
4
4
  const Exception_1 = require("./Exception");
5
5
  const utils_1 = require("../utils");
6
6
  class Gateway {
7
- all() {
7
+ all(options) {
8
8
  return (0, utils_1.reject)(Exception_1.Exception.IsNotImplemented);
9
9
  }
10
10
  byId(id) {
11
11
  return (0, utils_1.reject)(Exception_1.Exception.IsNotImplemented);
12
12
  }
13
- by(key, value) {
13
+ by(_key, _value, _options) {
14
14
  return (0, utils_1.reject)(Exception_1.Exception.IsNotImplemented);
15
15
  }
16
- byIds(...ids) {
16
+ byIds(..._ids) {
17
17
  return (0, utils_1.reject)(Exception_1.Exception.IsNotImplemented);
18
18
  }
19
- search(q) {
19
+ search(q, options) {
20
20
  return (0, utils_1.reject)(Exception_1.Exception.IsNotImplemented);
21
21
  }
22
22
  exists(id) {
@@ -1 +1 @@
1
- {"version":3,"file":"Gateway.js","sourceRoot":"","sources":["../../src/types/Gateway.ts"],"names":[],"mappings":";;;AAEA,2CAAwC;AACxC,oCAAkC;AAGlC,MAAsB,OAAO;IAC3B,GAAG;QACD,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,EAAM;QACT,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,EAAE,CAAC,GAAW,EAAE,KAAgB;QAC9B,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,GAAG,GAAS;QAChB,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,CAAY;QACjB,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,EAAM;QACX,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,GAAG,CAAC,IAAU;QACZ,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,IAAU;QACf,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,EAAM;QACX,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;CACF;AApCD,0BAoCC"}
1
+ {"version":3,"file":"Gateway.js","sourceRoot":"","sources":["../../src/types/Gateway.ts"],"names":[],"mappings":";;;AAEA,2CAAwC;AACxC,oCAAkC;AAGlC,MAAsB,OAAO;IAE3B,GAAG,CAAC,OAAqB;QACvB,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,EAAM;QACT,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,EAAE,CAAC,IAAY,EAAE,MAAiB,EAAE,QAAsB;QACxD,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,GAAG,IAAU;QACjB,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,CAAY,EAAE,OAAqB;QACxC,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,EAAM;QACX,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,GAAG,CAAC,IAAU;QACZ,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,IAAU;QACf,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,EAAM;QACX,OAAO,IAAA,cAAM,EAAC,qBAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;CACF;AArCD,0BAqCC"}
@@ -12,6 +12,7 @@ export declare const json: {
12
12
  delete: (subject: unknown, key: string) => Json;
13
13
  set: (subject: unknown, key?: string, value?: unknown) => Json;
14
14
  omit: (subject: unknown, ...keys: string[]) => Json;
15
+ defaults: <T extends Json = Json>(options?: Partial<T>, defaults?: Partial<T>) => T;
15
16
  };
16
17
  export declare const toJson: (...subjects: unknown[]) => Json;
17
18
  export declare const asJson: (j?: unknown, alt?: Get<Json>) => Json;
@@ -15,6 +15,7 @@ exports.json = {
15
15
  },
16
16
  set: (subject, key = '', value) => (0, Is_1.isEmpty)(key) ? subject : (0, Is_1.isDefined)(value) ? { ...subject, ...{ [key]: value } } : exports.json.delete(subject, key),
17
17
  omit: (subject, ...keys) => keys.reduce((js, k) => exports.json.delete(js, k), exports.json.parse(subject)),
18
+ defaults: (options = {}, defaults = {}) => exports.json.merge(defaults, options)
18
19
  };
19
20
  exports.toJson = exports.json.merge;
20
21
  const asJson = (j, alt = {}) => ((0, exports.isJson)(j) ? j.toJSON() : (0, Is_1.isObject)(j) ? j : (0, Get_1.ofGet)(alt, j));
@@ -1 +1 @@
1
- {"version":3,"file":"Json.js","sourceRoot":"","sources":["../../src/types/Json.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,6BAAoD;AACpD,+BAAmC;AAK5B,MAAM,MAAM,GAAG,CAAC,OAAiB,EAAqC,EAAE,CAAC,IAAA,SAAG,EAAyB,OAAO,EAAE,QAAQ,CAAC,CAAC;AAAlH,QAAA,MAAM,UAA4G;AAElH,QAAA,IAAI,GAAG;IAClB,KAAK,EAAE,CAAC,OAAgB,EAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC5E,KAAK,EAAE,CAAC,GAAG,QAAmB,EAAQ,EAAE,CAAC,YAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,cAAM,EAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,YAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9I,MAAM,EAAE,CAAC,OAAgB,EAAE,GAAW,EAAQ,EAAE;QAC9C,OAAQ,OAAe,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,OAAe,CAAC;IACzB,CAAC;IACD,GAAG,EAAE,CAAC,OAAgB,EAAE,GAAG,GAAG,EAAE,EAAE,KAAe,EAAQ,EAAE,CACzD,IAAA,YAAO,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,cAAS,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAI,OAAe,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,CAAC,YAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;IAC9H,IAAI,EAAE,CAAC,OAAgB,EAAE,GAAG,IAAc,EAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,YAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,YAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;CACrH,CAAC;AAEW,QAAA,MAAM,GAAG,YAAI,CAAC,KAAK,CAAC;AAE1B,MAAM,MAAM,GAAG,CAAC,CAAW,EAAE,MAAiB,EAAE,EAAQ,EAAE,CAAC,CAAC,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAA,aAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAU,CAAC,CAAC,CAAC,IAAA,WAAK,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAA1H,QAAA,MAAM,UAAoH;AAEvI,MAAM,GAAG;IACP,YAAqB,QAAiB,EAAE;QAAnB,UAAK,GAAL,KAAK,CAAc;QAExC,WAAM,GAAG,CAAC,GAAW,EAAO,EAAE,CAAC,IAAI,GAAG,CAAC,YAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACrE,QAAG,GAAG,CAAC,GAAW,EAAE,KAAe,EAAO,EAAE,CAAC,IAAI,GAAG,CAAC,YAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAH5C,CAAC;CAI7C;AAEM,MAAM,GAAG,GAAG,CAAC,KAAc,EAAO,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AAA9C,QAAA,GAAG,OAA2C"}
1
+ {"version":3,"file":"Json.js","sourceRoot":"","sources":["../../src/types/Json.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { List } from './List';
2
- export declare type PageList<T> = List<T> & {
3
- skip?: number;
2
+ export declare type PageOptions = {
4
3
  take?: number;
4
+ skip?: number;
5
5
  total?: number;
6
6
  };
7
- export declare const toPageList: <T>(items?: T[] | undefined, total?: number | undefined) => PageList<T>;
7
+ export declare type PageList<T> = List<T> & PageOptions;
8
+ export declare const toPageList: <T>(items?: T[] | undefined, options?: PageOptions | undefined) => PageList<T>;
@@ -2,9 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toPageList = void 0;
4
4
  const List_1 = require("./List");
5
- const toPageList = (items, total) => {
5
+ const Json_1 = require("./Json");
6
+ const toPageList = (items, options) => {
7
+ const o = Json_1.json.defaults(options, { take: 250, skip: 0 });
6
8
  const list = (0, List_1.toList)(...items ?? []);
7
- list.total = total;
9
+ list.take = o.take;
10
+ list.skip = o.skip;
11
+ list.total = o.total;
8
12
  return list;
9
13
  };
10
14
  exports.toPageList = toPageList;
@@ -1 +1 @@
1
- {"version":3,"file":"PageList.js","sourceRoot":"","sources":["../../src/types/PageList.ts"],"names":[],"mappings":";;;AAAA,iCAAsC;AAI/B,MAAM,UAAU,GAAG,CAAI,KAAW,EAAE,KAAc,EAAe,EAAE;IACxE,MAAM,IAAI,GAAG,IAAA,aAAM,EAAI,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;IACtC,IAAY,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAJW,QAAA,UAAU,cAIrB"}
1
+ {"version":3,"file":"PageList.js","sourceRoot":"","sources":["../../src/types/PageList.ts"],"names":[],"mappings":";;;AAAA,iCAAsC;AACtC,iCAA8B;AAMvB,MAAM,UAAU,GAAG,CAAI,KAAW,EAAE,OAAqB,EAAe,EAAE;IAC/E,MAAM,CAAC,GAAG,WAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,IAAA,aAAM,EAAI,GAAG,KAAK,IAAI,EAAE,CAAQ,CAAC;IAC9C,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACnB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACnB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACrB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAPW,QAAA,UAAU,cAOrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy",
3
- "version": "10.5.17",
3
+ "version": "10.5.22",
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": "10.5.17",
34
+ "@thisisagile/easy-test": "10.5.22",
35
35
  "@types/form-urlencoded": "^4.4.0",
36
36
  "@types/jsonwebtoken": "^8.5.8",
37
37
  "@types/validator": "^13.7.2"
@@ -8,7 +8,7 @@ export class RouteGateway extends Gateway {
8
8
  }
9
9
 
10
10
  get(uri: Uri, options?: RequestOptions): Promise<PageList<Json>> {
11
- return this.api.get(uri, options).then(r => toPageList<Json>(r.body.data?.items, r.body.data?.totalItems));
11
+ return this.api.get(uri, options).then(r => toPageList<Json>(r.body.data?.items, {total: r.body.data?.totalItems}));
12
12
  }
13
13
 
14
14
  getOne(uri: Uri, options?: RequestOptions): Promise<Json | undefined> {
@@ -2,10 +2,11 @@ import { Json, JsonValue } from './Json';
2
2
  import { Id } from './Id';
3
3
  import { Exception } from './Exception';
4
4
  import { reject } from '../utils';
5
- import { PageList } from './PageList';
5
+ import { PageList, PageOptions } from './PageList';
6
6
 
7
7
  export abstract class Gateway {
8
- all(): Promise<PageList<Json>> {
8
+
9
+ all(options?: PageOptions): Promise<PageList<Json>> {
9
10
  return reject(Exception.IsNotImplemented);
10
11
  }
11
12
 
@@ -13,15 +14,15 @@ export abstract class Gateway {
13
14
  return reject(Exception.IsNotImplemented);
14
15
  }
15
16
 
16
- by(key: string, value: JsonValue): Promise<PageList<Json>> {
17
+ by(_key: string, _value: JsonValue, _options?: PageOptions): Promise<PageList<Json>> {
17
18
  return reject(Exception.IsNotImplemented);
18
19
  }
19
20
 
20
- byIds(...ids: Id[]): Promise<PageList<Json>> {
21
+ byIds(..._ids: Id[]): Promise<PageList<Json>> {
21
22
  return reject(Exception.IsNotImplemented);
22
23
  }
23
24
 
24
- search(q: JsonValue): Promise<PageList<Json>> {
25
+ search(q: JsonValue, options?: PageOptions): Promise<PageList<Json>> {
25
26
  return reject(Exception.IsNotImplemented);
26
27
  }
27
28
 
package/src/types/Json.ts CHANGED
@@ -17,6 +17,7 @@ export const json = {
17
17
  set: (subject: unknown, key = '', value?: unknown): Json =>
18
18
  isEmpty(key) ? subject : isDefined(value) ? { ...(subject as any), ...{ [key]: value as Json } } : json.delete(subject, key),
19
19
  omit: (subject: unknown, ...keys: string[]): Json => keys.reduce((js, k) => json.delete(js, k), json.parse(subject)),
20
+ defaults: <T extends Json = Json>(options: Partial<T> = {}, defaults: Partial<T> = {}): T => json.merge(defaults, options) as T
20
21
  };
21
22
 
22
23
  export const toJson = json.merge;
@@ -1,9 +1,15 @@
1
1
  import { List, toList } from './List';
2
+ import { json } from './Json';
2
3
 
3
- export type PageList<T> = List<T> & { skip?: number, take?: number, total?: number };
4
+ export type PageOptions = { take?: number, skip?: number, total?: number };
4
5
 
5
- export const toPageList = <T>(items?: T[], total?: number): PageList<T> => {
6
- const list = toList<T>(...items ?? []);
7
- (list as any).total = total;
6
+ export type PageList<T> = List<T> & PageOptions;
7
+
8
+ export const toPageList = <T>(items?: T[], options?: PageOptions): PageList<T> => {
9
+ const o = json.defaults(options, {take: 250, skip: 0});
10
+ const list = toList<T>(...items ?? []) as any;
11
+ list.take = o.take;
12
+ list.skip = o.skip;
13
+ list.total = o.total;
8
14
  return list;
9
15
  };