xunit.ts 0.13.1 → 1.0.3

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 (175) hide show
  1. package/.editorconfig +26 -0
  2. package/.eslintrc.json +37 -0
  3. package/README.md +2 -1
  4. package/SECURITY.md +11 -0
  5. package/cli.ts +6 -5
  6. package/dist/cli.js +2 -1
  7. package/dist/cli.js.map +1 -1
  8. package/dist/src/Assertions/Contains.js +1 -1
  9. package/dist/src/Assertions/Contains.js.map +1 -1
  10. package/dist/src/Assertions/Count.js.map +1 -1
  11. package/dist/src/Assertions/Defined.js +2 -2
  12. package/dist/src/Assertions/Defined.js.map +1 -1
  13. package/dist/src/Assertions/DoesNotContain.js +1 -1
  14. package/dist/src/Assertions/DoesNotContain.js.map +1 -1
  15. package/dist/src/Assertions/DoesNotThrow.js +2 -2
  16. package/dist/src/Assertions/DoesNotThrow.js.map +1 -1
  17. package/dist/src/Assertions/Empty.js +1 -1
  18. package/dist/src/Assertions/Empty.js.map +1 -1
  19. package/dist/src/Assertions/Equal.js +2 -2
  20. package/dist/src/Assertions/Equal.js.map +1 -1
  21. package/dist/src/Assertions/False.js +1 -1
  22. package/dist/src/Assertions/False.js.map +1 -1
  23. package/dist/src/Assertions/InstanceOf.d.ts +1 -1
  24. package/dist/src/Assertions/InstanceOf.d.ts.map +1 -1
  25. package/dist/src/Assertions/InstanceOf.js +1 -1
  26. package/dist/src/Assertions/InstanceOf.js.map +1 -1
  27. package/dist/src/Assertions/NotEmpty.js +2 -2
  28. package/dist/src/Assertions/NotEmpty.js.map +1 -1
  29. package/dist/src/Assertions/NotEqual.js +2 -2
  30. package/dist/src/Assertions/NotEqual.js.map +1 -1
  31. package/dist/src/Assertions/NotNull.js +2 -2
  32. package/dist/src/Assertions/NotNull.js.map +1 -1
  33. package/dist/src/Assertions/Null.js +1 -1
  34. package/dist/src/Assertions/Null.js.map +1 -1
  35. package/dist/src/Assertions/StringContains.d.ts.map +1 -1
  36. package/dist/src/Assertions/StringContains.js +2 -2
  37. package/dist/src/Assertions/StringContains.js.map +1 -1
  38. package/dist/src/Assertions/StringDoesNotContain.d.ts.map +1 -1
  39. package/dist/src/Assertions/StringDoesNotContain.js +1 -1
  40. package/dist/src/Assertions/StringDoesNotContain.js.map +1 -1
  41. package/dist/src/Assertions/StringDoesNotEndWith.d.ts.map +1 -1
  42. package/dist/src/Assertions/StringDoesNotEndWith.js +4 -2
  43. package/dist/src/Assertions/StringDoesNotEndWith.js.map +1 -1
  44. package/dist/src/Assertions/StringDoesNotStartWith.d.ts.map +1 -1
  45. package/dist/src/Assertions/StringDoesNotStartWith.js +1 -1
  46. package/dist/src/Assertions/StringDoesNotStartWith.js.map +1 -1
  47. package/dist/src/Assertions/StringEndsWith.d.ts.map +1 -1
  48. package/dist/src/Assertions/StringEndsWith.js +4 -2
  49. package/dist/src/Assertions/StringEndsWith.js.map +1 -1
  50. package/dist/src/Assertions/StringStartsWith.d.ts.map +1 -1
  51. package/dist/src/Assertions/StringStartsWith.js +1 -1
  52. package/dist/src/Assertions/StringStartsWith.js.map +1 -1
  53. package/dist/src/Assertions/Throws.js +1 -1
  54. package/dist/src/Assertions/Throws.js.map +1 -1
  55. package/dist/src/Assertions/True.js +1 -1
  56. package/dist/src/Assertions/True.js.map +1 -1
  57. package/dist/src/Assertions/Undefined.js +1 -1
  58. package/dist/src/Assertions/Undefined.js.map +1 -1
  59. package/dist/src/Assertions/index.d.ts +22 -22
  60. package/dist/src/Assertions/index.d.ts.map +1 -1
  61. package/dist/src/Assertions/index.js.map +1 -1
  62. package/dist/src/CLI.d.ts +4 -1
  63. package/dist/src/CLI.d.ts.map +1 -1
  64. package/dist/src/CLI.js +10 -8
  65. package/dist/src/CLI.js.map +1 -1
  66. package/dist/src/Factory.d.ts +5 -4
  67. package/dist/src/Factory.d.ts.map +1 -1
  68. package/dist/src/Factory.js +4 -4
  69. package/dist/src/Factory.js.map +1 -1
  70. package/dist/src/Framework/ResultType.d.ts.map +1 -1
  71. package/dist/src/Framework/ResultType.js.map +1 -1
  72. package/dist/src/Framework/Test.d.ts.map +1 -1
  73. package/dist/src/Framework/Test.js.map +1 -1
  74. package/dist/src/Framework/TestName.d.ts.map +1 -1
  75. package/dist/src/Framework/TestName.js.map +1 -1
  76. package/dist/src/Framework/TestResult.d.ts.map +1 -1
  77. package/dist/src/Framework/TestResult.js.map +1 -1
  78. package/dist/src/Framework/TestSuite.d.ts +1 -1
  79. package/dist/src/Framework/TestSuite.d.ts.map +1 -1
  80. package/dist/src/Framework/TestSuite.js.map +1 -1
  81. package/dist/src/Framework/TestSuiteResults.d.ts +1 -1
  82. package/dist/src/Framework/TestSuiteResults.d.ts.map +1 -1
  83. package/dist/src/Framework/TestSuiteResults.js.map +1 -1
  84. package/dist/src/IO/FileSystem.d.ts +2 -2
  85. package/dist/src/IO/FileSystem.d.ts.map +1 -1
  86. package/dist/src/IO/FileSystem.js +6 -6
  87. package/dist/src/IO/FileSystem.js.map +1 -1
  88. package/dist/src/IO/Output.d.ts.map +1 -1
  89. package/dist/src/IO/Output.js.map +1 -1
  90. package/dist/src/Reporters/ConsoleReporter.d.ts.map +1 -1
  91. package/dist/src/Reporters/ConsoleReporter.js +8 -7
  92. package/dist/src/Reporters/ConsoleReporter.js.map +1 -1
  93. package/dist/src/Reporters/FileReporter.d.ts.map +1 -1
  94. package/dist/src/Reporters/FileReporter.js +1 -0
  95. package/dist/src/Reporters/FileReporter.js.map +1 -1
  96. package/dist/src/Reporters/JUnitReporter.d.ts +2 -2
  97. package/dist/src/Reporters/JUnitReporter.d.ts.map +1 -1
  98. package/dist/src/Reporters/JUnitReporter.js +7 -7
  99. package/dist/src/Reporters/JUnitReporter.js.map +1 -1
  100. package/dist/src/Reporters/ResultReporter.d.ts +3 -3
  101. package/dist/src/Reporters/ResultReporter.d.ts.map +1 -1
  102. package/dist/src/Reporters/SonarReporter.d.ts +2 -2
  103. package/dist/src/Reporters/SonarReporter.d.ts.map +1 -1
  104. package/dist/src/Reporters/SonarReporter.js +16 -16
  105. package/dist/src/Reporters/SonarReporter.js.map +1 -1
  106. package/dist/src/Reporters/XMLReporter.d.ts.map +1 -1
  107. package/dist/src/Reporters/XMLReporter.js.map +1 -1
  108. package/dist/src/Runners/Runner.d.ts +3 -3
  109. package/dist/src/Runners/Runner.d.ts.map +1 -1
  110. package/dist/src/Runners/Runner.js +5 -5
  111. package/dist/src/Runners/Runner.js.map +1 -1
  112. package/dist/src/Runners/TestRunner.d.ts +4 -4
  113. package/dist/src/Runners/TestRunner.d.ts.map +1 -1
  114. package/dist/src/Runners/TestRunner.js +10 -9
  115. package/dist/src/Runners/TestRunner.js.map +1 -1
  116. package/dist/src/Runners/TestSuiteLoader.d.ts +3 -3
  117. package/dist/src/Runners/TestSuiteLoader.d.ts.map +1 -1
  118. package/dist/src/Runners/TestSuiteLoader.js +15 -15
  119. package/dist/src/Runners/TestSuiteLoader.js.map +1 -1
  120. package/dist/src/Runners/TestSuiteRunner.d.ts +5 -5
  121. package/dist/src/Runners/TestSuiteRunner.d.ts.map +1 -1
  122. package/dist/src/Runners/TestSuiteRunner.js +1 -1
  123. package/dist/src/Runners/TestSuiteRunner.js.map +1 -1
  124. package/dist/xunit.d.ts +3 -3
  125. package/dist/xunit.d.ts.map +1 -1
  126. package/dist/xunit.js.map +1 -1
  127. package/icon.svg +82 -0
  128. package/logo.svg +154 -0
  129. package/package.json +43 -35
  130. package/sonar-project.properties +1 -1
  131. package/src/Assertions/Contains.ts +10 -10
  132. package/src/Assertions/Count.ts +11 -11
  133. package/src/Assertions/Defined.ts +11 -11
  134. package/src/Assertions/DoesNotContain.ts +11 -11
  135. package/src/Assertions/DoesNotThrow.ts +13 -13
  136. package/src/Assertions/Empty.ts +11 -11
  137. package/src/Assertions/Equal.ts +12 -12
  138. package/src/Assertions/False.ts +11 -11
  139. package/src/Assertions/InstanceOf.ts +13 -13
  140. package/src/Assertions/NotEmpty.ts +11 -11
  141. package/src/Assertions/NotEqual.ts +12 -12
  142. package/src/Assertions/NotNull.ts +11 -11
  143. package/src/Assertions/Null.ts +11 -11
  144. package/src/Assertions/StringContains.ts +12 -12
  145. package/src/Assertions/StringDoesNotContain.ts +12 -12
  146. package/src/Assertions/StringDoesNotEndWith.ts +14 -12
  147. package/src/Assertions/StringDoesNotStartWith.ts +12 -12
  148. package/src/Assertions/StringEndsWith.ts +14 -12
  149. package/src/Assertions/StringStartsWith.ts +12 -12
  150. package/src/Assertions/Throws.ts +11 -11
  151. package/src/Assertions/True.ts +11 -11
  152. package/src/Assertions/Undefined.ts +12 -12
  153. package/src/Assertions/index.ts +45 -45
  154. package/src/CLI.ts +85 -84
  155. package/src/Factory.ts +25 -25
  156. package/src/Framework/ResultType.ts +4 -4
  157. package/src/Framework/Test.ts +6 -6
  158. package/src/Framework/TestName.ts +7 -7
  159. package/src/Framework/TestResult.ts +3 -2
  160. package/src/Framework/TestSuite.ts +18 -18
  161. package/src/Framework/TestSuiteResults.ts +17 -16
  162. package/src/IO/FileSystem.ts +28 -29
  163. package/src/IO/Output.ts +21 -20
  164. package/src/Reporters/ConsoleReporter.ts +88 -87
  165. package/src/Reporters/FileReporter.ts +29 -29
  166. package/src/Reporters/JUnitReporter.ts +80 -80
  167. package/src/Reporters/ResultReporter.ts +20 -12
  168. package/src/Reporters/SonarReporter.ts +86 -86
  169. package/src/Reporters/XMLReporter.ts +6 -6
  170. package/src/Runners/Runner.ts +21 -21
  171. package/src/Runners/TestRunner.ts +34 -32
  172. package/src/Runners/TestSuiteLoader.ts +41 -40
  173. package/src/Runners/TestSuiteRunner.ts +27 -26
  174. package/tsconfig.json +26 -24
  175. package/xunit.ts +6 -6
