@thisisagile/easy-test 15.8.5 → 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.
- package/dist/index.d.ts +2 -379
- package/dist/index.js +25 -3
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +3 -3
- package/dist/index.mjs.map +1 -0
- package/dist/matchers/Check.d.ts +17 -0
- package/dist/matchers/Check.js +64 -0
- package/dist/matchers/Check.js.map +1 -0
- package/dist/matchers/Check.mjs +39 -0
- package/dist/matchers/Check.mjs.map +1 -0
- package/dist/matchers/HttpMatchers.d.ts +31 -0
- package/dist/matchers/HttpMatchers.js +89 -0
- package/dist/matchers/HttpMatchers.js.map +1 -0
- package/dist/matchers/HttpMatchers.mjs +54 -0
- package/dist/matchers/HttpMatchers.mjs.map +1 -0
- package/dist/matchers/Match.d.ts +12 -0
- package/dist/matchers/Match.js +59 -0
- package/dist/matchers/Match.js.map +1 -0
- package/dist/matchers/Match.mjs +34 -0
- package/dist/matchers/Match.mjs.map +1 -0
- package/dist/matchers/ResultMatchers.d.ts +13 -0
- package/dist/matchers/ResultMatchers.js +51 -0
- package/dist/matchers/ResultMatchers.js.map +1 -0
- package/dist/matchers/ResultMatchers.mjs +25 -0
- package/dist/matchers/ResultMatchers.mjs.map +1 -0
- package/dist/matchers/index.d.ts +19 -0
- package/dist/matchers/index.js +59 -0
- package/dist/matchers/index.js.map +1 -0
- package/dist/matchers/index.mjs +20 -0
- package/dist/matchers/index.mjs.map +1 -0
- package/dist/matchers/toBeArrayOf.d.ts +9 -0
- package/dist/matchers/toBeArrayOf.js +33 -0
- package/dist/matchers/toBeArrayOf.js.map +1 -0
- package/dist/matchers/toBeArrayOf.mjs +9 -0
- package/dist/matchers/toBeArrayOf.mjs.map +1 -0
- package/dist/matchers/toBeArrayOfWithLength.d.ts +9 -0
- package/dist/matchers/toBeArrayOfWithLength.js +36 -0
- package/dist/matchers/toBeArrayOfWithLength.js.map +1 -0
- package/dist/matchers/toBeArrayOfWithLength.mjs +12 -0
- package/dist/matchers/toBeArrayOfWithLength.mjs.map +1 -0
- package/dist/matchers/toBeAt.d.ts +9 -0
- package/dist/matchers/toBeAt.js +44 -0
- package/dist/matchers/toBeAt.js.map +1 -0
- package/dist/matchers/toBeAt.mjs +20 -0
- package/dist/matchers/toBeAt.mjs.map +1 -0
- package/dist/matchers/toBeExactlyAt.d.ts +9 -0
- package/dist/matchers/toBeExactlyAt.js +43 -0
- package/dist/matchers/toBeExactlyAt.js.map +1 -0
- package/dist/matchers/toBeExactlyAt.mjs +19 -0
- package/dist/matchers/toBeExactlyAt.mjs.map +1 -0
- package/dist/matchers/toBeQueriedWith.d.ts +9 -0
- package/dist/matchers/toBeQueriedWith.js +36 -0
- package/dist/matchers/toBeQueriedWith.js.map +1 -0
- package/dist/matchers/toBeQueriedWith.mjs +12 -0
- package/dist/matchers/toBeQueriedWith.mjs.map +1 -0
- package/dist/matchers/toBeRoutedTo.d.ts +9 -0
- package/dist/matchers/toBeRoutedTo.js +37 -0
- package/dist/matchers/toBeRoutedTo.js.map +1 -0
- package/dist/matchers/toBeRoutedTo.mjs +13 -0
- package/dist/matchers/toBeRoutedTo.mjs.map +1 -0
- package/dist/matchers/toBeValid.d.ts +8 -0
- package/dist/matchers/toBeValid.js +34 -0
- package/dist/matchers/toBeValid.js.map +1 -0
- package/dist/matchers/toBeValid.mjs +10 -0
- package/dist/matchers/toBeValid.mjs.map +1 -0
- package/dist/matchers/toFailMatcher.d.ts +19 -0
- package/dist/matchers/toFailMatcher.js +59 -0
- package/dist/matchers/toFailMatcher.js.map +1 -0
- package/dist/matchers/toFailMatcher.mjs +32 -0
- package/dist/matchers/toFailMatcher.mjs.map +1 -0
- package/dist/matchers/toMatchArray.d.ts +9 -0
- package/dist/matchers/toMatchArray.js +35 -0
- package/dist/matchers/toMatchArray.js.map +1 -0
- package/dist/matchers/toMatchArray.mjs +11 -0
- package/dist/matchers/toMatchArray.mjs.map +1 -0
- package/dist/matchers/toMatchExactJson.d.ts +14 -0
- package/dist/matchers/toMatchExactJson.js +42 -0
- package/dist/matchers/toMatchExactJson.js.map +1 -0
- package/dist/matchers/toMatchExactJson.mjs +17 -0
- package/dist/matchers/toMatchExactJson.mjs.map +1 -0
- package/dist/matchers/toMatchException.d.ts +9 -0
- package/dist/matchers/toMatchException.js +43 -0
- package/dist/matchers/toMatchException.js.map +1 -0
- package/dist/matchers/toMatchException.mjs +19 -0
- package/dist/matchers/toMatchException.mjs.map +1 -0
- package/dist/matchers/toMatchJson.d.ts +14 -0
- package/dist/matchers/toMatchJson.js +43 -0
- package/dist/matchers/toMatchJson.js.map +1 -0
- package/dist/matchers/toMatchJson.mjs +18 -0
- package/dist/matchers/toMatchJson.mjs.map +1 -0
- package/dist/matchers/toMatchRoute.d.ts +9 -0
- package/dist/matchers/toMatchRoute.js +37 -0
- package/dist/matchers/toMatchRoute.js.map +1 -0
- package/dist/matchers/toMatchRoute.mjs +13 -0
- package/dist/matchers/toMatchRoute.mjs.map +1 -0
- package/dist/matchers/toMatchText.d.ts +8 -0
- package/dist/matchers/toMatchText.js +37 -0
- package/dist/matchers/toMatchText.js.map +1 -0
- package/dist/matchers/toMatchText.mjs +13 -0
- package/dist/matchers/toMatchText.mjs.map +1 -0
- package/dist/matchers/toPassMatcher.d.ts +19 -0
- package/dist/matchers/toPassMatcher.js +59 -0
- package/dist/matchers/toPassMatcher.js.map +1 -0
- package/dist/matchers/toPassMatcher.mjs +32 -0
- package/dist/matchers/toPassMatcher.mjs.map +1 -0
- package/dist/mock/Fits.d.ts +24 -0
- package/dist/mock/Fits.js +71 -0
- package/dist/mock/Fits.js.map +1 -0
- package/dist/mock/Fits.mjs +44 -0
- package/dist/mock/Fits.mjs.map +1 -0
- package/dist/mock/Mocks.d.ts +39 -0
- package/dist/mock/Mocks.js +98 -0
- package/dist/mock/Mocks.js.map +1 -0
- package/dist/mock/Mocks.mjs +73 -0
- package/dist/mock/Mocks.mjs.map +1 -0
- package/dist/mock/index.d.ts +2 -0
- package/dist/mock/index.js +25 -0
- package/dist/mock/index.js.map +1 -0
- package/dist/mock/index.mjs +3 -0
- package/dist/mock/index.mjs.map +1 -0
- package/dist/utils/Eq.d.ts +5 -0
- package/dist/utils/Eq.js +35 -0
- package/dist/utils/Eq.js.map +1 -0
- package/dist/utils/Eq.mjs +11 -0
- package/dist/utils/Eq.mjs.map +1 -0
- package/dist/utils/Req.d.ts +14 -0
- package/dist/utils/Req.js +59 -0
- package/dist/utils/Req.js.map +1 -0
- package/dist/utils/Req.mjs +35 -0
- package/dist/utils/Req.mjs.map +1 -0
- package/dist/utils/Response.d.ts +25 -0
- package/dist/utils/Response.js +17 -0
- package/dist/utils/Response.js.map +1 -0
- package/dist/utils/Response.mjs +1 -0
- package/dist/utils/Response.mjs.map +1 -0
- package/dist/utils/Types.d.ts +44 -0
- package/dist/utils/Types.js +30 -0
- package/dist/utils/Types.js.map +1 -0
- package/dist/utils/Types.mjs +6 -0
- package/dist/utils/Types.mjs.map +1 -0
- package/dist/utils/Utils.d.ts +12 -0
- package/dist/utils/Utils.js +62 -0
- package/dist/utils/Utils.js.map +1 -0
- package/dist/utils/Utils.mjs +28 -0
- package/dist/utils/Utils.mjs.map +1 -0
- package/package.json +2 -2
- 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,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 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/mock/index.ts"],"sourcesContent":["export * from './Fits';\nexport * from './Mocks';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
|
package/dist/utils/Eq.js
ADDED
|
@@ -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
|