assertron 7.1.3 → 9.0.2

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 (143) hide show
  1. package/LICENSE +2 -2
  2. package/README.md +11 -29
  3. package/package.json +48 -34
  4. package/src/assert-order/AssertOrder.spec.ts +10 -11
  5. package/src/assert-order/AssertOrder.ts +7 -7
  6. package/src/assert-order/InvalidOrder.ts +6 -8
  7. package/src/assert-order/StateMachine.ts +4 -4
  8. package/src/assert-order/index.ts +3 -1
  9. package/src/assert-order/{interfaces.ts → types.ts} +0 -0
  10. package/src/assertron/assertron.spec.ts +2 -3
  11. package/src/assertron/assertron.ts +13 -14
  12. package/src/assertron/falsy.spec.ts +2 -3
  13. package/src/assertron/falsy.ts +2 -6
  14. package/src/assertron/pathEqual.spec.ts +2 -3
  15. package/src/assertron/pathEqual.ts +4 -7
  16. package/src/assertron/rejects.spec.ts +7 -8
  17. package/src/assertron/rejects.ts +3 -9
  18. package/src/assertron/repeat.spec.ts +7 -9
  19. package/src/assertron/repeat.ts +4 -9
  20. package/src/assertron/resolves.spec.ts +3 -4
  21. package/src/assertron/resolves.ts +3 -10
  22. package/src/assertron/satisfies.spec.ts +53 -21
  23. package/src/assertron/satisfies.ts +23 -10
  24. package/src/assertron/throws.spec.ts +46 -35
  25. package/src/assertron/throws.ts +29 -53
  26. package/src/assertron/truthy.spec.ts +2 -3
  27. package/src/assertron/truthy.ts +2 -3
  28. package/src/errors.ts +22 -0
  29. package/src/index.ts +2 -1
  30. package/src/testUtils.ts +16 -13
  31. package/src/{errors/interfaces.ts → types.ts} +0 -0
  32. package/src/utils/index.ts +12 -0
  33. package/src/{errors/util.ts → utils/isErrorConstructor.ts} +1 -1
  34. package/src/utils/notEqualMessage.ts +4 -0
  35. package/src/{errors → utils}/notSatisfiedMessage.spec.ts +0 -0
  36. package/src/{errors/NotSatisfied.ts → utils/notSatisfiedMessage.ts} +0 -0
  37. package/src/{errors → utils}/notThrownMessage.ts +0 -0
  38. package/src/utils/promiseMessages.ts +12 -0
  39. package/src/{errors → utils}/unexpectedErrorMessage.ts +4 -3
  40. package/lib/assert-order/AssertOrder.d.ts +0 -41
  41. package/lib/assert-order/AssertOrder.d.ts.map +0 -1
  42. package/lib/assert-order/AssertOrder.js +0 -147
  43. package/lib/assert-order/InvalidOrder.d.ts +0 -6
  44. package/lib/assert-order/InvalidOrder.d.ts.map +0 -1
  45. package/lib/assert-order/InvalidOrder.js +0 -43
  46. package/lib/assert-order/StateMachine.d.ts +0 -22
  47. package/lib/assert-order/StateMachine.d.ts.map +0 -1
  48. package/lib/assert-order/StateMachine.js +0 -109
  49. package/lib/assert-order/index.d.ts +0 -3
  50. package/lib/assert-order/index.d.ts.map +0 -1
  51. package/lib/assert-order/index.js +0 -5
  52. package/lib/assert-order/interfaces.d.ts +0 -8
  53. package/lib/assert-order/interfaces.d.ts.map +0 -1
  54. package/lib/assert-order/interfaces.js +0 -3
  55. package/lib/assertron/assertron.d.ts +0 -21
  56. package/lib/assertron/assertron.d.ts.map +0 -1
  57. package/lib/assertron/assertron.js +0 -31
  58. package/lib/assertron/falsy.d.ts +0 -2
  59. package/lib/assertron/falsy.d.ts.map +0 -1
  60. package/lib/assertron/falsy.js +0 -10
  61. package/lib/assertron/index.d.ts +0 -2
  62. package/lib/assertron/index.d.ts.map +0 -1
  63. package/lib/assertron/index.js +0 -5
  64. package/lib/assertron/pathEqual.d.ts +0 -2
  65. package/lib/assertron/pathEqual.d.ts.map +0 -1
  66. package/lib/assertron/pathEqual.js +0 -12
  67. package/lib/assertron/rejects.d.ts +0 -2
  68. package/lib/assertron/rejects.d.ts.map +0 -1
  69. package/lib/assertron/rejects.js +0 -13
  70. package/lib/assertron/repeat.d.ts +0 -12
  71. package/lib/assertron/repeat.d.ts.map +0 -1
  72. package/lib/assertron/repeat.js +0 -43
  73. package/lib/assertron/resolves.d.ts +0 -2
  74. package/lib/assertron/resolves.d.ts.map +0 -1
  75. package/lib/assertron/resolves.js +0 -16
  76. package/lib/assertron/satisfies.d.ts +0 -6
  77. package/lib/assertron/satisfies.d.ts.map +0 -1
  78. package/lib/assertron/satisfies.js +0 -18
  79. package/lib/assertron/throws.d.ts +0 -6
  80. package/lib/assertron/throws.d.ts.map +0 -1
  81. package/lib/assertron/throws.js +0 -59
  82. package/lib/assertron/truthy.d.ts +0 -2
  83. package/lib/assertron/truthy.d.ts.map +0 -1
  84. package/lib/assertron/truthy.js +0 -10
  85. package/lib/errors/NotSatisfied.d.ts +0 -3
  86. package/lib/errors/NotSatisfied.d.ts.map +0 -1
  87. package/lib/errors/NotSatisfied.js +0 -27
  88. package/lib/errors/index.d.ts +0 -8
  89. package/lib/errors/index.d.ts.map +0 -1
  90. package/lib/errors/index.js +0 -10
  91. package/lib/errors/interfaces.d.ts +0 -3
  92. package/lib/errors/interfaces.d.ts.map +0 -1
  93. package/lib/errors/interfaces.js +0 -3
  94. package/lib/errors/notEqualMessage.d.ts +0 -2
  95. package/lib/errors/notEqualMessage.d.ts.map +0 -1
  96. package/lib/errors/notEqualMessage.js +0 -7
  97. package/lib/errors/notRejectedMessage.d.ts +0 -2
  98. package/lib/errors/notRejectedMessage.d.ts.map +0 -1
  99. package/lib/errors/notRejectedMessage.js +0 -7
  100. package/lib/errors/notThrownMessage.d.ts +0 -2
  101. package/lib/errors/notThrownMessage.d.ts.map +0 -1
  102. package/lib/errors/notThrownMessage.js +0 -8
  103. package/lib/errors/returnNotRejectedMessage.d.ts +0 -2
  104. package/lib/errors/returnNotRejectedMessage.d.ts.map +0 -1
  105. package/lib/errors/returnNotRejectedMessage.js +0 -7
  106. package/lib/errors/unexpectedErrorMessage.d.ts +0 -3
  107. package/lib/errors/unexpectedErrorMessage.d.ts.map +0 -1
  108. package/lib/errors/unexpectedErrorMessage.js +0 -9
  109. package/lib/errors/util.d.ts +0 -3
  110. package/lib/errors/util.d.ts.map +0 -1
  111. package/lib/errors/util.js +0 -7
  112. package/lib/index.d.ts +0 -5
  113. package/lib/index.d.ts.map +0 -1
  114. package/lib/index.js +0 -8
  115. package/libm/assert-order/AssertOrder.js +0 -132
  116. package/libm/assert-order/InvalidOrder.js +0 -31
  117. package/libm/assert-order/StateMachine.js +0 -102
  118. package/libm/assert-order/index.js +0 -2
  119. package/libm/assert-order/interfaces.js +0 -1
  120. package/libm/assertron/assertron.js +0 -28
  121. package/libm/assertron/falsy.js +0 -6
  122. package/libm/assertron/index.js +0 -2
  123. package/libm/assertron/pathEqual.js +0 -8
  124. package/libm/assertron/rejects.js +0 -9
  125. package/libm/assertron/repeat.js +0 -35
  126. package/libm/assertron/resolves.js +0 -12
  127. package/libm/assertron/satisfies.js +0 -14
  128. package/libm/assertron/throws.js +0 -55
  129. package/libm/assertron/truthy.js +0 -6
  130. package/libm/errors/NotSatisfied.js +0 -23
  131. package/libm/errors/index.js +0 -7
  132. package/libm/errors/interfaces.js +0 -1
  133. package/libm/errors/notEqualMessage.js +0 -4
  134. package/libm/errors/notRejectedMessage.js +0 -4
  135. package/libm/errors/notThrownMessage.js +0 -5
  136. package/libm/errors/returnNotRejectedMessage.js +0 -4
  137. package/libm/errors/unexpectedErrorMessage.js +0 -6
  138. package/libm/errors/util.js +0 -4
  139. package/libm/index.js +0 -5
  140. package/src/errors/index.ts +0 -7
  141. package/src/errors/notEqualMessage.ts +0 -3
  142. package/src/errors/notRejectedMessage.ts +0 -3
  143. package/src/errors/returnNotRejectedMessage.ts +0 -3
