xdbc 1.0.217 → 1.0.219
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/.gitattributes +16 -8
- package/.vscode/settings.json +3 -3
- package/.vscode/tasks.json +23 -23
- package/ASSESSMENT.md +249 -0
- package/README.md +538 -408
- package/__tests__/DBC/AE.test.ts +62 -62
- package/__tests__/DBC/ARRAY.test.ts +91 -91
- package/__tests__/DBC/DEFINED.test.ts +53 -53
- package/__tests__/DBC/DOM.test.ts +786 -0
- package/__tests__/DBC/Decorators.test.ts +367 -367
- package/__tests__/DBC/EQ.test.ts +13 -13
- package/__tests__/DBC/GREATER.test.ts +31 -31
- package/__tests__/DBC/HasAttribute.test.ts +60 -60
- package/__tests__/DBC/IF.test.ts +62 -62
- package/__tests__/DBC/INSTANCE.test.ts +13 -13
- package/__tests__/DBC/JSON.OP.test.ts +47 -47
- package/__tests__/DBC/JSON.Parse.test.ts +17 -17
- package/__tests__/DBC/OR.test.ts +14 -14
- package/__tests__/DBC/PLAIN_OBJECT.test.ts +109 -109
- package/__tests__/DBC/REGEX.test.ts +17 -17
- package/__tests__/DBC/TYPE.test.ts +13 -13
- package/__tests__/DBC/UNDEFINED.test.ts +45 -45
- package/__tests__/DBC/ZOD.test.ts +54 -54
- package/__tests__/DBC/onInfringement.test.ts +262 -0
- package/biome.json +45 -40
- package/dist/DBC/AE.js +172 -0
- package/dist/DBC/ARR/PLAIN_OBJECT.d.ts +0 -3
- package/dist/DBC/ARR/PLAIN_OBJECT.js +95 -0
- package/dist/DBC/ARRAY.d.ts +0 -3
- package/dist/DBC/ARRAY.js +90 -0
- package/dist/DBC/COMPARISON/GREATER.js +21 -0
- package/dist/DBC/COMPARISON/GREATER_OR_EQUAL.js +21 -0
- package/dist/DBC/COMPARISON/LESS.js +21 -0
- package/dist/DBC/COMPARISON/LESS_OR_EQUAL.js +21 -0
- package/dist/DBC/COMPARISON.js +98 -0
- package/dist/DBC/DEFINED.js +87 -0
- package/dist/DBC/DOM.d.ts +123 -0
- package/dist/DBC/DOM.js +362 -0
- package/dist/DBC/EQ/DIFFERENT.js +34 -0
- package/dist/DBC/EQ.js +101 -0
- package/dist/DBC/GREATER.js +99 -0
- package/dist/DBC/HasAttribute.js +101 -0
- package/dist/DBC/IF.js +96 -0
- package/dist/DBC/INSTANCE.js +122 -0
- package/dist/DBC/JSON.OP.js +120 -0
- package/dist/DBC/JSON.Parse.js +104 -0
- package/dist/DBC/OR.js +125 -0
- package/dist/DBC/REGEX.js +136 -0
- package/dist/DBC/TYPE.js +112 -0
- package/dist/DBC/UNDEFINED.js +87 -0
- package/dist/DBC/ZOD.js +99 -0
- package/dist/DBC.d.ts +18 -4
- package/dist/DBC.js +645 -0
- package/dist/Demo.d.ts +10 -0
- package/dist/Demo.js +713 -0
- package/dist/Test.html +18 -0
- package/dist/bundle.js +6140 -405
- package/dist/index.d.ts +22 -0
- package/dist/index.html +18 -0
- package/dist/index.js +22 -0
- package/docs/assets/highlight.css +22 -22
- package/docs/assets/icons.js +17 -17
- package/docs/assets/main.js +60 -60
- package/docs/assets/style.css +1640 -1640
- package/docs/classes/DBC.DBC.html +98 -98
- package/docs/classes/DBC_AE.AE.html +160 -160
- package/docs/classes/DBC_EQ.EQ.html +131 -131
- package/docs/classes/DBC_GREATER.GREATER.html +139 -139
- package/docs/classes/DBC_INSTANCE.INSTANCE.html +130 -130
- package/docs/classes/DBC_JSON.OP.JSON_OP.html +138 -138
- package/docs/classes/DBC_JSON.Parse.JSON_Parse.html +129 -129
- package/docs/classes/DBC_OR.OR.html +137 -137
- package/docs/classes/DBC_REGEX.REGEX.html +136 -136
- package/docs/classes/DBC_TYPE.TYPE.html +130 -130
- package/docs/classes/Demo.Demo.html +14 -14
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +1 -1
- package/docs/modules/DBC.html +1 -1
- package/docs/modules/DBC_AE.html +1 -1
- package/docs/modules/DBC_EQ.html +1 -1
- package/docs/modules/DBC_GREATER.html +1 -1
- package/docs/modules/DBC_INSTANCE.html +1 -1
- package/docs/modules/DBC_JSON.OP.html +1 -1
- package/docs/modules/DBC_JSON.Parse.html +1 -1
- package/docs/modules/DBC_OR.html +1 -1
- package/docs/modules/DBC_REGEX.html +1 -1
- package/docs/modules/DBC_TYPE.html +1 -1
- package/docs/modules/Demo.html +1 -1
- package/jest.config.js +32 -32
- package/package.json +71 -55
- package/src/DBC/AE.ts +269 -288
- package/src/DBC/ARR/PLAIN_OBJECT.ts +122 -133
- package/src/DBC/ARRAY.ts +117 -127
- package/src/DBC/COMPARISON/GREATER.ts +41 -46
- package/src/DBC/COMPARISON/GREATER_OR_EQUAL.ts +41 -45
- package/src/DBC/COMPARISON/LESS.ts +41 -45
- package/src/DBC/COMPARISON/LESS_OR_EQUAL.ts +41 -45
- package/src/DBC/COMPARISON.ts +149 -159
- package/src/DBC/DEFINED.ts +117 -122
- package/src/DBC/DOM.ts +453 -0
- package/src/DBC/EQ/DIFFERENT.ts +51 -57
- package/src/DBC/EQ.ts +154 -163
- package/src/DBC/HasAttribute.ts +149 -154
- package/src/DBC/IF.ts +173 -179
- package/src/DBC/INSTANCE.ts +168 -171
- package/src/DBC/JSON.OP.ts +178 -186
- package/src/DBC/JSON.Parse.ts +150 -157
- package/src/DBC/OR.ts +183 -187
- package/src/DBC/REGEX.ts +195 -196
- package/src/DBC/TYPE.ts +142 -149
- package/src/DBC/UNDEFINED.ts +115 -117
- package/src/DBC/ZOD.ts +130 -135
- package/src/DBC.ts +902 -904
- package/src/Demo.ts +537 -404
- package/src/index.ts +22 -0
- package/tsconfig.json +18 -18
- package/tsconfig.test.json +7 -7
- package/typedoc.json +16 -16
- package/webpack.config.js +27 -27
- package/Assessment.md +0 -507
package/src/DBC/DEFINED.ts
CHANGED
|
@@ -1,122 +1,117 @@
|
|
|
1
|
-
import { DBC } from "../DBC";
|
|
2
|
-
/**
|
|
3
|
-
* A {@link DBC } defining that an {@link object }s must be defined thus it's value may not be **null** or **undefined**.
|
|
4
|
-
*
|
|
5
|
-
* @remarks
|
|
6
|
-
* Maintainer: Salvatore Callari (XDBC@WaXCode.net) */
|
|
7
|
-
export class DEFINED extends DBC {
|
|
8
|
-
/**
|
|
9
|
-
* Checks if the value **toCheck** is null or undefined.
|
|
10
|
-
*
|
|
11
|
-
* @param toCheck The {@link Object } to check.
|
|
12
|
-
*
|
|
13
|
-
* @returns TRUE if the value **toCheck** is of the specified **type**, otherwise FALSE. */
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* @
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* @
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* @
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
* @
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
dbc,
|
|
119
|
-
);
|
|
120
|
-
return toCheck as CANDIDATE;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
1
|
+
import { DBC } from "../DBC";
|
|
2
|
+
/**
|
|
3
|
+
* A {@link DBC } defining that an {@link object }s must be defined thus it's value may not be **null** or **undefined**.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Maintainer: Salvatore Callari (XDBC@WaXCode.net) */
|
|
7
|
+
export class DEFINED extends DBC {
|
|
8
|
+
/**
|
|
9
|
+
* Checks if the value **toCheck** is null or undefined.
|
|
10
|
+
*
|
|
11
|
+
* @param toCheck The {@link Object } to check.
|
|
12
|
+
*
|
|
13
|
+
* @returns TRUE if the value **toCheck** is of the specified **type**, otherwise FALSE. */
|
|
14
|
+
public static checkAlgorithm(toCheck: any): boolean | string {
|
|
15
|
+
if (toCheck === undefined || toCheck === null) {
|
|
16
|
+
return `Value may not be UNDEFINED or NULL but it is ${toCheck === undefined ? "UNDEFINED" : "NULL"}`;
|
|
17
|
+
}
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A parameter-decorator factory using the {@link DEFINED.checkAlgorithm } to determine whether this {@link DBC } is fulfilled
|
|
22
|
+
* by the tagged parameter.
|
|
23
|
+
*
|
|
24
|
+
* @param type See {@link DEFINED.checkAlgorithm }.
|
|
25
|
+
* @param path See {@link DBC.decPrecondition }.
|
|
26
|
+
* @param dbc See {@link DBC.decPrecondition }.
|
|
27
|
+
*
|
|
28
|
+
* @returns See {@link DBC.decPrecondition }. */
|
|
29
|
+
public static PRE(
|
|
30
|
+
path: string | undefined = undefined,
|
|
31
|
+
hint: string | undefined = undefined,
|
|
32
|
+
dbc: string | undefined = undefined,
|
|
33
|
+
): (
|
|
34
|
+
target: object,
|
|
35
|
+
methodName: string | symbol | undefined,
|
|
36
|
+
parameterIndex: number,
|
|
37
|
+
) => void {
|
|
38
|
+
return DBC.createPRE(DEFINED.checkAlgorithm, [], dbc, path, hint);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* A method-decorator factory using the {@link DEFINED.checkAlgorithm } to determine whether this {@link DBC } is fulfilled
|
|
42
|
+
* by the tagged method's returnvalue.
|
|
43
|
+
*
|
|
44
|
+
* @param type See {@link DEFINED.checkAlgorithm }.
|
|
45
|
+
* @param path See {@link DBC.Postcondition }.
|
|
46
|
+
* @param dbc See {@link DBC.decPostcondition }.
|
|
47
|
+
*
|
|
48
|
+
* @returns See {@link DBC.decPostcondition }. */
|
|
49
|
+
public static POST(
|
|
50
|
+
type: string,
|
|
51
|
+
path: string | undefined = undefined,
|
|
52
|
+
hint: string | undefined = undefined,
|
|
53
|
+
dbc: string | undefined = undefined,
|
|
54
|
+
): (
|
|
55
|
+
target: object,
|
|
56
|
+
propertyKey: string,
|
|
57
|
+
descriptor: PropertyDescriptor,
|
|
58
|
+
) => PropertyDescriptor {
|
|
59
|
+
return DBC.createPOST(DEFINED.checkAlgorithm, [], dbc, path, hint);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* A field-decorator factory using the {@link DEFINED.checkAlgorithm } to determine whether this {@link DBC } is fulfilled
|
|
63
|
+
* by the tagged field.
|
|
64
|
+
*
|
|
65
|
+
* @param type See {@link DEFINED.checkAlgorithm }.
|
|
66
|
+
* @param path See {@link DBC.decInvariant }.
|
|
67
|
+
* @param dbc See {@link DBC.decInvariant }.
|
|
68
|
+
*
|
|
69
|
+
* @returns See {@link DBC.decInvariant }. */
|
|
70
|
+
public static INVARIANT(
|
|
71
|
+
type: string,
|
|
72
|
+
path: string | undefined = undefined,
|
|
73
|
+
hint: string | undefined = undefined,
|
|
74
|
+
dbc: string | undefined = undefined,
|
|
75
|
+
) {
|
|
76
|
+
return DBC.createINVARIANT(DEFINED, [], dbc, path, hint);
|
|
77
|
+
}
|
|
78
|
+
// #endregion Condition checking.
|
|
79
|
+
// #region Referenced Condition checking.
|
|
80
|
+
//
|
|
81
|
+
// For usage in dynamic scenarios (like with AE-DBC).
|
|
82
|
+
//
|
|
83
|
+
/**
|
|
84
|
+
* Invokes the {@link DEFINED.checkAlgorithm } passing the value **toCheck** and the {@link DEFINED.type } .
|
|
85
|
+
*
|
|
86
|
+
* @param toCheck See {@link DEFINED.checkAlgorithm }.
|
|
87
|
+
*
|
|
88
|
+
* @returns See {@link DEFINED.checkAlgorithm}. */
|
|
89
|
+
public check(toCheck: any) {
|
|
90
|
+
return DEFINED.checkAlgorithm(toCheck);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Invokes the {@link DEFINED.checkAlgorithm } passing the value **toCheck** and the {@link DEFINED.type } .
|
|
94
|
+
*
|
|
95
|
+
* @param toCheck See {@link DEFINED.checkAlgorithm }.
|
|
96
|
+
* @param id A {@link string } identifying this {@link INSTANCE } via the {@link DBC.Infringement }-Message.
|
|
97
|
+
*
|
|
98
|
+
* @returns The **CANDIDATE** **toCheck** doesn't fulfill this {@link DEFINED }.
|
|
99
|
+
*
|
|
100
|
+
* @throws A {@link DBC.Infringement } if the **CANDIDATE** **toCheck** does not fulfill this {@link DEFINED }.*/
|
|
101
|
+
public static tsCheck<CANDIDATE = unknown>(
|
|
102
|
+
toCheck: CANDIDATE | undefined | null,
|
|
103
|
+
hint: string | undefined = undefined,
|
|
104
|
+
id: string | undefined = undefined,
|
|
105
|
+
dbc: string | undefined = undefined,
|
|
106
|
+
): CANDIDATE {
|
|
107
|
+
const result = DEFINED.checkAlgorithm(toCheck);
|
|
108
|
+
if (result === true) {
|
|
109
|
+
return toCheck as CANDIDATE;
|
|
110
|
+
}
|
|
111
|
+
DBC.reportTsCheckInfringement(
|
|
112
|
+
`${id ? `(${id}) ` : ""}${result as string}${hint ? ` ✨ ${hint} ✨` : ""}`,
|
|
113
|
+
dbc,
|
|
114
|
+
);
|
|
115
|
+
return toCheck as CANDIDATE;
|
|
116
|
+
}
|
|
117
|
+
}
|