@cqse/commons 0.0.1-alpha.2 → 0.0.1-beta.26
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/lib/Contract.js +11 -7
- package/lib/Contract.js.map +1 -1
- package/lib/Exceptions.js +13 -6
- package/lib/Exceptions.js.map +1 -1
- package/lib/Strings.js +5 -1
- package/lib/Strings.js.map +1 -1
- package/lib/index.js +19 -3
- package/lib/index.js.map +1 -1
- package/package.json +9 -1
- package/.yarnrc +0 -2
- package/babel.config.js +0 -4
- package/coverage/Contract.js.html +0 -299
- package/coverage/Contract.ts.html +0 -329
- package/coverage/Exceptions.js.html +0 -236
- package/coverage/Exceptions.ts.html +0 -233
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -79
- package/coverage/clover.xml +0 -64
- package/coverage/coverage-final.json +0 -4
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -141
- package/coverage/index.js.html +0 -125
- package/coverage/index.ts.html +0 -89
- package/coverage/lcov-report/Contract.js.html +0 -299
- package/coverage/lcov-report/Contract.ts.html +0 -329
- package/coverage/lcov-report/Exceptions.js.html +0 -236
- package/coverage/lcov-report/Exceptions.ts.html +0 -233
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -79
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -141
- package/coverage/lcov-report/index.js.html +0 -125
- package/coverage/lcov-report/index.ts.html +0 -89
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -170
- package/coverage/lcov.info +0 -138
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -170
- package/jest.config.js +0 -7
- package/src/Contract.js +0 -73
- package/src/Contract.ts +0 -83
- package/src/Exceptions.js +0 -52
- package/src/Exceptions.ts +0 -39
- package/src/Strings.ts +0 -14
- package/src/index.js +0 -15
- package/src/index.ts +0 -4
- package/test/Contract.test.js +0 -29
- package/test/Contract.test.ts +0 -31
- package/test/Exceptions.test.js +0 -50
- package/test/Exceptions.test.ts +0 -56
- package/tsconfig.json +0 -23
- package/tsconfig.tsbuildinfo +0 -1
package/lib/Contract.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Contract = void 0;
|
|
4
|
+
const Exceptions_1 = require("./Exceptions");
|
|
2
5
|
/**
|
|
3
6
|
* Methods to express and check code contracts.
|
|
4
7
|
*/
|
|
5
|
-
|
|
8
|
+
class Contract {
|
|
6
9
|
/**
|
|
7
10
|
* The given predicate `condition` has to be satisfied.
|
|
8
11
|
*
|
|
@@ -11,7 +14,7 @@ export class Contract {
|
|
|
11
14
|
*/
|
|
12
15
|
static require(condition, message) {
|
|
13
16
|
if (!condition) {
|
|
14
|
-
throw new IllegalArgumentException(message);
|
|
17
|
+
throw new Exceptions_1.IllegalArgumentException(message);
|
|
15
18
|
}
|
|
16
19
|
}
|
|
17
20
|
/**
|
|
@@ -32,10 +35,10 @@ export class Contract {
|
|
|
32
35
|
return obj;
|
|
33
36
|
}
|
|
34
37
|
if (message) {
|
|
35
|
-
throw new IllegalArgumentException(message);
|
|
38
|
+
throw new Exceptions_1.IllegalArgumentException(message);
|
|
36
39
|
}
|
|
37
40
|
else {
|
|
38
|
-
throw new IllegalArgumentException('Reference must be defined.');
|
|
41
|
+
throw new Exceptions_1.IllegalArgumentException('Reference must be defined.');
|
|
39
42
|
}
|
|
40
43
|
}
|
|
41
44
|
/**
|
|
@@ -47,7 +50,7 @@ export class Contract {
|
|
|
47
50
|
static requireNonEmpty(text, message) {
|
|
48
51
|
this.requireDefined(text);
|
|
49
52
|
if (text.length === 0) {
|
|
50
|
-
throw new IllegalArgumentException(message);
|
|
53
|
+
throw new Exceptions_1.IllegalArgumentException(message);
|
|
51
54
|
}
|
|
52
55
|
return text;
|
|
53
56
|
}
|
|
@@ -62,9 +65,10 @@ export class Contract {
|
|
|
62
65
|
this.requireDefined(text);
|
|
63
66
|
this.requireDefined(regexp);
|
|
64
67
|
if (!text.match(regexp)) {
|
|
65
|
-
throw new IllegalArgumentException(message);
|
|
68
|
+
throw new Exceptions_1.IllegalArgumentException(message);
|
|
66
69
|
}
|
|
67
70
|
return text;
|
|
68
71
|
}
|
|
69
72
|
}
|
|
73
|
+
exports.Contract = Contract;
|
|
70
74
|
//# sourceMappingURL=Contract.js.map
|
package/lib/Contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contract.js","sourceRoot":"","sources":["../src/Contract.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Contract.js","sourceRoot":"","sources":["../src/Contract.ts"],"names":[],"mappings":";;;AAAA,6CAAwD;AAOxD;;GAEG;AACH,MAAa,QAAQ;IACpB;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CAAC,SAAkB,EAAE,OAAgB;QACzD,IAAI,CAAC,SAAS,EAAE;YACf,MAAM,IAAI,qCAAwB,CAAC,OAAO,CAAC,CAAC;SAC5C;IACF,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,cAAc,CAAI,GAAgB,EAAE,OAAgB;QACjE,IAAI,GAAG,EAAE;YACR,OAAO,GAAG,CAAC;SACX;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE;YACxD,OAAO,GAAG,CAAC;SACX;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,YAAY,MAAM,EAAE;YACrD,kCAAkC;YAClC,OAAO,GAAG,CAAC;SACX;QAED,IAAI,OAAO,EAAE;YACZ,MAAM,IAAI,qCAAwB,CAAC,OAAO,CAAC,CAAC;SAC5C;aAAM;YACN,MAAM,IAAI,qCAAwB,CAAC,4BAA4B,CAAC,CAAC;SACjE;IACF,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,eAAe,CAAC,IAAY,EAAE,OAAgB;QAC3D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,MAAM,IAAI,qCAAwB,CAAC,OAAO,CAAC,CAAC;SAC5C;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,oBAAoB,CAAC,IAAY,EAAE,MAAc,EAAE,OAAgB;QAChF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACxB,MAAM,IAAI,qCAAwB,CAAC,OAAO,CAAC,CAAC;SAC5C;QAED,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AAxED,4BAwEC"}
|
package/lib/Exceptions.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InvalidConfigurationException = exports.IllegalArgumentException = exports.IllegalStateException = exports.ImplementMeException = void 0;
|
|
4
|
+
const typescript_optional_1 = require("typescript-optional");
|
|
2
5
|
/**
|
|
3
6
|
* Excepting signaling that there is functionality that is supposed
|
|
4
7
|
* to be implemented in case the exception is thrown.
|
|
5
8
|
*
|
|
6
9
|
* This is helpful for writing prototypes and not yet handling all possible cases.
|
|
7
10
|
*/
|
|
8
|
-
|
|
11
|
+
class ImplementMeException extends Error {
|
|
9
12
|
constructor(implementMeFor) {
|
|
10
13
|
super('Implement me!');
|
|
11
|
-
this._implementMeFor = Optional.ofNullable(implementMeFor);
|
|
14
|
+
this._implementMeFor = typescript_optional_1.Optional.ofNullable(implementMeFor);
|
|
12
15
|
}
|
|
13
16
|
get message() {
|
|
14
17
|
if (this._implementMeFor.isPresent()) {
|
|
@@ -19,19 +22,23 @@ export class ImplementMeException extends Error {
|
|
|
19
22
|
}
|
|
20
23
|
}
|
|
21
24
|
}
|
|
25
|
+
exports.ImplementMeException = ImplementMeException;
|
|
22
26
|
/**
|
|
23
27
|
* Exception signaling that the application is in an invalid state.
|
|
24
28
|
*/
|
|
25
|
-
|
|
29
|
+
class IllegalStateException extends Error {
|
|
26
30
|
}
|
|
31
|
+
exports.IllegalStateException = IllegalStateException;
|
|
27
32
|
/**
|
|
28
33
|
* Exception signaling that an invalid argument has been passed for a parameter.
|
|
29
34
|
*/
|
|
30
|
-
|
|
35
|
+
class IllegalArgumentException extends Error {
|
|
31
36
|
}
|
|
37
|
+
exports.IllegalArgumentException = IllegalArgumentException;
|
|
32
38
|
/**
|
|
33
39
|
* Exception signaling that a component is mis-configured.
|
|
34
40
|
*/
|
|
35
|
-
|
|
41
|
+
class InvalidConfigurationException extends Error {
|
|
36
42
|
}
|
|
43
|
+
exports.InvalidConfigurationException = InvalidConfigurationException;
|
|
37
44
|
//# sourceMappingURL=Exceptions.js.map
|
package/lib/Exceptions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Exceptions.js","sourceRoot":"","sources":["../src/Exceptions.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Exceptions.js","sourceRoot":"","sources":["../src/Exceptions.ts"],"names":[],"mappings":";;;AAAA,6DAA+C;AAE/C;;;;;GAKG;AACH,MAAa,oBAAqB,SAAQ,KAAK;IAG9C,YAAY,cAAuB;QAClC,KAAK,CAAC,eAAe,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,8BAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,OAAO;QACV,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,EAAE;YACrC,OAAO,qBAAqB,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC;SACzD;aAAM;YACN,OAAO,eAAe,CAAC;SACvB;IACF,CAAC;CACD;AAfD,oDAeC;AAED;;GAEG;AACH,MAAa,qBAAsB,SAAQ,KAAK;CAAG;AAAnD,sDAAmD;AAEnD;;GAEG;AACH,MAAa,wBAAyB,SAAQ,KAAK;CAAG;AAAtD,4DAAsD;AAEtD;;GAEG;AACH,MAAa,6BAA8B,SAAQ,KAAK;CAAG;AAA3D,sEAA2D"}
|
package/lib/Strings.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.removePrefix = void 0;
|
|
1
4
|
/**
|
|
2
5
|
* Remove the given prefix, if present, from the given string.
|
|
3
6
|
*
|
|
@@ -6,10 +9,11 @@
|
|
|
6
9
|
*
|
|
7
10
|
* @returns a new string where the prefix is removed.
|
|
8
11
|
*/
|
|
9
|
-
|
|
12
|
+
function removePrefix(prefix, removeFrom) {
|
|
10
13
|
if (removeFrom.startsWith(prefix)) {
|
|
11
14
|
return removeFrom.substring(prefix.length);
|
|
12
15
|
}
|
|
13
16
|
return removeFrom;
|
|
14
17
|
}
|
|
18
|
+
exports.removePrefix = removePrefix;
|
|
15
19
|
//# sourceMappingURL=Strings.js.map
|
package/lib/Strings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Strings.js","sourceRoot":"","sources":["../src/Strings.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,
|
|
1
|
+
{"version":3,"file":"Strings.js","sourceRoot":"","sources":["../src/Strings.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,MAAc,EAAE,UAAkB;IAC9D,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAClC,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KAC3C;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AALD,oCAKC"}
|
package/lib/index.js
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
17
|
/** Exports of this Node package / module */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
18
|
+
__exportStar(require("./Contract"), exports);
|
|
19
|
+
__exportStar(require("./Exceptions"), exports);
|
|
20
|
+
__exportStar(require("./Strings"), exports);
|
|
5
21
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA4C;AAC5C,6CAA2B;AAC3B,+CAA6B;AAC7B,4CAA0B"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cqse/commons",
|
|
3
|
-
"version": "0.0.1-
|
|
3
|
+
"version": "0.0.1-beta.26",
|
|
4
4
|
"description": "A collection of generic functionality for TypeScript projects.",
|
|
5
5
|
"author": "CQSE GmbH",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"license": "Apache-2.0",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/cqse/teamscale-javascript-profiler.git"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"dist/**/*",
|
|
14
|
+
"lib/**/*"
|
|
15
|
+
],
|
|
8
16
|
"scripts": {
|
|
9
17
|
"build": "tsc",
|
|
10
18
|
"clean": "rimraf lib tsconfig.tsbuildinfo",
|
package/.yarnrc
DELETED
package/babel.config.js
DELETED
|
@@ -1,299 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for Contract.js</title>
|
|
7
|
-
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
|
|
11
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
-
<style type='text/css'>
|
|
13
|
-
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(sort-arrow-sprite.png);
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
<div class='wrapper'>
|
|
21
|
-
<div class='pad1'>
|
|
22
|
-
<h1><a href="index.html">All files</a> Contract.js</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">100% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>73/73</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">100% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>18/18</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">100% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>5/5</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">100% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>73/73</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
<p class="quiet">
|
|
55
|
-
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
-
</p>
|
|
57
|
-
</div>
|
|
58
|
-
<div class='status-line high'></div>
|
|
59
|
-
<pre><table class="coverage">
|
|
60
|
-
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
|
-
<a name='L2'></a><a href='#L2'>2</a>
|
|
62
|
-
<a name='L3'></a><a href='#L3'>3</a>
|
|
63
|
-
<a name='L4'></a><a href='#L4'>4</a>
|
|
64
|
-
<a name='L5'></a><a href='#L5'>5</a>
|
|
65
|
-
<a name='L6'></a><a href='#L6'>6</a>
|
|
66
|
-
<a name='L7'></a><a href='#L7'>7</a>
|
|
67
|
-
<a name='L8'></a><a href='#L8'>8</a>
|
|
68
|
-
<a name='L9'></a><a href='#L9'>9</a>
|
|
69
|
-
<a name='L10'></a><a href='#L10'>10</a>
|
|
70
|
-
<a name='L11'></a><a href='#L11'>11</a>
|
|
71
|
-
<a name='L12'></a><a href='#L12'>12</a>
|
|
72
|
-
<a name='L13'></a><a href='#L13'>13</a>
|
|
73
|
-
<a name='L14'></a><a href='#L14'>14</a>
|
|
74
|
-
<a name='L15'></a><a href='#L15'>15</a>
|
|
75
|
-
<a name='L16'></a><a href='#L16'>16</a>
|
|
76
|
-
<a name='L17'></a><a href='#L17'>17</a>
|
|
77
|
-
<a name='L18'></a><a href='#L18'>18</a>
|
|
78
|
-
<a name='L19'></a><a href='#L19'>19</a>
|
|
79
|
-
<a name='L20'></a><a href='#L20'>20</a>
|
|
80
|
-
<a name='L21'></a><a href='#L21'>21</a>
|
|
81
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
82
|
-
<a name='L23'></a><a href='#L23'>23</a>
|
|
83
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
84
|
-
<a name='L25'></a><a href='#L25'>25</a>
|
|
85
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
86
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
87
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
88
|
-
<a name='L29'></a><a href='#L29'>29</a>
|
|
89
|
-
<a name='L30'></a><a href='#L30'>30</a>
|
|
90
|
-
<a name='L31'></a><a href='#L31'>31</a>
|
|
91
|
-
<a name='L32'></a><a href='#L32'>32</a>
|
|
92
|
-
<a name='L33'></a><a href='#L33'>33</a>
|
|
93
|
-
<a name='L34'></a><a href='#L34'>34</a>
|
|
94
|
-
<a name='L35'></a><a href='#L35'>35</a>
|
|
95
|
-
<a name='L36'></a><a href='#L36'>36</a>
|
|
96
|
-
<a name='L37'></a><a href='#L37'>37</a>
|
|
97
|
-
<a name='L38'></a><a href='#L38'>38</a>
|
|
98
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
99
|
-
<a name='L40'></a><a href='#L40'>40</a>
|
|
100
|
-
<a name='L41'></a><a href='#L41'>41</a>
|
|
101
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
102
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
103
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
104
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
105
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
106
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
107
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
108
|
-
<a name='L49'></a><a href='#L49'>49</a>
|
|
109
|
-
<a name='L50'></a><a href='#L50'>50</a>
|
|
110
|
-
<a name='L51'></a><a href='#L51'>51</a>
|
|
111
|
-
<a name='L52'></a><a href='#L52'>52</a>
|
|
112
|
-
<a name='L53'></a><a href='#L53'>53</a>
|
|
113
|
-
<a name='L54'></a><a href='#L54'>54</a>
|
|
114
|
-
<a name='L55'></a><a href='#L55'>55</a>
|
|
115
|
-
<a name='L56'></a><a href='#L56'>56</a>
|
|
116
|
-
<a name='L57'></a><a href='#L57'>57</a>
|
|
117
|
-
<a name='L58'></a><a href='#L58'>58</a>
|
|
118
|
-
<a name='L59'></a><a href='#L59'>59</a>
|
|
119
|
-
<a name='L60'></a><a href='#L60'>60</a>
|
|
120
|
-
<a name='L61'></a><a href='#L61'>61</a>
|
|
121
|
-
<a name='L62'></a><a href='#L62'>62</a>
|
|
122
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
123
|
-
<a name='L64'></a><a href='#L64'>64</a>
|
|
124
|
-
<a name='L65'></a><a href='#L65'>65</a>
|
|
125
|
-
<a name='L66'></a><a href='#L66'>66</a>
|
|
126
|
-
<a name='L67'></a><a href='#L67'>67</a>
|
|
127
|
-
<a name='L68'></a><a href='#L68'>68</a>
|
|
128
|
-
<a name='L69'></a><a href='#L69'>69</a>
|
|
129
|
-
<a name='L70'></a><a href='#L70'>70</a>
|
|
130
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
131
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
132
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
133
|
-
<a name='L74'></a><a href='#L74'>74</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
134
|
-
<span class="cline-any cline-yes">1x</span>
|
|
135
|
-
<span class="cline-any cline-yes">1x</span>
|
|
136
|
-
<span class="cline-any cline-yes">1x</span>
|
|
137
|
-
<span class="cline-any cline-yes">1x</span>
|
|
138
|
-
<span class="cline-any cline-yes">1x</span>
|
|
139
|
-
<span class="cline-any cline-yes">1x</span>
|
|
140
|
-
<span class="cline-any cline-yes">1x</span>
|
|
141
|
-
<span class="cline-any cline-yes">1x</span>
|
|
142
|
-
<span class="cline-any cline-yes">1x</span>
|
|
143
|
-
<span class="cline-any cline-yes">1x</span>
|
|
144
|
-
<span class="cline-any cline-yes">1x</span>
|
|
145
|
-
<span class="cline-any cline-yes">1x</span>
|
|
146
|
-
<span class="cline-any cline-yes">1x</span>
|
|
147
|
-
<span class="cline-any cline-yes">1x</span>
|
|
148
|
-
<span class="cline-any cline-yes">3x</span>
|
|
149
|
-
<span class="cline-any cline-yes">2x</span>
|
|
150
|
-
<span class="cline-any cline-yes">2x</span>
|
|
151
|
-
<span class="cline-any cline-yes">3x</span>
|
|
152
|
-
<span class="cline-any cline-yes">1x</span>
|
|
153
|
-
<span class="cline-any cline-yes">1x</span>
|
|
154
|
-
<span class="cline-any cline-yes">1x</span>
|
|
155
|
-
<span class="cline-any cline-yes">1x</span>
|
|
156
|
-
<span class="cline-any cline-yes">1x</span>
|
|
157
|
-
<span class="cline-any cline-yes">1x</span>
|
|
158
|
-
<span class="cline-any cline-yes">1x</span>
|
|
159
|
-
<span class="cline-any cline-yes">17x</span>
|
|
160
|
-
<span class="cline-any cline-yes">9x</span>
|
|
161
|
-
<span class="cline-any cline-yes">9x</span>
|
|
162
|
-
<span class="cline-any cline-yes">17x</span>
|
|
163
|
-
<span class="cline-any cline-yes">2x</span>
|
|
164
|
-
<span class="cline-any cline-yes">2x</span>
|
|
165
|
-
<span class="cline-any cline-yes">17x</span>
|
|
166
|
-
<span class="cline-any cline-yes">3x</span>
|
|
167
|
-
<span class="cline-any cline-yes">3x</span>
|
|
168
|
-
<span class="cline-any cline-yes">3x</span>
|
|
169
|
-
<span class="cline-any cline-yes">17x</span>
|
|
170
|
-
<span class="cline-any cline-yes">2x</span>
|
|
171
|
-
<span class="cline-any cline-yes">2x</span>
|
|
172
|
-
<span class="cline-any cline-yes">1x</span>
|
|
173
|
-
<span class="cline-any cline-yes">1x</span>
|
|
174
|
-
<span class="cline-any cline-yes">1x</span>
|
|
175
|
-
<span class="cline-any cline-yes">17x</span>
|
|
176
|
-
<span class="cline-any cline-yes">1x</span>
|
|
177
|
-
<span class="cline-any cline-yes">1x</span>
|
|
178
|
-
<span class="cline-any cline-yes">1x</span>
|
|
179
|
-
<span class="cline-any cline-yes">1x</span>
|
|
180
|
-
<span class="cline-any cline-yes">1x</span>
|
|
181
|
-
<span class="cline-any cline-yes">1x</span>
|
|
182
|
-
<span class="cline-any cline-yes">1x</span>
|
|
183
|
-
<span class="cline-any cline-yes">4x</span>
|
|
184
|
-
<span class="cline-any cline-yes">4x</span>
|
|
185
|
-
<span class="cline-any cline-yes">2x</span>
|
|
186
|
-
<span class="cline-any cline-yes">2x</span>
|
|
187
|
-
<span class="cline-any cline-yes">2x</span>
|
|
188
|
-
<span class="cline-any cline-yes">4x</span>
|
|
189
|
-
<span class="cline-any cline-yes">1x</span>
|
|
190
|
-
<span class="cline-any cline-yes">1x</span>
|
|
191
|
-
<span class="cline-any cline-yes">1x</span>
|
|
192
|
-
<span class="cline-any cline-yes">1x</span>
|
|
193
|
-
<span class="cline-any cline-yes">1x</span>
|
|
194
|
-
<span class="cline-any cline-yes">1x</span>
|
|
195
|
-
<span class="cline-any cline-yes">1x</span>
|
|
196
|
-
<span class="cline-any cline-yes">1x</span>
|
|
197
|
-
<span class="cline-any cline-yes">2x</span>
|
|
198
|
-
<span class="cline-any cline-yes">2x</span>
|
|
199
|
-
<span class="cline-any cline-yes">2x</span>
|
|
200
|
-
<span class="cline-any cline-yes">1x</span>
|
|
201
|
-
<span class="cline-any cline-yes">1x</span>
|
|
202
|
-
<span class="cline-any cline-yes">1x</span>
|
|
203
|
-
<span class="cline-any cline-yes">2x</span>
|
|
204
|
-
<span class="cline-any cline-yes">1x</span>
|
|
205
|
-
<span class="cline-any cline-yes">1x</span>
|
|
206
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">"use strict";
|
|
207
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
208
|
-
exports.Contract = void 0;
|
|
209
|
-
const Exceptions_1 = require("./Exceptions");
|
|
210
|
-
/**
|
|
211
|
-
* Methods to express and check code contracts.
|
|
212
|
-
*/
|
|
213
|
-
class Contract {
|
|
214
|
-
/**
|
|
215
|
-
* The given predicate `condition` has to be satisfied.
|
|
216
|
-
*
|
|
217
|
-
* @param condition Condition predicate (boolean value)
|
|
218
|
-
* @param msg Message describing the condition.
|
|
219
|
-
*/
|
|
220
|
-
static require(condition, msg) {
|
|
221
|
-
if (!condition) {
|
|
222
|
-
throw new Exceptions_1.IllegalArgumentException(msg);
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Require that the given argument `obj` is defined.
|
|
227
|
-
*
|
|
228
|
-
* @param obj The object that has to be defined.
|
|
229
|
-
* @param message The message describing this requirement.
|
|
230
|
-
*/
|
|
231
|
-
static requireDefined(obj, message) {
|
|
232
|
-
if (obj) {
|
|
233
|
-
return obj;
|
|
234
|
-
}
|
|
235
|
-
if (typeof obj === 'number' || typeof obj === 'boolean') {
|
|
236
|
-
return obj;
|
|
237
|
-
}
|
|
238
|
-
if (typeof obj === 'string' || obj instanceof String) {
|
|
239
|
-
// Deal with the case `obj === ""`
|
|
240
|
-
return obj;
|
|
241
|
-
}
|
|
242
|
-
if (message) {
|
|
243
|
-
throw new Exceptions_1.IllegalArgumentException(message);
|
|
244
|
-
}
|
|
245
|
-
else {
|
|
246
|
-
throw new Exceptions_1.IllegalArgumentException('Reference must not be undefined.');
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Require that the given string is not empty.
|
|
251
|
-
*
|
|
252
|
-
* @param str The string to check.
|
|
253
|
-
* @param msg The message that describes the requirement.
|
|
254
|
-
*/
|
|
255
|
-
static requireNonEmpty(str, msg) {
|
|
256
|
-
this.requireDefined(str);
|
|
257
|
-
if (str.length === 0) {
|
|
258
|
-
throw new Exceptions_1.IllegalArgumentException(msg);
|
|
259
|
-
}
|
|
260
|
-
return str;
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* Require that the string adheres to a particular pattern.
|
|
264
|
-
*
|
|
265
|
-
* @param str The string to check.
|
|
266
|
-
* @param regexp The regular expression to satisfy.
|
|
267
|
-
* @param msg The message describing the requirement.
|
|
268
|
-
*/
|
|
269
|
-
static requireStringPattern(str, regexp, msg) {
|
|
270
|
-
this.requireDefined(str);
|
|
271
|
-
this.requireDefined(regexp);
|
|
272
|
-
if (!str.match(regexp)) {
|
|
273
|
-
throw new Exceptions_1.IllegalArgumentException(msg);
|
|
274
|
-
}
|
|
275
|
-
return str;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
exports.Contract = Contract;
|
|
279
|
-
</pre></td></tr></table></pre>
|
|
280
|
-
|
|
281
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
282
|
-
</div><!-- /wrapper -->
|
|
283
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
284
|
-
Code coverage generated by
|
|
285
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
286
|
-
at Fri Sep 17 2021 08:39:44 GMT+0200 (Central European Summer Time)
|
|
287
|
-
</div>
|
|
288
|
-
</div>
|
|
289
|
-
<script src="prettify.js"></script>
|
|
290
|
-
<script>
|
|
291
|
-
window.onload = function () {
|
|
292
|
-
prettyPrint();
|
|
293
|
-
};
|
|
294
|
-
</script>
|
|
295
|
-
<script src="sorter.js"></script>
|
|
296
|
-
<script src="block-navigation.js"></script>
|
|
297
|
-
</body>
|
|
298
|
-
</html>
|
|
299
|
-
|