@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.
Files changed (56) hide show
  1. package/lib/Contract.js +11 -7
  2. package/lib/Contract.js.map +1 -1
  3. package/lib/Exceptions.js +13 -6
  4. package/lib/Exceptions.js.map +1 -1
  5. package/lib/Strings.js +5 -1
  6. package/lib/Strings.js.map +1 -1
  7. package/lib/index.js +19 -3
  8. package/lib/index.js.map +1 -1
  9. package/package.json +9 -1
  10. package/.yarnrc +0 -2
  11. package/babel.config.js +0 -4
  12. package/coverage/Contract.js.html +0 -299
  13. package/coverage/Contract.ts.html +0 -329
  14. package/coverage/Exceptions.js.html +0 -236
  15. package/coverage/Exceptions.ts.html +0 -233
  16. package/coverage/base.css +0 -224
  17. package/coverage/block-navigation.js +0 -79
  18. package/coverage/clover.xml +0 -64
  19. package/coverage/coverage-final.json +0 -4
  20. package/coverage/favicon.png +0 -0
  21. package/coverage/index.html +0 -141
  22. package/coverage/index.js.html +0 -125
  23. package/coverage/index.ts.html +0 -89
  24. package/coverage/lcov-report/Contract.js.html +0 -299
  25. package/coverage/lcov-report/Contract.ts.html +0 -329
  26. package/coverage/lcov-report/Exceptions.js.html +0 -236
  27. package/coverage/lcov-report/Exceptions.ts.html +0 -233
  28. package/coverage/lcov-report/base.css +0 -224
  29. package/coverage/lcov-report/block-navigation.js +0 -79
  30. package/coverage/lcov-report/favicon.png +0 -0
  31. package/coverage/lcov-report/index.html +0 -141
  32. package/coverage/lcov-report/index.js.html +0 -125
  33. package/coverage/lcov-report/index.ts.html +0 -89
  34. package/coverage/lcov-report/prettify.css +0 -1
  35. package/coverage/lcov-report/prettify.js +0 -2
  36. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  37. package/coverage/lcov-report/sorter.js +0 -170
  38. package/coverage/lcov.info +0 -138
  39. package/coverage/prettify.css +0 -1
  40. package/coverage/prettify.js +0 -2
  41. package/coverage/sort-arrow-sprite.png +0 -0
  42. package/coverage/sorter.js +0 -170
  43. package/jest.config.js +0 -7
  44. package/src/Contract.js +0 -73
  45. package/src/Contract.ts +0 -83
  46. package/src/Exceptions.js +0 -52
  47. package/src/Exceptions.ts +0 -39
  48. package/src/Strings.ts +0 -14
  49. package/src/index.js +0 -15
  50. package/src/index.ts +0 -4
  51. package/test/Contract.test.js +0 -29
  52. package/test/Contract.test.ts +0 -31
  53. package/test/Exceptions.test.js +0 -50
  54. package/test/Exceptions.test.ts +0 -56
  55. package/tsconfig.json +0 -23
  56. package/tsconfig.tsbuildinfo +0 -1
package/lib/Contract.js CHANGED
@@ -1,8 +1,11 @@
1
- import { IllegalArgumentException } from './Exceptions';
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
- export class Contract {
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
@@ -1 +1 @@
1
- {"version":3,"file":"Contract.js","sourceRoot":"","sources":["../src/Contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAOxD;;GAEG;AACH,MAAM,OAAO,QAAQ;IACpB;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CAAC,SAAkB,EAAE,OAAgB;QACzD,IAAI,CAAC,SAAS,EAAE;YACf,MAAM,IAAI,wBAAwB,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,wBAAwB,CAAC,OAAO,CAAC,CAAC;SAC5C;aAAM;YACN,MAAM,IAAI,wBAAwB,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,wBAAwB,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,wBAAwB,CAAC,OAAO,CAAC,CAAC;SAC5C;QAED,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
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
- import { Optional } from 'typescript-optional';
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
- export class ImplementMeException extends Error {
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
- export class IllegalStateException extends Error {
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
- export class IllegalArgumentException extends Error {
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
- export class InvalidConfigurationException extends Error {
41
+ class InvalidConfigurationException extends Error {
36
42
  }
43
+ exports.InvalidConfigurationException = InvalidConfigurationException;
37
44
  //# sourceMappingURL=Exceptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Exceptions.js","sourceRoot":"","sources":["../src/Exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAG9C,YAAY,cAAuB;QAClC,KAAK,CAAC,eAAe,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,QAAQ,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;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;CAAG;AAEnD;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;CAAG;AAEtD;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,KAAK;CAAG"}
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
- export function removePrefix(prefix, removeFrom) {
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
@@ -1 +1 @@
1
- {"version":3,"file":"Strings.js","sourceRoot":"","sources":["../src/Strings.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,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"}
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
- export * from './Contract';
3
- export * from './Exceptions';
4
- export * from './Strings';
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,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
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-alpha.2",
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
@@ -1,2 +0,0 @@
1
- version-tag-prefix commons-v
2
- version-git-message "commons v%s"
package/babel.config.js DELETED
@@ -1,4 +0,0 @@
1
- // Babel is needed for Jest
2
- module.exports = {
3
- presets: [['@babel/preset-env', { targets: { node: 'current' } }]]
4
- };
@@ -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">&nbsp;</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
- &nbsp;</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
-