@thisisagile/easy-test 12.5.20 → 12.5.23

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.
package/dist/utils/Req.js CHANGED
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Req = void 0;
4
- const easy_1 = require("@thisisagile/easy");
4
+ const Utils_1 = require("./Utils");
5
5
  class Req {
6
6
  constructor(state = {}) {
7
7
  this.state = state;
8
- this.skip = (0, easy_1.ifDefined)(this.query?.skip, (0, easy_1.asNumber)(this.query?.skip));
9
- this.take = (0, easy_1.ifDefined)(this.query?.take, (0, easy_1.asNumber)(this.query?.take));
8
+ this.skip = (0, Utils_1.ifDefined)(this.query?.skip, (0, Utils_1.asNumber)(this.query?.skip));
9
+ this.take = (0, Utils_1.ifDefined)(this.query?.take, (0, Utils_1.asNumber)(this.query?.take));
10
10
  this.get = (key) => this?.state[key.toString()] ?? this.path[key.toString()] ?? this.query[key.toString()];
11
11
  }
12
12
  get id() {
@@ -1 +1 @@
1
- {"version":3,"file":"Req.js","sourceRoot":"","sources":["../../src/utils/Req.ts"],"names":[],"mappings":";;;AACA,4CAAwD;AAExD,MAAa,GAAG;IACd,YAAqB,QAAa,EAAE;QAAf,UAAK,GAAL,KAAK,CAAU;QAU3B,SAAI,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAA,eAAQ,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/D,SAAI,GAAG,IAAA,gBAAS,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAA,eAAQ,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAcxE,QAAG,GAAG,CAAC,GAAS,EAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAzB1E,CAAC;IAExC,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACtC,CAAC;IAKD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CAGF;AA3BD,kBA2BC"}
1
+ {"version":3,"file":"Req.js","sourceRoot":"","sources":["../../src/utils/Req.ts"],"names":[],"mappings":";;;AAAA,mCAA8C;AAG9C,MAAa,GAAG;IACd,YAAqB,QAAa,EAAE;QAAf,UAAK,GAAL,KAAK,CAAU;QAU3B,SAAI,GAAG,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAA,gBAAQ,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/D,SAAI,GAAG,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAA,gBAAQ,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAcxE,QAAG,GAAG,CAAC,GAAS,EAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAzB1E,CAAC;IAExC,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACtC,CAAC;IAKD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CAGF;AA3BD,kBA2BC"}
@@ -1,4 +1,6 @@
1
+ import { Construct, Get } from '@thisisagile/easy';
1
2
  export declare const isDefined: (o?: unknown) => boolean;
3
+ export declare const ifDefined: <T>(o: unknown, f: Construct<T>, alt?: Construct<T> | undefined) => T | undefined;
2
4
  export declare const isFunction: (o?: unknown) => o is (...params: unknown[]) => unknown;
3
5
  export declare const isA: <T>(t?: unknown, ...properties: (keyof T)[]) => t is T;
4
6
  export declare const isAn: <T>(t?: unknown, ...properties: (keyof T)[]) => t is T;
@@ -6,3 +8,4 @@ export declare const isArray: <T = any>(o?: unknown) => o is T[];
6
8
  export declare const isObject: (o?: unknown) => o is Record<string, unknown>;
7
9
  export declare const asJson: (a?: unknown) => any;
8
10
  export declare const asString: (a?: unknown) => any;
11
+ export declare const asNumber: (n: unknown, alt?: Get<number>) => number;
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.asString = exports.asJson = exports.isObject = exports.isArray = exports.isAn = exports.isA = exports.isFunction = exports.isDefined = void 0;
3
+ exports.asNumber = exports.asString = exports.asJson = exports.isObject = exports.isArray = exports.isAn = exports.isA = exports.isFunction = exports.ifDefined = exports.isDefined = void 0;
4
+ const easy_1 = require("@thisisagile/easy");
4
5
  const isDefined = (o) => o !== undefined && o !== null;
5
6
  exports.isDefined = isDefined;
7
+ const ifDefined = (o, f, alt) => ((0, exports.isDefined)(o) ? (0, easy_1.ofConstruct)(f, o) : (0, easy_1.ofConstruct)(alt, o));
8
+ exports.ifDefined = ifDefined;
6
9
  const isFunction = (o) => (0, exports.isDefined)(o) && typeof o === 'function';
7
10
  exports.isFunction = isFunction;
8
11
  const isA = (t, ...properties) => (0, exports.isDefined)(t) && properties.every(p => (0, exports.isDefined)(t[p]));
@@ -16,4 +19,9 @@ const asJson = (a) => (a?.toJSON ? a.toJSON() : (0, exports.isObject)(a) ? a : u
16
19
  exports.asJson = asJson;
17
20
  const asString = (a) => a?.toString();
18
21
  exports.asString = asString;
22
+ const asNumber = (n, alt) => (0, easy_1.tryTo)(() => (0, exports.asString)(n))
23
+ .map(s => parseInt(s))
24
+ .filter(n => (0, easy_1.isNumber)(n))
25
+ .or((0, easy_1.ofGet)(alt) ?? NaN);
26
+ exports.asNumber = asNumber;
19
27
  //# sourceMappingURL=Utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../src/utils/Utils.ts"],"names":[],"mappings":";;;AAAO,MAAM,SAAS,GAAG,CAAC,CAAW,EAAW,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC;AAApE,QAAA,SAAS,aAA2D;AAE1E,MAAM,UAAU,GAAG,CAAC,CAAW,EAA0C,EAAE,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,UAAU,CAAC;AAA9G,QAAA,UAAU,cAAoG;AAEpH,MAAM,GAAG,GAAG,CAAI,CAAW,EAAE,GAAG,UAAuB,EAAU,EAAE,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAS,EAAE,CAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAA5H,QAAA,GAAG,OAAyH;AAC5H,QAAA,IAAI,GAAG,WAAG,CAAC;AAEjB,MAAM,OAAO,GAAG,CAAU,CAAW,EAAiB,EAAE,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC;AAAtF,QAAA,OAAO,WAA+E;AAC5F,MAAM,QAAQ,GAAG,CAAC,CAAW,EAAgC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,IAAA,eAAO,EAAC,CAAC,CAAC,CAAC;AAAzI,QAAA,QAAQ,YAAiI;AAE/I,MAAM,MAAM,GAAG,CAAC,CAAW,EAAO,EAAE,CAAC,CAAE,CAAS,EAAE,MAAM,CAAC,CAAC,CAAE,CAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAAxG,QAAA,MAAM,UAAkG;AAC9G,MAAM,QAAQ,GAAG,CAAC,CAAW,EAAO,EAAE,CAAE,CAAS,EAAE,QAAQ,EAAE,CAAC;AAAxD,QAAA,QAAQ,YAAgD"}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../src/utils/Utils.ts"],"names":[],"mappings":";;;AAAA,4CAAwF;AAEjF,MAAM,SAAS,GAAG,CAAC,CAAW,EAAW,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC;AAApE,QAAA,SAAS,aAA2D;AAC1E,MAAM,SAAS,GAAG,CAAI,CAAU,EAAE,CAAe,EAAE,GAAkB,EAAiB,EAAE,CAAC,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAW,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAW,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAA5I,QAAA,SAAS,aAAmI;AAElJ,MAAM,UAAU,GAAG,CAAC,CAAW,EAA0C,EAAE,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,UAAU,CAAC;AAA9G,QAAA,UAAU,cAAoG;AAEpH,MAAM,GAAG,GAAG,CAAI,CAAW,EAAE,GAAG,UAAuB,EAAU,EAAE,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iBAAS,EAAE,CAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAA5H,QAAA,GAAG,OAAyH;AAC5H,QAAA,IAAI,GAAG,WAAG,CAAC;AAEjB,MAAM,OAAO,GAAG,CAAU,CAAW,EAAiB,EAAE,CAAC,IAAA,iBAAS,EAAC,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC;AAAtF,QAAA,OAAO,WAA+E;AAC5F,MAAM,QAAQ,GAAG,CAAC,CAAW,EAAgC,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,IAAA,eAAO,EAAC,CAAC,CAAC,CAAC;AAAzI,QAAA,QAAQ,YAAiI;AAE/I,MAAM,MAAM,GAAG,CAAC,CAAW,EAAO,EAAE,CAAC,CAAE,CAAS,EAAE,MAAM,CAAC,CAAC,CAAE,CAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAAxG,QAAA,MAAM,UAAkG;AAC9G,MAAM,QAAQ,GAAG,CAAC,CAAW,EAAO,EAAE,CAAE,CAAS,EAAE,QAAQ,EAAE,CAAC;AAAxD,QAAA,QAAQ,YAAgD;AAE9D,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAE,GAAiB,EAAU,EAAE,CAChE,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;KACrB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;KACrB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;KACxB,EAAE,CAAC,IAAA,YAAK,EAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AAJd,QAAA,QAAQ,YAIM"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy-test",
3
- "version": "12.5.20",
3
+ "version": "12.5.23",
4
4
  "description": "Straightforward library for testing microservices built with @thisisagile/easy",
5
5
  "author": "Sander Hoogendoorn",
6
6
  "license": "MIT",
@@ -43,6 +43,6 @@
43
43
  "jest": "^29.0.3",
44
44
  "jest-junit": "^14.0.1",
45
45
  "jest-sonar-reporter": "^2.0.0",
46
- "ts-jest": "^29.0.2"
46
+ "ts-jest": "^29.0.3"
47
47
  }
48
48
  }
package/src/utils/Req.ts CHANGED
@@ -1,5 +1,5 @@
1
+ import { asNumber, ifDefined } from './Utils';
1
2
  import { Id, Json, JsonValue, Text } from './Types';
2
- import { asNumber, ifDefined } from '@thisisagile/easy';
3
3
 
4
4
  export class Req {
5
5
  constructor(readonly state: any = {}) {}
@@ -1,4 +1,7 @@
1
+ import { Construct, Get, isNumber, ofConstruct, ofGet, tryTo } from '@thisisagile/easy';
2
+
1
3
  export const isDefined = (o?: unknown): boolean => o !== undefined && o !== null;
4
+ export const ifDefined = <T>(o: unknown, f: Construct<T>, alt?: Construct<T>): T | undefined => (isDefined(o) ? ofConstruct(f, o) : ofConstruct(alt, o));
2
5
 
3
6
  export const isFunction = (o?: unknown): o is (...params: unknown[]) => unknown => isDefined(o) && typeof o === 'function';
4
7
 
@@ -10,3 +13,9 @@ export const isObject = (o?: unknown): o is Record<string, unknown> => o != null
10
13
 
11
14
  export const asJson = (a?: unknown): any => ((a as any)?.toJSON ? (a as any).toJSON() : isObject(a) ? a : undefined);
12
15
  export const asString = (a?: unknown): any => (a as any)?.toString();
16
+
17
+ export const asNumber = (n: unknown, alt?: Get<number>): number =>
18
+ tryTo(() => asString(n))
19
+ .map(s => parseInt(s))
20
+ .filter(n => isNumber(n))
21
+ .or(ofGet(alt) ?? NaN);