@thisisagile/easy 10.5.20 → 10.5.25

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,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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"}
@@ -5,4 +5,4 @@ export declare type PageOptions = {
5
5
  total?: number;
6
6
  };
7
7
  export declare type PageList<T> = List<T> & PageOptions;
8
- export declare const toPageList: <T>(items?: T[] | undefined, options?: PageOptions) => PageList<T>;
8
+ export declare const toPageList: <T>(items?: T[] | undefined, options?: PageOptions | undefined) => PageList<T>;
@@ -2,11 +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, options = { take: 250, skip: 0 }) => {
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.take = options.take;
8
- list.skip = options.skip;
9
- list.total = options.total;
9
+ list.take = o.take;
10
+ list.skip = o.skip;
11
+ list.total = o.total;
10
12
  return list;
11
13
  };
12
14
  exports.toPageList = toPageList;
@@ -1 +1 @@
1
- {"version":3,"file":"PageList.js","sourceRoot":"","sources":["../../src/types/PageList.ts"],"names":[],"mappings":";;;AAAA,iCAAsC;AAM/B,MAAM,UAAU,GAAG,CAAI,KAAW,EAAE,UAAuB,EAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAC,EAAe,EAAE;IACrG,MAAM,IAAI,GAAG,IAAA,aAAM,EAAI,GAAG,KAAK,IAAI,EAAE,CAAQ,CAAC;IAC9C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACzB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AANW,QAAA,UAAU,cAMrB"}
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.20",
3
+ "version": "10.5.25",
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.20",
34
+ "@thisisagile/easy-test": "10.5.25",
35
35
  "@types/form-urlencoded": "^4.4.0",
36
36
  "@types/jsonwebtoken": "^8.5.8",
37
37
  "@types/validator": "^13.7.2"
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,13 +1,15 @@
1
1
  import { List, toList } from './List';
2
+ import { json } from './Json';
2
3
 
3
4
  export type PageOptions = { take?: number, skip?: number, total?: number };
4
5
 
5
6
  export type PageList<T> = List<T> & PageOptions;
6
7
 
7
- export const toPageList = <T>(items?: T[], options: PageOptions = {take: 250, skip: 0}): PageList<T> => {
8
+ export const toPageList = <T>(items?: T[], options?: PageOptions): PageList<T> => {
9
+ const o = json.defaults(options, {take: 250, skip: 0});
8
10
  const list = toList<T>(...items ?? []) as any;
9
- list.take = options.take;
10
- list.skip = options.skip;
11
- list.total = options.total;
11
+ list.take = o.take;
12
+ list.skip = o.skip;
13
+ list.total = o.total;
12
14
  return list;
13
15
  };