assertron 10.0.1 → 11.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 (41) hide show
  1. package/cjs/assert-order/AssertOrder.js +99 -176
  2. package/cjs/assert-order/AssertOrder.js.map +1 -1
  3. package/cjs/assert-order/InvalidOrder.js +16 -34
  4. package/cjs/assert-order/InvalidOrder.js.map +1 -1
  5. package/cjs/assert-order/StateMachine.js +66 -122
  6. package/cjs/assert-order/StateMachine.js.map +1 -1
  7. package/cjs/assertron/assertron.js +12 -12
  8. package/cjs/assertron/assertron.js.map +1 -1
  9. package/cjs/assertron/falsy.js +2 -2
  10. package/cjs/assertron/falsy.js.map +1 -1
  11. package/cjs/assertron/pathEqual.js +3 -3
  12. package/cjs/assertron/pathEqual.js.map +1 -1
  13. package/cjs/assertron/rejects.js +3 -3
  14. package/cjs/assertron/rejects.js.map +1 -1
  15. package/cjs/assertron/repeat.js +4 -4
  16. package/cjs/assertron/repeat.js.map +1 -1
  17. package/cjs/assertron/resolves.js +3 -3
  18. package/cjs/assertron/resolves.js.map +1 -1
  19. package/cjs/assertron/satisfies.js +4 -4
  20. package/cjs/assertron/satisfies.js.map +1 -1
  21. package/cjs/assertron/throws.js +9 -9
  22. package/cjs/assertron/throws.js.map +1 -1
  23. package/cjs/assertron/truthy.js +2 -2
  24. package/cjs/assertron/truthy.js.map +1 -1
  25. package/cjs/errors.js +12 -32
  26. package/cjs/errors.js.map +1 -1
  27. package/cjs/index.js +1 -1
  28. package/cjs/index.js.map +1 -1
  29. package/cjs/utils/index.js +2 -2
  30. package/cjs/utils/index.js.map +1 -1
  31. package/cjs/utils/notEqualMessage.js +1 -1
  32. package/cjs/utils/notEqualMessage.js.map +1 -1
  33. package/cjs/utils/notSatisfiedMessage.js +6 -15
  34. package/cjs/utils/notSatisfiedMessage.js.map +1 -1
  35. package/cjs/utils/notThrownMessage.js +2 -2
  36. package/cjs/utils/notThrownMessage.js.map +1 -1
  37. package/cjs/utils/promiseMessages.js +5 -5
  38. package/cjs/utils/promiseMessages.js.map +1 -1
  39. package/cjs/utils/unexpectedErrorMessage.js +4 -4
  40. package/cjs/utils/unexpectedErrorMessage.js.map +1 -1
  41. package/package.json +2 -2
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AssertOrder = void 0;
4
- var InvalidOrder_js_1 = require("./InvalidOrder.js");
5
- var StateMachine_js_1 = require("./StateMachine.js");
4
+ const InvalidOrder_js_1 = require("./InvalidOrder.js");
5
+ const StateMachine_js_1 = require("./StateMachine.js");
6
6
  // order.atLeast(step, count) // expected to be executed at least `count` times
7
7
  // order.atMost(step, count) // exected to be executed at most `count` times
