assertron 7.1.1 → 9.0.0

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 (279) hide show
  1. package/LICENSE +2 -2
  2. package/README.md +61 -46
  3. package/{dist-es2015 → cjs}/assert-order/AssertOrder.d.ts +3 -2
  4. package/cjs/assert-order/AssertOrder.d.ts.map +1 -0
  5. package/cjs/assert-order/AssertOrder.js +148 -0
  6. package/cjs/assert-order/InvalidOrder.d.ts +9 -0
  7. package/cjs/assert-order/InvalidOrder.d.ts.map +1 -0
  8. package/cjs/assert-order/InvalidOrder.js +39 -0
  9. package/{dist-es5 → cjs}/assert-order/StateMachine.d.ts +5 -6
  10. package/cjs/assert-order/StateMachine.d.ts.map +1 -0
  11. package/cjs/assert-order/StateMachine.js +111 -0
  12. package/cjs/assert-order/index.d.ts +4 -0
  13. package/cjs/assert-order/index.d.ts.map +1 -0
  14. package/cjs/assert-order/index.js +7 -0
  15. package/{dist-es2015/assert-order/interfaces.d.ts → cjs/assert-order/types.d.ts} +1 -0
  16. package/cjs/assert-order/types.d.ts.map +1 -0
  17. package/cjs/assert-order/types.js +3 -0
  18. package/{dist-es2015 → cjs}/assertron/assertron.d.ts +1 -0
  19. package/cjs/assertron/assertron.d.ts.map +1 -0
  20. package/cjs/assertron/assertron.js +32 -0
  21. package/{dist-es2015 → cjs}/assertron/falsy.d.ts +1 -0
  22. package/cjs/assertron/falsy.d.ts.map +1 -0
  23. package/cjs/assertron/falsy.js +10 -0
  24. package/cjs/assertron/index.d.ts +2 -0
  25. package/cjs/assertron/index.d.ts.map +1 -0
  26. package/cjs/assertron/index.js +5 -0
  27. package/{dist-es2015 → cjs}/assertron/pathEqual.d.ts +1 -0
  28. package/cjs/assertron/pathEqual.d.ts.map +1 -0
  29. package/cjs/assertron/pathEqual.js +12 -0
  30. package/{dist-es2015 → cjs}/assertron/rejects.d.ts +1 -0
  31. package/cjs/assertron/rejects.d.ts.map +1 -0
  32. package/cjs/assertron/rejects.js +10 -0
  33. package/{dist-es2015 → cjs}/assertron/repeat.d.ts +1 -6
  34. package/cjs/assertron/repeat.d.ts.map +1 -0
  35. package/cjs/assertron/repeat.js +33 -0
  36. package/{dist-es2015 → cjs}/assertron/resolves.d.ts +1 -0
  37. package/cjs/assertron/resolves.d.ts.map +1 -0
  38. package/cjs/assertron/resolves.js +10 -0
  39. package/cjs/assertron/satisfies.d.ts +10 -0
  40. package/cjs/assertron/satisfies.d.ts.map +1 -0
  41. package/cjs/assertron/satisfies.js +18 -0
  42. package/{dist-es2015 → cjs}/assertron/throws.d.ts +3 -1
  43. package/cjs/assertron/throws.d.ts.map +1 -0
  44. package/cjs/assertron/throws.js +56 -0
  45. package/{dist-es2015 → cjs}/assertron/truthy.d.ts +1 -0
  46. package/cjs/assertron/truthy.d.ts.map +1 -0
  47. package/cjs/assertron/truthy.js +10 -0
  48. package/cjs/errors.d.ts +17 -0
  49. package/cjs/errors.d.ts.map +1 -0
  50. package/cjs/errors.js +29 -0
  51. package/{dist-es5 → cjs}/index.d.ts +3 -1
  52. package/cjs/index.d.ts.map +1 -0
  53. package/cjs/index.js +9 -0
  54. package/{dist-es2015/errors/interfaces.d.ts → cjs/types.d.ts} +1 -0
  55. package/cjs/types.d.ts.map +1 -0
  56. package/cjs/types.js +3 -0
  57. package/cjs/utils/index.d.ts +8 -0
  58. package/cjs/utils/index.d.ts.map +1 -0
  59. package/cjs/utils/index.js +16 -0
  60. package/{dist-es2015/errors/util.d.ts → cjs/utils/isErrorConstructor.d.ts} +2 -1
  61. package/cjs/utils/isErrorConstructor.d.ts.map +1 -0
  62. package/cjs/utils/isErrorConstructor.js +8 -0
  63. package/{dist-es2015/errors → cjs/utils}/notEqualMessage.d.ts +1 -0
  64. package/cjs/utils/notEqualMessage.d.ts.map +1 -0
  65. package/cjs/utils/notEqualMessage.js +8 -0
  66. package/{dist-es2015/errors/NotSatisfied.d.ts → cjs/utils/notSatisfiedMessage.d.ts} +1 -0
  67. package/cjs/utils/notSatisfiedMessage.d.ts.map +1 -0
  68. package/cjs/utils/notSatisfiedMessage.js +28 -0
  69. package/{dist-es2015/errors → cjs/utils}/notThrownMessage.d.ts +1 -0
  70. package/cjs/utils/notThrownMessage.d.ts.map +1 -0
  71. package/cjs/utils/notThrownMessage.js +9 -0
  72. package/cjs/utils/promiseMessages.d.ts +3 -0
  73. package/cjs/utils/promiseMessages.d.ts.map +1 -0
  74. package/cjs/utils/promiseMessages.js +15 -0
  75. package/{dist-es2015/errors → cjs/utils}/unexpectedErrorMessage.d.ts +2 -1
  76. package/cjs/utils/unexpectedErrorMessage.d.ts.map +1 -0
  77. package/cjs/utils/unexpectedErrorMessage.js +11 -0
  78. package/esm/assert-order/AssertOrder.js +132 -0
  79. package/esm/assert-order/InvalidOrder.js +31 -0
  80. package/esm/assert-order/StateMachine.js +103 -0
  81. package/esm/assert-order/index.js +4 -0
  82. package/esm/assert-order/types.js +2 -0
  83. package/esm/assertron/assertron.js +29 -0
  84. package/esm/assertron/falsy.js +6 -0
  85. package/esm/assertron/index.js +2 -0
  86. package/esm/assertron/pathEqual.js +8 -0
  87. package/esm/assertron/rejects.js +6 -0
  88. package/esm/assertron/repeat.js +28 -0
  89. package/esm/assertron/resolves.js +6 -0
  90. package/esm/assertron/satisfies.js +14 -0
  91. package/esm/assertron/throws.js +51 -0
  92. package/esm/assertron/truthy.js +6 -0
  93. package/esm/errors.js +18 -0
  94. package/esm/index.js +6 -0
  95. package/esm/types.js +2 -0
  96. package/esm/utils/index.js +11 -0
  97. package/esm/utils/isErrorConstructor.js +4 -0
  98. package/esm/utils/notEqualMessage.js +4 -0
  99. package/esm/utils/notSatisfiedMessage.js +23 -0
  100. package/esm/utils/notThrownMessage.js +5 -0
  101. package/esm/utils/promiseMessages.js +10 -0
  102. package/esm/utils/unexpectedErrorMessage.js +7 -0
  103. package/package.json +62 -24
  104. package/src/assert-order/AssertOrder.spec.ts +10 -12
  105. package/src/assert-order/AssertOrder.ts +8 -8
  106. package/src/assert-order/InvalidOrder.ts +7 -12
  107. package/src/assert-order/StateMachine.ts +26 -31
  108. package/src/assert-order/index.ts +3 -1
  109. package/src/assert-order/internalInterfaces.ts +3 -3
  110. package/src/assert-order/types.ts +7 -0
  111. package/src/assertron/assertron.spec.ts +2 -4
  112. package/src/assertron/assertron.ts +13 -14
  113. package/src/assertron/falsy.spec.ts +2 -3
  114. package/src/assertron/falsy.ts +2 -6
  115. package/src/assertron/pathEqual.spec.ts +2 -3
  116. package/src/assertron/pathEqual.ts +4 -7
  117. package/src/assertron/rejects.spec.ts +7 -8
  118. package/src/assertron/rejects.ts +3 -11
  119. package/src/assertron/repeat.spec.ts +8 -10
  120. package/src/assertron/repeat.ts +4 -9
  121. package/src/assertron/resolves.spec.ts +3 -4
  122. package/src/assertron/resolves.ts +3 -13
  123. package/src/assertron/satisfies.spec.ts +57 -26
  124. package/src/assertron/satisfies.ts +23 -10
  125. package/src/assertron/throws.spec.ts +63 -39
  126. package/src/assertron/throws.ts +32 -55
  127. package/src/assertron/truthy.spec.ts +2 -3
  128. package/src/assertron/truthy.ts +2 -3
  129. package/src/errors.ts +22 -0
  130. package/src/index.ts +2 -1
  131. package/src/testUtils.ts +16 -13
  132. package/src/{errors/interfaces.ts → types.ts} +1 -1
  133. package/src/utils/index.ts +12 -0
  134. package/src/utils/isErrorConstructor.ts +5 -0
  135. package/src/utils/notEqualMessage.ts +4 -0
  136. package/src/{errors → utils}/notSatisfiedMessage.spec.ts +0 -0
  137. package/src/{errors/NotSatisfied.ts → utils/notSatisfiedMessage.ts} +1 -1
  138. package/src/utils/notThrownMessage.ts +5 -0
  139. package/src/utils/promiseMessages.ts +12 -0
  140. package/src/{errors → utils}/unexpectedErrorMessage.ts +4 -3
  141. package/dist-es2015/assert-order/AssertOrder.js +0 -132
  142. package/dist-es2015/assert-order/AssertOrder.js.map +0 -1
  143. package/dist-es2015/assert-order/InvalidOrder.d.ts +0 -8
  144. package/dist-es2015/assert-order/InvalidOrder.js +0 -31
  145. package/dist-es2015/assert-order/InvalidOrder.js.map +0 -1
  146. package/dist-es2015/assert-order/StateMachine.d.ts +0 -23
  147. package/dist-es2015/assert-order/StateMachine.js +0 -106
  148. package/dist-es2015/assert-order/StateMachine.js.map +0 -1
  149. package/dist-es2015/assert-order/index.d.ts +0 -2
  150. package/dist-es2015/assert-order/index.js +0 -2
  151. package/dist-es2015/assert-order/index.js.map +0 -1
  152. package/dist-es2015/assert-order/interfaces.js +0 -1
  153. package/dist-es2015/assert-order/interfaces.js.map +0 -1
  154. package/dist-es2015/assertron/assertron.js +0 -28
  155. package/dist-es2015/assertron/assertron.js.map +0 -1
  156. package/dist-es2015/assertron/falsy.js +0 -6
  157. package/dist-es2015/assertron/falsy.js.map +0 -1
  158. package/dist-es2015/assertron/index.d.ts +0 -1
  159. package/dist-es2015/assertron/index.js +0 -2
  160. package/dist-es2015/assertron/index.js.map +0 -1
  161. package/dist-es2015/assertron/pathEqual.js +0 -8
  162. package/dist-es2015/assertron/pathEqual.js.map +0 -1
  163. package/dist-es2015/assertron/rejects.js +0 -10
  164. package/dist-es2015/assertron/rejects.js.map +0 -1
  165. package/dist-es2015/assertron/repeat.js +0 -35
  166. package/dist-es2015/assertron/repeat.js.map +0 -1
  167. package/dist-es2015/assertron/resolves.js +0 -12
  168. package/dist-es2015/assertron/resolves.js.map +0 -1
  169. package/dist-es2015/assertron/satisfies.d.ts +0 -5
  170. package/dist-es2015/assertron/satisfies.js +0 -14
  171. package/dist-es2015/assertron/satisfies.js.map +0 -1
  172. package/dist-es2015/assertron/throws.js +0 -55
  173. package/dist-es2015/assertron/throws.js.map +0 -1
  174. package/dist-es2015/assertron/truthy.js +0 -6
  175. package/dist-es2015/assertron/truthy.js.map +0 -1
  176. package/dist-es2015/errors/NotSatisfied.js +0 -23
  177. package/dist-es2015/errors/NotSatisfied.js.map +0 -1
  178. package/dist-es2015/errors/index.d.ts +0 -7
  179. package/dist-es2015/errors/index.js +0 -7
  180. package/dist-es2015/errors/index.js.map +0 -1
  181. package/dist-es2015/errors/interfaces.js +0 -1
  182. package/dist-es2015/errors/interfaces.js.map +0 -1
  183. package/dist-es2015/errors/notEqualMessage.js +0 -4
  184. package/dist-es2015/errors/notEqualMessage.js.map +0 -1
  185. package/dist-es2015/errors/notRejectedMessage.d.ts +0 -1
  186. package/dist-es2015/errors/notRejectedMessage.js +0 -4
  187. package/dist-es2015/errors/notRejectedMessage.js.map +0 -1
  188. package/dist-es2015/errors/notThrownMessage.js +0 -4
  189. package/dist-es2015/errors/notThrownMessage.js.map +0 -1
  190. package/dist-es2015/errors/returnNotRejectedMessage.d.ts +0 -1
  191. package/dist-es2015/errors/returnNotRejectedMessage.js +0 -4
  192. package/dist-es2015/errors/returnNotRejectedMessage.js.map +0 -1
  193. package/dist-es2015/errors/unexpectedErrorMessage.js +0 -6
  194. package/dist-es2015/errors/unexpectedErrorMessage.js.map +0 -1
  195. package/dist-es2015/errors/util.js +0 -4
  196. package/dist-es2015/errors/util.js.map +0 -1
  197. package/dist-es2015/index.d.ts +0 -4
  198. package/dist-es2015/index.js +0 -5
  199. package/dist-es2015/index.js.map +0 -1
  200. package/dist-es5/assert-order/AssertOrder.d.ts +0 -40
  201. package/dist-es5/assert-order/AssertOrder.js +0 -147
  202. package/dist-es5/assert-order/AssertOrder.js.map +0 -1
  203. package/dist-es5/assert-order/InvalidOrder.d.ts +0 -8
  204. package/dist-es5/assert-order/InvalidOrder.js +0 -58
  205. package/dist-es5/assert-order/InvalidOrder.js.map +0 -1
  206. package/dist-es5/assert-order/StateMachine.js +0 -115
  207. package/dist-es5/assert-order/StateMachine.js.map +0 -1
  208. package/dist-es5/assert-order/index.d.ts +0 -2
  209. package/dist-es5/assert-order/index.js +0 -7
  210. package/dist-es5/assert-order/index.js.map +0 -1
  211. package/dist-es5/assert-order/interfaces.d.ts +0 -7
  212. package/dist-es5/assert-order/interfaces.js +0 -3
  213. package/dist-es5/assert-order/interfaces.js.map +0 -1
  214. package/dist-es5/assertron/assertron.d.ts +0 -20
  215. package/dist-es5/assertron/assertron.js +0 -33
  216. package/dist-es5/assertron/assertron.js.map +0 -1
  217. package/dist-es5/assertron/falsy.d.ts +0 -1
  218. package/dist-es5/assertron/falsy.js +0 -12
  219. package/dist-es5/assertron/falsy.js.map +0 -1
  220. package/dist-es5/assertron/index.d.ts +0 -1
  221. package/dist-es5/assertron/index.js +0 -7
  222. package/dist-es5/assertron/index.js.map +0 -1
  223. package/dist-es5/assertron/pathEqual.d.ts +0 -1
  224. package/dist-es5/assertron/pathEqual.js +0 -14
  225. package/dist-es5/assertron/pathEqual.js.map +0 -1
  226. package/dist-es5/assertron/rejects.d.ts +0 -1
  227. package/dist-es5/assertron/rejects.js +0 -16
  228. package/dist-es5/assertron/rejects.js.map +0 -1
  229. package/dist-es5/assertron/repeat.d.ts +0 -11
  230. package/dist-es5/assertron/repeat.js +0 -58
  231. package/dist-es5/assertron/repeat.js.map +0 -1
  232. package/dist-es5/assertron/resolves.d.ts +0 -1
  233. package/dist-es5/assertron/resolves.js +0 -18
  234. package/dist-es5/assertron/resolves.js.map +0 -1
  235. package/dist-es5/assertron/satisfies.d.ts +0 -5
  236. package/dist-es5/assertron/satisfies.js +0 -20
  237. package/dist-es5/assertron/satisfies.js.map +0 -1
  238. package/dist-es5/assertron/throws.d.ts +0 -4
  239. package/dist-es5/assertron/throws.js +0 -61
  240. package/dist-es5/assertron/throws.js.map +0 -1
  241. package/dist-es5/assertron/truthy.d.ts +0 -1
  242. package/dist-es5/assertron/truthy.js +0 -12
  243. package/dist-es5/assertron/truthy.js.map +0 -1
  244. package/dist-es5/errors/NotSatisfied.d.ts +0 -2
  245. package/dist-es5/errors/NotSatisfied.js +0 -26
  246. package/dist-es5/errors/NotSatisfied.js.map +0 -1
  247. package/dist-es5/errors/index.d.ts +0 -7
  248. package/dist-es5/errors/index.js +0 -12
  249. package/dist-es5/errors/index.js.map +0 -1
  250. package/dist-es5/errors/interfaces.d.ts +0 -2
  251. package/dist-es5/errors/interfaces.js +0 -3
  252. package/dist-es5/errors/interfaces.js.map +0 -1
  253. package/dist-es5/errors/notEqualMessage.d.ts +0 -1
  254. package/dist-es5/errors/notEqualMessage.js +0 -7
  255. package/dist-es5/errors/notEqualMessage.js.map +0 -1
  256. package/dist-es5/errors/notRejectedMessage.d.ts +0 -1
  257. package/dist-es5/errors/notRejectedMessage.js +0 -7
  258. package/dist-es5/errors/notRejectedMessage.js.map +0 -1
  259. package/dist-es5/errors/notThrownMessage.d.ts +0 -1
  260. package/dist-es5/errors/notThrownMessage.js +0 -7
  261. package/dist-es5/errors/notThrownMessage.js.map +0 -1
  262. package/dist-es5/errors/returnNotRejectedMessage.d.ts +0 -1
  263. package/dist-es5/errors/returnNotRejectedMessage.js +0 -7
  264. package/dist-es5/errors/returnNotRejectedMessage.js.map +0 -1
  265. package/dist-es5/errors/unexpectedErrorMessage.d.ts +0 -2
  266. package/dist-es5/errors/unexpectedErrorMessage.js +0 -9
  267. package/dist-es5/errors/unexpectedErrorMessage.js.map +0 -1
  268. package/dist-es5/errors/util.d.ts +0 -2
  269. package/dist-es5/errors/util.js +0 -7
  270. package/dist-es5/errors/util.js.map +0 -1
  271. package/dist-es5/index.js +0 -10
  272. package/dist-es5/index.js.map +0 -1
  273. package/src/assert-order/interfaces.ts +0 -7
  274. package/src/errors/index.ts +0 -7
  275. package/src/errors/notEqualMessage.ts +0 -3
  276. package/src/errors/notRejectedMessage.ts +0 -3
  277. package/src/errors/notThrownMessage.ts +0 -3
  278. package/src/errors/returnNotRejectedMessage.ts +0 -3
  279. package/src/errors/util.ts +0 -5
