hein 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/.eslintrc +167 -0
  2. package/.mocharc.json +4 -0
  3. package/.nycrc +16 -0
  4. package/DIFFERENCES_WITH_CHAI.md +49 -0
  5. package/LICENSE +21 -0
  6. package/README.md +293 -0
  7. package/dist/assert/eql.d.ts +2 -0
  8. package/dist/assert/eql.d.ts.map +1 -0
  9. package/dist/assert/eql.js +24 -0
  10. package/dist/assert/eql.js.map +1 -0
  11. package/dist/assert/equal.d.ts +9 -0
  12. package/dist/assert/equal.d.ts.map +1 -0
  13. package/dist/assert/equal.js +21 -0
  14. package/dist/assert/equal.js.map +1 -0
  15. package/dist/assert/greater-than-equal.d.ts +9 -0
  16. package/dist/assert/greater-than-equal.d.ts.map +1 -0
  17. package/dist/assert/greater-than-equal.js +20 -0
  18. package/dist/assert/greater-than-equal.js.map +1 -0
  19. package/dist/assert/greater-than.d.ts +9 -0
  20. package/dist/assert/greater-than.d.ts.map +1 -0
  21. package/dist/assert/greater-than.js +20 -0
  22. package/dist/assert/greater-than.js.map +1 -0
  23. package/dist/assert/has-size.d.ts +2 -0
  24. package/dist/assert/has-size.d.ts.map +1 -0
  25. package/dist/assert/has-size.js +53 -0
  26. package/dist/assert/has-size.js.map +1 -0
  27. package/dist/assert/instance-of.d.ts +11 -0
  28. package/dist/assert/instance-of.d.ts.map +1 -0
  29. package/dist/assert/instance-of.js +23 -0
  30. package/dist/assert/instance-of.js.map +1 -0
  31. package/dist/assert/is-empty.d.ts +2 -0
  32. package/dist/assert/is-empty.d.ts.map +1 -0
  33. package/dist/assert/is-empty.js +45 -0
  34. package/dist/assert/is-empty.js.map +1 -0
  35. package/dist/assert/is-type.d.ts +3 -0
  36. package/dist/assert/is-type.d.ts.map +1 -0
  37. package/dist/assert/is-type.js +20 -0
  38. package/dist/assert/is-type.js.map +1 -0
  39. package/dist/assert/less-than-equal.d.ts +9 -0
  40. package/dist/assert/less-than-equal.d.ts.map +1 -0
  41. package/dist/assert/less-than-equal.js +20 -0
  42. package/dist/assert/less-than-equal.js.map +1 -0
  43. package/dist/assert/less-than.d.ts +9 -0
  44. package/dist/assert/less-than.d.ts.map +1 -0
  45. package/dist/assert/less-than.js +20 -0
  46. package/dist/assert/less-than.js.map +1 -0
  47. package/dist/assert/rejects.d.ts +2 -0
  48. package/dist/assert/rejects.d.ts.map +1 -0
  49. package/dist/assert/rejects.js +34 -0
  50. package/dist/assert/rejects.js.map +1 -0
  51. package/dist/assert/throws.d.ts +9 -0
  52. package/dist/assert/throws.d.ts.map +1 -0
  53. package/dist/assert/throws.js +35 -0
  54. package/dist/assert/throws.js.map +1 -0
  55. package/dist/assert.d.ts +14 -0
  56. package/dist/assert.d.ts.map +1 -0
  57. package/dist/assert.js +44 -0
  58. package/dist/assert.js.map +1 -0
  59. package/dist/expect/empty.d.ts +10 -0
  60. package/dist/expect/empty.d.ts.map +1 -0
  61. package/dist/expect/empty.js +18 -0
  62. package/dist/expect/empty.js.map +1 -0
  63. package/dist/expect/eql.d.ts +10 -0
  64. package/dist/expect/eql.d.ts.map +1 -0
  65. package/dist/expect/eql.js +18 -0
  66. package/dist/expect/eql.js.map +1 -0
  67. package/dist/expect/equal-shorthand.d.ts +14 -0
  68. package/dist/expect/equal-shorthand.d.ts.map +1 -0
  69. package/dist/expect/equal-shorthand.js +31 -0
  70. package/dist/expect/equal-shorthand.js.map +1 -0
  71. package/dist/expect/equal.d.ts +14 -0
  72. package/dist/expect/equal.d.ts.map +1 -0
  73. package/dist/expect/equal.js +19 -0
  74. package/dist/expect/equal.js.map +1 -0
  75. package/dist/expect/greater-than-equal.d.ts +32 -0
  76. package/dist/expect/greater-than-equal.d.ts.map +1 -0
  77. package/dist/expect/greater-than-equal.js +20 -0
  78. package/dist/expect/greater-than-equal.js.map +1 -0
  79. package/dist/expect/greater-than.d.ts +32 -0
  80. package/dist/expect/greater-than.d.ts.map +1 -0
  81. package/dist/expect/greater-than.js +20 -0
  82. package/dist/expect/greater-than.js.map +1 -0
  83. package/dist/expect/instance-of-shorthand.d.ts +28 -0
  84. package/dist/expect/instance-of-shorthand.d.ts.map +1 -0
  85. package/dist/expect/instance-of-shorthand.js +25 -0
  86. package/dist/expect/instance-of-shorthand.js.map +1 -0
  87. package/dist/expect/instance-of.d.ts +2 -0
  88. package/dist/expect/instance-of.d.ts.map +1 -0
  89. package/dist/expect/instance-of.js +18 -0
  90. package/dist/expect/instance-of.js.map +1 -0
  91. package/dist/expect/length.d.ts +22 -0
  92. package/dist/expect/length.d.ts.map +1 -0
  93. package/dist/expect/length.js +19 -0
  94. package/dist/expect/length.js.map +1 -0
  95. package/dist/expect/less-than-equal.d.ts +32 -0
  96. package/dist/expect/less-than-equal.d.ts.map +1 -0
  97. package/dist/expect/less-than-equal.js +20 -0
  98. package/dist/expect/less-than-equal.js.map +1 -0
  99. package/dist/expect/less-than.d.ts +32 -0
  100. package/dist/expect/less-than.d.ts.map +1 -0
  101. package/dist/expect/less-than.js +20 -0
  102. package/dist/expect/less-than.js.map +1 -0
  103. package/dist/expect/reject.d.ts +8 -0
  104. package/dist/expect/reject.d.ts.map +1 -0
  105. package/dist/expect/reject.js +13 -0
  106. package/dist/expect/reject.js.map +1 -0
  107. package/dist/expect/throw.d.ts +8 -0
  108. package/dist/expect/throw.d.ts.map +1 -0
  109. package/dist/expect/throw.js +13 -0
  110. package/dist/expect/throw.js.map +1 -0
  111. package/dist/expect/type-shorthand.d.ts +66 -0
  112. package/dist/expect/type-shorthand.d.ts.map +1 -0
  113. package/dist/expect/type-shorthand.js +31 -0
  114. package/dist/expect/type-shorthand.js.map +1 -0
  115. package/dist/expect/type.d.ts +10 -0
  116. package/dist/expect/type.d.ts.map +1 -0
  117. package/dist/expect/type.js +18 -0
  118. package/dist/expect/type.js.map +1 -0
  119. package/dist/expect.d.ts +18 -0
  120. package/dist/expect.d.ts.map +1 -0
  121. package/dist/expect.js +62 -0
  122. package/dist/expect.js.map +1 -0
  123. package/dist/expect.types.d.ts +55 -0
  124. package/dist/expect.types.d.ts.map +1 -0
  125. package/dist/expect.types.js +4 -0
  126. package/dist/expect.types.js.map +1 -0
  127. package/dist/index.d.ts +3 -0
  128. package/dist/index.d.ts.map +1 -0
  129. package/dist/index.js +20 -0
  130. package/dist/index.js.map +1 -0
  131. package/dist/mixins.d.ts +22 -0
  132. package/dist/mixins.d.ts.map +1 -0
  133. package/dist/mixins.js +9 -0
  134. package/dist/mixins.js.map +1 -0
  135. package/dist/utils/assertion.d.ts +25 -0
  136. package/dist/utils/assertion.d.ts.map +1 -0
  137. package/dist/utils/assertion.js +45 -0
  138. package/dist/utils/assertion.js.map +1 -0
  139. package/dist/utils/chain.d.ts +3 -0
  140. package/dist/utils/chain.d.ts.map +1 -0
  141. package/dist/utils/chain.js +21 -0
  142. package/dist/utils/chain.js.map +1 -0
  143. package/dist/utils/get-size.d.ts +2 -0
  144. package/dist/utils/get-size.d.ts.map +1 -0
  145. package/dist/utils/get-size.js +24 -0
  146. package/dist/utils/get-size.js.map +1 -0
  147. package/dist/utils/get-type.d.ts +3 -0
  148. package/dist/utils/get-type.d.ts.map +1 -0
  149. package/dist/utils/get-type.js +17 -0
  150. package/dist/utils/get-type.js.map +1 -0
  151. package/dist/utils/match.d.ts +15 -0
  152. package/dist/utils/match.d.ts.map +1 -0
  153. package/dist/utils/match.js +164 -0
  154. package/dist/utils/match.js.map +1 -0
  155. package/dist/utils/process-error.d.ts +11 -0
  156. package/dist/utils/process-error.d.ts.map +1 -0
  157. package/dist/utils/process-error.js +44 -0
  158. package/dist/utils/process-error.js.map +1 -0
  159. package/dist/utils/stringify.d.ts +2 -0
  160. package/dist/utils/stringify.d.ts.map +1 -0
  161. package/dist/utils/stringify.js +18 -0
  162. package/dist/utils/stringify.js.map +1 -0
  163. package/dist/utils/validate-numeric-and-dates.d.ts +2 -0
  164. package/dist/utils/validate-numeric-and-dates.d.ts.map +1 -0
  165. package/dist/utils/validate-numeric-and-dates.js +15 -0
  166. package/dist/utils/validate-numeric-and-dates.js.map +1 -0
  167. package/dist/utils/xor.d.ts +2 -0
  168. package/dist/utils/xor.d.ts.map +1 -0
  169. package/dist/utils/xor.js +8 -0
  170. package/dist/utils/xor.js.map +1 -0
  171. package/package.json +55 -0
  172. package/tsconfig.json +19 -0
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.notGreaterThan = exports.greaterThan = void 0;
5
+ const assertion_1 = require("../utils/assertion");
6
+ const validate_numeric_and_dates_1 = require("../utils/validate-numeric-and-dates");
7
+ _a = (0, assertion_1.createAssertion)({
8
+ messages: {
9
+ smaller: 'Expected {{actual}} to be greater than {{expected}}',
10
+ not: 'Expected {{actual}} to not be greater than {{expected}}'
11
+ },
12
+ test: (report) => (actual, expected) => {
13
+ (0, validate_numeric_and_dates_1.validateNumericsAndDates)(actual, expected);
14
+ if (actual < expected) {
15
+ return report({ status: 'notok', messageId: 'smaller', actual, expected, noStringify: true });
16
+ }
17
+ return report({ status: 'ok', messageId: 'not', expected, actual });
18
+ }
19
+ }), exports.greaterThan = _a[0], exports.notGreaterThan = _a[1];
20
+ //# sourceMappingURL=greater-than.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"greater-than.js","sourceRoot":"","sources":["../../src/assert/greater-than.ts"],"names":[],"mappings":";;;;AAAA,kDAAqD;AACrD,oFAA+E;AASlE,KAAgC,IAAA,2BAAe,EAAC;IACzD,QAAQ,EAAE;QACN,OAAO,EAAE,qDAAqD;QAC9D,GAAG,EAAE,yDAAyD;KACjE;IACD,IAAI,EAAE,CAAC,MAAM,EAAe,EAAE,CAAC,CAAC,MAAW,EAAE,QAAa,EAAE,EAAE;QAC1D,IAAA,qDAAwB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,MAAM,GAAG,QAAQ,EAAE;YACnB,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;SACjG;QACD,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;CACJ,CAAC,EAZY,mBAAW,UAAE,sBAAc,SAYtC"}
@@ -0,0 +1,2 @@
1
+ export declare const hasSize: <T>(actual: T, expected: number, message?: string) => true | void, notHasSize: <T>(actual: T, expected: number, message?: string) => true | void;
2
+ //# sourceMappingURL=has-size.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"has-size.d.ts","sourceRoot":"","sources":["../../src/assert/has-size.ts"],"names":[],"mappings":"AAGA,eAAO,MAAO,OAAO,2BAa0B,MAAM,YAAY,MAAM,kBAbhD,UAAU,2BAac,MAAM,YAAY,MAAM,gBAgCrE,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.notHasSize = exports.hasSize = void 0;
5
+ const lodash_1 = require("lodash");
6
+ const assertion_1 = require("../utils/assertion");
7
+ _a = (0, assertion_1.createAssertion)({
8
+ messages: {
9
+ array: 'Expected array to have length of {{expected}}',
10
+ object: 'Expected object to have size of {{expected}}',
11
+ map: 'Expected Map to have size of {{expected}}',
12
+ set: 'Expected Set to have size of {{expected}}',
13
+ string: 'Expected string to have length of {{expected}}',
14
+ not: 'Expected array to not have length of {{expected}}',
15
+ notObject: 'Expected object to not have size of {{expected}}',
16
+ notMap: 'Expected Map to not have size of {{expected}}',
17
+ notSet: 'Expected Set to not have size of {{expected}}',
18
+ notString: 'Expected string to not have length of {{expected}}'
19
+ },
20
+ test: (report) => (actual, expected, message) => {
21
+ if (Array.isArray(actual)) {
22
+ if (actual.length === expected) {
23
+ return report({ message, status: 'ok', expected, actual: actual.length });
24
+ }
25
+ return report({ message, status: 'notok', messageId: 'array', expected, actual: actual.length });
26
+ }
27
+ if ((0, lodash_1.isPlainObject)(actual)) {
28
+ if (Object.keys(actual).length === expected) {
29
+ return report({ message, status: 'ok', messageId: 'notObject', expected, actual: Object.keys(actual).length });
30
+ }
31
+ return report({ message, status: 'notok', messageId: 'object', expected, actual: Object.keys(actual).length });
32
+ }
33
+ if (actual instanceof Map) {
34
+ if (actual.size === expected) {
35
+ return report({ message, status: 'ok', messageId: 'notMap', expected, actual: actual.size });
36
+ }
37
+ return report({ message, status: 'notok', messageId: 'map', expected, actual: actual.size });
38
+ }
39
+ if (actual instanceof Set) {
40
+ if (actual.size === expected) {
41
+ return report({ message, status: 'ok', messageId: 'notSet', expected, actual: actual.size });
42
+ }
43
+ return report({ message, status: 'notok', messageId: 'set', expected, actual: actual.size });
44
+ }
45
+ if (typeof actual === 'string') {
46
+ if (actual.length === expected) {
47
+ return report({ message, status: 'ok', messageId: 'notString', expected, actual: actual.length });
48
+ }
49
+ return report({ message, status: 'notok', messageId: 'string', expected, actual: actual.length });
50
+ }
51
+ }
52
+ }), exports.hasSize = _a[0], exports.notHasSize = _a[1];
53
+ //# sourceMappingURL=has-size.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"has-size.js","sourceRoot":"","sources":["../../src/assert/has-size.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Constructor } from '../utils/process-error';
2
+ declare module '../expect.types' {
3
+ interface ValueExpect<T> {
4
+ /**
5
+ * check if instance of value
6
+ */
7
+ instanceOf(constructor: Constructor): this;
8
+ }
9
+ }
10
+ export declare const instanceOf: (actual: any, expected: Constructor) => true | void, notInstanceOf: (actual: any, expected: Constructor) => true | void;
11
+ //# sourceMappingURL=instance-of.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-of.d.ts","sourceRoot":"","sources":["../../src/assert/instance-of.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,QAAQ,iBAAiB,CAAC;IAC7B,UAAU,WAAW,CAAC,CAAC;QACnB;;WAEG;QACH,UAAU,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;KAC9C;CACJ;AAED,eAAO,MAAO,UAAU,WAKO,GAAG,YAAY,WAAW,kBAL/B,aAAa,WAKR,GAAG,YAAY,WAAW,gBASvD,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.notInstanceOf = exports.instanceOf = void 0;
5
+ const lodash_1 = require("lodash");
6
+ const assertion_1 = require("../utils/assertion");
7
+ const get_type_1 = require("../utils/get-type");
8
+ _a = (0, assertion_1.createAssertion)({
9
+ messages: {
10
+ notInstanceOf: 'Expected {{actual}} to be an instance of {{expected}}',
11
+ not: 'Expected {{actual}} to not be an instance of {{expected}}'
12
+ },
13
+ test: (report) => (actual, expected) => {
14
+ if (!(0, lodash_1.isObjectLike)(actual)) {
15
+ throw new assertion_1.AssertionError((0, get_type_1.getType)(actual), 'object', 'Expected value to be an object');
16
+ }
17
+ if (!(actual instanceof expected)) {
18
+ return report({ status: 'notok', messageId: 'notInstanceOf', expected: expected.name, actual: actual.constructor.name, noStringify: true });
19
+ }
20
+ return report({ status: 'ok', expected: expected.name, actual: actual.constructor.name, messageId: 'not', noStringify: true });
21
+ }
22
+ }), exports.instanceOf = _a[0], exports.notInstanceOf = _a[1];
23
+ //# sourceMappingURL=instance-of.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-of.js","sourceRoot":"","sources":["../../src/assert/instance-of.ts"],"names":[],"mappings":";;;;AAAA,mCAAsC;AACtC,kDAAqE;AACrE,gDAA4C;AAY/B,KAA8B,IAAA,2BAAe,EAAC;IACvD,QAAQ,EAAE;QACN,aAAa,EAAE,uDAAuD;QACtE,GAAG,EAAE,2DAA2D;KACnE;IACD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAW,EAAE,QAAqB,EAAE,EAAE;QACrD,IAAI,CAAC,IAAA,qBAAY,EAAC,MAAM,CAAC,EAAE;YACvB,MAAM,IAAI,0BAAc,CAAC,IAAA,kBAAO,EAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,gCAAgC,CAAC,CAAC;SACzF;QACD,IAAI,CAAC,CAAC,MAAM,YAAY,QAAQ,CAAC,EAAE;YAC/B,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;SAC/I;QACD,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACnI,CAAC;CACJ,CAAC,EAdY,kBAAU,UAAE,qBAAa,SAcpC"}
@@ -0,0 +1,2 @@
1
+ export declare const isEmpty: <T>(actual: T, message?: string) => true | void, notIsEmpty: <T>(actual: T, message?: string) => true | void;
2
+ //# sourceMappingURL=is-empty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-empty.d.ts","sourceRoot":"","sources":["../../src/assert/is-empty.ts"],"names":[],"mappings":"AAGA,eAAO,MAAO,OAAO,2BAW0B,MAAM,kBAX9B,UAAU,2BAWc,MAAM,gBA0BnD,CAAC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.notIsEmpty = exports.isEmpty = void 0;
5
+ const lodash_1 = require("lodash");
6
+ const assertion_1 = require("../utils/assertion");
7
+ _a = (0, assertion_1.createAssertion)({
8
+ messages: {
9
+ array: 'Expected array to be empty',
10
+ object: 'Expected object to be empty',
11
+ map: 'Expected Map to be empty',
12
+ set: 'Expected Set to be empty',
13
+ not: 'Expected array to not be empty',
14
+ notObject: 'Expected object to not be empty',
15
+ notMap: 'Expected Map to not be empty',
16
+ notSet: 'Expected Set to not be empty'
17
+ },
18
+ test: (report) => (actual, message) => {
19
+ if (Array.isArray(actual)) {
20
+ if (actual.length === 0) {
21
+ return report({ message, status: 'ok', actual });
22
+ }
23
+ return report({ message, status: 'notok', messageId: 'array', actual });
24
+ }
25
+ if ((0, lodash_1.isPlainObject)(actual)) {
26
+ if (Object.keys(actual).length === 0) {
27
+ return report({ message, status: 'ok', messageId: 'notObject', actual });
28
+ }
29
+ return report({ message, status: 'notok', messageId: 'object', actual });
30
+ }
31
+ if (actual instanceof Map) {
32
+ if (actual.size === 0) {
33
+ return report({ message, status: 'ok', messageId: 'notMap', actual });
34
+ }
35
+ return report({ message, status: 'notok', messageId: 'map', actual });
36
+ }
37
+ if (actual instanceof Set) {
38
+ if (actual.size === 0) {
39
+ return report({ message, status: 'ok', messageId: 'notSet', actual });
40
+ }
41
+ return report({ message, status: 'notok', messageId: 'set', actual });
42
+ }
43
+ }
44
+ }), exports.isEmpty = _a[0], exports.notIsEmpty = _a[1];
45
+ //# sourceMappingURL=is-empty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-empty.js","sourceRoot":"","sources":["../../src/assert/is-empty.ts"],"names":[],"mappings":";;;;AAAA,mCAAuC;AACvC,kDAAqD;AAExC,KAAwB,IAAA,2BAAe,EAAC;IACjD,QAAQ,EAAE;QACN,KAAK,EAAE,4BAA4B;QACnC,MAAM,EAAE,6BAA6B;QACrC,GAAG,EAAE,0BAA0B;QAC/B,GAAG,EAAE,0BAA0B;QAC/B,GAAG,EAAE,gCAAgC;QACrC,SAAS,EAAE,iCAAiC;QAC5C,MAAM,EAAE,8BAA8B;QACtC,MAAM,EAAE,8BAA8B;KACzC;IACD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAI,MAAS,EAAE,OAAgB,EAAE,EAAE;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;aACpD;YACD,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;SAC3E;QACD,IAAI,IAAA,sBAAa,EAAC,MAAM,CAAC,EAAE;YACvB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;aAC5E;YACD,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;SAC5E;QACD,IAAI,MAAM,YAAY,GAAG,EAAE;YACvB,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE;gBACnB,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;aACzE;YACD,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;SACzE;QACD,IAAI,MAAM,YAAY,GAAG,EAAE;YACvB,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE;gBACnB,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;aACzE;YACD,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;SACzE;IACL,CAAC;CACJ,CAAC,EArCY,eAAO,UAAE,kBAAU,SAqC9B"}
@@ -0,0 +1,3 @@
1
+ import { ValueType } from '../utils/get-type';
2
+ export declare const isType: (value: any, expectedType: ValueType) => true | void, notIsType: (value: any, expectedType: ValueType) => true | void;
3
+ //# sourceMappingURL=is-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-type.d.ts","sourceRoot":"","sources":["../../src/assert/is-type.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAW,MAAM,mBAAmB,CAAC;AAEvD,eAAO,MAAO,MAAM,UAKU,GAAG,gBAAgB,SAAS,kBALpC,SAAS,UAKD,GAAG,gBAAgB,SAAS,gBAOxD,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.notIsType = exports.isType = void 0;
5
+ const assertion_1 = require("../utils/assertion");
6
+ const get_type_1 = require("../utils/get-type");
7
+ _a = (0, assertion_1.createAssertion)({
8
+ messages: {
9
+ wrongType: 'Expected {{ actual }} to be a(n) {{ expected }}',
10
+ not: `Expected {{ actual }} to not be a(n) {{ expected }}`
11
+ },
12
+ test: (report) => (value, expectedType) => {
13
+ const actualType = (0, get_type_1.getType)(value);
14
+ if (actualType !== expectedType) {
15
+ return report({ status: 'notok', messageId: 'wrongType', actual: actualType, expected: expectedType, noStringify: true });
16
+ }
17
+ return report({ status: 'ok', messageId: 'not', actual: actualType, expected: expectedType, noStringify: true });
18
+ }
19
+ }), exports.isType = _a[0], exports.notIsType = _a[1];
20
+ //# sourceMappingURL=is-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-type.js","sourceRoot":"","sources":["../../src/assert/is-type.ts"],"names":[],"mappings":";;;;AAAA,kDAAqD;AACrD,gDAAuD;AAE1C,KAAsB,IAAA,2BAAe,EAAC;IAC/C,QAAQ,EAAE;QACN,SAAS,EAAE,iDAAiD;QAC5D,GAAG,EAAE,qDAAqD;KAC7D;IACD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAU,EAAE,YAAuB,EAAE,EAAE;QACtD,MAAM,UAAU,GAAG,IAAA,kBAAO,EAAC,KAAK,CAAC,CAAC;QAClC,IAAI,UAAU,KAAK,YAAY,EAAE;YAC7B,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;SAC7H;QACD,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACrH,CAAC;CACJ,CAAC,EAZY,cAAM,UAAE,iBAAS,SAY5B"}
@@ -0,0 +1,9 @@
1
+ interface LessThanEqual {
2
+ /**
3
+ * check for <=
4
+ */
5
+ <T extends number | bigint | Date>(actual: T, expected: T, message?: string): void;
6
+ }
7
+ export declare const lessThanEqual: LessThanEqual, notLessThanEqual: LessThanEqual;
8
+ export {};
9
+ //# sourceMappingURL=less-than-equal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"less-than-equal.d.ts","sourceRoot":"","sources":["../../src/assert/less-than-equal.ts"],"names":[],"mappings":"AAGA,UAAU,aAAa;IACnB;;OAEG;IACH,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtF;AAED,eAAO,MAAO,aAAa,iBAAE,gBAAgB,eAY3C,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.notLessThanEqual = exports.lessThanEqual = void 0;
5
+ const assertion_1 = require("../utils/assertion");
6
+ const validate_numeric_and_dates_1 = require("../utils/validate-numeric-and-dates");
7
+ _a = (0, assertion_1.createAssertion)({
8
+ messages: {
9
+ lesserThanEqual: 'Expected {{actual}} to be less than or equal to {{expected}}',
10
+ not: 'Expected {{actual}} to not be less than or equal to {{expected}}'
11
+ },
12
+ test: (report) => (actual, expected, message) => {
13
+ (0, validate_numeric_and_dates_1.validateNumericsAndDates)(actual, expected);
14
+ if (actual > expected) {
15
+ return report({ status: 'notok', messageId: 'lesserThanEqual', actual, expected, message, noStringify: true });
16
+ }
17
+ return report({ status: 'ok', actual, expected, message, messageId: 'not', noStringify: true });
18
+ }
19
+ }), exports.lessThanEqual = _a[0], exports.notLessThanEqual = _a[1];
20
+ //# sourceMappingURL=less-than-equal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"less-than-equal.js","sourceRoot":"","sources":["../../src/assert/less-than-equal.ts"],"names":[],"mappings":";;;;AAAA,kDAAqD;AACrD,oFAA+E;AASlE,KAAoC,IAAA,2BAAe,EAAC;IAC7D,QAAQ,EAAE;QACN,eAAe,EAAE,8DAA8D;QAC/E,GAAG,EAAE,kEAAkE;KAC1E;IACD,IAAI,EAAE,CAAC,MAAM,EAAiB,EAAE,CAAC,CAAC,MAAW,EAAE,QAAa,EAAE,OAAgB,EAAE,EAAE;QAC9E,IAAA,qDAAwB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,MAAM,GAAG,QAAQ,EAAE;YACnB,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;SAClH;QACD,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACpG,CAAC;CACJ,CAAC,EAZY,qBAAa,UAAE,wBAAgB,SAY1C"}
@@ -0,0 +1,9 @@
1
+ interface LesserThan {
2
+ /**
3
+ * check for <
4
+ */
5
+ <T extends number | bigint | Date>(actual: T, expected: T, message?: string): void;
6
+ }
7
+ export declare const lessThan: LesserThan, notLessThan: LesserThan;
8
+ export {};
9
+ //# sourceMappingURL=less-than.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"less-than.d.ts","sourceRoot":"","sources":["../../src/assert/less-than.ts"],"names":[],"mappings":"AAGA,UAAU,UAAU;IAChB;;OAEG;IACH,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtF;AAED,eAAO,MAAO,QAAQ,cAAE,WAAW,YAYjC,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.notLessThan = exports.lessThan = void 0;
5
+ const assertion_1 = require("../utils/assertion");
6
+ const validate_numeric_and_dates_1 = require("../utils/validate-numeric-and-dates");
7
+ _a = (0, assertion_1.createAssertion)({
8
+ messages: {
9
+ lesserThan: 'Expected {{actual}} to be less than {{expected}}',
10
+ not: 'Expected {{actual}} to not be less than {{expected}}'
11
+ },
12
+ test: (report) => (actual, expected, message) => {
13
+ (0, validate_numeric_and_dates_1.validateNumericsAndDates)(actual, expected);
14
+ if (actual >= expected) {
15
+ return report({ status: 'notok', messageId: 'lesserThan', actual, expected, message });
16
+ }
17
+ return report({ status: 'ok', actual, expected, message, messageId: 'not' });
18
+ }
19
+ }), exports.lessThan = _a[0], exports.notLessThan = _a[1];
20
+ //# sourceMappingURL=less-than.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"less-than.js","sourceRoot":"","sources":["../../src/assert/less-than.ts"],"names":[],"mappings":";;;;AAAA,kDAAqD;AACrD,oFAA+E;AASlE,KAA0B,IAAA,2BAAe,EAAC;IACnD,QAAQ,EAAE;QACN,UAAU,EAAE,kDAAkD;QAC9D,GAAG,EAAE,sDAAsD;KAC9D;IACD,IAAI,EAAE,CAAC,MAAM,EAAc,EAAE,CAAC,CAAC,MAAW,EAAE,QAAa,EAAE,OAAgB,EAAE,EAAE;QAC3E,IAAA,qDAAwB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,MAAM,IAAI,QAAQ,EAAE;YACpB,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;SAC1F;QACD,OAAO,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACjF,CAAC;CACJ,CAAC,EAZY,gBAAQ,UAAE,mBAAW,SAYhC"}
@@ -0,0 +1,2 @@
1
+ export declare const rejects: (promise: Promise<any>, narrowerOrMessage?: any, message?: any) => Promise<true | void>, notRejects: (promise: Promise<any>, narrowerOrMessage?: any, message?: any) => Promise<true | void>;
2
+ //# sourceMappingURL=rejects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rejects.d.ts","sourceRoot":"","sources":["../../src/assert/rejects.ts"],"names":[],"mappings":"AAGA,eAAO,MAAO,OAAO,YAaiB,QAAQ,GAAG,CAAC,mEAb3B,UAAU,YAaK,QAAQ,GAAG,CAAC,iEAYhD,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.notRejects = exports.rejects = void 0;
5
+ const assertion_1 = require("../utils/assertion");
6
+ const process_error_1 = require("../utils/process-error");
7
+ _a = (0, assertion_1.createAssertion)({
8
+ messages: {
9
+ invalidArgument: 'Expected {{actual}} to be a Promise',
10
+ nonError: 'Expected Promise to reject with an instance of Error',
11
+ throws: 'Expected Promise to reject',
12
+ invalidConstructor: 'Expected Promise to reject with {{expected}}',
13
+ predicate: 'Expected {{actual}} to match predicate function',
14
+ regex: 'Expected Promise to reject with an error matching {{expected}}',
15
+ not: 'Expected Promise to not reject',
16
+ notConstructor: 'Expected Promise to not reject with a {{expected}}',
17
+ notPredicate: 'Expected {{actual}} to not match predicate function',
18
+ notRegex: 'Expected Promise to not reject with an error matching {{expected}}'
19
+ },
20
+ test: (report) => async (promise, narrowerOrMessage, message) => {
21
+ // TODO: invalid argument in not case
22
+ if (!promise || typeof promise.then !== 'function') {
23
+ return report({ noStringify: true, status: 'notok', messageId: 'invalidArgument', actual: typeof promise, expected: 'Promise' });
24
+ }
25
+ try {
26
+ await promise;
27
+ }
28
+ catch (error) {
29
+ return (0, process_error_1.processError)(report, error, narrowerOrMessage, message);
30
+ }
31
+ return report({ noStringify: true, status: 'notok', messageId: 'throws', message: typeof narrowerOrMessage === 'string' ? narrowerOrMessage : message });
32
+ }
33
+ }), exports.rejects = _a[0], exports.notRejects = _a[1];
34
+ //# sourceMappingURL=rejects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rejects.js","sourceRoot":"","sources":["../../src/assert/rejects.ts"],"names":[],"mappings":";;;;AAAA,kDAAqD;AACrD,0DAAsD;AAEzC,KAAwB,IAAA,2BAAe,EAAC;IACjD,QAAQ,EAAE;QACN,eAAe,EAAE,qCAAqC;QACtD,QAAQ,EAAE,sDAAsD;QAChE,MAAM,EAAE,4BAA4B;QACpC,kBAAkB,EAAE,8CAA8C;QAClE,SAAS,EAAE,iDAAiD;QAC5D,KAAK,EAAE,gEAAgE;QACvE,GAAG,EAAE,gCAAgC;QACrC,cAAc,EAAE,oDAAoD;QACpE,YAAY,EAAE,qDAAqD;QACnE,QAAQ,EAAE,oEAAoE;KACjF;IACD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE,OAAqB,EAAE,iBAAkB,EAAE,OAAQ,EAAE,EAAE;QAC5E,qCAAqC;QACrC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE;YAChD,OAAO,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;SACpI;QACD,IAAI;YACA,MAAM,OAAO,CAAC;SACjB;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,IAAA,4BAAY,EAAC,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;SAClE;QACD,OAAO,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7J,CAAC;CACJ,CAAC,EAzBY,eAAO,UAAE,kBAAU,SAyB9B"}
@@ -0,0 +1,9 @@
1
+ import { Constructor, ErrorPredicate } from '../utils/process-error';
2
+ export declare type ThrowsCallback = () => unknown;
3
+ interface Throw {
4
+ (callback: ThrowsCallback, message?: string): void;
5
+ (callback: ThrowsCallback, expectedError: Constructor | RegExp | ErrorPredicate, message?: string): void;
6
+ }
7
+ export declare const throws: Throw, notThrows: Throw;
8
+ export {};
9
+ //# sourceMappingURL=throws.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throws.d.ts","sourceRoot":"","sources":["../../src/assert/throws.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAgB,MAAM,wBAAwB,CAAC;AAEnF,oBAAY,cAAc,GAAG,MAAM,OAAO,CAAC;AAE3C,UAAU,KAAK;IACX,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,GAAG,MAAM,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5G;AAeD,eAAO,MAAO,MAAM,SAAE,SAAS,OAc7B,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.notThrows = exports.throws = void 0;
5
+ const assertion_1 = require("../utils/assertion");
6
+ const get_type_1 = require("../utils/get-type");
7
+ const process_error_1 = require("../utils/process-error");
8
+ const messages = {
9
+ nonError: 'Expected function to throw an instance of Error',
10
+ throws: 'Expected function to throw',
11
+ invalidConstructor: 'Expected function to throw {{expected}}',
12
+ predicate: 'Expected {{actual}} to match predicate function',
13
+ regex: 'Expected function to throw an error matching {{expected}}',
14
+ not: 'Expected function to not throw',
15
+ notConstructor: 'Expected function to not throw a {{expected}}',
16
+ notPredicate: 'Expected function to not throw an error matching the predicate',
17
+ notRegex: 'Expected function to not throw an error matching {{expected}}'
18
+ };
19
+ _a = (0, assertion_1.createAssertion)({
20
+ messages: messages,
21
+ test: (report) => ((callback, narrowerOrMessage, message) => {
22
+ const argumentType = (0, get_type_1.getType)(callback);
23
+ if (argumentType !== 'function') {
24
+ throw new assertion_1.AssertionError(argumentType, 'function', `Expected ${argumentType} to be a function`);
25
+ }
26
+ try {
27
+ callback();
28
+ }
29
+ catch (error) {
30
+ return (0, process_error_1.processError)(report, error, narrowerOrMessage, message);
31
+ }
32
+ return report({ noStringify: true, status: 'notok', messageId: 'throws', message: typeof narrowerOrMessage === 'string' ? narrowerOrMessage : message });
33
+ })
34
+ }), exports.throws = _a[0], exports.notThrows = _a[1];
35
+ //# sourceMappingURL=throws.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throws.js","sourceRoot":"","sources":["../../src/assert/throws.ts"],"names":[],"mappings":";;;;AAAA,kDAAqE;AACrE,gDAA4C;AAC5C,0DAAmF;AAUnF,MAAM,QAAQ,GAAG;IACb,QAAQ,EAAE,iDAAiD;IAC3D,MAAM,EAAE,4BAA4B;IACpC,kBAAkB,EAAE,yCAAyC;IAC7D,SAAS,EAAE,iDAAiD;IAC5D,KAAK,EAAE,2DAA2D;IAClE,GAAG,EAAE,gCAAgC;IACrC,cAAc,EAAE,+CAA+C;IAC/D,YAAY,EAAE,gEAAgE;IAC9E,QAAQ,EAAE,+DAA+D;CAC5E,CAAC;AAEW,KAAsB,IAAA,2BAAe,EAAC;IAC/C,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE;QACxD,MAAM,YAAY,GAAG,IAAA,kBAAO,EAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,YAAY,KAAK,UAAU,EAAE;YAC7B,MAAM,IAAI,0BAAc,CAAC,YAAY,EAAE,UAAU,EAAE,YAAa,YAAa,mBAAmB,CAAC,CAAC;SACrG;QACD,IAAI;YACA,QAAQ,EAAE,CAAC;SACd;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,IAAA,4BAAY,EAAC,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;SAClE;QACD,OAAO,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7J,CAAC,CAAU;CACd,CAAC,EAdY,cAAM,UAAE,iBAAS,SAc5B"}
@@ -0,0 +1,14 @@
1
+ export { eql, notEql } from './assert/eql';
2
+ export { equal, notEqual } from './assert/equal';
3
+ export { greaterThan, notGreaterThan } from './assert/greater-than';
4
+ export { greaterThanEqual, notGreaterThanEqual } from './assert/greater-than-equal';
5
+ export { hasSize, notHasSize } from './assert/has-size';
6
+ export { instanceOf, notInstanceOf } from './assert/instance-of';
7
+ export { isEmpty, notIsEmpty } from './assert/is-empty';
8
+ export { isType, notIsType } from './assert/is-type';
9
+ export { lessThan, notLessThan } from './assert/less-than';
10
+ export { lessThanEqual, notLessThanEqual } from './assert/less-than-equal';
11
+ export { notRejects, rejects } from './assert/rejects';
12
+ export { notThrows, throws } from './assert/throws';
13
+ export declare const assert: () => never;
14
+ //# sourceMappingURL=assert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../src/assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,MAAM,aAElB,CAAC"}
package/dist/assert.js ADDED
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assert = exports.throws = exports.notThrows = exports.rejects = exports.notRejects = exports.notLessThanEqual = exports.lessThanEqual = exports.notLessThan = exports.lessThan = exports.notIsType = exports.isType = exports.notIsEmpty = exports.isEmpty = exports.notInstanceOf = exports.instanceOf = exports.notHasSize = exports.hasSize = exports.notGreaterThanEqual = exports.greaterThanEqual = exports.notGreaterThan = exports.greaterThan = exports.notEqual = exports.equal = exports.notEql = exports.eql = void 0;
4
+ var eql_1 = require("./assert/eql");
5
+ Object.defineProperty(exports, "eql", { enumerable: true, get: function () { return eql_1.eql; } });
6
+ Object.defineProperty(exports, "notEql", { enumerable: true, get: function () { return eql_1.notEql; } });
7
+ var equal_1 = require("./assert/equal");
8
+ Object.defineProperty(exports, "equal", { enumerable: true, get: function () { return equal_1.equal; } });
9
+ Object.defineProperty(exports, "notEqual", { enumerable: true, get: function () { return equal_1.notEqual; } });
10
+ var greater_than_1 = require("./assert/greater-than");
11
+ Object.defineProperty(exports, "greaterThan", { enumerable: true, get: function () { return greater_than_1.greaterThan; } });
12
+ Object.defineProperty(exports, "notGreaterThan", { enumerable: true, get: function () { return greater_than_1.notGreaterThan; } });
13
+ var greater_than_equal_1 = require("./assert/greater-than-equal");
14
+ Object.defineProperty(exports, "greaterThanEqual", { enumerable: true, get: function () { return greater_than_equal_1.greaterThanEqual; } });
15
+ Object.defineProperty(exports, "notGreaterThanEqual", { enumerable: true, get: function () { return greater_than_equal_1.notGreaterThanEqual; } });
16
+ var has_size_1 = require("./assert/has-size");
17
+ Object.defineProperty(exports, "hasSize", { enumerable: true, get: function () { return has_size_1.hasSize; } });
18
+ Object.defineProperty(exports, "notHasSize", { enumerable: true, get: function () { return has_size_1.notHasSize; } });
19
+ var instance_of_1 = require("./assert/instance-of");
20
+ Object.defineProperty(exports, "instanceOf", { enumerable: true, get: function () { return instance_of_1.instanceOf; } });
21
+ Object.defineProperty(exports, "notInstanceOf", { enumerable: true, get: function () { return instance_of_1.notInstanceOf; } });
22
+ var is_empty_1 = require("./assert/is-empty");
23
+ Object.defineProperty(exports, "isEmpty", { enumerable: true, get: function () { return is_empty_1.isEmpty; } });
24
+ Object.defineProperty(exports, "notIsEmpty", { enumerable: true, get: function () { return is_empty_1.notIsEmpty; } });
25
+ var is_type_1 = require("./assert/is-type");
26
+ Object.defineProperty(exports, "isType", { enumerable: true, get: function () { return is_type_1.isType; } });
27
+ Object.defineProperty(exports, "notIsType", { enumerable: true, get: function () { return is_type_1.notIsType; } });
28
+ var less_than_1 = require("./assert/less-than");
29
+ Object.defineProperty(exports, "lessThan", { enumerable: true, get: function () { return less_than_1.lessThan; } });
30
+ Object.defineProperty(exports, "notLessThan", { enumerable: true, get: function () { return less_than_1.notLessThan; } });
31
+ var less_than_equal_1 = require("./assert/less-than-equal");
32
+ Object.defineProperty(exports, "lessThanEqual", { enumerable: true, get: function () { return less_than_equal_1.lessThanEqual; } });
33
+ Object.defineProperty(exports, "notLessThanEqual", { enumerable: true, get: function () { return less_than_equal_1.notLessThanEqual; } });
34
+ var rejects_1 = require("./assert/rejects");
35
+ Object.defineProperty(exports, "notRejects", { enumerable: true, get: function () { return rejects_1.notRejects; } });
36
+ Object.defineProperty(exports, "rejects", { enumerable: true, get: function () { return rejects_1.rejects; } });
37
+ var throws_1 = require("./assert/throws");
38
+ Object.defineProperty(exports, "notThrows", { enumerable: true, get: function () { return throws_1.notThrows; } });
39
+ Object.defineProperty(exports, "throws", { enumerable: true, get: function () { return throws_1.throws; } });
40
+ const assert = () => {
41
+ throw new Error('Not implemented');
42
+ };
43
+ exports.assert = assert;
44
+ //# sourceMappingURL=assert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.js","sourceRoot":"","sources":["../src/assert.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAAlC,0FAAA,GAAG,OAAA;AAAE,6FAAA,MAAM,OAAA;AACpB,wCAAiD;AAAxC,8FAAA,KAAK,OAAA;AAAE,iGAAA,QAAQ,OAAA;AACxB,sDAAoE;AAA3D,2GAAA,WAAW,OAAA;AAAE,8GAAA,cAAc,OAAA;AACpC,kEAAoF;AAA3E,sHAAA,gBAAgB,OAAA;AAAE,yHAAA,mBAAmB,OAAA;AAC9C,8CAAwD;AAA/C,mGAAA,OAAO,OAAA;AAAE,sGAAA,UAAU,OAAA;AAC5B,oDAAiE;AAAxD,yGAAA,UAAU,OAAA;AAAE,4GAAA,aAAa,OAAA;AAClC,8CAAwD;AAA/C,mGAAA,OAAO,OAAA;AAAE,sGAAA,UAAU,OAAA;AAC5B,4CAAqD;AAA5C,iGAAA,MAAM,OAAA;AAAE,oGAAA,SAAS,OAAA;AAC1B,gDAA2D;AAAlD,qGAAA,QAAQ,OAAA;AAAE,wGAAA,WAAW,OAAA;AAC9B,4DAA2E;AAAlE,gHAAA,aAAa,OAAA;AAAE,mHAAA,gBAAgB,OAAA;AACxC,4CAAuD;AAA9C,qGAAA,UAAU,OAAA;AAAE,kGAAA,OAAO,OAAA;AAC5B,0CAAoD;AAA3C,mGAAA,SAAS,OAAA;AAAE,gGAAA,MAAM,OAAA;AAEnB,MAAM,MAAM,GAAG,GAAG,EAAE;IACvB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACvC,CAAC,CAAC;AAFW,QAAA,MAAM,UAEjB"}
@@ -0,0 +1,10 @@
1
+ declare module '../expect.types' {
2
+ interface ObjectExpect<T> {
3
+ /**
4
+ * check if object/array/Map/Set is empty
5
+ */
6
+ empty(message?: string): this;
7
+ }
8
+ }
9
+ export {};
10
+ //# sourceMappingURL=empty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../src/expect/empty.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,iBAAiB,CAAC;IAC7B,UAAU,YAAY,CAAC,CAAC;QACpB;;WAEG;QACH,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACjC;CACJ"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert_1 = require("../assert");
4
+ const mixins_1 = require("../mixins");
5
+ (0, mixins_1.use)({
6
+ empty: {
7
+ type: 'method',
8
+ value: ({ value, inverted }) => (message) => {
9
+ if (inverted) {
10
+ (0, assert_1.notIsEmpty)(value, message);
11
+ }
12
+ else {
13
+ (0, assert_1.isEmpty)(value, message);
14
+ }
15
+ }
16
+ }
17
+ });
18
+ //# sourceMappingURL=empty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty.js","sourceRoot":"","sources":["../../src/expect/empty.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,sCAAgC;AAWhC,IAAA,YAAG,EAAC;IACA,KAAK,EAAE;QACH,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,OAAgB,EAAE,EAAE;YACjD,IAAI,QAAQ,EAAE;gBACV,IAAA,mBAAU,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;aAC9B;iBAAM;gBACH,IAAA,gBAAO,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;aAC3B;QACL,CAAC;KACJ;CACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ declare module '../expect.types' {
2
+ interface ValueExpect<T> {
3
+ /**
4
+ * check for deep equality
5
+ */
6
+ eql(value: T): this;
7
+ }
8
+ }
9
+ export {};
10
+ //# sourceMappingURL=eql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eql.d.ts","sourceRoot":"","sources":["../../src/expect/eql.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,iBAAiB,CAAC;IAC7B,UAAU,WAAW,CAAC,CAAC;QACnB;;WAEG;QACH,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;KACvB;CACJ"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert_1 = require("../assert");
4
+ const mixins_1 = require("../mixins");
5
+ (0, mixins_1.use)({
6
+ eql: {
7
+ type: 'method',
8
+ value: ({ value, inverted }) => (other) => {
9
+ if (inverted) {
10
+ (0, assert_1.notEql)(value, other);
11
+ }
12
+ else {
13
+ (0, assert_1.eql)(value, other);
14
+ }
15
+ }
16
+ }
17
+ });
18
+ //# sourceMappingURL=eql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eql.js","sourceRoot":"","sources":["../../src/expect/eql.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,sCAAgC;AAWhC,IAAA,YAAG,EAAC;IACA,GAAG,EAAE;QACD,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,KAAU,EAAE,EAAE;YAC3C,IAAI,QAAQ,EAAE;gBACV,IAAA,eAAM,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACxB;iBAAM;gBACH,IAAA,YAAG,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACrB;QACL,CAAC;KACJ;CACJ,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ declare module '../expect.types' {
2
+ interface BooleanExpect<T> {
3
+ /**
4
+ * check if value is true
5
+ */
6
+ true(): this;
7
+ /**
8
+ * check if value is false
9
+ */
10
+ false(): this;
11
+ }
12
+ }
13
+ export {};
14
+ //# sourceMappingURL=equal-shorthand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equal-shorthand.d.ts","sourceRoot":"","sources":["../../src/expect/equal-shorthand.ts"],"names":[],"mappings":"AAIA,OAAO,QAAQ,iBAAiB,CAAC;IAE7B,UAAU,aAAa,CAAC,CAAC;QACrB;;WAEG;QACH,IAAI,IAAI,IAAI,CAAC;QACb;;WAEG;QACH,KAAK,IAAI,IAAI,CAAC;KACjB;CACJ"}