8
- var AssertOrder = /** @class */ (function () {
9
- function AssertOrder(plan) {
8
+ class AssertOrder {
9
+ constructor(plan) {
10
10
  Object.defineProperty(this, "state", {
11
11
  enumerable: true,
12
12
  configurable: true,
@@ -15,205 +15,128 @@ var AssertOrder = /** @class */ (function () {
15
15
  });
16
16
  this.state = new StateMachine_js_1.StateMachine(plan);
17
17
  }
18
- Object.defineProperty(AssertOrder.prototype, "currentStep", {
19
- /**
20
- * Gets the current expecting step.
21
- */
22
- get: function () {
23
- return this.state.step;
24
- },
25
- enumerable: false,
26
- configurable: true
27
- });
18
+ /**
19
+ * Gets the current expecting step.
20
+ */
21
+ get currentStep() {
22
+ return this.state.step;
23
+ }
28
24
  /**
29
25
  * Asserts the current step is `step`.
30
26
  * @param step expected step.
31
27
  */
32
- Object.defineProperty(AssertOrder.prototype, "is", {
33
- enumerable: false,
34
- configurable: true,
35
- writable: true,
36
- value: function (step) {
37
- this.assert('is', step);
38
- }
39
- });
28
+ is(step) {
29
+ this.assert('is', step);
30
+ }
40
31
  /**
41
32
  * Asserts the current step is not `step`.
42
33
  * @param step not expected step.
43
34
  */
44
- Object.defineProperty(AssertOrder.prototype, "not", {
45
- enumerable: false,
46
- configurable: true,
47
- writable: true,
48
- value: function (step) {
49
- if (this.state.isValid(step)) {
50
- throw new InvalidOrder_js_1.InvalidOrder(this.state.get(), 'not', [step], { ssf: this.not });
51
- }
35
+ not(step) {
36
+ if (this.state.isValid(step)) {
37
+ throw new InvalidOrder_js_1.InvalidOrder(this.state.get(), 'not', [step], { ssf: this.not });
52
38
  }
53
- });
39
+ }
54
40
  /**
55
41
  * Reset to specified step.
56
42
  */
57
- Object.defineProperty(AssertOrder.prototype, "jump", {
58
- enumerable: false,
59
- configurable: true,
60
- writable: true,
61
- value: function (step) {
62
- this.state.jump(step);
63
- }
64
- });
43
+ jump(step) {
44
+ this.state.jump(step);
45
+ }
65
46
  /**
66
47
  * Move to next step.
67
48
  */
68
- Object.defineProperty(AssertOrder.prototype, "move", {
69
- enumerable: false,
70
- configurable: true,
71
- writable: true,
72
- value: function () {
73
- this.state.move();
74
- }
75
- });
49
+ move() {
50
+ this.state.move();
51
+ }
76
52
  /**
77
53
  * Asserts the specified step will run once.
78
54
  */
79
- Object.defineProperty(AssertOrder.prototype, "once", {
80
- enumerable: false,
81
- configurable: true,
82
- writable: true,
83
- value: function (step) {
84
- this.assert('once', step);
55
+ once(step) {
56
+ this.assert('once', step);
57
+ this.state.move();
58
+ }
59
+ on(step, assert) {
60
+ this.state.on(step, () => {
61
+ assert(step);
62
+ });
63
+ }
64
+ atLeastOnce(step) {
65
+ const nextStep = step + 1;
66
+ if (this.state.step === step) {
85
67
  this.state.move();
68
+ return this.state.moveSubStep();
86
69
  }
87
- });
88
- Object.defineProperty(AssertOrder.prototype, "on", {
89
- enumerable: false,
90
- configurable: true,
91
- writable: true,
92
- value: function (step, assert) {
93
- this.state.on(step, function () {
94
- assert(step);
95
- });
96
- }
97
- });
98
- Object.defineProperty(AssertOrder.prototype, "atLeastOnce", {
99
- enumerable: false,
100
- configurable: true,
101
- writable: true,
102
- value: function (step) {
103
- var nextStep = step + 1;
104
- if (this.state.step === step) {
105
- this.state.move();
106
- return this.state.moveSubStep();
107
- }
108
- else if (this.state.step === nextStep && this.state.subStep > 0) {
109
- return this.state.moveSubStep();
110
- }
111
- else
112
- throw new InvalidOrder_js_1.InvalidOrder(this.state.get(), 'atLeastOnce', [step], { ssf: this.atLeastOnce });
113
- }
114
- });
115
- Object.defineProperty(AssertOrder.prototype, "any", {
116
- enumerable: false,
117
- configurable: true,
118
- writable: true,
119
- value: function (steps) {
120
- var index = steps.indexOf(this.state.step);
121
- if (index === -1)
122
- throw new InvalidOrder_js_1.InvalidOrder(this.state.get(), 'any', [steps], { ssf: this.any });
123
- this.state.move();
124
- return steps[index];
70
+ else if (this.state.step === nextStep && this.state.subStep > 0) {
71
+ return this.state.moveSubStep();
125
72
  }
126
- });
127
- Object.defineProperty(AssertOrder.prototype, "onAny", {
128
- enumerable: false,
129
- configurable: true,
130
- writable: true,
131
- value: function (steps) {
132
- var _this = this;
133
- var asserts = [];
134
- for (var _i = 1; _i < arguments.length; _i++) {
135
- asserts[_i - 1] = arguments[_i];
136
- }
137
- steps.forEach(function (step) {
138
- _this.state.on(step, function () {
139
- var firstError;
140
- var hasPass = false;
141
- asserts.forEach(function (assert) {
142
- try {
143
- assert(step);
144
- hasPass = true;
145
- }
146
- catch (err) {
147
- if (!firstError)
148
- firstError = err;
149
- }
150
- });
151
- if (!hasPass)
152
- throw firstError;
73
+ else
74
+ throw new InvalidOrder_js_1.InvalidOrder(this.state.get(), 'atLeastOnce', [step], { ssf: this.atLeastOnce });
75
+ }
76
+ any(steps) {
77
+ const index = steps.indexOf(this.state.step);
78
+ if (index === -1)
79
+ throw new InvalidOrder_js_1.InvalidOrder(this.state.get(), 'any', [steps], { ssf: this.any });
80
+ this.state.move();
81
+ return steps[index];
82
+ }
83
+ onAny(steps, ...asserts) {
84
+ steps.forEach(step => {
85
+ this.state.on(step, () => {
86
+ let firstError;
87
+ let hasPass = false;
88
+ asserts.forEach(assert => {
89
+ try {
90
+ assert(step);
91
+ hasPass = true;
92
+ }
93
+ catch (err) {
94
+ if (!firstError)
95
+ firstError = err;
96
+ }
153
97
  });
98
+ if (!hasPass)
99
+ throw firstError;
100
+ });
101
+ });
102
+ return;
103
+ }
104
+ end(timeout) {
105
+ if (timeout) {
106
+ return new Promise(r => {
107
+ setTimeout(r, timeout);
108
+ }).then(() => {
109
+ return this.end();
154
110
  });
155
- return;
156
111
  }
157
- });
158
- Object.defineProperty(AssertOrder.prototype, "end", {
159
- enumerable: false,
160
- configurable: true,
161
- writable: true,
162
- value: function (timeout) {
163
- var _this = this;
164
- if (timeout) {
165
- return new Promise(function (r) {
166
- setTimeout(r, timeout);
167
- }).then(function () {
168
- return _this.end();
169
- });
170
- }
171
- if (!this.state.isMaxStepDefined()) {
172
- this.state.stopAccepting();
173
- return this.state.getTimeTaken();
174
- }
175
- if (this.state.isAccepting()) {
176
- throw new InvalidOrder_js_1.InvalidOrder(this.state.get(), 'end', [], { ssf: this.end });
177
- }
112
+ if (!this.state.isMaxStepDefined()) {
113
+ this.state.stopAccepting();
114
+ return this.state.getTimeTaken();
178
115
  }
179
- });
180
- Object.defineProperty(AssertOrder.prototype, "exactly", {
181
- enumerable: false,
182
- configurable: true,
183
- writable: true,
184
- value: function (step, times) {
185
- if (this.state.isNotValid(step))
186
- throw new InvalidOrder_js_1.InvalidOrder(this.state.get(), 'exactly', [step, times], { ssf: this.exactly });
187
- if (this.state.maxSubStep === undefined) {
188
- this.state.maxSubStep = times;
189
- this.state.minSubStep = times;
190
- }
191
- return this.state.moveSubStep();
116
+ if (this.state.isAccepting()) {
117
+ throw new InvalidOrder_js_1.InvalidOrder(this.state.get(), 'end', [], { ssf: this.end });
192
118
  }
193
- });
194
- Object.defineProperty(AssertOrder.prototype, "wait", {
195
- enumerable: false,
196
- configurable: true,
197
- writable: true,
198
- value: function (step, callback) {
199
- var _this = this;
200
- if (callback)
201
- this.on(step, callback);
202
- else
203
- return new Promise(function (a) { _this.on(step, a); });
119
+ }
120
+ exactly(step, times) {
121
+ if (this.state.isNotValid(step))
122
+ throw new InvalidOrder_js_1.InvalidOrder(this.state.get(), 'exactly', [step, times], { ssf: this.exactly });
123
+ if (this.state.maxSubStep === undefined) {
124
+ this.state.maxSubStep = times;
125
+ this.state.minSubStep = times;
204
126
  }
205
- });
206
- Object.defineProperty(AssertOrder.prototype, "assert", {
207
- enumerable: false,
208
- configurable: true,
209
- writable: true,
210
- value: function (method, step) {
211
- if (this.state.isNotValid(step)) {
212
- throw new InvalidOrder_js_1.InvalidOrder(this.state.get(), method, [step], { ssf: this[method] });
213
- }
127
+ return this.state.moveSubStep();
128
+ }
129
+ wait(step, callback) {
130
+ if (callback)
131
+ this.on(step, callback);
132
+ else
133
+ return new Promise(a => { this.on(step, a); });
134
+ }
135
+ assert(method, step) {
136
+ if (this.state.isNotValid(step)) {
137
+ throw new InvalidOrder_js_1.InvalidOrder(this.state.get(), method, [step], { ssf: this[method] });
214
138
  }
215
- });
216
- return AssertOrder;
217
- }());
139
+ }
140
+ }
218
141
  exports.AssertOrder = AssertOrder;
219
142
  //# sourceMappingURL=AssertOrder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssertOrder.js","sourceRoot":"","sources":["../../ts/assert-order/AssertOrder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssertOrder.js","sourceRoot":"","sources":["../../ts/assert-order/AssertOrder.ts"],"names":[],"mappings":"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"}
@@ -1,68 +1,50 @@
1
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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.InvalidOrder = void 0;
19
- var errors_js_1 = require("../errors.js");
20
- var InvalidOrder = /** @class */ (function (_super) {
21
- __extends(InvalidOrder, _super);
22
- function InvalidOrder(state, method, args, options) {
23
- var _this = _super.call(this, method === 'end' ? getEndMessage(state) : getExpectingMessage(state, method, args), options) || this;
24
- Object.defineProperty(_this, "state", {
4
+ const errors_js_1 = require("../errors.js");
5
+ class InvalidOrder extends errors_js_1.AssertionError {
6
+ constructor(state, method, args, options) {
7
+ super(method === 'end' ? getEndMessage(state) : getExpectingMessage(state, method, args), options);
8
+ Object.defineProperty(this, "state", {
25
9
  enumerable: true,
26
10
  configurable: true,
27
11
  writable: true,
28
12
  value: state
29
13
  });
30
- Object.defineProperty(_this, "method", {
14
+ Object.defineProperty(this, "method", {
31
15
  enumerable: true,
32
16
  configurable: true,
33
17
  writable: true,
34
18
  value: method
35
19
  });
36
- Object.defineProperty(_this, "args", {
20
+ Object.defineProperty(this, "args", {
37
21
  enumerable: true,
38
22
  configurable: true,
39
23
  writable: true,
40
24
  value: args
41
25
  });
42
- return _this;
43
26
  }
44
- return InvalidOrder;
45
- }(errors_js_1.AssertionError));
27
+ }
46
28
  exports.InvalidOrder = InvalidOrder;
47
29
  function getEndMessage(state) {
48
- return "Planned for ".concat(state.maxStep, " step but expecting step ").concat(state.step, " when 'end()' is called");
30
+ return `Planned for ${state.maxStep} step but expecting step ${state.step} when 'end()' is called`;
49
31
  }
50
32
  function getExpectingMessage(state, method, args) {
51
- return "Expecting ".concat(getExpectingCalls(state), ", but received '").concat(method, "(").concat(getMethodArgs(args), ")'");
33
+ return `Expecting ${getExpectingCalls(state)}, but received '${method}(${getMethodArgs(args)})'`;
52
34
  }
53
35
  function getExpectingCalls(state) {
54
- var message;
36
+ let message;
55
37
  if (state.subStep === 0) {
56
- var methods = ['is', 'once', 'any'];
57
- message = methods.map(function (m) { return "'".concat(m, "(").concat(['any'].indexOf(m) === -1 ? state.step : "[".concat(state.step, "]"), ")'"); }).join(', ');
38
+ const methods = ['is', 'once', 'any'];
39
+ message = methods.map(m => `'${m}(${['any'].indexOf(m) === -1 ? state.step : `[${state.step}]`})'`).join(', ');
58
40
  }
59
41
  else {
60
- var methods = ['exactly'];
61
- message = methods.map(function (m) { return "'".concat(m, "(").concat(state.step, ", ").concat(state.maxSubStep, ")'"); }).join(', ');
42
+ const methods = ['exactly'];
43
+ message = methods.map(m => `'${m}(${state.step}, ${state.maxSubStep})'`).join(', ');
62
44
  }
63
45
  return message;
64
46
  }
65
47
  function getMethodArgs(args) {
66
- return args.map(function (a) { return Array.isArray(a) ? "[".concat(a.join(', '), "]") : a; }).join(', ');
48
+ return args.map(a => Array.isArray(a) ? `[${a.join(', ')}]` : a).join(', ');
67
49
  }
68
50
  //# sourceMappingURL=InvalidOrder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InvalidOrder.js","sourceRoot":"","sources":["../../ts/assert-order/InvalidOrder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,0CAA6C;AAG7C;IAAkC,gCAAc;IAC9C,sBAAmB,KAAY,EAAS,MAAc,EAAS,IAAW,EAAE,OAA+B;QAA3G,YACE,kBAAM,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,SACnG;;;;;mBAFkB;;;;;;mBAAqB;;;;;;mBAAuB;;;IAE/D,CAAC;IACH,mBAAC;AAAD,CAAC,AAJD,CAAkC,0BAAc,GAI/C;AAJY,oCAAY;AAMzB,SAAS,aAAa,CAAC,KAAY;IACjC,OAAO,sBAAe,KAAK,CAAC,OAAO,sCAA4B,KAAK,CAAC,IAAI,4BAAyB,CAAA;AACpG,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAY,EAAE,MAAc,EAAE,IAAW;IACpE,OAAO,oBAAa,iBAAiB,CAAC,KAAK,CAAC,6BAAmB,MAAM,cAAI,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,CACnB,UAAA,CAAC,IAAI,OAAA,WAAI,CAAC,cAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAI,KAAK,CAAC,IAAI,MAAG,OAAI,EAAvE,CAAuE,CAC7E,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,WAAI,CAAC,cAAI,KAAK,CAAC,IAAI,eAAK,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,WAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAC,CAAC,CAAC,CAAC,EAA1C,CAA0C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC7E,CAAC"}
1
+ {"version":3,"file":"InvalidOrder.js","sourceRoot":"","sources":["../../ts/assert-order/InvalidOrder.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAG7C,MAAa,YAAa,SAAQ,0BAAc;IAC9C,YAAmB,KAAY,EAAS,MAAc,EAAS,IAAW,EAAE,OAA+B;QACzG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;;;;;mBADjF;;;;;;mBAAqB;;;;;;mBAAuB;;IAE/D,CAAC;CACF;AAJD,oCAIC;AAED,SAAS,aAAa,CAAC,KAAY;IACjC,OAAO,eAAe,KAAK,CAAC,OAAO,4BAA4B,KAAK,CAAC,IAAI,yBAAyB,CAAA;AACpG,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAY,EAAE,MAAc,EAAE,IAAW;IACpE,OAAO,aAAa,iBAAiB,CAAC,KAAK,CAAC,mBAAmB,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAA;AAClG,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAY;IACrC,IAAI,OAAe,CAAA;IACnB,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,EAAE;QACvB,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACrC,OAAO,GAAG,OAAO,CAAC,GAAG,CACnB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,CAC7E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACb;SACI;QACH,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,CAAA;QAC3B,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,UAAU,IAAI,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,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC7E,CAAC"}
@@ -1,35 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StateMachine = void 0;
4
- var perf_hooks_1 = require("perf_hooks");
5
- var timeTracker;
4
+ const perf_hooks_1 = require("perf_hooks");
5
+ let timeTracker;
6
6
  // istanbul ignore else
7
7
  if (process && typeof process.hrtime === 'function') {
8
- var tick_1;
8
+ let tick;
9
9
  timeTracker = {
10
- start: function () { tick_1 = process.hrtime(); },
11
- taken: function () {
12
- var _a = process.hrtime(tick_1), second = _a[0], nanoSecond = _a[1];
10
+ start() { tick = process.hrtime(); },
11
+ taken() {
12
+ const [second, nanoSecond] = process.hrtime(tick);
13
13
  return second * 1000 + nanoSecond / 1e6;
14
14
  }
15
15
  };
16
16
  }
17
17
  else if (perf_hooks_1.performance && typeof perf_hooks_1.performance.now === 'function') {
18
- var tick_2;
18
+ let tick;
19
19
  timeTracker = {
20
- start: function () { tick_2 = perf_hooks_1.performance.now(); },
21
- taken: function () { return perf_hooks_1.performance.now() - tick_2; }
20
+ start() { tick = perf_hooks_1.performance.now(); },
21
+ taken() { return perf_hooks_1.performance.now() - tick; }
22
22
  };
23
23
  }
24
24
  else {
25
- var tick_3;
25
+ let tick;
26
26
  timeTracker = {
27
- start: function () { tick_3 = new Date().valueOf(); },
28
- taken: function () { return new Date().valueOf() - tick_3; }
27
+ start() { tick = new Date().valueOf(); },
28
+ taken() { return new Date().valueOf() - tick; }
29
29
  };
30
30
  }
31
- var StateMachine = /** @class */ (function () {
32
- function StateMachine(maxStep) {
31
+ class StateMachine {
32
+ constructor(maxStep) {
33
33
  Object.defineProperty(this, "listeners", {
34
34
  enumerable: true,
35
35
  configurable: true,
@@ -69,114 +69,58 @@ var StateMachine = /** @class */ (function () {
69
69
  this.maxStep = maxStep;
70
70
  timeTracker.start();
71
71
  }
72
- Object.defineProperty(StateMachine.prototype, "jump", {
73
- enumerable: false,
74
- configurable: true,
75
- writable: true,
76
- value: function (step) {
77
- this.step = step;
78
- this.subStep = 0;
79
- return this.step;
80
- }
81
- });
82
- Object.defineProperty(StateMachine.prototype, "move", {
83
- enumerable: false,
84
- configurable: true,
85
- writable: true,
86
- value: function () {
87
- var listeners = this.listeners[this.step];
88
- this.step = this.step + 1;
89
- this.subStep = 0;
90
- if (listeners) {
91
- listeners.forEach(function (l) { return l(); });
92
- }
93
- return this.step;
94
- }
95
- });
96
- Object.defineProperty(StateMachine.prototype, "moveSubStep", {
97
- enumerable: false,
98
- configurable: true,
99
- writable: true,
100
- value: function () {
101
- var subStep = ++this.subStep;
102
- if (this.maxSubStep === this.subStep)
103
- this.move();
104
- return subStep;
105
- }
106
- });
107
- Object.defineProperty(StateMachine.prototype, "get", {
108
- enumerable: false,
109
- configurable: true,
110
- writable: true,
111
- value: function () {
112
- var _a = this, step = _a.step, subStep = _a.subStep, maxStep = _a.maxStep, minSubStep = _a.minSubStep, maxSubStep = _a.maxSubStep;
113
- return {
114
- step: step,
115
- maxStep: maxStep,
116
- subStep: subStep,
117
- minSubStep: minSubStep,
118
- maxSubStep: maxSubStep
119
- };
120
- }
121
- });
122
- Object.defineProperty(StateMachine.prototype, "on", {
123
- enumerable: false,
124
- configurable: true,
125
- writable: true,
126
- value: function (step, listener) {
127
- this.listeners[step] = [listener];
128
- }
129
- });
130
- Object.defineProperty(StateMachine.prototype, "isNotValid", {
131
- enumerable: false,
132
- configurable: true,
133
- writable: true,
134
- value: function (step) {
135
- return step !== this.step || (this.maxStep !== undefined && this.maxStep < step);
136
- }
137
- });
138
- Object.defineProperty(StateMachine.prototype, "isValid", {
139
- enumerable: false,
140
- configurable: true,
141
- writable: true,
142
- value: function (step) {
143
- return step === this.step;
144
- }
145
- });
146
- Object.defineProperty(StateMachine.prototype, "isMaxStepDefined", {
147
- enumerable: false,
148
- configurable: true,
149
- writable: true,
150
- value: function () {
151
- return this.maxStep !== undefined;
152
- }
153
- });
154
- Object.defineProperty(StateMachine.prototype, "stopAccepting", {
155
- enumerable: false,
156
- configurable: true,
157
- writable: true,
158
- value: function () {
159
- this.maxStep = this.step - 1;
160
- }
161
- });
162
- Object.defineProperty(StateMachine.prototype, "isAccepting", {
163
- enumerable: false,
164
- configurable: true,
165
- writable: true,
166
- value: function () {
167
- // istanbul ignore next
168
- return this.maxStep ? this.maxStep >= this.step : true;
169
- }
170
- });
171
- Object.defineProperty(StateMachine.prototype, "getTimeTaken", {
172
- enumerable: false,
173
- configurable: true,
174
- writable: true,
175
- value: function () {
176
- return timeTracker.taken();
72
+ jump(step) {
73
+ this.step = step;
74
+ this.subStep = 0;
75
+ return this.step;
76
+ }
77
+ move() {
78
+ const listeners = this.listeners[this.step];
79
+ this.step = this.step + 1;
80
+ this.subStep = 0;
81
+ if (listeners) {
82
+ listeners.forEach(l => l());
177
83
  }
178
- });
179
- return StateMachine;
180
- }());
84
+ return this.step;
85
+ }
86
+ moveSubStep() {
87
+ const subStep = ++this.subStep;
88
+ if (this.maxSubStep === this.subStep)
89
+ this.move();
90
+ return subStep;
91
+ }
92
+ get() {
93
+ const { step, subStep, maxStep, minSubStep, maxSubStep } = this;
94
+ return {
95
+ step,
96
+ maxStep,
97
+ subStep,
98
+ minSubStep,
99
+ maxSubStep
100
+ };
101
+ }
102
+ on(step, listener) {
103
+ this.listeners[step] = [listener];
104
+ }
105
+ isNotValid(step) {
106
+ return step !== this.step || (this.maxStep !== undefined && this.maxStep < step);
107
+ }
108
+ isValid(step) {
109
+ return step === this.step;
110
+ }
111
+ isMaxStepDefined() {
112
+ return this.maxStep !== undefined;
113
+ }
114
+ stopAccepting() {
115
+ this.maxStep = this.step - 1;
116
+ }
117
+ isAccepting() {
118
+ // istanbul ignore next
119
+ return this.maxStep ? this.maxStep >= this.step : true;
120
+ }
121
+ getTimeTaken() {
122
+ return timeTracker.taken();
123
+ }
124
+ }
181
125
  exports.StateMachine = StateMachine;
182
126
  //# sourceMappingURL=StateMachine.js.map