@thisisagile/easy 11.3.16 → 11.5.1
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 +20 -4
- package/dist/types/Case.js +14 -1
- package/dist/types/Case.js.map +1 -1
- package/dist/types/Text.js +1 -1
- package/dist/types/Text.js.map +1 -1
- package/dist/utils/Traverse.js +2 -1
- package/dist/utils/Traverse.js.map +1 -1
- package/package.json +2 -2
- package/src/types/Case.ts +18 -5
- package/src/types/Text.ts +1 -1
- package/src/utils/Traverse.ts +2 -1
package/dist/types/Case.d.ts
CHANGED
|
@@ -2,18 +2,26 @@ import { Func, Get, Predicate } from './index';
|
|
|
2
2
|
declare class CaseBuilder<V> {
|
|
3
3
|
readonly v: V;
|
|
4
4
|
constructor(v: V);
|
|
5
|
-
case<T>(pred: Predicate<V>, out:
|
|
5
|
+
case<T>(pred: Predicate<V>, out: Get<T, V>): Case<T, 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
|
}
|
|
@@ -21,18 +29,26 @@ declare class Case<T, V = unknown> {
|
|
|
21
29
|
protected value: V;
|
|
22
30
|
protected outcome?: T | undefined;
|
|
23
31
|
constructor(value: V, outcome?: T | undefined);
|
|
24
|
-
case(pred: Predicate<V>, out:
|
|
32
|
+
case(pred: Predicate<V>, out: Get<T, V>): Case<T, V>;
|
|
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;
|
|
@@ -35,7 +44,7 @@ class Case {
|
|
|
35
44
|
case(pred, out) {
|
|
36
45
|
return (0, index_1.tryTo)(pred, this.value)
|
|
37
46
|
.is.true()
|
|
38
|
-
.map(() => out
|
|
47
|
+
.map(() => (0, index_1.ofGet)(out, this.value))
|
|
39
48
|
.map(res => new Found(this.value, res))
|
|
40
49
|
.or(this);
|
|
41
50
|
}
|
|
@@ -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/dist/types/Text.js
CHANGED
package/dist/types/Text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../src/types/Text.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../src/types/Text.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/Traverse.js
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.traverse = void 0;
|
|
4
4
|
const traverse = (subject = {}, property = '') => {
|
|
5
|
-
const
|
|
5
|
+
const props = property.split('.');
|
|
6
|
+
const p = props.shift();
|
|
6
7
|
return props.length === 0 ? subject[p] : (0, exports.traverse)(subject[p], props.join('.'));
|
|
7
8
|
};
|
|
8
9
|
exports.traverse = traverse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Traverse.js","sourceRoot":"","sources":["../../src/utils/Traverse.ts"],"names":[],"mappings":";;;AAAO,MAAM,QAAQ,GAAG,CAAC,UAAmB,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAW,EAAE;IACxE,MAAM,
|
|
1
|
+
{"version":3,"file":"Traverse.js","sourceRoot":"","sources":["../../src/utils/Traverse.ts"],"names":[],"mappings":";;;AAAO,MAAM,QAAQ,GAAG,CAAC,UAAmB,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAW,EAAE;IACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,EAAY,CAAC;IAClC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAE,OAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAQ,EAAE,OAAe,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACnG,CAAC,CAAC;AAJW,QAAA,QAAQ,YAInB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.5.1",
|
|
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.1",
|
|
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,9 +1,10 @@
|
|
|
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) {}
|
|
5
6
|
|
|
6
|
-
case<T>(pred: Predicate<V>, out:
|
|
7
|
+
case<T>(pred: Predicate<V>, out: Get<T, V>): Case<T, V> {
|
|
7
8
|
return new Case<T, V>(this.v).case(pred, out);
|
|
8
9
|
}
|
|
9
10
|
|
|
@@ -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
|
|
|
@@ -24,10 +29,10 @@ class CaseBuilder<V> {
|
|
|
24
29
|
class Case<T, V = unknown> {
|
|
25
30
|
constructor(protected value: V, protected outcome?: T) {}
|
|
26
31
|
|
|
27
|
-
case(pred: Predicate<V>, out:
|
|
32
|
+
case(pred: Predicate<V>, out: Get<T, V>): Case<T, V> {
|
|
28
33
|
return tryTo(pred, this.value)
|
|
29
34
|
.is.true()
|
|
30
|
-
.map(() => out
|
|
35
|
+
.map(() => ofGet(out, this.value))
|
|
31
36
|
.map(res => new Found(this.value, res) as Case<T, V>)
|
|
32
37
|
.or(this);
|
|
33
38
|
}
|
|
@@ -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
|
|
|
@@ -59,7 +68,7 @@ class Found<T, V> extends Case<T, V> {
|
|
|
59
68
|
super(value, outcome);
|
|
60
69
|
}
|
|
61
70
|
|
|
62
|
-
case(pred: Predicate<V>, out:
|
|
71
|
+
case(pred: Predicate<V>, out: Get<T, V>): this {
|
|
63
72
|
return this;
|
|
64
73
|
}
|
|
65
74
|
|
|
@@ -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
|
|
package/src/types/Text.ts
CHANGED
package/src/utils/Traverse.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export const traverse = (subject: unknown = {}, property = ''): unknown => {
|
|
2
|
-
const
|
|
2
|
+
const props = property.split('.');
|
|
3
|
+
const p = props.shift() as string;
|
|
3
4
|
return props.length === 0 ? (subject as any)[p] : traverse((subject as any)[p], props.join('.'));
|
|
4
5
|
};
|