package/.editorconfig ADDED
@@ -0,0 +1,26 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ indent_style = tab
6
+ trim_trailing_whitespace = true
7
+ insert_final_newline = false
8
+ max_line_length = off
9
+
10
+ [{*.yml,*.yaml}]
11
+ indent_style = space
12
+ indent_size = 2
13
+
14
+ [*.cs]
15
+ csharp_prefer_braces = true
16
+ csharp_style_expression_bodied_methods = true
17
+ csharp_style_expression_bodied_constructors = true
18
+ csharp_style_expression_bodied_operators = true
19
+ csharp_style_expression_bodied_properties = true
20
+ csharp_style_expression_bodied_indexers = true
21
+ csharp_style_expression_bodied_accessors = true
22
+ csharp_style_expression_bodied_lambdas = true
23
+ csharp_style_expression_bodied_local_functions = true
24
+ csharp_style_pattern_local_over_anonymous_function = false
25
+ csharp_style_namespace_declarations = file_scoped:warning
26
+ dotnet_diagnostic.S101.severity = suggestion
package/.eslintrc.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "env": {
3
+ "node": true
4
+ },
5
+ "extends": [
6
+ "eslint:recommended",
7
+ "plugin:@typescript-eslint/recommended"
8
+ ],
9
+ "ignorePatterns": [
10
+ "dist/"
11
+ ],
12
+ "parser": "@typescript-eslint/parser",
13
+ "parserOptions": {
14
+ "ecmaVersion": 6,
15
+ "sourceType": "module"
16
+ },
17
+ "plugins": [
18
+ "@typescript-eslint"
19
+ ],
20
+ "rules": {
21
+ "indent": [
22
+ "warn",
23
+ "tab"
24
+ ],
25
+ "quotes": [
26
+ "warn",
27
+ "double"
28
+ ],
29
+ "@typescript-eslint/no-explicit-any": [
30
+ "off"
31
+ ],
32
+ "@typescript-eslint/semi": [
33
+ "warn",
34
+ "always"
35
+ ]
36
+ }
37
+ }
package/README.md CHANGED
@@ -1,7 +1,8 @@
1
+ ![xunit.ts logo](docs/assets/logo.png)
1
2
  # xunit.ts