@@ -1,55 +0,0 @@
1
- import AssertionError from 'assertion-error';
2
- import isPromise from 'is-promise';
3
- import { notRejectedMessage, notThrownMessage, returnNotRejectedMessage, unexpectedErrorMessage } from '../errors';
4
- import { isErrorConstructor } from '../errors/util';
5
- export function throws(value, validator) {
6
- if (typeof value !== 'function' && !isPromise(value)) {
7
- throw new AssertionError('`assertron.throws()` must be called with a functio n or promise.', undefined, throws);
8
- }
9
- if (isPromise(value)) {
10
- return value.then(value => {
11
- throw new AssertionError(notRejectedMessage(value), { value }, throws);
12
- }, err => {
13
- validateError(validator, err);
14
- return err;
15
- });
16
- }
17
- const { threw, err, result } = tryCatch(value);
18
- if (threw) {
19
- validateError(validator, err);
20
- return err;
21
- }
22
- if (isPromise(result)) {
23
- return result.then(value => {
24
- throw new AssertionError(returnNotRejectedMessage(value), { value }, throws);
25
- }, err => {
26
- validateError(validator, err);
27
- return err;
28
- });
29
- }
30
- throw new AssertionError(notThrownMessage(result), { value: result }, throws);
31
- }
32
- function tryCatch(fn) {
33
- let result;
34
- let err;
35
- let threw = false;
36
- try {
37
- result = fn();
38
- }
39
- catch (e) {
40
- err = e;
41
- threw = true;
42
- }
43
- return { threw, err, result };
44
- }
45
- function validateError(validator, error) {
46
- if (validator) {
47
- if (isErrorConstructor(validator)) {
48
- if (!(error instanceof validator))
49
- throw new AssertionError(unexpectedErrorMessage(error, validator), { actual: error, expected: validator }, throws);
50
- }
51
- else if (!validator(error))
52
- throw new AssertionError(unexpectedErrorMessage(error, validator), { actual: error, expected: validator }, throws);
53
- }
54
- }
55
- //# sourceMappingURL=throws.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"throws.js","sourceRoot":"","sources":["../../src/assertron/throws.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAC7C,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAoC,kBAAkB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACrJ,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAKpD,MAAM,UAAU,MAAM,CAAC,KAAwD,EAAE,SAAkD;IACjI,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QACpD,MAAM,IAAI,cAAc,CACtB,kEAAkE,EAClE,SAAS,EACT,MAAM,CACL,CAAA;KACJ;IAED,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;QACpB,OAAO,KAAK,CAAC,IAAI,CACf,KAAK,CAAC,EAAE;YACN,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,KAAK,CAAC,EACzB,EAAE,KAAK,EAAE,EACT,MAAM,CAAC,CAAA;QACX,CAAC,EACD,GAAG,CAAC,EAAE;YACJ,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAC7B,OAAO,GAAG,CAAA;QACZ,CAAC,CACF,CAAA;KACF;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9C,IAAI,KAAK,EAAE;QACT,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QAC7B,OAAO,GAAG,CAAA;KACX;IACD,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE;QACrB,OAAO,MAAM,CAAC,IAAI,CAChB,KAAK,CAAC,EAAE;YACN,MAAM,IAAI,cAAc,CACtB,wBAAwB,CAAC,KAAK,CAAC,EAC/B,EAAE,KAAK,EAAE,EACT,MAAM,CAAC,CAAA;QACX,CAAC,EACD,GAAG,CAAC,EAAE;YACJ,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAC7B,OAAO,GAAG,CAAA;QACZ,CAAC,CACF,CAAA;KACF;IAED,MAAM,IAAI,cAAc,CACtB,gBAAgB,CAAC,MAAM,CAAC,EACxB,EAAE,KAAK,EAAE,MAAM,EAAE,EACjB,MAAM,CACP,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,EAAE;IAClB,IAAI,MAAM,CAAA;IACV,IAAI,GAAG,CAAA;IACP,IAAI,KAAK,GAAG,KAAK,CAAA;IACjB,IAAI;QACF,MAAM,GAAG,EAAE,EAAE,CAAA;KACd;IACD,OAAO,CAAC,EAAE;QACR,GAAG,GAAG,CAAC,CAAA;QACP,KAAK,GAAG,IAAI,CAAA;KACb;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;AAC/B,CAAC;AAED,SAAS,aAAa,CAAC,SAAS,EAAE,KAAK;IACrC,IAAI,SAAS,EAAE;QACb,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE;YACjC,IAAI,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC;gBAC/B,MAAM,IAAI,cAAc,CACtB,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,EACxC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EACtC,MAAM,CACP,CAAA;SACJ;aACI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACxB,MAAM,IAAI,cAAc,CACtB,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,EACxC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EACtC,MAAM,CACP,CAAA;KACJ;AACH,CAAC"}
@@ -1,6 +0,0 @@
1
- import AssertionError from 'assertion-error';
2
- export function truthy(value) {
3
- if (!value)
4
- throw new AssertionError(`Expected value to be truthy, but received ${value}`, { value }, truthy);
5
- }
6
- //# sourceMappingURL=truthy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"truthy.js","sourceRoot":"","sources":["../../src/assertron/truthy.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAE7C,MAAM,UAAU,MAAM,CAAC,KAAU;IAC/B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,cAAc,CAClC,6CAA6C,KAAK,EAAE,EACpD,EAAE,KAAK,EAAE,EACT,MAAM,CACP,CAAA;AACH,CAAC"}
@@ -1,23 +0,0 @@
1
- import { tersify } from 'tersify';
2
- export function notSatisfiedMessage(entries) {
3
- return entries.map(e => {
4
- const path = formatPath(e.path);
5
- return `Expect ${path} to satisfy ${formatValue(e.expected)}, but received ${formatValue(e.actual)}`;
6
- }).join('\n');
7
- }
8
- function formatPath(entries) {
9
- if (entries.length === 0)
10
- return 'actual';
11
- const nodes = [...entries];
12
- if (isIndice(nodes[0])) {
13
- nodes.unshift('actual');
14
- }
15
- return nodes.map(n => isIndice(n) ? `[${n}]` : '.' + n).join('').slice(1);
16
- }
17
- function isIndice(node) {
18
- return typeof node === 'number';
19
- }
20
- function formatValue(value) {
21
- return tersify(value);
22
- }
23
- //# sourceMappingURL=NotSatisfied.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NotSatisfied.js","sourceRoot":"","sources":["../../src/errors/NotSatisfied.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACrB,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC/B,OAAO,UAAU,IAAI,eAAe,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAA;IACtG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC;AAED,SAAS,UAAU,CAAC,OAA4B;IAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QACtB,OAAO,QAAQ,CAAA;IACjB,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAA;IAC1B,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QACtB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;KACxB;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC3E,CAAC;AAED,SAAS,QAAQ,CAAC,IAAqB;IACrC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAA;AACjC,CAAC;AAED,SAAS,WAAW,CAAC,KAAK;IACxB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;AACvB,CAAC"}
@@ -1,7 +0,0 @@
1
- export * from './interfaces';
2
- export * from './notEqualMessage';
3
- export * from './notRejectedMessage';
4
- export * from './NotSatisfied';
5
- export * from './notThrownMessage';
6
- export * from './returnNotRejectedMessage';
7
- export * from './unexpectedErrorMessage';
@@ -1,7 +0,0 @@
1
- export * from './notEqualMessage';
2
- export * from './notRejectedMessage';
3
- export * from './NotSatisfied';
4
- export * from './notThrownMessage';
5
- export * from './returnNotRejectedMessage';
6
- export * from './unexpectedErrorMessage';
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=interfaces.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/errors/interfaces.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- export function notEqualMessage(actual, expected) {
2
- return `"${actual}" does not equal "${expected}".`;
3
- }
4
- //# sourceMappingURL=notEqualMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notEqualMessage.js","sourceRoot":"","sources":["../../src/errors/notEqualMessage.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,MAAW,EAAE,QAAa;IACxD,OAAO,IAAI,MAAM,qBAAqB,QAAQ,IAAI,CAAA;AACpD,CAAC"}
@@ -1 +0,0 @@
1
- export declare function notRejectedMessage(value: any): string;
@@ -1,4 +0,0 @@
1
- export function notRejectedMessage(value) {
2
- return `Expected promise to be rejected, but it was resolved instead '${value}'`;
3
- }
4
- //# sourceMappingURL=notRejectedMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notRejectedMessage.js","sourceRoot":"","sources":["../../src/errors/notRejectedMessage.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,kBAAkB,CAAC,KAAU;IAC3C,OAAO,iEAAiE,KAAK,GAAG,CAAA;AAClF,CAAC"}
@@ -1,4 +0,0 @@
1
- export function notThrownMessage(value) {
2
- return `Expect function to throw, but it returned '${value}' instead.`;
3
- }
4
- //# sourceMappingURL=notThrownMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notThrownMessage.js","sourceRoot":"","sources":["../../src/errors/notThrownMessage.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,KAAU;IACzC,OAAO,8CAA8C,KAAK,YAAY,CAAA;AACxE,CAAC"}
@@ -1 +0,0 @@
1
- export declare function returnNotRejectedMessage(value: any): string;
@@ -1,4 +0,0 @@
1
- export function returnNotRejectedMessage(value) {
2
- return `Expected return promise to be rejected, but it was resolved instead '${value}'`;
3
- }
4
- //# sourceMappingURL=returnNotRejectedMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"returnNotRejectedMessage.js","sourceRoot":"","sources":["../../src/errors/returnNotRejectedMessage.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,wBAAwB,CAAC,KAAU;IACjD,OAAO,wEAAwE,KAAK,GAAG,CAAA;AACzF,CAAC"}
@@ -1,6 +0,0 @@
1
- import { tersify } from 'tersify';
2
- import { isErrorConstructor } from './util';
3
- export function unexpectedErrorMessage(actual, expected) {
4
- return `Unexpected error. Expecting '${isErrorConstructor(expected) ? expected.name : tersify(expected)}' but received ${tersify(actual)}`;
5
- }
6
- //# sourceMappingURL=unexpectedErrorMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unexpectedErrorMessage.js","sourceRoot":"","sources":["../../src/errors/unexpectedErrorMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE5C,MAAM,UAAU,sBAAsB,CAAC,MAAW,EAAE,QAAgD;IAClG,OAAO,gCAAgC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,OAAO,CAAC,MAAM,CAAC,EAAE,CAAA;AAC5I,CAAC"}
@@ -1,4 +0,0 @@
1
- export function isErrorConstructor(validator) {
2
- return Error.prototype.isPrototypeOf(validator.prototype);
3
- }
4
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/errors/util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAAC,SAAS;IAC1C,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;AAC3D,CAAC"}
@@ -1,4 +0,0 @@
1
- import { assertron } from './assertron';
2
- export * from './assertron';
3
- export * from './assert-order';
4
- export default assertron;
@@ -1,5 +0,0 @@
1
- import { assertron } from './assertron';
2
- export * from './assertron';
3
- export * from './assert-order';
4
- export default assertron;
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,eAAe,SAAS,CAAA"}
@@ -1,40 +0,0 @@
1
- export declare class AssertOrder {
2
- /**
3
- * Gets the current expecting step.
4
- */
5
- readonly currentStep: number;
6
- private state;
7
- constructor(plan?: number);
8
- /**
9
- * Asserts the current step is `step`.
10
- * @param step expected step.
11
- */
12
- is(step: number): void;
13
- /**
14
- * Asserts the current step is not `step`.
15
- * @param step not expected step.
16
- */
17
- not(step: number): void;
18
- /**
19
- * Reset to specified step.
20
- */
21
- jump(step: number): void;
22
- /**
23
- * Move to next step.
24
- */
25
- move(): void;
26
- /**
27
- * Asserts the specified step will run once.
28
- */
29
- once(step: number): void;
30
- on(step: number, assert: (step: number) => void): void;
31
- atLeastOnce(step: number): number;
32
- any(steps: number[]): number;
33
- onAny(steps: number[], ...asserts: Function[]): void;
34
- end(timeout: number): Promise<number>;
35
- end(): number;
36
- exactly(step: number, times: number): number;
37
- wait(step: number): Promise<void>;
38
- wait(step: number, callback: () => void): void;
39
- private assert;
40
- }
@@ -1,147 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var InvalidOrder_1 = require("./InvalidOrder");
4
- var StateMachine_1 = require("./StateMachine");
5
- // order.atLeast(step, count) // expected to be executed at least `count` times
6
- // order.atMost(step, count) // exected to be executed at most `count` times
7
- var AssertOrder = /** @class */ (function () {
8
- function AssertOrder(plan) {
9
- this.state = new StateMachine_1.StateMachine(plan);
10
- }
11
- Object.defineProperty(AssertOrder.prototype, "currentStep", {
12
- /**
13
- * Gets the current expecting step.
14
- */
15
- get: function () {
16
- return this.state.step;
17
- },
18
- enumerable: true,
19
- configurable: true
20
- });
21
- /**
22
- * Asserts the current step is `step`.
23
- * @param step expected step.
24
- */
25
- AssertOrder.prototype.is = function (step) {
26
- this.assert('is', step);
27
- };
28
- /**
29
- * Asserts the current step is not `step`.
30
- * @param step not expected step.
31
- */
32
- AssertOrder.prototype.not = function (step) {
33
- if (this.state.isValid(step)) {
34
- throw new InvalidOrder_1.InvalidOrder(this.state.get(), 'not', this.not, step);
35
- }
36
- };
37
- /**
38
- * Reset to specified step.
39
- */
40
- AssertOrder.prototype.jump = function (step) {
41
- this.state.jump(step);
42
- };
43
- /**
44
- * Move to next step.
45
- */
46
- AssertOrder.prototype.move = function () {
47
- this.state.move();
48
- };
49
- /**
50
- * Asserts the specified step will run once.
51
- */
52
- AssertOrder.prototype.once = function (step) {
53
- this.assert('once', step);
54
- this.state.move();
55
- };
56
- AssertOrder.prototype.on = function (step, assert) {
57
- this.state.on(step, function () {
58
- assert(step);
59
- });
60
- };
61
- AssertOrder.prototype.atLeastOnce = function (step) {
62
- var nextStep = step + 1;
63
- if (this.state.step === step) {
64
- this.state.move();
65
- return this.state.moveSubStep();
66
- }
67
- else if (this.state.step === nextStep && this.state.subStep > 0) {
68
- return this.state.moveSubStep();
69
- }
70
- else
71
- throw new InvalidOrder_1.InvalidOrder(this.state.get(), 'atLeastOnce', this.atLeastOnce, step);
72
- };
73
- AssertOrder.prototype.any = function (steps) {
74
- var index = steps.indexOf(this.state.step);
75
- if (index === -1)
76
- throw new InvalidOrder_1.InvalidOrder(this.state.get(), 'any', this.any, steps);
77
- this.state.move();
78
- return steps[index];
79
- };
80
- AssertOrder.prototype.onAny = function (steps) {
81
- var _this = this;
82
- var asserts = [];
83
- for (var _i = 1; _i < arguments.length; _i++) {
84
- asserts[_i - 1] = arguments[_i];
85
- }
86
- steps.forEach(function (step) {
87
- _this.state.on(step, function () {
88
- var firstError;
89
- var hasPass = false;
90
- asserts.forEach(function (assert) {
91
- try {
92
- assert(step);
93
- hasPass = true;
94
- }
95
- catch (err) {
96
- if (!firstError)
97
- firstError = err;
98
- }
99
- });
100
- if (!hasPass)
101
- throw firstError;
102
- });
103
- });
104
- return;
105
- };
106
- AssertOrder.prototype.end = function (timeout) {
107
- var _this = this;
108
- if (timeout) {
109
- return new Promise(function (r) {
110
- setTimeout(r, timeout);
111
- }).then(function () {
112
- return _this.end();
113
- });
114
- }
115
- if (!this.state.isMaxStepDefined()) {
116
- this.state.stopAccepting();
117
- return this.state.getTimeTaken();
118
- }
119
- if (this.state.isAccepting()) {
120
- throw new InvalidOrder_1.InvalidOrder(this.state.get(), 'end', this.end);
121
- }
122
- };
123
- AssertOrder.prototype.exactly = function (step, times) {
124
- if (this.state.isNotValid(step))
125
- throw new InvalidOrder_1.InvalidOrder(this.state.get(), 'exactly', this.exactly, step, times);
126
- if (this.state.maxSubStep === undefined) {
127
- this.state.maxSubStep = times;
128
- this.state.minSubStep = times;
129
- }
130
- return this.state.moveSubStep();
131
- };
132
- AssertOrder.prototype.wait = function (step, callback) {
133
- var _this = this;
134
- if (callback)
135
- this.on(step, callback);
136
- else
137
- return new Promise(function (a) { _this.on(step, a); });
138
- };
139
- AssertOrder.prototype.assert = function (method, step) {
140
- if (this.state.isNotValid(step)) {
141
- throw new InvalidOrder_1.InvalidOrder(this.state.get(), method, this[method], step);
142
- }
143
- };
144
- return AssertOrder;
145
- }());
146
- exports.AssertOrder = AssertOrder;
147
- //# sourceMappingURL=AssertOrder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AssertOrder.js","sourceRoot":"","sources":["../../src/assert-order/AssertOrder.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import AssertionError from 'assertion-error';
2
- import { State } from './interfaces';
3
- export declare class InvalidOrder extends AssertionError {
4
- method: string;
5
- args: any[];
6
- state: State;
7
- constructor(state: State, method: string, ssf: Function, ...args: any[]);
8
- }
@@ -1,58 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- var __importDefault = (this && this.__importDefault) || function (mod) {
16
- return (mod && mod.__esModule) ? mod : { "default": mod };
17
- };
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- var assertion_error_1 = __importDefault(require("assertion-error"));
20
- var InvalidOrder = /** @class */ (function (_super) {
21
- __extends(InvalidOrder, _super);
22
- function InvalidOrder(state, method, ssf) {
23
- var args = [];
24
- for (var _i = 3; _i < arguments.length; _i++) {
25
- args[_i - 3] = arguments[_i];
26
- }
27
- var _this = this;
28
- var message = method === 'end' ? getEndMessage(state) : getExpectingMessage(state, method, args);
29
- _this = _super.call(this, message, { method: method, state: state, args: args }, ssf) || this;
30
- return _this;
31
- }
32
- return InvalidOrder;
33
- }(assertion_error_1.default));
34
- exports.InvalidOrder = InvalidOrder;
35
- function getEndMessage(state) {
36
- return "Planned for " + state.maxStep + " step but expecting step " + state.step + " when 'end()' is called";
37
- }
38
- function getExpectingMessage(state, method, args) {
39
- return "Expecting " + getExpectingCalls(state) + ", but received '" + method + "(" + getMethodArgs(args) + ")'";
40
- }
41
- function getExpectingCalls(state) {
42
- var message;
43
- if (state.subStep === 0) {
44
- var methods = ['is', 'once', 'any'];
45
- message = methods.map(function (m) { return ['any'].indexOf(m) === -1 ?
46
- "'" + m + "(" + state.step + ")'" :
47
- "'" + m + "([" + state.step + "])'"; }).join(', ');
48
- }
49
- else {
50
- var methods = ['exactly'];
51
- message = methods.map(function (m) { return "'" + m + "(" + state.step + ", " + state.maxSubStep + ")'"; }).join(', ');
52
- }
53
- return message;
54
- }
55
- function getMethodArgs(args) {
56
- return args.map(function (a) { return Array.isArray(a) ? "[" + a.join(', ') + "]" : a; }).join(', ');
57
- }
58
- //# sourceMappingURL=InvalidOrder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InvalidOrder.js","sourceRoot":"","sources":["../../src/assert-order/InvalidOrder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,oEAA6C;AAG7C;IAAkC,gCAAc;IAI9C,sBAAY,KAAY,EAAE,MAAc,EAAE,GAAa;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;QAAvE,iBAGC;QAFC,IAAM,OAAO,GAAG,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAClG,QAAA,kBAAM,OAAO,EAAE,EAAE,MAAM,QAAA,EAAE,KAAK,OAAA,EAAE,IAAI,MAAA,EAAE,EAAE,GAAG,CAAC,SAAA;;IAC9C,CAAC;IACH,mBAAC;AAAD,CAAC,AARD,CAAkC,yBAAc,GAQ/C;AARY,oCAAY;AAUzB,SAAS,aAAa,CAAC,KAAY;IACjC,OAAO,iBAAe,KAAK,CAAC,OAAO,iCAA4B,KAAK,CAAC,IAAI,4BAAyB,CAAA;AACpG,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI;IAC9C,OAAO,eAAa,iBAAiB,CAAC,KAAK,CAAC,wBAAmB,MAAM,SAAI,aAAa,CAAC,IAAI,CAAC,OAAI,CAAA;AAClG,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAY;IACrC,IAAI,OAAe,CAAA;IACnB,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,EAAE;QACvB,IAAM,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACrC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpD,MAAI,CAAC,SAAI,KAAK,CAAC,IAAI,OAAI,CAAC,CAAC;YACzB,MAAI,CAAC,UAAK,KAAK,CAAC,IAAI,QAAK,EAFA,CAEA,CAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACb;SACI;QACH,IAAM,OAAO,GAAG,CAAC,SAAS,CAAC,CAAA;QAC3B,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,MAAI,CAAC,SAAI,KAAK,CAAC,IAAI,UAAK,KAAK,CAAC,UAAU,OAAI,EAA5C,CAA4C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACpF;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,IAAW;IAChC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAC,CAAC,CAAC,CAAC,EAA1C,CAA0C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC7E,CAAC"}
@@ -1,115 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var is_node_1 = __importDefault(require("is-node"));
7
- // istanbul ignore next
8
- function nodeVersionIsOrAbove(major, minor, patch) {
9
- if (minor === void 0) { minor = 0; }
10
- if (patch === void 0) { patch = 0; }
11
- // without this, systemjs will complain `process is not defined`
12
- if (!global.process)
13
- return false;
14
- var versionString = process.version.startsWith('v') ? process.version.slice(1) : process.version;
15
- var _a = versionString.split('.').map(function (s) { return parseInt(s, 10); }), actualMajor = _a[0], actualMinor = _a[1], actualPatch = _a[2];
16
- var checking = major * 1000 * 1000 + minor * 1000 + patch;
17
- var actual = actualMajor * 1000 * 1000 + actualMinor * 1000 + actualPatch;
18
- return actual >= checking;
19
- }
20
- // istanbul ignore next
21
- var performance = is_node_1.default && nodeVersionIsOrAbove(8, 5) ? require('perf_hooks').performance : undefined;
22
- var startTick;
23
- var timeTaken;
24
- // istanbul ignore else
25
- // tslint:disable-next-line
26
- if (process && typeof process.hrtime === 'function') {
27
- startTick = process.hrtime;
28
- timeTaken = function (startTick) {
29
- var _a = process.hrtime(startTick), second = _a[0], nanoSecond = _a[1];
30
- return second * 1000 + nanoSecond / 1e6;
31
- };
32
- }
33
- // tslint:disable-next-line
34
- else if (performance && typeof performance.now === 'function') {
35
- startTick = performance.now;
36
- timeTaken = function (startTick) {
37
- var end = performance.now();
38
- return end - startTick;
39
- };
40
- }
41
- else {
42
- startTick = function () {
43
- return new Date().valueOf();
44
- };
45
- timeTaken = function (startTick) {
46
- return new Date().valueOf() - startTick;
47
- };
48
- }
49
- var StateMachine = /** @class */ (function () {
50
- function StateMachine(maxStep) {
51
- this.listeners = {};
52
- this.step = 1;
53
- this.subStep = 0;
54
- this.maxStep = maxStep;
55
- this.startTick = this.getStartTick();
56
- }
57
- StateMachine.prototype.jump = function (step) {
58
- this.step = step;
59
- this.subStep = 0;
60
- return this.step;
61
- };
62
- StateMachine.prototype.move = function () {
63
- var listeners = this.listeners[this.step];
64
- this.step = this.step + 1;
65
- this.subStep = 0;
66
- if (listeners) {
67
- listeners.forEach(function (l) { return l(); });
68
- }
69
- return this.step;
70
- };
71
- StateMachine.prototype.moveSubStep = function () {
72
- var subStep = ++this.subStep;
73
- if (this.maxSubStep === this.subStep)
74
- this.move();
75
- return subStep;
76
- };
77
- StateMachine.prototype.get = function () {
78
- var _a = this, step = _a.step, subStep = _a.subStep, maxStep = _a.maxStep, minSubStep = _a.minSubStep, maxSubStep = _a.maxSubStep;
79
- return {
80
- step: step,
81
- maxStep: maxStep,
82
- subStep: subStep,
83
- minSubStep: minSubStep,
84
- maxSubStep: maxSubStep
85
- };
86
- };
87
- StateMachine.prototype.on = function (step, listener) {
88
- this.listeners[step] = [listener];
89
- };
90
- StateMachine.prototype.isNotValid = function (step) {
91
- return step !== this.step || (this.maxStep !== undefined && this.maxStep < step);
92
- };
93
- StateMachine.prototype.isValid = function (step) {
94
- return step === this.step;
95
- };
96
- StateMachine.prototype.isMaxStepDefined = function () {
97
- return this.maxStep !== undefined;
98
- };
99
- StateMachine.prototype.stopAccepting = function () {
100
- this.maxStep = this.step - 1;
101
- };
102
- StateMachine.prototype.isAccepting = function () {
103
- // istanbul ignore next
104
- return this.maxStep ? this.maxStep >= this.step : true;
105
- };
106
- StateMachine.prototype.getTimeTaken = function () {
107
- return timeTaken(this.startTick);
108
- };
109
- StateMachine.prototype.getStartTick = function () {
110
- return startTick();
111
- };
112
- return StateMachine;
113
- }());
114
- exports.StateMachine = StateMachine;
115
- //# sourceMappingURL=StateMachine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StateMachine.js","sourceRoot":"","sources":["../../src/assert-order/StateMachine.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from './AssertOrder';
2
- export * from './interfaces';
@@ -1,7 +0,0 @@
1
- "use strict";
2
- function __export(m) {
3
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
4
- }
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- __export(require("./AssertOrder"));
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assert-order/index.ts"],"names":[],"mappings":";;;;;AAAA,mCAA6B"}
@@ -1,7 +0,0 @@
1
- export interface State {
2
- step: number;
3
- maxStep?: number;
4
- subStep: number;
5
- minSubStep?: number;
6
- maxSubStep?: number;
7
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=interfaces.js.map