@thisisagile/easy-test 15.8.6 → 15.8.7

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.
Files changed (147) hide show
  1. package/dist/index.d.ts +2 -379
  2. package/dist/index.js +25 -3
  3. package/dist/index.js.map +1 -0
  4. package/dist/index.mjs +3 -3
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/matchers/Check.d.ts +17 -0
  7. package/dist/matchers/Check.js +64 -0
  8. package/dist/matchers/Check.js.map +1 -0
  9. package/dist/matchers/Check.mjs +39 -0
  10. package/dist/matchers/Check.mjs.map +1 -0
  11. package/dist/matchers/HttpMatchers.d.ts +31 -0
  12. package/dist/matchers/HttpMatchers.js +89 -0
  13. package/dist/matchers/HttpMatchers.js.map +1 -0
  14. package/dist/matchers/HttpMatchers.mjs +54 -0
  15. package/dist/matchers/HttpMatchers.mjs.map +1 -0
  16. package/dist/matchers/Match.d.ts +12 -0
  17. package/dist/matchers/Match.js +59 -0
  18. package/dist/matchers/Match.js.map +1 -0
  19. package/dist/matchers/Match.mjs +34 -0
  20. package/dist/matchers/Match.mjs.map +1 -0
  21. package/dist/matchers/ResultMatchers.d.ts +13 -0
  22. package/dist/matchers/ResultMatchers.js +51 -0
  23. package/dist/matchers/ResultMatchers.js.map +1 -0
  24. package/dist/matchers/ResultMatchers.mjs +25 -0
  25. package/dist/matchers/ResultMatchers.mjs.map +1 -0
  26. package/dist/matchers/index.d.ts +19 -0
  27. package/dist/matchers/index.js +59 -0
  28. package/dist/matchers/index.js.map +1 -0
  29. package/dist/matchers/index.mjs +20 -0
  30. package/dist/matchers/index.mjs.map +1 -0
  31. package/dist/matchers/toBeArrayOf.d.ts +9 -0
  32. package/dist/matchers/toBeArrayOf.js +33 -0
  33. package/dist/matchers/toBeArrayOf.js.map +1 -0
  34. package/dist/matchers/toBeArrayOf.mjs +9 -0
  35. package/dist/matchers/toBeArrayOf.mjs.map +1 -0
  36. package/dist/matchers/toBeArrayOfWithLength.d.ts +9 -0
  37. package/dist/matchers/toBeArrayOfWithLength.js +36 -0
  38. package/dist/matchers/toBeArrayOfWithLength.js.map +1 -0
  39. package/dist/matchers/toBeArrayOfWithLength.mjs +12 -0
  40. package/dist/matchers/toBeArrayOfWithLength.mjs.map +1 -0
  41. package/dist/matchers/toBeAt.d.ts +9 -0
  42. package/dist/matchers/toBeAt.js +44 -0
  43. package/dist/matchers/toBeAt.js.map +1 -0
  44. package/dist/matchers/toBeAt.mjs +20 -0
  45. package/dist/matchers/toBeAt.mjs.map +1 -0
  46. package/dist/matchers/toBeExactlyAt.d.ts +9 -0
  47. package/dist/matchers/toBeExactlyAt.js +43 -0
  48. package/dist/matchers/toBeExactlyAt.js.map +1 -0
  49. package/dist/matchers/toBeExactlyAt.mjs +19 -0
  50. package/dist/matchers/toBeExactlyAt.mjs.map +1 -0
  51. package/dist/matchers/toBeQueriedWith.d.ts +9 -0
  52. package/dist/matchers/toBeQueriedWith.js +36 -0
  53. package/dist/matchers/toBeQueriedWith.js.map +1 -0
  54. package/dist/matchers/toBeQueriedWith.mjs +12 -0
  55. package/dist/matchers/toBeQueriedWith.mjs.map +1 -0
  56. package/dist/matchers/toBeRoutedTo.d.ts +9 -0
  57. package/dist/matchers/toBeRoutedTo.js +37 -0
  58. package/dist/matchers/toBeRoutedTo.js.map +1 -0
  59. package/dist/matchers/toBeRoutedTo.mjs +13 -0
  60. package/dist/matchers/toBeRoutedTo.mjs.map +1 -0
  61. package/dist/matchers/toBeValid.d.ts +8 -0
  62. package/dist/matchers/toBeValid.js +34 -0
  63. package/dist/matchers/toBeValid.js.map +1 -0
  64. package/dist/matchers/toBeValid.mjs +10 -0
  65. package/dist/matchers/toBeValid.mjs.map +1 -0
  66. package/dist/matchers/toFailMatcher.d.ts +19 -0
  67. package/dist/matchers/toFailMatcher.js +59 -0
  68. package/dist/matchers/toFailMatcher.js.map +1 -0
  69. package/dist/matchers/toFailMatcher.mjs +32 -0
  70. package/dist/matchers/toFailMatcher.mjs.map +1 -0
  71. package/dist/matchers/toMatchArray.d.ts +9 -0
  72. package/dist/matchers/toMatchArray.js +35 -0
  73. package/dist/matchers/toMatchArray.js.map +1 -0
  74. package/dist/matchers/toMatchArray.mjs +11 -0
  75. package/dist/matchers/toMatchArray.mjs.map +1 -0
  76. package/dist/matchers/toMatchExactJson.d.ts +14 -0
  77. package/dist/matchers/toMatchExactJson.js +42 -0
  78. package/dist/matchers/toMatchExactJson.js.map +1 -0
  79. package/dist/matchers/toMatchExactJson.mjs +17 -0
  80. package/dist/matchers/toMatchExactJson.mjs.map +1 -0
  81. package/dist/matchers/toMatchException.d.ts +9 -0
  82. package/dist/matchers/toMatchException.js +43 -0
  83. package/dist/matchers/toMatchException.js.map +1 -0
  84. package/dist/matchers/toMatchException.mjs +19 -0
  85. package/dist/matchers/toMatchException.mjs.map +1 -0
  86. package/dist/matchers/toMatchJson.d.ts +14 -0
  87. package/dist/matchers/toMatchJson.js +43 -0
  88. package/dist/matchers/toMatchJson.js.map +1 -0
  89. package/dist/matchers/toMatchJson.mjs +18 -0
  90. package/dist/matchers/toMatchJson.mjs.map +1 -0
  91. package/dist/matchers/toMatchRoute.d.ts +9 -0
  92. package/dist/matchers/toMatchRoute.js +37 -0
  93. package/dist/matchers/toMatchRoute.js.map +1 -0
  94. package/dist/matchers/toMatchRoute.mjs +13 -0
  95. package/dist/matchers/toMatchRoute.mjs.map +1 -0
  96. package/dist/matchers/toMatchText.d.ts +8 -0
  97. package/dist/matchers/toMatchText.js +37 -0
  98. package/dist/matchers/toMatchText.js.map +1 -0
  99. package/dist/matchers/toMatchText.mjs +13 -0
  100. package/dist/matchers/toMatchText.mjs.map +1 -0
  101. package/dist/matchers/toPassMatcher.d.ts +19 -0
  102. package/dist/matchers/toPassMatcher.js +59 -0
  103. package/dist/matchers/toPassMatcher.js.map +1 -0
  104. package/dist/matchers/toPassMatcher.mjs +32 -0
  105. package/dist/matchers/toPassMatcher.mjs.map +1 -0
  106. package/dist/mock/Fits.d.ts +24 -0
  107. package/dist/mock/Fits.js +71 -0
  108. package/dist/mock/Fits.js.map +1 -0
  109. package/dist/mock/Fits.mjs +44 -0
  110. package/dist/mock/Fits.mjs.map +1 -0
  111. package/dist/mock/Mocks.d.ts +39 -0
  112. package/dist/mock/Mocks.js +98 -0
  113. package/dist/mock/Mocks.js.map +1 -0
  114. package/dist/mock/Mocks.mjs +73 -0
  115. package/dist/mock/Mocks.mjs.map +1 -0
  116. package/dist/mock/index.d.ts +2 -0
  117. package/dist/mock/index.js +25 -0
  118. package/dist/mock/index.js.map +1 -0
  119. package/dist/mock/index.mjs +3 -0
  120. package/dist/mock/index.mjs.map +1 -0
  121. package/dist/utils/Eq.d.ts +5 -0
  122. package/dist/utils/Eq.js +35 -0
  123. package/dist/utils/Eq.js.map +1 -0
  124. package/dist/utils/Eq.mjs +11 -0
  125. package/dist/utils/Eq.mjs.map +1 -0
  126. package/dist/utils/Req.d.ts +14 -0
  127. package/dist/utils/Req.js +59 -0
  128. package/dist/utils/Req.js.map +1 -0
  129. package/dist/utils/Req.mjs +35 -0
  130. package/dist/utils/Req.mjs.map +1 -0
  131. package/dist/utils/Response.d.ts +25 -0
  132. package/dist/utils/Response.js +17 -0
  133. package/dist/utils/Response.js.map +1 -0
  134. package/dist/utils/Response.mjs +1 -0
  135. package/dist/utils/Response.mjs.map +1 -0
  136. package/dist/utils/Types.d.ts +44 -0
  137. package/dist/utils/Types.js +30 -0
  138. package/dist/utils/Types.js.map +1 -0
  139. package/dist/utils/Types.mjs +6 -0
  140. package/dist/utils/Types.mjs.map +1 -0
  141. package/dist/utils/Utils.d.ts +12 -0
  142. package/dist/utils/Utils.js +62 -0
  143. package/dist/utils/Utils.js.map +1 -0
  144. package/dist/utils/Utils.mjs +28 -0
  145. package/dist/utils/Utils.mjs.map +1 -0
  146. package/package.json +2 -2
  147. package/dist/index.d.mts +0 -379