2
3
  ### A TypeScript unit testing framework, following standard xUnit patterns
3
4
 
4
- [![npm version](https://badge.fury.io/js/xunit.ts.svg)](https://npmjs.com/package/xunit.ts)
5
+ [![npm version](https://img.shields.io/npm/v/xunit.ts?logo=npm&label=Install)](https://npmjs.com/package/xunit.ts)
5
6
  [![CI status](https://github.com/ecoAPM/xunit.ts/workflows/CI/badge.svg)](https://github.com/ecoAPM/xunit.ts/actions)
6
7
  [![Code Coverage](https://sonarcloud.io/api/project_badges/measure?project=ecoAPM_xunit.ts&metric=coverage)](https://sonarcloud.io/dashboard?id=ecoAPM_xunit.ts)
7
8
 
package/SECURITY.md ADDED
@@ -0,0 +1,11 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ Security updates are generally only applied to the newest release, and backported on an as-needed basis where appropriate.
6
+
7
+ ## Reporting a Vulnerability
8
+
9
+ Unless a vulnerability is deemed critical or exposes PII, please create an issue in this repository using the "Report a Bug" template.
10
+
11
+ For critical vulnerabilities, or those that expose PII, please email info@ecoAPM.com so that the issue can be fixed confidentially, prior to public disclosure.
package/cli.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import process from 'process';
4
- import CLI from './src/CLI';
3
+ import process from "process";
4
+ import CLI from "./src/CLI";
5
+ import Factory from "./src/Factory";
5
6
 
6
- new CLI(process)
7
- .run()
8
- .then(success => process.exit(success ? 0 : 1));
7
+ new CLI(Factory.Runner, process)
8
+ .run()
9
+ .then(success => process.exit(success ? 0 : 1));
package/dist/cli.js CHANGED
@@ -6,7 +6,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  const process_1 = __importDefault(require("process"));
8
8
  const CLI_1 = __importDefault(require("./src/CLI"));
9
- new CLI_1.default(process_1.default)
9
+ const Factory_1 = __importDefault(require("./src/Factory"));
10
+ new CLI_1.default(Factory_1.default.Runner, process_1.default)
10
11
  .run()
11
12
  .then(success => process_1.default.exit(success ? 0 : 1));
12
13
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";;;;;;AAEA,sDAA8B;AAC9B,oDAA4B;AAE5B,IAAI,aAAG,CAAC,iBAAO,CAAC;KACX,GAAG,EAAE;KACL,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";;;;;;AAEA,sDAA8B;AAC9B,oDAA4B;AAC5B,4DAAoC;AAEpC,IAAI,aAAG,CAAC,iBAAO,CAAC,MAAM,EAAE,iBAAO,CAAC;KAC9B,GAAG,EAAE;KACL,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -21,7 +21,7 @@ function Contains(needle, haystack, message) {
21
21
  return;
22
22
  }
23
23
  throw new assert_1.AssertionError({
24
- message: message || 'Expected array containing expression, but array did not contain expression',
24
+ message: message || "Expected array containing expression, but array did not contain expression",
25
25
  expected: needle,
26
26
  actual: haystack
27
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Contains.js","sourceRoot":"","sources":["../../../src/Assertions/Contains.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,QAAQ,CAAI,MAAS,EAAE,QAA0B,EAAE,OAAgB;IACvF,IAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC1B,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,4EAA4E;QAChG,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KACnB,CAAC,CAAC;AACP,CAAC;AAVD,2BAUC"}
1
+ {"version":3,"file":"Contains.js","sourceRoot":"","sources":["../../../src/Assertions/Contains.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,QAAQ,CAAI,MAAS,EAAE,QAA0B,EAAE,OAAgB;IAC1F,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC9B,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,4EAA4E;QAChG,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KAChB,CAAC,CAAC;AACJ,CAAC;AAVD,2BAUC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Count.js","sourceRoot":"","sources":["../../../src/Assertions/Count.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,KAAK,CAAC,QAAgB,EAAE,KAAyB,EAAE,OAAgB;IACvF,IAAG,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE;QAC1B,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,uBAAuB,QAAQ,4BAA4B,KAAK,CAAC,MAAM,WAAW;QACtG,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;KACvB,CAAC,CAAC;AACP,CAAC;AAVD,wBAUC"}
1
+ {"version":3,"file":"Count.js","sourceRoot":"","sources":["../../../src/Assertions/Count.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,KAAK,CAAC,QAAgB,EAAE,KAAyB,EAAE,OAAgB;IAC1F,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,uBAAuB,QAAQ,4BAA4B,KAAK,CAAC,MAAM,WAAW;QACtG,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;KACpB,CAAC,CAAC;AACJ,CAAC;AAVD,wBAUC"}
@@ -20,8 +20,8 @@ function Defined(expression, message) {
20
20
  return;
21
21
  }
22
22
  throw new assert_1.AssertionError({
23
- message: message || 'Expected expression to be defined, but expression is undefined',
24
- expected: '(not undefined expression)',
23
+ message: message || "Expected expression to be defined, but expression is undefined",
24
+ expected: "(not undefined expression)",
25
25
  actual: expression
26
26
  });
27
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Defined.js","sourceRoot":"","sources":["../../../src/Assertions/Defined.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,OAAO,CAAC,UAAe,EAAE,OAAgB;IAC7D,IAAG,UAAU,KAAK,SAAS,EAAE;QACzB,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,gEAAgE;QACpF,QAAQ,EAAE,4BAA4B;QACtC,MAAM,EAAE,UAAU;KACrB,CAAC,CAAC;AACP,CAAC;AAVD,0BAUC"}
1
+ {"version":3,"file":"Defined.js","sourceRoot":"","sources":["../../../src/Assertions/Defined.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,OAAO,CAAC,UAAe,EAAE,OAAgB;IAChE,IAAI,UAAU,KAAK,SAAS,EAAE;QAC7B,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,gEAAgE;QACpF,QAAQ,EAAE,4BAA4B;QACtC,MAAM,EAAE,UAAU;KAClB,CAAC,CAAC;AACJ,CAAC;AAVD,0BAUC"}
@@ -21,7 +21,7 @@ function DoesNotContain(needle, haystack, message) {
21
21
  return;
22
22
  }
23
23
  throw new assert_1.AssertionError({
24
- message: message || 'Expected array not containing expression, but array contained expression',
24
+ message: message || "Expected array not containing expression, but array contained expression",
25
25
  expected: needle,
26
26
  actual: haystack
27
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DoesNotContain.js","sourceRoot":"","sources":["../../../src/Assertions/DoesNotContain.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,cAAc,CAAI,MAAS,EAAE,QAA0B,EAAE,OAAgB;IAC7F,IAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC3B,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,0EAA0E;QAC9F,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KACnB,CAAC,CAAC;AACP,CAAC;AAVD,iCAUC"}
1
+ {"version":3,"file":"DoesNotContain.js","sourceRoot":"","sources":["../../../src/Assertions/DoesNotContain.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,cAAc,CAAI,MAAS,EAAE,QAA0B,EAAE,OAAgB;IAChG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC/B,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,0EAA0E;QAC9F,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KAChB,CAAC,CAAC;AACJ,CAAC;AAVD,iCAUC"}
@@ -22,8 +22,8 @@ function DoesNotThrow(expression, message) {
22
22
  }
23
23
  catch (exception) {
24
24
  throw new assert_1.AssertionError({
25
- message: message || 'Expected expression to not throw exception, but expression did throw exception',
26
- expected: '(no exception)',
25
+ message: message || "Expected expression to not throw exception, but expression did throw exception",
26
+ expected: "(no exception)",
27
27
  actual: exception
28
28
  });
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DoesNotThrow.js","sourceRoot":"","sources":["../../../src/Assertions/DoesNotThrow.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,YAAY,CAAC,UAAqB,EAAE,OAAgB;IACxE,IAAI;QACA,UAAU,EAAE,CAAC;QACb,OAAO;KACV;IAAC,OAAO,SAAS,EAAE;QAChB,MAAM,IAAI,uBAAc,CAAC;YACrB,OAAO,EAAE,OAAO,IAAI,gFAAgF;YACpG,QAAQ,EAAE,gBAAgB;YAC1B,MAAM,EAAE,SAAS;SACpB,CAAC,CAAC;KACN;AACL,CAAC;AAXD,+BAWC"}
1
+ {"version":3,"file":"DoesNotThrow.js","sourceRoot":"","sources":["../../../src/Assertions/DoesNotThrow.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,YAAY,CAAC,UAAqB,EAAE,OAAgB;IAC3E,IAAI;QACH,UAAU,EAAE,CAAC;QACb,OAAO;KACP;IAAC,OAAO,SAAS,EAAE;QACnB,MAAM,IAAI,uBAAc,CAAC;YACxB,OAAO,EAAE,OAAO,IAAI,gFAAgF;YACpG,QAAQ,EAAE,gBAAgB;YAC1B,MAAM,EAAE,SAAS;SACjB,CAAC,CAAC;KACH;AACF,CAAC;AAXD,+BAWC"}
@@ -20,7 +20,7 @@ function Empty(array, message) {
20
20
  return;
21
21
  }
22
22
  throw new assert_1.AssertionError({
23
- message: message || 'Expected expression to be empty, but expression was not empty',
23
+ message: message || "Expected expression to be empty, but expression was not empty",
24
24
  expected: [],
25
25
  actual: array
26
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Empty.js","sourceRoot":"","sources":["../../../src/Assertions/Empty.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,KAAK,CAAC,KAAyB,EAAE,OAAgB;IACrE,IAAG,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACnB,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,+DAA+D;QACnF,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;KAChB,CAAC,CAAA;AACN,CAAC;AAVD,wBAUC"}
1
+ {"version":3,"file":"Empty.js","sourceRoot":"","sources":["../../../src/Assertions/Empty.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,KAAK,CAAC,KAAyB,EAAE,OAAgB;IACxE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,+DAA+D;QACnF,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;KACb,CAAC,CAAC;AACJ,CAAC;AAVD,wBAUC"}
@@ -21,11 +21,11 @@ const lodash_isequal_1 = __importDefault(require("lodash.isequal"));
21
21
  * this.assert.equal(expected, actual);
22
22
  */
23
23
  function Equal(expected, actual, message) {
24
- if (lodash_isequal_1.default(actual, expected)) {
24
+ if ((0, lodash_isequal_1.default)(actual, expected)) {
25
25
  return;
26
26
  }
27
27
  throw new assert_1.AssertionError({
28
- message: message || 'Expected expressions to be equal, but expressions are not equal',
28
+ message: message || "Expected expressions to be equal, but expressions are not equal",
29
29
  expected: expected,
30
30
  actual: actual,
31
31
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Equal.js","sourceRoot":"","sources":["../../../src/Assertions/Equal.ts"],"names":[],"mappings":";;;;;AAAA,mCAAwC;AACxC,oEAAmC;AAEnC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,KAAK,CAAC,QAAa,EAAE,MAAW,EAAE,OAAgB;IACtE,IAAG,wBAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;QACxB,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,iEAAiE;QACrF,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,MAAM;KACjB,CAAC,CAAC;AACP,CAAC;AAVD,wBAUC"}
1
+ {"version":3,"file":"Equal.js","sourceRoot":"","sources":["../../../src/Assertions/Equal.ts"],"names":[],"mappings":";;;;;AAAA,mCAAwC;AACxC,oEAAmC;AAEnC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,KAAK,CAAC,QAAa,EAAE,MAAW,EAAE,OAAgB;IACzE,IAAI,IAAA,wBAAK,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;QAC5B,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,iEAAiE;QACrF,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,MAAM;KACd,CAAC,CAAC;AACJ,CAAC;AAVD,wBAUC"}
@@ -20,7 +20,7 @@ function False(expression, message) {
20
20
  return;
21
21
  }
22
22
  throw new assert_1.AssertionError({
23
- message: message || 'Expected expression to be false, but expression is not false',
23
+ message: message || "Expected expression to be false, but expression is not false",
24
24
  expected: false,
25
25
  actual: expression
26
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"False.js","sourceRoot":"","sources":["../../../src/Assertions/False.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,KAAK,CAAC,UAAe,EAAE,OAAgB;IAC3D,IAAG,UAAU,KAAK,KAAK,EAAE;QACrB,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,8DAA8D;QAClF,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,UAAU;KACrB,CAAC,CAAC;AACP,CAAC;AAVD,wBAUC"}
1
+ {"version":3,"file":"False.js","sourceRoot":"","sources":["../../../src/Assertions/False.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,KAAK,CAAC,UAAe,EAAE,OAAgB;IAC9D,IAAI,UAAU,KAAK,KAAK,EAAE;QACzB,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,8DAA8D;QAClF,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,UAAU;KAClB,CAAC,CAAC;AACJ,CAAC;AAVD,wBAUC"}
@@ -13,5 +13,5 @@
13
13
  * @example
14
14
  * this.assert.instanceOf(type, object);
15
15
  */
16
- export default function InstanceOf<T>(type: any, expression: any, message?: string): void;
16
+ export default function InstanceOf(type: any, expression: any, message?: string): void;
17
17
  //# sourceMappingURL=InstanceOf.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceOf.d.ts","sourceRoot":"","sources":["../../../src/Assertions/InstanceOf.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,QAUjF"}
1
+ {"version":3,"file":"InstanceOf.d.ts","sourceRoot":"","sources":["../../../src/Assertions/InstanceOf.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,QAU9E"}
@@ -22,7 +22,7 @@ function InstanceOf(type, expression, message) {
22
22
  }
23
23
  throw new assert_1.AssertionError({
24
24
  message: message || `Expected expression of type, but was ${typeof expression}`,
25
- expected: type,
25
+ expected: type.name,
26
26
  actual: typeof expression
27
27
  });
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceOf.js","sourceRoot":"","sources":["../../../src/Assertions/InstanceOf.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,UAAU,CAAI,IAAS,EAAE,UAAe,EAAE,OAAgB;IAC9E,IAAI,UAAU,YAAY,IAAI,EAAE;QAC5B,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,wCAAwC,OAAO,UAAU,EAAE;QAC/E,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,OAAO,UAAU;KAC5B,CAAC,CAAA;AACN,CAAC;AAVD,6BAUC"}
1
+ {"version":3,"file":"InstanceOf.js","sourceRoot":"","sources":["../../../src/Assertions/InstanceOf.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,UAAU,CAAC,IAAS,EAAE,UAAe,EAAE,OAAgB;IAC9E,IAAI,UAAU,YAAY,IAAI,EAAE;QAC/B,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,wCAAwC,OAAO,UAAU,EAAE;QAC/E,QAAQ,EAAE,IAAI,CAAC,IAAI;QACnB,MAAM,EAAE,OAAO,UAAU;KACzB,CAAC,CAAC;AACJ,CAAC;AAVD,6BAUC"}
@@ -20,8 +20,8 @@ function NotEmpty(array, message) {
20
20
  return;
21
21
  }
22
22
  throw new assert_1.AssertionError({
23
- message: message || 'Expected expression to be not empty, but expression was empty',
24
- expected: '(non-empty expression)',
23
+ message: message || "Expected expression to be not empty, but expression was empty",
24
+ expected: "(non-empty expression)",
25
25
  actual: array
26
26
  });
27
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NotEmpty.js","sourceRoot":"","sources":["../../../src/Assertions/NotEmpty.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,QAAQ,CAAC,KAAyB,EAAE,OAAgB;IACxE,IAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACjB,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,+DAA+D;QACnF,QAAQ,EAAE,wBAAwB;QAClC,MAAM,EAAE,KAAK;KAChB,CAAC,CAAA;AACN,CAAC;AAVD,2BAUC"}
1
+ {"version":3,"file":"NotEmpty.js","sourceRoot":"","sources":["../../../src/Assertions/NotEmpty.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,QAAQ,CAAC,KAAyB,EAAE,OAAgB;IAC3E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,+DAA+D;QACnF,QAAQ,EAAE,wBAAwB;QAClC,MAAM,EAAE,KAAK;KACb,CAAC,CAAC;AACJ,CAAC;AAVD,2BAUC"}
@@ -21,11 +21,11 @@ const lodash_isequal_1 = __importDefault(require("lodash.isequal"));
21
21
  * this.assert.notEqual(expected, actual);
22
22
  */
23
23
  function NotEqual(expected, actual, message) {
24
- if (!lodash_isequal_1.default(actual, expected)) {
24
+ if (!(0, lodash_isequal_1.default)(actual, expected)) {
25
25
  return;
26
26
  }
27
27
  throw new assert_1.AssertionError({
28
- message: message || 'Expected expressions to be not equal, but expressions are equal',
28
+ message: message || "Expected expressions to be not equal, but expressions are equal",
29
29
  expected: expected,
30
30
  actual: actual,
31
31
  });
@@ -1 +1 @@
1
- {"version":3,"file":"NotEqual.js","sourceRoot":"","sources":["../../../src/Assertions/NotEqual.ts"],"names":[],"mappings":";;;;;AAAA,mCAAwC;AACxC,oEAAmC;AAEnC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,QAAQ,CAAC,QAAa,EAAE,MAAW,EAAE,OAAgB;IACzE,IAAG,CAAC,wBAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;QACzB,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,iEAAiE;QACrF,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,MAAM;KACjB,CAAC,CAAC;AACP,CAAC;AAVD,2BAUC"}
1
+ {"version":3,"file":"NotEqual.js","sourceRoot":"","sources":["../../../src/Assertions/NotEqual.ts"],"names":[],"mappings":";;;;;AAAA,mCAAwC;AACxC,oEAAmC;AAEnC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,QAAQ,CAAC,QAAa,EAAE,MAAW,EAAE,OAAgB;IAC5E,IAAI,CAAC,IAAA,wBAAK,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;QAC7B,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,iEAAiE;QACrF,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,MAAM;KACd,CAAC,CAAC;AACJ,CAAC;AAVD,2BAUC"}
@@ -20,8 +20,8 @@ function NotNull(expression, message) {
20
20
  return;
21
21
  }
22
22
  throw new assert_1.AssertionError({
23
- message: message || 'Expected expression to be not null, but expression is null',
24
- expected: '(non-null expression)',
23
+ message: message || "Expected expression to be not null, but expression is null",
24
+ expected: "(non-null expression)",
25
25
  actual: expression
26
26
  });
27
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NotNull.js","sourceRoot":"","sources":["../../../src/Assertions/NotNull.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,OAAO,CAAC,UAAe,EAAE,OAAgB;IAC7D,IAAG,UAAU,KAAK,IAAI,EAAE;QACpB,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,4DAA4D;QAChF,QAAQ,EAAE,uBAAuB;QACjC,MAAM,EAAE,UAAU;KACrB,CAAC,CAAC;AACP,CAAC;AAVD,0BAUC"}
1
+ {"version":3,"file":"NotNull.js","sourceRoot":"","sources":["../../../src/Assertions/NotNull.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,OAAO,CAAC,UAAe,EAAE,OAAgB;IAChE,IAAI,UAAU,KAAK,IAAI,EAAE;QACxB,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,4DAA4D;QAChF,QAAQ,EAAE,uBAAuB;QACjC,MAAM,EAAE,UAAU;KAClB,CAAC,CAAC;AACJ,CAAC;AAVD,0BAUC"}
@@ -20,7 +20,7 @@ function Null(expression, message) {
20
20
  return;
21
21
  }
22
22
  throw new assert_1.AssertionError({
23
- message: message || 'Expected expression to be null, but expression is not null',
23
+ message: message || "Expected expression to be null, but expression is not null",
24
24
  expected: null,
25
25
  actual: expression
26
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Null.js","sourceRoot":"","sources":["../../../src/Assertions/Null.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,IAAI,CAAC,UAAe,EAAE,OAAgB;IAC1D,IAAG,UAAU,KAAK,IAAI,EAAE;QACpB,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,4DAA4D;QAChF,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,UAAU;KACrB,CAAC,CAAC;AACP,CAAC;AAVD,uBAUC"}
1
+ {"version":3,"file":"Null.js","sourceRoot":"","sources":["../../../src/Assertions/Null.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,IAAI,CAAC,UAAe,EAAE,OAAgB;IAC7D,IAAI,UAAU,KAAK,IAAI,EAAE;QACxB,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,4DAA4D;QAChF,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,UAAU;KAClB,CAAC,CAAC;AACJ,CAAC;AAVD,uBAUC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StringContains.d.ts","sourceRoot":"","sources":["../../../src/Assertions/StringContains.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAC,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,QAU7F"}
1
+ {"version":3,"file":"StringContains.d.ts","sourceRoot":"","sources":["../../../src/Assertions/StringContains.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,QAU/F"}
@@ -17,11 +17,11 @@ const assert_1 = require("assert");
17
17
  * this.assert.stringContains(needle, haystack);
18
18
  */
19
19
  function StringContains(needle, haystack, message) {
20
- if (haystack !== undefined && haystack !== null && haystack.indexOf(needle) !== -1) {
20
+ if (haystack !== undefined && haystack !== null && haystack.indexOf(needle) > -1) {
21
21
  return;
22
22
  }
23
23
  throw new assert_1.AssertionError({
24
- message: message || 'Expected string containing expression, but string did not contain expression',
24
+ message: message || "Expected string containing expression, but string did not contain expression",
25
25
  expected: needle,
26
26
  actual: haystack
27
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"StringContains.js","sourceRoot":"","sources":["../../../src/Assertions/StringContains.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,cAAc,CAAC,MAAc,EAAE,QAAqB,EAAE,OAAgB;IAC1F,IAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;QAC/E,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,8EAA8E;QAClG,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KACnB,CAAC,CAAC;AACP,CAAC;AAVD,iCAUC"}
1
+ {"version":3,"file":"StringContains.js","sourceRoot":"","sources":["../../../src/Assertions/StringContains.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,cAAc,CAAC,MAAc,EAAE,QAAuB,EAAE,OAAgB;IAC/F,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;QACjF,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,8EAA8E;QAClG,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KAChB,CAAC,CAAC;AACJ,CAAC;AAVD,iCAUC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StringDoesNotContain.d.ts","sourceRoot":"","sources":["../../../src/Assertions/StringDoesNotContain.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAC,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,QAUnG"}
1
+ {"version":3,"file":"StringDoesNotContain.d.ts","sourceRoot":"","sources":["../../../src/Assertions/StringDoesNotContain.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,QAUrG"}
@@ -21,7 +21,7 @@ function StringDoesNotContain(needle, haystack, message) {
21
21
  return;
22
22
  }
23
23
  throw new assert_1.AssertionError({
24
- message: message || 'Expected string not containing expression, but string did contain expression',
24
+ message: message || "Expected string not containing expression, but string did contain expression",
25
25
  expected: needle,
26
26
  actual: haystack
27
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"StringDoesNotContain.js","sourceRoot":"","sources":["../../../src/Assertions/StringDoesNotContain.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,oBAAoB,CAAC,MAAc,EAAE,QAAqB,EAAE,OAAgB;IAChG,IAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;QAC/E,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,8EAA8E;QAClG,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KACnB,CAAC,CAAC;AACP,CAAC;AAVD,uCAUC"}
1
+ {"version":3,"file":"StringDoesNotContain.js","sourceRoot":"","sources":["../../../src/Assertions/StringDoesNotContain.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,oBAAoB,CAAC,MAAc,EAAE,QAAuB,EAAE,OAAgB;IACrG,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;QACnF,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,8EAA8E;QAClG,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KAChB,CAAC,CAAC;AACJ,CAAC;AAVD,uCAUC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StringDoesNotEndWith.d.ts","sourceRoot":"","sources":["../../../src/Assertions/StringDoesNotEndWith.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAC,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,QAUnG"}
1
+ {"version":3,"file":"StringDoesNotEndWith.d.ts","sourceRoot":"","sources":["../../../src/Assertions/StringDoesNotEndWith.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,QAYrG"}
@@ -17,11 +17,13 @@ const assert_1 = require("assert");
17
17
  * this.assert.stringDoesNotEndWith(needle, haystack);
18
18
  */
19
19
  function StringDoesNotEndWith(needle, haystack, message) {
20
- if (haystack === undefined || haystack === null || haystack.indexOf(needle) !== haystack.length - needle.length) {
20
+ if (haystack === undefined || haystack === null
21
+ || haystack.indexOf(needle) === -1
22
+ || haystack.indexOf(needle) !== haystack.length - needle.length) {
21
23
  return;
22
24
  }
23
25
  throw new assert_1.AssertionError({
24
- message: message || 'Expected string containing expression, but string did not contain expression',
26
+ message: message || "Expected string containing expression, but string did not contain expression",
25
27
  expected: needle,
26
28
  actual: haystack
27
29
  });
@@ -1 +1 @@
1
- {"version":3,"file":"StringDoesNotEndWith.js","sourceRoot":"","sources":["../../../src/Assertions/StringDoesNotEndWith.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,oBAAoB,CAAC,MAAc,EAAE,QAAqB,EAAE,OAAgB;IAChG,IAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE;QAC5G,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,8EAA8E;QAClG,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KACnB,CAAC,CAAC;AACP,CAAC;AAVD,uCAUC"}
1
+ {"version":3,"file":"StringDoesNotEndWith.js","sourceRoot":"","sources":["../../../src/Assertions/StringDoesNotEndWith.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,oBAAoB,CAAC,MAAc,EAAE,QAAuB,EAAE,OAAgB;IACrG,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;WAC3C,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;WAC/B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE;QACjE,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,8EAA8E;QAClG,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KAChB,CAAC,CAAC;AACJ,CAAC;AAZD,uCAYC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StringDoesNotStartWith.d.ts","sourceRoot":"","sources":["../../../src/Assertions/StringDoesNotStartWith.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAC,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,QAUrG"}
1
+ {"version":3,"file":"StringDoesNotStartWith.d.ts","sourceRoot":"","sources":["../../../src/Assertions/StringDoesNotStartWith.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,QAUvG"}
@@ -21,7 +21,7 @@ function StringDoesNotStartWith(needle, haystack, message) {
21
21
  return;
22
22
  }
23
23
  throw new assert_1.AssertionError({
24
- message: message || 'Expected string containing expression, but string did not contain expression',
24
+ message: message || "Expected string containing expression, but string did not contain expression",
25
25
  expected: needle,
26
26
  actual: haystack
27
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"StringDoesNotStartWith.js","sourceRoot":"","sources":["../../../src/Assertions/StringDoesNotStartWith.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,sBAAsB,CAAC,MAAc,EAAE,QAAqB,EAAE,OAAgB;IAClG,IAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC9E,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,8EAA8E;QAClG,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KACnB,CAAC,CAAC;AACP,CAAC;AAVD,yCAUC"}
1
+ {"version":3,"file":"StringDoesNotStartWith.js","sourceRoot":"","sources":["../../../src/Assertions/StringDoesNotStartWith.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,sBAAsB,CAAC,MAAc,EAAE,QAAuB,EAAE,OAAgB;IACvG,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAClF,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,8EAA8E;QAClG,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KAChB,CAAC,CAAC;AACJ,CAAC;AAVD,yCAUC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StringEndsWith.d.ts","sourceRoot":"","sources":["../../../src/Assertions/StringEndsWith.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAC,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,QAU7F"}
1
+ {"version":3,"file":"StringEndsWith.d.ts","sourceRoot":"","sources":["../../../src/Assertions/StringEndsWith.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,QAY/F"}
@@ -17,11 +17,13 @@ const assert_1 = require("assert");
17
17
  * this.assert.stringEndsWith(needle, haystack);
18
18
  */
19
19
  function StringEndsWith(needle, haystack, message) {
20
- if (haystack !== undefined && haystack !== null && haystack.indexOf(needle) === haystack.length - needle.length) {
20
+ if (haystack !== undefined && haystack !== null
21
+ && haystack.indexOf(needle) > -1
22
+ && haystack.indexOf(needle) === haystack.length - needle.length) {
21
23
  return;
22
24
  }
23
25
  throw new assert_1.AssertionError({
24
- message: message || 'Expected string containing expression, but string did not contain expression',
26
+ message: message || "Expected string containing expression, but string did not contain expression",
25
27
  expected: needle,
26
28
  actual: haystack
27
29
  });
@@ -1 +1 @@
1
- {"version":3,"file":"StringEndsWith.js","sourceRoot":"","sources":["../../../src/Assertions/StringEndsWith.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,cAAc,CAAC,MAAc,EAAE,QAAqB,EAAE,OAAgB;IAC1F,IAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE;QAC5G,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,8EAA8E;QAClG,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KACnB,CAAC,CAAC;AACP,CAAC;AAVD,iCAUC"}
1
+ {"version":3,"file":"StringEndsWith.js","sourceRoot":"","sources":["../../../src/Assertions/StringEndsWith.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,cAAc,CAAC,MAAc,EAAE,QAAuB,EAAE,OAAgB;IAC/F,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;WAC3C,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;WAC7B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE;QACjE,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,8EAA8E;QAClG,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KAChB,CAAC,CAAC;AACJ,CAAC;AAZD,iCAYC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StringStartsWith.d.ts","sourceRoot":"","sources":["../../../src/Assertions/StringStartsWith.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAC,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,QAU/F"}
1
+ {"version":3,"file":"StringStartsWith.d.ts","sourceRoot":"","sources":["../../../src/Assertions/StringStartsWith.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,QAUjG"}
@@ -21,7 +21,7 @@ function StringStartsWith(needle, haystack, message) {
21
21
  return;
22
22
  }
23
23
  throw new assert_1.AssertionError({
24
- message: message || 'Expected string containing expression, but string did not contain expression',
24
+ message: message || "Expected string containing expression, but string did not contain expression",
25
25
  expected: needle,
26
26
  actual: haystack
27
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"StringStartsWith.js","sourceRoot":"","sources":["../../../src/Assertions/StringStartsWith.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,gBAAgB,CAAC,MAAc,EAAE,QAAqB,EAAE,OAAgB;IAC5F,IAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC9E,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,8EAA8E;QAClG,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KACnB,CAAC,CAAC;AACP,CAAC;AAVD,mCAUC"}
1
+ {"version":3,"file":"StringStartsWith.js","sourceRoot":"","sources":["../../../src/Assertions/StringStartsWith.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;;GAcG;AACH,SAAwB,gBAAgB,CAAC,MAAc,EAAE,QAAuB,EAAE,OAAgB;IACjG,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAClF,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,8EAA8E;QAClG,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;KAChB,CAAC,CAAC;AACJ,CAAC;AAVD,mCAUC"}
@@ -23,7 +23,7 @@ function Throws(expression, message) {
23
23
  return;
24
24
  }
25
25
  throw new assert_1.AssertionError({
26
- message: message || 'Expected expression to throw exception, but expression did not throw exception'
26
+ message: message || "Expected expression to throw exception, but expression did not throw exception"
27
27
  });
28
28
  }
29
29
  exports.default = Throws;
@@ -1 +1 @@
1
- {"version":3,"file":"Throws.js","sourceRoot":"","sources":["../../../src/Assertions/Throws.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,MAAM,CAAC,UAAqB,EAAE,OAAgB;IAClE,IAAI;QACA,UAAU,EAAE,CAAC;KAChB;IAAC,OAAO,SAAS,EAAE;QAChB,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,gFAAgF;KACvG,CAAC,CAAC;AACP,CAAC;AAVD,yBAUC"}
1
+ {"version":3,"file":"Throws.js","sourceRoot":"","sources":["../../../src/Assertions/Throws.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,MAAM,CAAC,UAAqB,EAAE,OAAgB;IACrE,IAAI;QACH,UAAU,EAAE,CAAC;KACb;IAAC,OAAO,SAAS,EAAE;QACnB,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,gFAAgF;KACpG,CAAC,CAAC;AACJ,CAAC;AAVD,yBAUC"}
@@ -20,7 +20,7 @@ function True(expression, message) {
20
20
  return;
21
21
  }
22
22
  throw new assert_1.AssertionError({
23
- message: message || 'Expected expression to be true, but expression is not true',
23
+ message: message || "Expected expression to be true, but expression is not true",
24
24
  expected: true,
25
25
  actual: expression
26
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"True.js","sourceRoot":"","sources":["../../../src/Assertions/True.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,IAAI,CAAC,UAAe,EAAE,OAAgB;IAC1D,IAAG,UAAU,KAAK,IAAI,EAAE;QACpB,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,4DAA4D;QAChF,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,UAAU;KACrB,CAAC,CAAC;AACP,CAAC;AAVD,uBAUC"}
1
+ {"version":3,"file":"True.js","sourceRoot":"","sources":["../../../src/Assertions/True.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,IAAI,CAAC,UAAe,EAAE,OAAgB;IAC7D,IAAI,UAAU,KAAK,IAAI,EAAE;QACxB,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,4DAA4D;QAChF,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,UAAU;KAClB,CAAC,CAAC;AACJ,CAAC;AAVD,uBAUC"}
@@ -20,7 +20,7 @@ function Undefined(expression, message) {
20
20
  return;
21
21
  }
22
22
  throw new assert_1.AssertionError({
23
- message: message || 'Expected expression to be undefined, but expression is not undefined',
23
+ message: message || "Expected expression to be undefined, but expression is not undefined",
24
24
  expected: undefined,
25
25
  actual: expression
26
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Undefined.js","sourceRoot":"","sources":["../../../src/Assertions/Undefined.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,SAAS,CAAC,UAAe,EAAE,OAAgB;IAC/D,IAAG,UAAU,KAAK,SAAS,EAAE;QACzB,OAAO;KACV;IAED,MAAM,IAAI,uBAAc,CAAC;QACrB,OAAO,EAAE,OAAO,IAAI,sEAAsE;QAC1F,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,UAAU;KACrB,CAAC,CAAC;AACP,CAAC;AAVD,4BAUC"}
1
+ {"version":3,"file":"Undefined.js","sourceRoot":"","sources":["../../../src/Assertions/Undefined.ts"],"names":[],"mappings":";;AAAA,mCAAwC;AAExC;;;;;;;;;;;;;GAaG;AACH,SAAwB,SAAS,CAAC,UAAe,EAAE,OAAgB;IAClE,IAAI,UAAU,KAAK,SAAS,EAAE;QAC7B,OAAO;KACP;IAED,MAAM,IAAI,uBAAc,CAAC;QACxB,OAAO,EAAE,OAAO,IAAI,sEAAsE;QAC1F,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,UAAU;KAClB,CAAC,CAAC;AACJ,CAAC;AAVD,4BAUC"}