@@ -1,7 +1,8 @@
1
1
  import { tersify } from 'tersify';
2
- import { ErrorConstructor, ErrorValidator } from '.';
3
- import { isErrorConstructor } from './util';
2
+ import { ErrorConstructor, ErrorValidator } from '../types';
3
+ import { isErrorConstructor } from './isErrorConstructor';
4
4
 
5
5
  export function unexpectedErrorMessage(actual: any, expected: ErrorValidator | ErrorConstructor<any>) {
6
- return `Unexpected error. Expecting '${isErrorConstructor(expected) ? expected.name : tersify(expected)}' but received ${tersify(actual)}`
6
+ return `Unexpected error. Expecting '${isErrorConstructor(expected) ?
7
+ expected.name : tersify(expected)}' but received ${tersify(actual)}`
7
8
  }
@@ -1,41 +0,0 @@
1
- export declare class AssertOrder {
2
- /**
3
- * Gets the current expecting step.
4
- */
5
- get 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
- }
41
- //# sourceMappingURL=AssertOrder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AssertOrder.d.ts","sourceRoot":"","sources":["../../src/assert-order/AssertOrder.ts"],"names":[],"mappings":"AAMA,qBAAa,WAAW;IACtB;;OAEG;IACH,IAAI,WAAW,WAEd;IAED,OAAO,CAAC,KAAK,CAAc;gBACf,IAAI,CAAC,EAAE,MAAM;IAIzB;;;OAGG;IACH,EAAE,CAAC,IAAI,EAAE,MAAM;IAIf;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM;IAMhB;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM;IAIjB;;OAEG;IACH,IAAI;IAIJ;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM;IAKjB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;IAM/C,WAAW,CAAC,IAAI,EAAE,MAAM;IAaxB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE;IAQnB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE;IAoB7C,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACrC,GAAG,IAAI,MAAM;IAmBb,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAWnC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IACjC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAO9C,OAAO,CAAC,MAAM;CAKf"}
@@ -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=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXNzZXJ0T3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzZXJ0LW9yZGVyL0Fzc2VydE9yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0NBQTZDO0FBQzdDLCtDQUE2QztBQUU3QywrRUFBK0U7QUFDL0UsNEVBQTRFO0FBRTVFO0lBU0UscUJBQVksSUFBYTtRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksMkJBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBUEQsc0JBQUksb0NBQVc7UUFIZjs7V0FFRzthQUNIO1lBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQTtRQUN4QixDQUFDOzs7T0FBQTtJQU9EOzs7T0FHRztJQUNILHdCQUFFLEdBQUYsVUFBRyxJQUFZO1FBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNILHlCQUFHLEdBQUgsVUFBSSxJQUFZO1FBQ2QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM1QixNQUFNLElBQUksMkJBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFBO1NBQ2hFO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsMEJBQUksR0FBSixVQUFLLElBQVk7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCwwQkFBSSxHQUFKO1FBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSCwwQkFBSSxHQUFKLFVBQUssSUFBWTtRQUNmLElBQUks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
@@ -1,6 +0,0 @@
1
- import AssertionError from 'assertion-error';
2
- import { State } from './interfaces';
3
- export declare class InvalidOrder extends AssertionError {
4
- constructor(state: State, method: string, ssf: Function, ...args: any[]);
5
- }
6
- //# sourceMappingURL=InvalidOrder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InvalidOrder.d.ts","sourceRoot":"","sources":["../../src/assert-order/InvalidOrder.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,qBAAa,YAAa,SAAQ,cAAc;gBAClC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;CAIxE"}
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var assertion_error_1 = tslib_1.__importDefault(require("assertion-error"));
5
- var InvalidOrder = /** @class */ (function (_super) {
6
- tslib_1.__extends(InvalidOrder, _super);
7
- function InvalidOrder(state, method, ssf) {
8
- var args = [];
9
- for (var _i = 3; _i < arguments.length; _i++) {
10
- args[_i - 3] = arguments[_i];
11
- }
12
- var _this = this;
13
- var message = method === 'end' ? getEndMessage(state) : getExpectingMessage(state, method, args);
14
- _this = _super.call(this, message, { method: method, state: state, args: args }, ssf) || this;
15
- return _this;
16
- }
17
- return InvalidOrder;
18
- }(assertion_error_1.default));
19
- exports.InvalidOrder = InvalidOrder;
20
- function getEndMessage(state) {
21
- return "Planned for " + state.maxStep + " step but expecting step " + state.step + " when 'end()' is called";
22
- }
23
- function getExpectingMessage(state, method, args) {
24
- return "Expecting " + getExpectingCalls(state) + ", but received '" + method + "(" + getMethodArgs(args) + ")'";
25
- }
26
- function getExpectingCalls(state) {
27
- var message;
28
- if (state.subStep === 0) {
29
- var methods = ['is', 'once', 'any'];
30
- message = methods.map(function (m) { return ['any'].indexOf(m) === -1 ?
31
- "'" + m + "(" + state.step + ")'" :
32
- "'" + m + "([" + state.step + "])'"; }).join(', ');
33
- }
34
- else {
35
- var methods = ['exactly'];
36
- message = methods.map(function (m) { return "'" + m + "(" + state.step + ", " + state.maxSubStep + ")'"; }).join(', ');
37
- }
38
- return message;
39
- }
40
- function getMethodArgs(args) {
41
- return args.map(function (a) { return Array.isArray(a) ? "[" + a.join(', ') + "]" : a; }).join(', ');
42
- }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW52YWxpZE9yZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydC1vcmRlci9JbnZhbGlkT3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNEVBQTZDO0FBRzdDO0lBQWtDLHdDQUFjO0lBQzlDLHNCQUFZLEtBQVksRUFBRSxNQUFjLEVBQUUsR0FBYTtRQUFFLGNBQWM7YUFBZCxVQUFjLEVBQWQscUJBQWMsRUFBZCxJQUFjO1lBQWQsNkJBQWM7O1FBQXZFLGlCQUdDO1FBRkMsSUFBTSxPQUFPLEdBQUcsTUFBTSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ2xHLFFBQUEsa0JBQU0sT0FBTyxFQUFFLEVBQUUsTUFBTSxRQUFBLEVBQUUsS0FBSyxPQUFBLEVBQUUsSUFBSSxNQUFBLEVBQUUsRUFBRSxHQUFHLENBQUMsU0FBQTs7SUFDOUMsQ0FBQztJQUNILG1CQUFDO0FBQUQsQ0FBQyxBQUxELENBQWtDLHlCQUFjLEdBSy9DO0FBTFksb0NBQVk7QUFPekIsU0FBUyxhQUFhLENBQUMsS0FBWTtJQUNqQyxPQUFPLGlCQUFlLEtBQUssQ0FBQyxPQUFPLGlDQUE0QixLQUFLLENBQUMsSUFBSSw0QkFBeUIsQ0FBQTtBQUNwRyxDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxLQUFZLEVBQUUsTUFBYyxFQUFFLElBQVc7SUFDcEUsT0FBTyxlQUFhLGlCQUFpQixDQUFDLEtBQUssQ0FBQyx3QkFBbUIsTUFBTSxTQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBSSxDQUFBO0FBQ2xHLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEtBQVk7SUFDckMsSUFBSSxPQUFlLENBQUE7SUFDbkIsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLENBQUMsRUFBRTtRQUN2QixJQUFNLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDckMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BELE1BQUksQ0FBQyxTQUFJLEtBQUssQ0FBQyxJQUFJLE9BQUksQ0FBQyxDQUFDO1lBQ3pCLE1BQUksQ0FBQyxVQUFLLEtBQUssQ0FBQyxJQUFJLFFBQUssRUFGQSxDQUVBLENBQzFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0tBQ2I7U0FDSTtRQUNILElBQU0sT0FBTyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDM0IsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxNQUFJLENBQUMsU0FBSSxLQUFLLENBQUMsSUFBSSxVQUFLLEtBQUssQ0FBQyxVQUFVLE9BQUksRUFBNUMsQ0FBNEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtLQUNwRjtJQUNELE9BQU8sT0FBTyxDQUFBO0FBQ2hCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxJQUFXO0lBQ2hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQTFDLENBQTBDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDN0UsQ0FBQyJ9
@@ -1,22 +0,0 @@
1
- import { State } from './interfaces';
2
- export declare class StateMachine {
3
- listeners: Record<number, Array<() => void>>;
4
- step: number;
5
- maxStep?: number;
6
- subStep: number;
7
- minSubStep?: number;
8
- maxSubStep?: number;
9
- constructor(maxStep?: number);
10
- jump(step: number): number;
11
- move(): number;
12
- moveSubStep(): number;
13
- get(): State;
14
- on(step: number, listener: () => void): void;
15
- isNotValid(step: number): boolean;
16
- isValid(step: number): boolean;
17
- isMaxStepDefined(): boolean;
18
- stopAccepting(): void;
19
- isAccepting(): boolean;
20
- getTimeTaken(): number;
21
- }
22
- //# sourceMappingURL=StateMachine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StateMachine.d.ts","sourceRoot":"","sources":["../../src/assert-order/StateMachine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AA4CpC,qBAAa,YAAY;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAK;IACjD,IAAI,SAAI;IACR,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,OAAO,SAAI;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;gBACP,OAAO,CAAC,EAAE,MAAM;IAI5B,IAAI,CAAC,IAAI,EAAE,MAAM;IAKjB,IAAI;IASJ,WAAW;IAMX,GAAG,IAAI,KAAK;IAUZ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI;IAGrC,UAAU,CAAC,IAAI,EAAE,MAAM;IAGvB,OAAO,CAAC,IAAI,EAAE,MAAM;IAGpB,gBAAgB;IAGhB,aAAa;IAGb,WAAW;IAIX,YAAY;CAGb"}
@@ -1,109 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var is_node_1 = tslib_1.__importDefault(require("is-node"));
5
- // istanbul ignore next
6
- function nodeVersionIsOrAbove(major, minor, patch) {
7
- if (minor === void 0) { minor = 0; }
8
- if (patch === void 0) { patch = 0; }
9
- // without this, systemjs will complain `process is not defined`
10
- if (!global.process)
11
- return false;
12
- var versionString = process.version.startsWith('v') ? process.version.slice(1) : process.version;
13
- var _a = versionString.split('.').map(function (s) { return parseInt(s, 10); }), actualMajor = _a[0], actualMinor = _a[1], actualPatch = _a[2];
14
- var checking = major * 1000 * 1000 + minor * 1000 + patch;
15
- var actual = actualMajor * 1000 * 1000 + actualMinor * 1000 + actualPatch;
16
- return actual >= checking;
17
- }
18
- // istanbul ignore next
19
- var performance = is_node_1.default && nodeVersionIsOrAbove(8, 5) ? require('perf_hooks').performance : undefined;
20
- var timeTracker;
21
- // istanbul ignore else
22
- if (process && typeof process.hrtime === 'function') {
23
- var tick_1;
24
- timeTracker = {
25
- start: function () { tick_1 = process.hrtime(); },
26
- taken: function () {
27
- var _a = process.hrtime(tick_1), second = _a[0], nanoSecond = _a[1];
28
- return second * 1000 + nanoSecond / 1e6;
29
- }
30
- };
31
- }
32
- else if (performance && typeof performance.now === 'function') {
33
- var tick_2;
34
- timeTracker = {
35
- start: function () { tick_2 = performance.now(); },
36
- taken: function () { return performance.now() - tick_2; }
37
- };
38
- }
39
- else {
40
- var tick_3;
41
- timeTracker = {
42
- start: function () { tick_3 = new Date().valueOf(); },
43
- taken: function () { return new Date().valueOf() - tick_3; }
44
- };
45
- }
46
- var StateMachine = /** @class */ (function () {
47
- function StateMachine(maxStep) {
48
- this.listeners = {};
49
- this.step = 1;
50
- this.subStep = 0;
51
- this.maxStep = maxStep;
52
- timeTracker.start();
53
- }
54
- StateMachine.prototype.jump = function (step) {
55
- this.step = step;
56
- this.subStep = 0;
57
- return this.step;
58
- };
59
- StateMachine.prototype.move = function () {
60
- var listeners = this.listeners[this.step];
61
- this.step = this.step + 1;
62
- this.subStep = 0;
63
- if (listeners) {
64
- listeners.forEach(function (l) { return l(); });
65
- }
66
- return this.step;
67
- };
68
- StateMachine.prototype.moveSubStep = function () {
69
- var subStep = ++this.subStep;
70
- if (this.maxSubStep === this.subStep)
71
- this.move();
72
- return subStep;
73
- };
74
- StateMachine.prototype.get = function () {
75
- var _a = this, step = _a.step, subStep = _a.subStep, maxStep = _a.maxStep, minSubStep = _a.minSubStep, maxSubStep = _a.maxSubStep;
76
- return {
77
- step: step,
78
- maxStep: maxStep,
79
- subStep: subStep,
80
- minSubStep: minSubStep,
81
- maxSubStep: maxSubStep
82
- };
83
- };
84
- StateMachine.prototype.on = function (step, listener) {
85
- this.listeners[step] = [listener];
86
- };
87
- StateMachine.prototype.isNotValid = function (step) {
88
- return step !== this.step || (this.maxStep !== undefined && this.maxStep < step);
89
- };
90
- StateMachine.prototype.isValid = function (step) {
91
- return step === this.step;
92
- };
93
- StateMachine.prototype.isMaxStepDefined = function () {
94
- return this.maxStep !== undefined;
95
- };
96
- StateMachine.prototype.stopAccepting = function () {
97
- this.maxStep = this.step - 1;
98
- };
99
- StateMachine.prototype.isAccepting = function () {
100
- // istanbul ignore next
101
- return this.maxStep ? this.maxStep >= this.step : true;
102
- };
103
- StateMachine.prototype.getTimeTaken = function () {
104
- return timeTracker.taken();
105
- };
106
- return StateMachine;
107
- }());
108
- exports.StateMachine = StateMachine;
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhdGVNYWNoaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydC1vcmRlci9TdGF0ZU1hY2hpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNERBQTRCO0FBRzVCLHVCQUF1QjtBQUN2QixTQUFTLG9CQUFvQixDQUFDLEtBQWEsRUFBRSxLQUFTLEVBQUUsS0FBUztJQUFwQixzQkFBQSxFQUFBLFNBQVM7SUFBRSxzQkFBQSxFQUFBLFNBQVM7SUFDL0QsZ0VBQWdFO0lBQ2hFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztRQUNqQixPQUFPLEtBQUssQ0FBQTtJQUNkLElBQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQTtJQUM1RixJQUFBLDJFQUE0RixFQUEzRixtQkFBVyxFQUFFLG1CQUFXLEVBQUUsbUJBQWlFLENBQUE7SUFDbEcsSUFBTSxRQUFRLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRyxLQUFLLENBQUE7SUFDM0QsSUFBTSxNQUFNLEdBQUcsV0FBVyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsV0FBVyxHQUFHLElBQUksR0FBRyxXQUFXLENBQUE7SUFDM0UsT0FBTyxNQUFNLElBQUksUUFBUSxDQUFBO0FBQzNCLENBQUM7QUFFRCx1QkFBdUI7QUFDdkIsSUFBTSxXQUFXLEdBQUcsaUJBQU0sSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtBQUV4RyxJQUFJLFdBQStDLENBQUE7QUFDbkQs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
@@ -1,3 +0,0 @@
1
- export * from './AssertOrder';
2
- export * from './interfaces';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assert-order/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA"}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./AssertOrder"), exports);
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzZXJ0LW9yZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUE2QiJ9
@@ -1,8 +0,0 @@
1
- export interface State {
2
- step: number;
3
- maxStep?: number;
4
- subStep: number;
5
- minSubStep?: number;
6
- maxSubStep?: number;
7
- }
8
- //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/assert-order/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnQtb3JkZXIvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -1,21 +0,0 @@
1
- import { falsy } from './falsy';
2
- import { pathEqual } from './pathEqual';
3
- import { rejects } from './rejects';
4
- import { repeat } from './repeat';
5
- import { resolves } from './resolves';
6
- import { satisfies } from './satisfies';
7
- import { throws } from './throws';
8
- import { truthy } from './truthy';
9
- export declare const assertron: {
10
- false(value: any): void;
11
- falsy: typeof falsy;
12
- pathEqual: typeof pathEqual;
13
- rejects: typeof rejects;
14
- repeat: typeof repeat;
15
- resolves: typeof resolves;
16
- satisfies: typeof satisfies;
17
- throws: typeof throws;
18
- true(value: any): void;
19
- truthy: typeof truthy;
20
- };
21
- //# sourceMappingURL=assertron.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assertron.d.ts","sourceRoot":"","sources":["../../src/assertron/assertron.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,SAAS;;;;;;;;;;;CAmBrB,CAAA"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var assertion_error_1 = tslib_1.__importDefault(require("assertion-error"));
5
- var falsy_1 = require("./falsy");
6
- var pathEqual_1 = require("./pathEqual");
7
- var rejects_1 = require("./rejects");
8
- var repeat_1 = require("./repeat");
9
- var resolves_1 = require("./resolves");
10
- var satisfies_1 = require("./satisfies");
11
- var throws_1 = require("./throws");
12
- var truthy_1 = require("./truthy");
13
- exports.assertron = {
14
- false: function (value) {
15
- if (value !== false)
16
- throw new assertion_error_1.default("Expected value to equal false, but received " + value, { value: value }, exports.assertron.false);
17
- },
18
- falsy: falsy_1.falsy,
19
- pathEqual: pathEqual_1.pathEqual,
20
- rejects: rejects_1.rejects,
21
- repeat: repeat_1.repeat,
22
- resolves: resolves_1.resolves,
23
- satisfies: satisfies_1.satisfies,
24
- throws: throws_1.throws,
25
- true: function (value) {
26
- if (value !== true)
27
- throw new assertion_error_1.default("Expected value to equal true, but received " + value, { value: value }, exports.assertron.true);
28
- },
29
- truthy: truthy_1.truthy
30
- };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0cm9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydHJvbi9hc3NlcnRyb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNEVBQTZDO0FBQzdDLGlDQUFnQztBQUNoQyx5Q0FBd0M7QUFDeEMscUNBQW9DO0FBQ3BDLG1DQUFrQztBQUNsQyx1Q0FBc0M7QUFDdEMseUNBQXdDO0FBQ3hDLG1DQUFrQztBQUNsQyxtQ0FBa0M7QUFFckIsUUFBQSxTQUFTLEdBQUc7SUFDdkIsS0FBSyxFQUFMLFVBQU0sS0FBVTtRQUNkLElBQUksS0FBSyxLQUFLLEtBQUs7WUFDakIsTUFBTSxJQUFJLHlCQUFjLENBQ3RCLGlEQUErQyxLQUFPLEVBQ3RELEVBQUUsS0FBSyxPQUFBLEVBQUUsRUFDVCxpQkFBUyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3RCLENBQUM7SUFDRCxLQUFLLGVBQUE7SUFDTCxTQUFTLHVCQUFBO0lBQ1QsT0FBTyxtQkFBQTtJQUNQLE1BQU0saUJBQUE7SUFDTixRQUFRLHFCQUFBO0lBQ1IsU0FBUyx1QkFBQTtJQUNULE1BQU0saUJBQUE7SUFDTixJQUFJLEVBQUosVUFBSyxLQUFVO1FBQ2IsSUFBSSxLQUFLLEtBQUssSUFBSTtZQUFFLE1BQU0sSUFBSSx5QkFBYyxDQUFDLGdEQUE4QyxLQUFPLEVBQUUsRUFBRSxLQUFLLE9BQUEsRUFBRSxFQUFFLGlCQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDaEksQ0FBQztJQUNELE1BQU0saUJBQUE7Q0FDUCxDQUFBIn0=
@@ -1,2 +0,0 @@
1
- export declare function falsy(value: any): void;
2
- //# sourceMappingURL=falsy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"falsy.d.ts","sourceRoot":"","sources":["../../src/assertron/falsy.ts"],"names":[],"mappings":"AAEA,wBAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,QAO/B"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var assertion_error_1 = tslib_1.__importDefault(require("assertion-error"));
5
- function falsy(value) {
6
- if (value)
7
- throw new assertion_error_1.default("Expected value to be falsy, but received " + value, { value: value }, falsy);
8
- }
9
- exports.falsy = falsy;
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsc3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzZXJ0cm9uL2ZhbHN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRFQUE0QztBQUU1QyxTQUFnQixLQUFLLENBQUMsS0FBVTtJQUM5QixJQUFJLEtBQUs7UUFDUCxNQUFNLElBQUkseUJBQWMsQ0FDdEIsOENBQTRDLEtBQU8sRUFDbkQsRUFBRSxLQUFLLE9BQUEsRUFBRSxFQUNULEtBQUssQ0FDTixDQUFBO0FBQ0wsQ0FBQztBQVBELHNCQU9DIn0=
@@ -1,2 +0,0 @@
1
- export * from './assertron';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assertron/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./assertron"), exports);
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzZXJ0cm9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUEyQiJ9
@@ -1,2 +0,0 @@
1
- export declare function pathEqual(actual: string, expected: string): void;
2
- //# sourceMappingURL=pathEqual.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pathEqual.d.ts","sourceRoot":"","sources":["../../src/assertron/pathEqual.ts"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAMzD"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var assertion_error_1 = tslib_1.__importDefault(require("assertion-error"));
5
- var path_equal_1 = require("path-equal");
6
- var errors_1 = require("../errors");
7
- function pathEqual(actual, expected) {
8
- if (!path_equal_1.pathEqual(actual, expected))
9
- throw new assertion_error_1.default(errors_1.notEqualMessage(actual, expected), { actual: actual, expected: expected }, pathEqual);
10
- }
11
- exports.pathEqual = pathEqual;
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aEVxdWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydHJvbi9wYXRoRXF1YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNEVBQTZDO0FBQzdDLHlDQUFzRDtBQUN0RCxvQ0FBNEM7QUFFNUMsU0FBZ0IsU0FBUyxDQUFDLE1BQWMsRUFBRSxRQUFnQjtJQUN4RCxJQUFJLENBQUMsc0JBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSx5QkFBYyxDQUN0Qix3QkFBZSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFDakMsRUFBRSxNQUFNLFFBQUEsRUFBRSxRQUFRLFVBQUEsRUFBRSxFQUNwQixTQUFTLENBQUMsQ0FBQTtBQUNoQixDQUFDO0FBTkQsOEJBTUMifQ==
@@ -1,2 +0,0 @@
1
- export declare function rejects(promise: Promise<any>): Promise<void>;
2
- //# sourceMappingURL=rejects.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rejects.d.ts","sourceRoot":"","sources":["../../src/assertron/rejects.ts"],"names":[],"mappings":"AAGA,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,iBAW5C"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var tersify_1 = require("tersify");
5
- var assertion_error_1 = tslib_1.__importDefault(require("assertion-error"));
6
- function rejects(promise) {
7
- return promise.then(function (value) {
8
- throw new assertion_error_1.default("Expected promise to reject, but it resolves with " + (typeof value === 'string' ?
9
- "'" + value + "'" : tersify_1.tersify(value, { maxLength: Infinity })), { value: value }, rejects);
10
- }, function () { });
11
- }
12
- exports.rejects = rejects;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRyb24vcmVqZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBa0M7QUFDbEMsNEVBQTZDO0FBRTdDLFNBQWdCLE9BQU8sQ0FBQyxPQUFxQjtJQUMzQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLFVBQUEsS0FBSztRQUNILE1BQU0sSUFBSSx5QkFBYyxDQUN0Qix1REFBb0QsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUM7WUFDN0UsTUFBSSxLQUFLLE1BQUcsQ0FBQyxDQUFDLENBQUMsaUJBQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBRSxFQUMxRCxFQUFFLEtBQUssT0FBQSxFQUFFLEVBQ1QsT0FBTyxDQUFDLENBQUE7SUFDWixDQUFDLEVBQ0QsY0FBUSxDQUFDLENBQ1YsQ0FBQTtBQUNILENBQUM7QUFYRCwwQkFXQyJ9
@@ -1,12 +0,0 @@
1
- import AssertionError from 'assertion-error';
2
- /**
3
- * Repeat the specified function n times and return the last result.
4
- * If the result is a promise, it will run the function sequentially.
5
- */
6
- export declare function repeat<R>(fn: () => R | (() => Promise<R>), times: number): ReturnType<typeof fn> extends Promise<R> ? Promise<R> : R;
7
- export declare class FailOnOccurance extends AssertionError {
8
- occurance: number;
9
- error: any;
10
- constructor(occurance: number, error: any);
11
- }
12
- //# sourceMappingURL=repeat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repeat.d.ts","sourceRoot":"","sources":["../../src/assertron/repeat.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,iBAAiB,CAAA;AAE5C;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAEpI;AAuBD,qBAAa,eAAgB,SAAQ,cAAc;IAC9B,SAAS,EAAE,MAAM;IAAS,KAAK,EAAE,GAAG;gBAApC,SAAS,EAAE,MAAM,EAAS,KAAK,EAAE,GAAG;CAGxD"}