@@ -0,0 +1,44 @@
1
+ import { asJson, asString, toArray } from "../utils/Utils";
2
+ import { eq } from "../utils/Eq";
3
+ import { AsymmetricMatcher } from "expect";
4
+ class ObjectContainingText extends AsymmetricMatcher {
5
+ asymmetricMatch(other) {
6
+ return asString(other).includes(asString(this.sample));
7
+ }
8
+ toString() {
9
+ return `String${this.inverse ? "Not" : ""}Containing`;
10
+ }
11
+ }
12
+ class ObjectContainingTextExact extends AsymmetricMatcher {
13
+ asymmetricMatch(other) {
14
+ return asString(other) === asString(this.sample);
15
+ }
16
+ toString() {
17
+ return `String${this.inverse ? "Not" : ""}Containing`;
18
+ }
19
+ }
20
+ class ObjectContainingJson extends AsymmetricMatcher {
21
+ asymmetricMatch(other) {
22
+ return eq.subset(asJson(other), asJson(this.sample));
23
+ }
24
+ toString() {
25
+ return `Object${this.inverse ? "Not" : ""}Containing`;
26
+ }
27
+ }
28
+ const fits = {
29
+ any: () => expect.anything(),
30
+ type: (type) => expect.any(type),
31
+ with: (o) => expect.objectContaining(o),
32
+ text: (s) => new ObjectContainingText(s),
33
+ textExact: (s) => new ObjectContainingTextExact(s),
34
+ uri: (u) => fits.textExact(u),
35
+ json: (s) => new ObjectContainingJson(s),
36
+ items: (...items) => expect.arrayContaining(toArray(...items))
37
+ };
38
+ export {
39
+ ObjectContainingJson,
40
+ ObjectContainingText,
41
+ ObjectContainingTextExact,
42
+ fits
43
+ };
44
+ //# sourceMappingURL=Fits.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/mock/Fits.ts"],"sourcesContent":["import { asJson, asString, toArray } from '../utils/Utils';\nimport { eq } from '../utils/Eq';\nimport { AsymmetricMatcher } from 'expect';\nimport { Uri } from '../utils/Types';\n\nexport class ObjectContainingText extends AsymmetricMatcher<string> {\n asymmetricMatch(other: any) {\n return asString(other).includes(asString(this.sample));\n }\n\n toString() {\n return `String${this.inverse ? 'Not' : ''}Containing`;\n }\n}\n\nexport class ObjectContainingTextExact extends AsymmetricMatcher<string> {\n asymmetricMatch(other: any) {\n return asString(other) === asString(this.sample);\n }\n\n toString() {\n return `String${this.inverse ? 'Not' : ''}Containing`;\n }\n}\n\nexport class ObjectContainingJson extends AsymmetricMatcher<any> {\n asymmetricMatch(other: any) {\n return eq.subset(asJson(other), asJson(this.sample));\n }\n\n toString() {\n return `Object${this.inverse ? 'Not' : ''}Containing`;\n }\n}\n\nexport const fits = {\n any: (): any => expect.anything(),\n type: (type?: unknown): any => expect.any(type),\n with: (o: unknown): any => expect.objectContaining(o),\n text: (s: any): any => new ObjectContainingText(s),\n textExact: (s: any): any => new ObjectContainingTextExact(s),\n uri: (u: Uri): any => fits.textExact(u),\n json: (s: any): any => new ObjectContainingJson(s),\n items: (...items: any[]): any => expect.arrayContaining(toArray(...items)),\n};\n"],"mappings":"AAAA,SAAS,QAAQ,UAAU,eAAe;AAC1C,SAAS,UAAU;AACnB,SAAS,yBAAyB;AAG3B,MAAM,6BAA6B,kBAA0B;AAAA,EAClE,gBAAgB,OAAY;AAC1B,WAAO,SAAS,KAAK,EAAE,SAAS,SAAS,KAAK,MAAM,CAAC;AAAA,EACvD;AAAA,EAEA,WAAW;AACT,WAAO,SAAS,KAAK,UAAU,QAAQ,EAAE;AAAA,EAC3C;AACF;AAEO,MAAM,kCAAkC,kBAA0B;AAAA,EACvE,gBAAgB,OAAY;AAC1B,WAAO,SAAS,KAAK,MAAM,SAAS,KAAK,MAAM;AAAA,EACjD;AAAA,EAEA,WAAW;AACT,WAAO,SAAS,KAAK,UAAU,QAAQ,EAAE;AAAA,EAC3C;AACF;AAEO,MAAM,6BAA6B,kBAAuB;AAAA,EAC/D,gBAAgB,OAAY;AAC1B,WAAO,GAAG,OAAO,OAAO,KAAK,GAAG,OAAO,KAAK,MAAM,CAAC;AAAA,EACrD;AAAA,EAEA,WAAW;AACT,WAAO,SAAS,KAAK,UAAU,QAAQ,EAAE;AAAA,EAC3C;AACF;AAEO,MAAM,OAAO;AAAA,EAClB,KAAK,MAAW,OAAO,SAAS;AAAA,EAChC,MAAM,CAAC,SAAwB,OAAO,IAAI,IAAI;AAAA,EAC9C,MAAM,CAAC,MAAoB,OAAO,iBAAiB,CAAC;AAAA,EACpD,MAAM,CAAC,MAAgB,IAAI,qBAAqB,CAAC;AAAA,EACjD,WAAW,CAAC,MAAgB,IAAI,0BAA0B,CAAC;AAAA,EAC3D,KAAK,CAAC,MAAgB,KAAK,UAAU,CAAC;AAAA,EACtC,MAAM,CAAC,MAAgB,IAAI,qBAAqB,CAAC;AAAA,EACjD,OAAO,IAAI,UAAsB,OAAO,gBAAgB,QAAQ,GAAG,KAAK,CAAC;AAC3E;","names":[]}
@@ -0,0 +1,39 @@
1
+ /// <reference types="jest" />
2
+ import { Id, Json } from '../utils/Types';
3
+ import { Req } from '../utils/Req';
4
+ import { HttpStatus, Response } from '../utils/Response';
5
+ export declare class Mocks {
6
+ clear: () => typeof jest;
7
+ impl: (f?: ((...args: any[]) => any) | undefined) => jest.Mock;
8
+ property: <T extends object, P extends keyof { [K in keyof Required<T> as Required<T>[K] extends jest.Func ? never : K]: Required<T>[K]; }>(object: T, getter: P, value: T[P]) => jest.SpyInstance;
9
+ reject: (value?: unknown) => jest.Mock;
10
+ rejectWith: <T = any>(props?: Partial<T>) => jest.Mock;
11
+ req: {
12
+ id: (id: Id) => Req;
13
+ q: (q: unknown) => Req;
14
+ with: (a: Json) => Req;
15
+ body: (body: unknown) => Req;
16
+ path: (path: Json) => Req;
17
+ query: (query: Json) => Req;
18
+ };
19
+ resp: {
20
+ items: (status: HttpStatus, items?: unknown[]) => Response;
21
+ errors: (status: HttpStatus, message: string, errors?: unknown[]) => Response;
22
+ };
23
+ resolve: (value?: unknown) => jest.Mock;
24
+ resolveWith: <T = any>(props?: Partial<T>) => jest.Mock;
25
+ return: (value?: unknown) => jest.Mock;
26
+ returnWith: <T = any>(props?: Partial<T>) => jest.Mock;
27
+ this: () => jest.Mock;
28
+ provider: {
29
+ data: (...items: any[]) => {
30
+ execute: jest.Mock;
31
+ };
32
+ };
33
+ empty: <T = any>(props?: Partial<T>) => T;
34
+ a: <T = any>(props?: Partial<T>) => T;
35
+ an: <T = any>(props?: Partial<T>) => T;
36
+ date: (epoch?: number) => Date;
37
+ once: (...values: unknown[]) => jest.Mock;
38
+ }
39
+ export declare const mock: Mocks;
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var Mocks_exports = {};
20
+ __export(Mocks_exports, {
21
+ Mocks: () => Mocks,
22
+ mock: () => mock
23
+ });
24
+ module.exports = __toCommonJS(Mocks_exports);
25
+ var import_Req = require("../utils/Req");
26
+ class Mocks {
27
+ clear = () => jest.clearAllMocks();
28
+ impl = (f) => jest.fn().mockImplementation(f);
29
+ property = (object, getter, value) => jest.spyOn(object, getter, "get").mockReturnValue(value);
30
+ reject = (value) => jest.fn().mockRejectedValue(value);
31
+ rejectWith = (props = {}) => jest.fn().mockRejectedValue(mock.a(props));
32
+ req = {
33
+ id: (id) => new import_Req.Req({ id }),
34
+ q: (q) => new import_Req.Req({ q }),
35
+ with: (a) => new import_Req.Req(a),
36
+ body: (body) => new import_Req.Req({ body }),
37
+ path: (path) => new import_Req.Req({ path }),
38
+ query: (query) => new import_Req.Req({ query })
39
+ };
40
+ resp = {
41
+ items: (status, items = []) => ({
42
+ status,
43
+ body: {
44
+ data: {
45
+ code: status.id,
46
+ itemCount: items.length,
47
+ items
48
+ }
49
+ }
50
+ }),
51
+ errors: (status, message, errors = []) => ({
52
+ status,
53
+ body: {
54
+ error: {
55
+ code: status.id,
56
+ message,
57
+ errorCount: errors.length,
58
+ errors
59
+ }
60
+ }
61
+ })
62
+ };
63
+ resolve = (value) => jest.fn().mockResolvedValue(value);
64
+ resolveWith = (props = {}) => jest.fn().mockResolvedValue(mock.a(props));
65
+ return = (value) => jest.fn().mockReturnValue(value);
66
+ returnWith = (props = {}) => jest.fn().mockReturnValue(mock.a(props));
67
+ this = () => jest.fn().mockReturnThis();
68
+ provider = {
69
+ data: (...items) => ({
70
+ execute: jest.fn().mockResolvedValue({
71
+ body: {
72
+ data: {
73
+ itemCount: items.length,
74
+ items
75
+ }
76
+ }
77
+ })
78
+ })
79
+ };
80
+ empty = (props = {}) => props;
81
+ a = this.empty;
82
+ an = this.empty;
83
+ date = (epoch = 1621347575) => {
84
+ const date = new Date(epoch);
85
+ date.toString = mock.return("Mon Jan 19 1970 19:22:27 GMT+0100 (Central European Standard Time)");
86
+ date.toLocaleDateString = mock.return("19/01/1970");
87
+ date.toDateString = mock.return("19/01/1970");
88
+ return date;
89
+ };
90
+ once = (...values) => values.reduce((m, v) => m.mockImplementationOnce(() => v), jest.fn());
91
+ }
92
+ const mock = new Mocks();
93
+ // Annotate the CommonJS export names for ESM import in node:
94
+ 0 && (module.exports = {
95
+ Mocks,
96
+ mock
97
+ });
98
+ //# sourceMappingURL=Mocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/mock/Mocks.ts"],"sourcesContent":["import { Id, Json } from '../utils/Types';\nimport { Req } from '../utils/Req';\nimport { HttpStatus, Response } from '../utils/Response';\n\nexport class Mocks {\n clear = (): typeof jest => jest.clearAllMocks();\n impl = (f?: (...args: any[]) => any): jest.Mock => jest.fn().mockImplementation(f);\n property = <T extends object, P extends jest.NonFunctionPropertyNames<Required<T>>>(object: T, getter: P, value: T[P]): jest.SpyInstance =>\n jest.spyOn(object, getter, 'get' as jest.PropertyAccessors<P, T>).mockReturnValue(value as any);\n reject = (value?: unknown): jest.Mock => jest.fn().mockRejectedValue(value);\n rejectWith = <T = any>(props: Partial<T> = {}): jest.Mock => jest.fn().mockRejectedValue(mock.a(props));\n req = {\n id: (id: Id): Req => new Req({ id }),\n q: (q: unknown): Req => new Req({ q }),\n with: (a: Json): Req => new Req(a),\n body: (body: unknown): Req => new Req({ body }),\n path: (path: Json): Req => new Req({ path }),\n query: (query: Json): Req => new Req({ query }),\n };\n resp = {\n items: (status: HttpStatus, items: unknown[] = []): Response => ({\n status: status,\n body: {\n data: {\n code: status.id as number,\n itemCount: items.length,\n items,\n },\n },\n }),\n errors: (status: HttpStatus, message: string, errors: unknown[] = []): Response => ({\n status: status,\n body: {\n error: {\n code: status.id as number,\n message: message,\n errorCount: errors.length,\n errors,\n },\n },\n }),\n };\n resolve = (value?: unknown): jest.Mock => jest.fn().mockResolvedValue(value);\n resolveWith = <T = any>(props: Partial<T> = {}): jest.Mock => jest.fn().mockResolvedValue(mock.a(props));\n return = (value?: unknown): jest.Mock => jest.fn().mockReturnValue(value);\n returnWith = <T = any>(props: Partial<T> = {}): jest.Mock => jest.fn().mockReturnValue(mock.a(props));\n this = (): jest.Mock => jest.fn().mockReturnThis();\n provider = {\n data: (...items: any[]): { execute: jest.Mock } => ({\n execute: jest.fn().mockResolvedValue({\n body: {\n data: {\n itemCount: items.length,\n items,\n },\n },\n }),\n }),\n };\n empty = <T = any>(props: Partial<T> = {}): T => props as T;\n a = this.empty;\n an = this.empty;\n date = (epoch = 1621347575): Date => {\n const date = new Date(epoch);\n date.toString = mock.return('Mon Jan 19 1970 19:22:27 GMT+0100 (Central European Standard Time)');\n date.toLocaleDateString = mock.return('19/01/1970');\n date.toDateString = mock.return('19/01/1970');\n return date;\n };\n once = (...values: unknown[]): jest.Mock => values.reduce((m: jest.Mock, v: unknown) => m.mockImplementationOnce(() => v), jest.fn());\n}\n\nexport const mock = new Mocks();\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,iBAAoB;AAGb,MAAM,MAAM;AAAA,EACjB,QAAQ,MAAmB,KAAK,cAAc;AAAA,EAC9C,OAAO,CAAC,MAA2C,KAAK,GAAG,EAAE,mBAAmB,CAAC;AAAA,EACjF,WAAW,CAAyE,QAAW,QAAW,UACxG,KAAK,MAAM,QAAQ,QAAQ,KAAqC,EAAE,gBAAgB,KAAY;AAAA,EAChG,SAAS,CAAC,UAA+B,KAAK,GAAG,EAAE,kBAAkB,KAAK;AAAA,EAC1E,aAAa,CAAU,QAAoB,CAAC,MAAiB,KAAK,GAAG,EAAE,kBAAkB,KAAK,EAAE,KAAK,CAAC;AAAA,EACtG,MAAM;AAAA,IACJ,IAAI,CAAC,OAAgB,IAAI,eAAI,EAAE,GAAG,CAAC;AAAA,IACnC,GAAG,CAAC,MAAoB,IAAI,eAAI,EAAE,EAAE,CAAC;AAAA,IACrC,MAAM,CAAC,MAAiB,IAAI,eAAI,CAAC;AAAA,IACjC,MAAM,CAAC,SAAuB,IAAI,eAAI,EAAE,KAAK,CAAC;AAAA,IAC9C,MAAM,CAAC,SAAoB,IAAI,eAAI,EAAE,KAAK,CAAC;AAAA,IAC3C,OAAO,CAAC,UAAqB,IAAI,eAAI,EAAE,MAAM,CAAC;AAAA,EAChD;AAAA,EACA,OAAO;AAAA,IACL,OAAO,CAAC,QAAoB,QAAmB,CAAC,OAAiB;AAAA,MAC/D;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,UACJ,MAAM,OAAO;AAAA,UACb,WAAW,MAAM;AAAA,UACjB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,QAAoB,SAAiB,SAAoB,CAAC,OAAiB;AAAA,MAClF;AAAA,MACA,MAAM;AAAA,QACJ,OAAO;AAAA,UACL,MAAM,OAAO;AAAA,UACb;AAAA,UACA,YAAY,OAAO;AAAA,UACnB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,CAAC,UAA+B,KAAK,GAAG,EAAE,kBAAkB,KAAK;AAAA,EAC3E,cAAc,CAAU,QAAoB,CAAC,MAAiB,KAAK,GAAG,EAAE,kBAAkB,KAAK,EAAE,KAAK,CAAC;AAAA,EACvG,SAAS,CAAC,UAA+B,KAAK,GAAG,EAAE,gBAAgB,KAAK;AAAA,EACxE,aAAa,CAAU,QAAoB,CAAC,MAAiB,KAAK,GAAG,EAAE,gBAAgB,KAAK,EAAE,KAAK,CAAC;AAAA,EACpG,OAAO,MAAiB,KAAK,GAAG,EAAE,eAAe;AAAA,EACjD,WAAW;AAAA,IACT,MAAM,IAAI,WAA0C;AAAA,MAClD,SAAS,KAAK,GAAG,EAAE,kBAAkB;AAAA,QACnC,MAAM;AAAA,UACJ,MAAM;AAAA,YACJ,WAAW,MAAM;AAAA,YACjB;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,QAAQ,CAAU,QAAoB,CAAC,MAAS;AAAA,EAChD,IAAI,KAAK;AAAA,EACT,KAAK,KAAK;AAAA,EACV,OAAO,CAAC,QAAQ,eAAqB;AACnC,UAAM,OAAO,IAAI,KAAK,KAAK;AAC3B,SAAK,WAAW,KAAK,OAAO,oEAAoE;AAChG,SAAK,qBAAqB,KAAK,OAAO,YAAY;AAClD,SAAK,eAAe,KAAK,OAAO,YAAY;AAC5C,WAAO;AAAA,EACT;AAAA,EACA,OAAO,IAAI,WAAiC,OAAO,OAAO,CAAC,GAAc,MAAe,EAAE,uBAAuB,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC;AACtI;AAEO,MAAM,OAAO,IAAI,MAAM;","names":[]}
@@ -0,0 +1,73 @@
1
+ import { Req } from "../utils/Req";
2
+ class Mocks {
3
+ clear = () => jest.clearAllMocks();
4
+ impl = (f) => jest.fn().mockImplementation(f);
5
+ property = (object, getter, value) => jest.spyOn(object, getter, "get").mockReturnValue(value);
6
+ reject = (value) => jest.fn().mockRejectedValue(value);
7
+ rejectWith = (props = {}) => jest.fn().mockRejectedValue(mock.a(props));
8
+ req = {
9
+ id: (id) => new Req({ id }),
10
+ q: (q) => new Req({ q }),
11
+ with: (a) => new Req(a),
12
+ body: (body) => new Req({ body }),
13
+ path: (path) => new Req({ path }),
14
+ query: (query) => new Req({ query })
15
+ };
16
+ resp = {
17
+ items: (status, items = []) => ({
18
+ status,
19
+ body: {
20
+ data: {
21
+ code: status.id,
22
+ itemCount: items.length,
23
+ items
24
+ }
25
+ }
26
+ }),
27
+ errors: (status, message, errors = []) => ({
28
+ status,
29
+ body: {
30
+ error: {
31
+ code: status.id,
32
+ message,
33
+ errorCount: errors.length,
34
+ errors
35
+ }
36
+ }
37
+ })
38
+ };
39
+ resolve = (value) => jest.fn().mockResolvedValue(value);
40
+ resolveWith = (props = {}) => jest.fn().mockResolvedValue(mock.a(props));
41
+ return = (value) => jest.fn().mockReturnValue(value);
42
+ returnWith = (props = {}) => jest.fn().mockReturnValue(mock.a(props));
43
+ this = () => jest.fn().mockReturnThis();
44
+ provider = {
45
+ data: (...items) => ({
46
+ execute: jest.fn().mockResolvedValue({
47
+ body: {
48
+ data: {
49
+ itemCount: items.length,
50
+ items
51
+ }
52
+ }
53
+ })
54
+ })
55
+ };
56
+ empty = (props = {}) => props;
57
+ a = this.empty;
58
+ an = this.empty;
59
+ date = (epoch = 1621347575) => {
60
+ const date = new Date(epoch);
61
+ date.toString = mock.return("Mon Jan 19 1970 19:22:27 GMT+0100 (Central European Standard Time)");
62
+ date.toLocaleDateString = mock.return("19/01/1970");
63
+ date.toDateString = mock.return("19/01/1970");
64
+ return date;
65
+ };
66
+ once = (...values) => values.reduce((m, v) => m.mockImplementationOnce(() => v), jest.fn());
67
+ }
68
+ const mock = new Mocks();
69
+ export {
70
+ Mocks,
71
+ mock
72
+ };
73
+ //# sourceMappingURL=Mocks.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/mock/Mocks.ts"],"sourcesContent":["import { Id, Json } from '../utils/Types';\nimport { Req } from '../utils/Req';\nimport { HttpStatus, Response } from '../utils/Response';\n\nexport class Mocks {\n clear = (): typeof jest => jest.clearAllMocks();\n impl = (f?: (...args: any[]) => any): jest.Mock => jest.fn().mockImplementation(f);\n property = <T extends object, P extends jest.NonFunctionPropertyNames<Required<T>>>(object: T, getter: P, value: T[P]): jest.SpyInstance =>\n jest.spyOn(object, getter, 'get' as jest.PropertyAccessors<P, T>).mockReturnValue(value as any);\n reject = (value?: unknown): jest.Mock => jest.fn().mockRejectedValue(value);\n rejectWith = <T = any>(props: Partial<T> = {}): jest.Mock => jest.fn().mockRejectedValue(mock.a(props));\n req = {\n id: (id: Id): Req => new Req({ id }),\n q: (q: unknown): Req => new Req({ q }),\n with: (a: Json): Req => new Req(a),\n body: (body: unknown): Req => new Req({ body }),\n path: (path: Json): Req => new Req({ path }),\n query: (query: Json): Req => new Req({ query }),\n };\n resp = {\n items: (status: HttpStatus, items: unknown[] = []): Response => ({\n status: status,\n body: {\n data: {\n code: status.id as number,\n itemCount: items.length,\n items,\n },\n },\n }),\n errors: (status: HttpStatus, message: string, errors: unknown[] = []): Response => ({\n status: status,\n body: {\n error: {\n code: status.id as number,\n message: message,\n errorCount: errors.length,\n errors,\n },\n },\n }),\n };\n resolve = (value?: unknown): jest.Mock => jest.fn().mockResolvedValue(value);\n resolveWith = <T = any>(props: Partial<T> = {}): jest.Mock => jest.fn().mockResolvedValue(mock.a(props));\n return = (value?: unknown): jest.Mock => jest.fn().mockReturnValue(value);\n returnWith = <T = any>(props: Partial<T> = {}): jest.Mock => jest.fn().mockReturnValue(mock.a(props));\n this = (): jest.Mock => jest.fn().mockReturnThis();\n provider = {\n data: (...items: any[]): { execute: jest.Mock } => ({\n execute: jest.fn().mockResolvedValue({\n body: {\n data: {\n itemCount: items.length,\n items,\n },\n },\n }),\n }),\n };\n empty = <T = any>(props: Partial<T> = {}): T => props as T;\n a = this.empty;\n an = this.empty;\n date = (epoch = 1621347575): Date => {\n const date = new Date(epoch);\n date.toString = mock.return('Mon Jan 19 1970 19:22:27 GMT+0100 (Central European Standard Time)');\n date.toLocaleDateString = mock.return('19/01/1970');\n date.toDateString = mock.return('19/01/1970');\n return date;\n };\n once = (...values: unknown[]): jest.Mock => values.reduce((m: jest.Mock, v: unknown) => m.mockImplementationOnce(() => v), jest.fn());\n}\n\nexport const mock = new Mocks();\n"],"mappings":"AACA,SAAS,WAAW;AAGb,MAAM,MAAM;AAAA,EACjB,QAAQ,MAAmB,KAAK,cAAc;AAAA,EAC9C,OAAO,CAAC,MAA2C,KAAK,GAAG,EAAE,mBAAmB,CAAC;AAAA,EACjF,WAAW,CAAyE,QAAW,QAAW,UACxG,KAAK,MAAM,QAAQ,QAAQ,KAAqC,EAAE,gBAAgB,KAAY;AAAA,EAChG,SAAS,CAAC,UAA+B,KAAK,GAAG,EAAE,kBAAkB,KAAK;AAAA,EAC1E,aAAa,CAAU,QAAoB,CAAC,MAAiB,KAAK,GAAG,EAAE,kBAAkB,KAAK,EAAE,KAAK,CAAC;AAAA,EACtG,MAAM;AAAA,IACJ,IAAI,CAAC,OAAgB,IAAI,IAAI,EAAE,GAAG,CAAC;AAAA,IACnC,GAAG,CAAC,MAAoB,IAAI,IAAI,EAAE,EAAE,CAAC;AAAA,IACrC,MAAM,CAAC,MAAiB,IAAI,IAAI,CAAC;AAAA,IACjC,MAAM,CAAC,SAAuB,IAAI,IAAI,EAAE,KAAK,CAAC;AAAA,IAC9C,MAAM,CAAC,SAAoB,IAAI,IAAI,EAAE,KAAK,CAAC;AAAA,IAC3C,OAAO,CAAC,UAAqB,IAAI,IAAI,EAAE,MAAM,CAAC;AAAA,EAChD;AAAA,EACA,OAAO;AAAA,IACL,OAAO,CAAC,QAAoB,QAAmB,CAAC,OAAiB;AAAA,MAC/D;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,UACJ,MAAM,OAAO;AAAA,UACb,WAAW,MAAM;AAAA,UACjB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,QAAQ,CAAC,QAAoB,SAAiB,SAAoB,CAAC,OAAiB;AAAA,MAClF;AAAA,MACA,MAAM;AAAA,QACJ,OAAO;AAAA,UACL,MAAM,OAAO;AAAA,UACb;AAAA,UACA,YAAY,OAAO;AAAA,UACnB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,CAAC,UAA+B,KAAK,GAAG,EAAE,kBAAkB,KAAK;AAAA,EAC3E,cAAc,CAAU,QAAoB,CAAC,MAAiB,KAAK,GAAG,EAAE,kBAAkB,KAAK,EAAE,KAAK,CAAC;AAAA,EACvG,SAAS,CAAC,UAA+B,KAAK,GAAG,EAAE,gBAAgB,KAAK;AAAA,EACxE,aAAa,CAAU,QAAoB,CAAC,MAAiB,KAAK,GAAG,EAAE,gBAAgB,KAAK,EAAE,KAAK,CAAC;AAAA,EACpG,OAAO,MAAiB,KAAK,GAAG,EAAE,eAAe;AAAA,EACjD,WAAW;AAAA,IACT,MAAM,IAAI,WAA0C;AAAA,MAClD,SAAS,KAAK,GAAG,EAAE,kBAAkB;AAAA,QACnC,MAAM;AAAA,UACJ,MAAM;AAAA,YACJ,WAAW,MAAM;AAAA,YACjB;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,QAAQ,CAAU,QAAoB,CAAC,MAAS;AAAA,EAChD,IAAI,KAAK;AAAA,EACT,KAAK,KAAK;AAAA,EACV,OAAO,CAAC,QAAQ,eAAqB;AACnC,UAAM,OAAO,IAAI,KAAK,KAAK;AAC3B,SAAK,WAAW,KAAK,OAAO,oEAAoE;AAChG,SAAK,qBAAqB,KAAK,OAAO,YAAY;AAClD,SAAK,eAAe,KAAK,OAAO,YAAY;AAC5C,WAAO;AAAA,EACT;AAAA,EACA,OAAO,IAAI,WAAiC,OAAO,OAAO,CAAC,GAAc,MAAe,EAAE,uBAAuB,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC;AACtI;AAEO,MAAM,OAAO,IAAI,MAAM;","names":[]}
@@ -0,0 +1,2 @@
1
+ export * from './Fits';
2
+ export * from './Mocks';
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var mock_exports = {};
17
+ module.exports = __toCommonJS(mock_exports);
18
+ __reExport(mock_exports, require("./Fits"), module.exports);
19
+ __reExport(mock_exports, require("./Mocks"), module.exports);
20
+ // Annotate the CommonJS export names for ESM import in node:
21
+ 0 && (module.exports = {
22
+ ...require("./Fits"),
23
+ ...require("./Mocks")
24
+ });
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/mock/index.ts"],"sourcesContent":["export * from './Fits';\nexport * from './Mocks';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,yBAAc,mBAAd;AACA,yBAAc,oBADd;","names":[]}
@@ -0,0 +1,3 @@
1
+ export * from "./Fits";
2
+ export * from "./Mocks";
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/mock/index.ts"],"sourcesContent":["export * from './Fits';\nexport * from './Mocks';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
@@ -0,0 +1,5 @@
1
+ export declare const eq: {
2
+ exact: (a?: unknown, b?: unknown) => boolean;
3
+ subset: (a?: unknown, b?: unknown) => boolean;
4
+ string: (a?: unknown, b?: unknown) => boolean;
5
+ };
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var Eq_exports = {};
20
+ __export(Eq_exports, {
21
+ eq: () => eq
22
+ });
23
+ module.exports = __toCommonJS(Eq_exports);
24
+ var import_Utils = require("./Utils");
25
+ var import_expect_utils = require("@jest/expect-utils");
26
+ const eq = {
27
+ exact: (a, b) => (0, import_expect_utils.equals)(a, b, []),
28
+ subset: (a, b) => (0, import_expect_utils.equals)(a, b, [import_expect_utils.iterableEquality, import_expect_utils.subsetEquality]),
29
+ string: (a, b) => (0, import_Utils.asString)(a) === (0, import_Utils.asString)(b)
30
+ };
31
+ // Annotate the CommonJS export names for ESM import in node:
32
+ 0 && (module.exports = {
33
+ eq
34
+ });
35
+ //# sourceMappingURL=Eq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/Eq.ts"],"sourcesContent":["import { asString } from './Utils';\nimport { equals, iterableEquality, subsetEquality } from '@jest/expect-utils';\n\nexport const eq = {\n exact: (a?: unknown, b?: unknown): boolean => equals(a, b, []),\n subset: (a?: unknown, b?: unknown): boolean => equals(a, b, [iterableEquality, subsetEquality]),\n string: (a?: unknown, b?: unknown): boolean => asString(a) === asString(b),\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyB;AACzB,0BAAyD;AAElD,MAAM,KAAK;AAAA,EAChB,OAAO,CAAC,GAAa,UAAyB,4BAAO,GAAG,GAAG,CAAC,CAAC;AAAA,EAC7D,QAAQ,CAAC,GAAa,UAAyB,4BAAO,GAAG,GAAG,CAAC,sCAAkB,kCAAc,CAAC;AAAA,EAC9F,QAAQ,CAAC,GAAa,UAAyB,uBAAS,CAAC,UAAM,uBAAS,CAAC;AAC3E;","names":[]}
@@ -0,0 +1,11 @@
1
+ import { asString } from "./Utils";
2
+ import { equals, iterableEquality, subsetEquality } from "@jest/expect-utils";
3
+ const eq = {
4
+ exact: (a, b) => equals(a, b, []),
5
+ subset: (a, b) => equals(a, b, [iterableEquality, subsetEquality]),
6
+ string: (a, b) => asString(a) === asString(b)
7
+ };
8
+ export {
9
+ eq
10
+ };
11
+ //# sourceMappingURL=Eq.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/Eq.ts"],"sourcesContent":["import { asString } from './Utils';\nimport { equals, iterableEquality, subsetEquality } from '@jest/expect-utils';\n\nexport const eq = {\n exact: (a?: unknown, b?: unknown): boolean => equals(a, b, []),\n subset: (a?: unknown, b?: unknown): boolean => equals(a, b, [iterableEquality, subsetEquality]),\n string: (a?: unknown, b?: unknown): boolean => asString(a) === asString(b),\n};\n"],"mappings":"AAAA,SAAS,gBAAgB;AACzB,SAAS,QAAQ,kBAAkB,sBAAsB;AAElD,MAAM,KAAK;AAAA,EAChB,OAAO,CAAC,GAAa,MAAyB,OAAO,GAAG,GAAG,CAAC,CAAC;AAAA,EAC7D,QAAQ,CAAC,GAAa,MAAyB,OAAO,GAAG,GAAG,CAAC,kBAAkB,cAAc,CAAC;AAAA,EAC9F,QAAQ,CAAC,GAAa,MAAyB,SAAS,CAAC,MAAM,SAAS,CAAC;AAC3E;","names":[]}
@@ -0,0 +1,14 @@
1
+ import { Id, Json, JsonValue, OneOrMore, Text } from './Types';
2
+ export declare class Req {
3
+ readonly state: any;
4
+ constructor(state?: any);
5
+ get id(): Id;
6
+ get q(): JsonValue;
7
+ get path(): Json;
8
+ get query(): Json;
9
+ get skip(): number | undefined;
10
+ get take(): number | undefined;
11
+ get body(): unknown;
12
+ get headers(): Record<string, OneOrMore<string>>;
13
+ get: (key: Text) => any;
14
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var Req_exports = {};
20
+ __export(Req_exports, {
21
+ Req: () => Req
22
+ });
23
+ module.exports = __toCommonJS(Req_exports);
24
+ var import_Utils = require("./Utils");
25
+ class Req {
26
+ constructor(state = {}) {
27
+ this.state = state;
28
+ }
29
+ get id() {
30
+ return this.state.id ?? this.path.id;
31
+ }
32
+ get q() {
33
+ return this.state.q ?? this.query.q;
34
+ }
35
+ get path() {
36
+ return this.state?.path ?? {};
37
+ }
38
+ get query() {
39
+ return this.state?.query ?? {};
40
+ }
41
+ get skip() {
42
+ return (0, import_Utils.isNumber)(this.query?.skip) ? (0, import_Utils.asNumber)(this.query?.skip) : void 0;
43
+ }
44
+ get take() {
45
+ return (0, import_Utils.isNumber)(this.query?.take) ? (0, import_Utils.asNumber)(this.query?.take) : void 0;
46
+ }
47
+ get body() {
48
+ return this.state.body;
49
+ }
50
+ get headers() {
51
+ return this.state.headers;
52
+ }
53
+ get = (key) => this?.state[key.toString()] ?? this.path[key.toString()] ?? this.query[key.toString()];
54
+ }
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ Req
58
+ });
59
+ //# sourceMappingURL=Req.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/Req.ts"],"sourcesContent":["import { asNumber, isNumber } from './Utils';\nimport { Id, Json, JsonValue, OneOrMore, Text } from './Types';\n\nexport class Req {\n constructor(readonly state: any = {}) {}\n\n get id(): Id {\n return this.state.id ?? this.path.id;\n }\n\n get q(): JsonValue {\n return this.state.q ?? this.query.q;\n }\n\n get path(): Json {\n return this.state?.path ?? {};\n }\n\n get query(): Json {\n return this.state?.query ?? {};\n }\n\n get skip(): number | undefined {\n return isNumber(this.query?.skip) ? asNumber(this.query?.skip) : undefined;\n }\n\n get take(): number | undefined {\n return isNumber(this.query?.take) ? asNumber(this.query?.take) : undefined;\n }\n\n get body(): unknown {\n return this.state.body;\n }\n\n get headers(): Record<string, OneOrMore<string>> {\n return this.state.headers;\n }\n\n get = (key: Text): any => this?.state[key.toString()] ?? this.path[key.toString()] ?? this.query[key.toString()];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AAG5B,MAAM,IAAI;AAAA,EACf,YAAqB,QAAa,CAAC,GAAG;AAAjB;AAAA,EAAkB;AAAA,EAEvC,IAAI,KAAS;AACX,WAAO,KAAK,MAAM,MAAM,KAAK,KAAK;AAAA,EACpC;AAAA,EAEA,IAAI,IAAe;AACjB,WAAO,KAAK,MAAM,KAAK,KAAK,MAAM;AAAA,EACpC;AAAA,EAEA,IAAI,OAAa;AACf,WAAO,KAAK,OAAO,QAAQ,CAAC;AAAA,EAC9B;AAAA,EAEA,IAAI,QAAc;AAChB,WAAO,KAAK,OAAO,SAAS,CAAC;AAAA,EAC/B;AAAA,EAEA,IAAI,OAA2B;AAC7B,eAAO,uBAAS,KAAK,OAAO,IAAI,QAAI,uBAAS,KAAK,OAAO,IAAI,IAAI;AAAA,EACnE;AAAA,EAEA,IAAI,OAA2B;AAC7B,eAAO,uBAAS,KAAK,OAAO,IAAI,QAAI,uBAAS,KAAK,OAAO,IAAI,IAAI;AAAA,EACnE;AAAA,EAEA,IAAI,OAAgB;AAClB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,IAAI,UAA6C;AAC/C,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,MAAM,CAAC,QAAmB,MAAM,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM,IAAI,SAAS,CAAC;AACjH;","names":[]}
@@ -0,0 +1,35 @@
1
+ import { asNumber, isNumber } from "./Utils";
2
+ class Req {
3
+ constructor(state = {}) {
4
+ this.state = state;
5
+ }
6
+ get id() {
7
+ return this.state.id ?? this.path.id;
8
+ }
9
+ get q() {
10
+ return this.state.q ?? this.query.q;
11
+ }
12
+ get path() {
13
+ return this.state?.path ?? {};
14
+ }
15
+ get query() {
16
+ return this.state?.query ?? {};
17
+ }
18
+ get skip() {
19
+ return isNumber(this.query?.skip) ? asNumber(this.query?.skip) : void 0;
20
+ }
21
+ get take() {
22
+ return isNumber(this.query?.take) ? asNumber(this.query?.take) : void 0;
23
+ }
24
+ get body() {
25
+ return this.state.body;
26
+ }
27
+ get headers() {
28
+ return this.state.headers;
29
+ }
30
+ get = (key) => this?.state[key.toString()] ?? this.path[key.toString()] ?? this.query[key.toString()];
31
+ }
32
+ export {
33
+ Req
34
+ };
35
+ //# sourceMappingURL=Req.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/Req.ts"],"sourcesContent":["import { asNumber, isNumber } from './Utils';\nimport { Id, Json, JsonValue, OneOrMore, Text } from './Types';\n\nexport class Req {\n constructor(readonly state: any = {}) {}\n\n get id(): Id {\n return this.state.id ?? this.path.id;\n }\n\n get q(): JsonValue {\n return this.state.q ?? this.query.q;\n }\n\n get path(): Json {\n return this.state?.path ?? {};\n }\n\n get query(): Json {\n return this.state?.query ?? {};\n }\n\n get skip(): number | undefined {\n return isNumber(this.query?.skip) ? asNumber(this.query?.skip) : undefined;\n }\n\n get take(): number | undefined {\n return isNumber(this.query?.take) ? asNumber(this.query?.take) : undefined;\n }\n\n get body(): unknown {\n return this.state.body;\n }\n\n get headers(): Record<string, OneOrMore<string>> {\n return this.state.headers;\n }\n\n get = (key: Text): any => this?.state[key.toString()] ?? this.path[key.toString()] ?? this.query[key.toString()];\n}\n"],"mappings":"AAAA,SAAS,UAAU,gBAAgB;AAG5B,MAAM,IAAI;AAAA,EACf,YAAqB,QAAa,CAAC,GAAG;AAAjB;AAAA,EAAkB;AAAA,EAEvC,IAAI,KAAS;AACX,WAAO,KAAK,MAAM,MAAM,KAAK,KAAK;AAAA,EACpC;AAAA,EAEA,IAAI,IAAe;AACjB,WAAO,KAAK,MAAM,KAAK,KAAK,MAAM;AAAA,EACpC;AAAA,EAEA,IAAI,OAAa;AACf,WAAO,KAAK,OAAO,QAAQ,CAAC;AAAA,EAC9B;AAAA,EAEA,IAAI,QAAc;AAChB,WAAO,KAAK,OAAO,SAAS,CAAC;AAAA,EAC/B;AAAA,EAEA,IAAI,OAA2B;AAC7B,WAAO,SAAS,KAAK,OAAO,IAAI,IAAI,SAAS,KAAK,OAAO,IAAI,IAAI;AAAA,EACnE;AAAA,EAEA,IAAI,OAA2B;AAC7B,WAAO,SAAS,KAAK,OAAO,IAAI,IAAI,SAAS,KAAK,OAAO,IAAI,IAAI;AAAA,EACnE;AAAA,EAEA,IAAI,OAAgB;AAClB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,IAAI,UAA6C;AAC/C,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,MAAM,CAAC,QAAmB,MAAM,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM,IAAI,SAAS,CAAC;AACjH;","names":[]}
@@ -0,0 +1,25 @@
1
+ import { Id } from './Types';
2
+ export type HttpStatus = {
3
+ name: string;
4
+ id: Id;
5
+ };
6
+ export type RestResult = {
7
+ data?: {
8
+ code: number;
9
+ items: unknown[];
10
+ itemCount: number;
11
+ };
12
+ error?: {
13
+ code: number;
14
+ message: string;
15
+ errorCount: number;
16
+ errors: unknown[];
17
+ };
18
+ };
19
+ export type Response = {
20
+ status: HttpStatus;
21
+ headers?: {
22
+ [key: string]: any;
23
+ };
24
+ body?: RestResult;
25
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var Response_exports = {};
16
+ module.exports = __toCommonJS(Response_exports);
17
+ //# sourceMappingURL=Response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/Response.ts"],"sourcesContent":["import { Id } from './Types';\n\nexport type HttpStatus = { name: string; id: Id };\n\nexport type RestResult = {\n data?: { code: number; items: unknown[]; itemCount: number };\n error?: { code: number; message: string; errorCount: number; errors: unknown[] };\n};\n\nexport type Response = { status: HttpStatus; headers?: { [key: string]: any }; body?: RestResult };\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=Response.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,44 @@
1
+ export type OneOrMore<T> = T | Array<T>;
2
+ export type ArrayLike<T> = OneOrMore<T>[];
3
+ export type Constructor<T> = {
4
+ new (...args: any[]): T;
5
+ };
6
+ export type Message<P> = Text | ((...params: P[]) => Text);
7
+ export declare const toMessage: <P>(g: Message<P>, ...params: P[]) => string;
8
+ export type Validatable = {
9
+ isValid: boolean;
10
+ };
11
+ export type Result = {
12
+ domain?: string;
13
+ location?: string;
14
+ message: string;
15
+ };
16
+ export type Results = Validatable & {
17
+ results: Result[];
18
+ };
19
+ export type Uri = Text;
20
+ export type Id = string | number;
21
+ export type JsonValue = string | number | boolean | null | Json | JsonValue[];
22
+ export type Json = {
23
+ [key: string]: JsonValue;
24
+ };
25
+ export type Exception = {
26
+ id: Id;
27
+ reason?: string;
28
+ };
29
+ export type Text = {
30
+ toString: () => string;
31
+ };
32
+ export type Query = Text;
33
+ export type UseCase = {
34
+ app: {
35
+ id: Text;
36
+ };
37
+ id: Text;
38
+ };
39
+ export type Tester = {
40
+ url: string;
41
+ };
42
+ export type CreateMutable<T> = {
43
+ -readonly [P in keyof T]: T[P];
44
+ };
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var Types_exports = {};
20
+ __export(Types_exports, {
21
+ toMessage: () => toMessage
22
+ });
23
+ module.exports = __toCommonJS(Types_exports);
24
+ var import_Utils = require("./Utils");
25
+ const toMessage = (g, ...params) => (0, import_Utils.asString)((0, import_Utils.isFunction)(g) ? g(...params) : g);
26
+ // Annotate the CommonJS export names for ESM import in node:
27
+ 0 && (module.exports = {
28
+ toMessage
29
+ });
30
+ //# sourceMappingURL=Types.js.map