@thisisagile/easy 11.3.17 → 11.5.0
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/types/Case.d.ts +18 -2
- package/dist/types/Case.js +13 -0
- package/dist/types/Case.js.map +1 -1
- package/package.json +2 -2
- package/src/types/Case.ts +14 -1
package/dist/types/Case.d.ts
CHANGED
|
@@ -6,14 +6,22 @@ declare class CaseBuilder<V> {
|
|
|
6
6
|
type<T, U = unknown>(guard: (u: unknown) => u is U, out: Func<T, U>): Case<T, V>;
|
|
7
7
|
is: {
|
|
8
8
|
defined: <T>(prop: Func<unknown, V>, out: Func<T, V>) => Case<T, V>;
|
|
9
|
+
empty: <T_1>(prop: Func<unknown, V>, out: Func<T_1, V>) => Case<T_1, V>;
|
|
10
|
+
valid: <T_2>(prop: Func<unknown, V>, out: Func<T_2, V>) => Case<T_2, V>;
|
|
9
11
|
not: {
|
|
10
|
-
defined: <
|
|
12
|
+
defined: <T_3>(prop: Func<unknown, V>, out: Func<T_3, V>) => Case<T_3, V>;
|
|
13
|
+
empty: <T_4>(prop: Func<unknown, V>, out: Func<T_4, V>) => Case<T_4, V>;
|
|
14
|
+
valid: <T_5>(prop: Func<unknown, V>, out: Func<T_5, V>) => Case<T_5, V>;
|
|
11
15
|
};
|
|
12
16
|
};
|
|
13
17
|
if: {
|
|
14
18
|
defined: <T>(prop: Func<unknown, V>, out: Func<T, V>) => Case<T, V>;
|
|
19
|
+
empty: <T_1>(prop: Func<unknown, V>, out: Func<T_1, V>) => Case<T_1, V>;
|
|
20
|
+
valid: <T_2>(prop: Func<unknown, V>, out: Func<T_2, V>) => Case<T_2, V>;
|
|
15
21
|
not: {
|
|
16
|
-
defined: <
|
|
22
|
+
defined: <T_3>(prop: Func<unknown, V>, out: Func<T_3, V>) => Case<T_3, V>;
|
|
23
|
+
empty: <T_4>(prop: Func<unknown, V>, out: Func<T_4, V>) => Case<T_4, V>;
|
|
24
|
+
valid: <T_5>(prop: Func<unknown, V>, out: Func<T_5, V>) => Case<T_5, V>;
|
|
17
25
|
};
|
|
18
26
|
};
|
|
19
27
|
}
|
|
@@ -25,14 +33,22 @@ declare class Case<T, V = unknown> {
|
|
|
25
33
|
type<U>(guard: (u: unknown) => u is U, out: Func<T, U>): Case<T, V>;
|
|
26
34
|
is: {
|
|
27
35
|
defined: (prop: Func<unknown, V>, out: Func<T, V>) => Case<T, V>;
|
|
36
|
+
empty: (prop: Func<unknown, V>, out: Func<T, V>) => Case<T, V>;
|
|
37
|
+
valid: (prop: Func<unknown, V>, out: Func<T, V>) => Case<T, V>;
|
|
28
38
|
not: {
|
|
29
39
|
defined: (prop: Func<unknown, V>, out: Func<T, V>) => Case<T, V>;
|
|
40
|
+
empty: (prop: Func<unknown, V>, out: Func<T, V>) => Case<T, V>;
|
|
41
|
+
valid: (prop: Func<unknown, V>, out: Func<T, V>) => Case<T, V>;
|
|
30
42
|
};
|
|
31
43
|
};
|
|
32
44
|
if: {
|
|
33
45
|
defined: (prop: Func<unknown, V>, out: Func<T, V>) => Case<T, V>;
|
|
46
|
+
empty: (prop: Func<unknown, V>, out: Func<T, V>) => Case<T, V>;
|
|
47
|
+
valid: (prop: Func<unknown, V>, out: Func<T, V>) => Case<T, V>;
|
|
34
48
|
not: {
|
|
35
49
|
defined: (prop: Func<unknown, V>, out: Func<T, V>) => Case<T, V>;
|
|
50
|
+
empty: (prop: Func<unknown, V>, out: Func<T, V>) => Case<T, V>;
|
|
51
|
+
valid: (prop: Func<unknown, V>, out: Func<T, V>) => Case<T, V>;
|
|
36
52
|
};
|
|
37
53
|
};
|
|
38
54
|
else(alt: Get<T, V>): T;
|
package/dist/types/Case.js
CHANGED
|
@@ -2,13 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.choose = void 0;
|
|
4
4
|
const index_1 = require("./index");
|
|
5
|
+
const validation_1 = require("../validation");
|
|
5
6
|
class CaseBuilder {
|
|
6
7
|
constructor(v) {
|
|
7
8
|
this.v = v;
|
|
8
9
|
this.is = {
|
|
9
10
|
defined: (prop, out) => new Case(this.v).case((0, index_1.isDefined)(prop(this.v)), out),
|
|
11
|
+
empty: (prop, out) => new Case(this.v).case((0, index_1.isEmpty)(prop(this.v)), out),
|
|
12
|
+
valid: (prop, out) => new Case(this.v).case((0, validation_1.validate)(prop(this.v)).isValid, out),
|
|
10
13
|
not: {
|
|
11
14
|
defined: (prop, out) => new Case(this.v).case(!(0, index_1.isDefined)(prop(this.v)), out),
|
|
15
|
+
empty: (prop, out) => new Case(this.v).case(!(0, index_1.isEmpty)(prop(this.v)), out),
|
|
16
|
+
valid: (prop, out) => new Case(this.v).case(!(0, validation_1.validate)(prop(this.v)).isValid, out),
|
|
12
17
|
},
|
|
13
18
|
};
|
|
14
19
|
this.if = this.is;
|
|
@@ -26,8 +31,12 @@ class Case {
|
|
|
26
31
|
this.outcome = outcome;
|
|
27
32
|
this.is = {
|
|
28
33
|
defined: (prop, out) => new Case(this.value).case((0, index_1.isDefined)(prop(this.value)), out),
|
|
34
|
+
empty: (prop, out) => new Case(this.value).case((0, index_1.isEmpty)(prop(this.value)), out),
|
|
35
|
+
valid: (prop, out) => new Case(this.value).case((0, validation_1.validate)(prop(this.value)).isValid, out),
|
|
29
36
|
not: {
|
|
30
37
|
defined: (prop, out) => new Case(this.value).case(!(0, index_1.isDefined)(prop(this.value)), out),
|
|
38
|
+
empty: (prop, out) => new Case(this.value).case(!(0, index_1.isEmpty)(prop(this.value)), out),
|
|
39
|
+
valid: (prop, out) => new Case(this.value).case(!(0, validation_1.validate)(prop(this.value)).isValid, out),
|
|
31
40
|
},
|
|
32
41
|
};
|
|
33
42
|
this.if = this.is;
|
|
@@ -57,8 +66,12 @@ class Found extends Case {
|
|
|
57
66
|
this.outcome = outcome;
|
|
58
67
|
this.is = {
|
|
59
68
|
defined: (_prop, _out) => this,
|
|
69
|
+
empty: (_prop, _out) => this,
|
|
70
|
+
valid: (_prop, _out) => this,
|
|
60
71
|
not: {
|
|
61
72
|
defined: (_prop, _out) => this,
|
|
73
|
+
empty: (_prop, _out) => this,
|
|
74
|
+
valid: (_prop, _out) => this,
|
|
62
75
|
},
|
|
63
76
|
};
|
|
64
77
|
this.if = this.is;
|
package/dist/types/Case.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Case.js","sourceRoot":"","sources":["../../src/types/Case.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Case.js","sourceRoot":"","sources":["../../src/types/Case.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.5.0",
|
|
4
4
|
"description": "Straightforward library for building domain-driven microservice architectures",
|
|
5
5
|
"author": "Sander Hoogendoorn",
|
|
6
6
|
"license": "MIT",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"access": "public"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@thisisagile/easy-test": "11.
|
|
34
|
+
"@thisisagile/easy-test": "11.5.0",
|
|
35
35
|
"@types/form-urlencoded": "^4.4.0",
|
|
36
36
|
"@types/jsonwebtoken": "^8.5.8",
|
|
37
37
|
"@types/luxon": "3.0.0",
|
package/src/types/Case.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Func, Get, isDefined, ofGet, Predicate, tryTo } from './index';
|
|
1
|
+
import { Func, Get, isDefined, isEmpty, ofGet, Predicate, tryTo } from './index';
|
|
2
|
+
import { validate } from '../validation';
|
|
2
3
|
|
|
3
4
|
class CaseBuilder<V> {
|
|
4
5
|
constructor(readonly v: V) {}
|
|
@@ -13,8 +14,12 @@ class CaseBuilder<V> {
|
|
|
13
14
|
|
|
14
15
|
is = {
|
|
15
16
|
defined: <T>(prop: Func<unknown, V>, out: Func<T, V>): Case<T, V> => new Case<T, V>(this.v).case(isDefined(prop(this.v)), out),
|
|
17
|
+
empty: <T>(prop: Func<unknown, V>, out: Func<T, V>): Case<T, V> => new Case<T, V>(this.v).case(isEmpty(prop(this.v)), out),
|
|
18
|
+
valid: <T>(prop: Func<unknown, V>, out: Func<T, V>): Case<T, V> => new Case<T, V>(this.v).case(validate(prop(this.v)).isValid, out),
|
|
16
19
|
not: {
|
|
17
20
|
defined: <T>(prop: Func<unknown, V>, out: Func<T, V>): Case<T, V> => new Case<T, V>(this.v).case(!isDefined(prop(this.v)), out),
|
|
21
|
+
empty: <T>(prop: Func<unknown, V>, out: Func<T, V>): Case<T, V> => new Case<T, V>(this.v).case(!isEmpty(prop(this.v)), out),
|
|
22
|
+
valid: <T>(prop: Func<unknown, V>, out: Func<T, V>): Case<T, V> => new Case<T, V>(this.v).case(!validate(prop(this.v)).isValid, out),
|
|
18
23
|
},
|
|
19
24
|
};
|
|
20
25
|
|
|
@@ -42,8 +47,12 @@ class Case<T, V = unknown> {
|
|
|
42
47
|
|
|
43
48
|
is = {
|
|
44
49
|
defined: (prop: Func<unknown, V>, out: Func<T, V>): Case<T, V> => new Case<T, V>(this.value).case(isDefined(prop(this.value)), out),
|
|
50
|
+
empty: (prop: Func<unknown, V>, out: Func<T, V>): Case<T, V> => new Case<T, V>(this.value).case(isEmpty(prop(this.value)), out),
|
|
51
|
+
valid: (prop: Func<unknown, V>, out: Func<T, V>): Case<T, V> => new Case<T, V>(this.value).case(validate(prop(this.value)).isValid, out),
|
|
45
52
|
not: {
|
|
46
53
|
defined: (prop: Func<unknown, V>, out: Func<T, V>): Case<T, V> => new Case<T, V>(this.value).case(!isDefined(prop(this.value)), out),
|
|
54
|
+
empty: (prop: Func<unknown, V>, out: Func<T, V>): Case<T, V> => new Case<T, V>(this.value).case(!isEmpty(prop(this.value)), out),
|
|
55
|
+
valid: (prop: Func<unknown, V>, out: Func<T, V>): Case<T, V> => new Case<T, V>(this.value).case(!validate(prop(this.value)).isValid, out),
|
|
47
56
|
},
|
|
48
57
|
};
|
|
49
58
|
|
|
@@ -69,8 +78,12 @@ class Found<T, V> extends Case<T, V> {
|
|
|
69
78
|
|
|
70
79
|
is = {
|
|
71
80
|
defined: (_prop: Func<unknown, V>, _out: Func<T, V>): Case<T, V> => this,
|
|
81
|
+
empty: (_prop: Func<unknown, V>, _out: Func<T, V>): Case<T, V> => this,
|
|
82
|
+
valid: (_prop: Func<unknown, V>, _out: Func<T, V>): Case<T, V> => this,
|
|
72
83
|
not: {
|
|
73
84
|
defined: (_prop: Func<unknown, V>, _out: Func<T, V>): Case<T, V> => this,
|
|
85
|
+
empty: (_prop: Func<unknown, V>, _out: Func<T, V>): Case<T, V> => this,
|
|
86
|
+
valid: (_prop: Func<unknown, V>, _out: Func<T, V>): Case<T, V> => this,
|
|
74
87
|
},
|
|
75
88
|
};
|
|
76
89
|
|