assertron 7.1.3 → 8.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.
- package/{lib → cjs}/assert-order/AssertOrder.d.ts +1 -1
- package/{lib → cjs}/assert-order/AssertOrder.d.ts.map +1 -1
- package/cjs/assert-order/AssertOrder.js +148 -0
- package/cjs/assert-order/InvalidOrder.d.ts +10 -0
- package/cjs/assert-order/InvalidOrder.d.ts.map +1 -0
- package/cjs/assert-order/InvalidOrder.js +44 -0
- package/{lib → cjs}/assert-order/StateMachine.d.ts +0 -0
- package/{lib → cjs}/assert-order/StateMachine.d.ts.map +1 -1
- package/cjs/assert-order/StateMachine.js +111 -0
- package/{lib → cjs}/assert-order/index.d.ts +0 -0
- package/{lib → cjs}/assert-order/index.d.ts.map +0 -0
- package/{lib → cjs}/assert-order/index.js +3 -2
- package/{lib → cjs}/assert-order/interfaces.d.ts +0 -0
- package/{lib → cjs}/assert-order/interfaces.d.ts.map +0 -0
- package/{lib → cjs}/assert-order/interfaces.js +0 -0
- package/{lib → cjs}/assertron/assertron.d.ts +0 -0
- package/cjs/assertron/assertron.d.ts.map +1 -0
- package/{lib → cjs}/assertron/assertron.js +5 -4
- package/{lib → cjs}/assertron/falsy.d.ts +0 -0
- package/{lib → cjs}/assertron/falsy.d.ts.map +0 -0
- package/{lib → cjs}/assertron/falsy.js +4 -3
- package/{lib → cjs}/assertron/index.d.ts +0 -0
- package/{lib → cjs}/assertron/index.d.ts.map +0 -0
- package/{lib → cjs}/assertron/index.js +2 -2
- package/{lib → cjs}/assertron/pathEqual.d.ts +0 -0
- package/{lib → cjs}/assertron/pathEqual.d.ts.map +0 -0
- package/cjs/assertron/pathEqual.js +13 -0
- package/{lib → cjs}/assertron/rejects.d.ts +0 -0
- package/{lib → cjs}/assertron/rejects.d.ts.map +0 -0
- package/cjs/assertron/rejects.js +14 -0
- package/{lib → cjs}/assertron/repeat.d.ts +5 -3
- package/{lib → cjs}/assertron/repeat.d.ts.map +1 -1
- package/cjs/assertron/repeat.js +44 -0
- package/{lib → cjs}/assertron/resolves.d.ts +0 -0
- package/{lib → cjs}/assertron/resolves.d.ts.map +0 -0
- package/cjs/assertron/resolves.js +17 -0
- package/cjs/assertron/satisfies.d.ts +10 -0
- package/cjs/assertron/satisfies.d.ts.map +1 -0
- package/cjs/assertron/satisfies.js +19 -0
- package/{lib → cjs}/assertron/throws.d.ts +0 -0
- package/{lib → cjs}/assertron/throws.d.ts.map +0 -0
- package/cjs/assertron/throws.js +62 -0
- package/{lib → cjs}/assertron/truthy.d.ts +0 -0
- package/{lib → cjs}/assertron/truthy.d.ts.map +0 -0
- package/{lib → cjs}/assertron/truthy.js +4 -3
- package/{lib → cjs}/errors/NotSatisfied.d.ts +0 -0
- package/{lib → cjs}/errors/NotSatisfied.d.ts.map +0 -0
- package/cjs/errors/NotSatisfied.js +28 -0
- package/{lib → cjs}/errors/index.d.ts +0 -0
- package/{lib → cjs}/errors/index.d.ts.map +0 -0
- package/cjs/errors/index.js +11 -0
- package/{lib → cjs}/errors/interfaces.d.ts +0 -0
- package/{lib → cjs}/errors/interfaces.d.ts.map +0 -0
- package/{lib → cjs}/errors/interfaces.js +0 -0
- package/{lib → cjs}/errors/notEqualMessage.d.ts +0 -0
- package/{lib → cjs}/errors/notEqualMessage.d.ts.map +0 -0
- package/{lib → cjs}/errors/notEqualMessage.js +3 -2
- package/{lib → cjs}/errors/notRejectedMessage.d.ts +0 -0
- package/{lib → cjs}/errors/notRejectedMessage.d.ts.map +0 -0
- package/{lib → cjs}/errors/notRejectedMessage.js +3 -2
- package/{lib → cjs}/errors/notThrownMessage.d.ts +0 -0
- package/{lib → cjs}/errors/notThrownMessage.d.ts.map +0 -0
- package/{lib → cjs}/errors/notThrownMessage.js +3 -2
- package/{lib → cjs}/errors/returnNotRejectedMessage.d.ts +0 -0
- package/{lib → cjs}/errors/returnNotRejectedMessage.d.ts.map +0 -0
- package/{lib → cjs}/errors/returnNotRejectedMessage.js +3 -2
- package/{lib → cjs}/errors/unexpectedErrorMessage.d.ts +0 -0
- package/{lib → cjs}/errors/unexpectedErrorMessage.d.ts.map +0 -0
- package/cjs/errors/unexpectedErrorMessage.js +10 -0
- package/{lib → cjs}/errors/util.d.ts +0 -0
- package/{lib → cjs}/errors/util.d.ts.map +0 -0
- package/{lib → cjs}/errors/util.js +2 -1
- package/{lib → cjs}/index.d.ts +0 -0
- package/{lib → cjs}/index.d.ts.map +0 -0
- package/{lib → cjs}/index.js +3 -3
- package/{libm → esm}/assert-order/AssertOrder.js +1 -1
- package/esm/assert-order/InvalidOrder.js +31 -0
- package/{libm → esm}/assert-order/StateMachine.js +3 -2
- package/{libm → esm}/assert-order/index.js +2 -1
- package/{libm → esm}/assert-order/interfaces.js +1 -0
- package/{libm → esm}/assertron/assertron.js +1 -1
- package/{libm → esm}/assertron/falsy.js +0 -0
- package/{libm → esm}/assertron/index.js +0 -0
- package/{libm → esm}/assertron/pathEqual.js +1 -1
- package/{libm → esm}/assertron/rejects.js +1 -1
- package/{libm → esm}/assertron/repeat.js +8 -8
- package/{libm → esm}/assertron/resolves.js +1 -1
- package/{libm → esm}/assertron/satisfies.js +1 -1
- package/{libm → esm}/assertron/throws.js +5 -3
- package/{libm → esm}/assertron/truthy.js +0 -0
- package/{libm → esm}/errors/NotSatisfied.js +0 -0
- package/{libm → esm}/errors/index.js +2 -1
- package/{libm → esm}/errors/interfaces.js +1 -0
- package/{libm → esm}/errors/notEqualMessage.js +0 -0
- package/{libm → esm}/errors/notRejectedMessage.js +0 -0
- package/{libm → esm}/errors/notThrownMessage.js +0 -0
- package/{libm → esm}/errors/returnNotRejectedMessage.js +0 -0
- package/{libm → esm}/errors/unexpectedErrorMessage.js +0 -0
- package/{libm → esm}/errors/util.js +0 -0
- package/{libm → esm}/index.js +0 -0
- package/package.json +47 -32
- package/src/assert-order/AssertOrder.ts +1 -1
- package/src/assert-order/InvalidOrder.ts +4 -4
- package/src/assert-order/StateMachine.ts +2 -1
- package/src/assertron/assertron.spec.ts +3 -3
- package/src/assertron/assertron.ts +9 -9
- package/src/assertron/falsy.spec.ts +2 -2
- package/src/assertron/pathEqual.spec.ts +3 -3
- package/src/assertron/pathEqual.ts +3 -3
- package/src/assertron/rejects.spec.ts +7 -7
- package/src/assertron/rejects.ts +2 -2
- package/src/assertron/repeat.spec.ts +6 -6
- package/src/assertron/repeat.ts +6 -6
- package/src/assertron/resolves.spec.ts +4 -4
- package/src/assertron/resolves.ts +2 -2
- package/src/assertron/satisfies.spec.ts +4 -4
- package/src/assertron/satisfies.ts +15 -5
- package/src/assertron/throws.spec.ts +14 -7
- package/src/assertron/throws.ts +4 -2
- package/src/assertron/truthy.spec.ts +3 -3
- package/src/testUtils.ts +17 -13
- package/lib/assert-order/AssertOrder.js +0 -147
- package/lib/assert-order/InvalidOrder.d.ts +0 -6
- package/lib/assert-order/InvalidOrder.d.ts.map +0 -1
- package/lib/assert-order/InvalidOrder.js +0 -43
- package/lib/assert-order/StateMachine.js +0 -109
- package/lib/assertron/assertron.d.ts.map +0 -1
- package/lib/assertron/pathEqual.js +0 -12
- package/lib/assertron/rejects.js +0 -13
- package/lib/assertron/repeat.js +0 -43
- package/lib/assertron/resolves.js +0 -16
- package/lib/assertron/satisfies.d.ts +0 -6
- package/lib/assertron/satisfies.d.ts.map +0 -1
- package/lib/assertron/satisfies.js +0 -18
- package/lib/assertron/throws.js +0 -59
- package/lib/errors/NotSatisfied.js +0 -27
- package/lib/errors/index.js +0 -10
- package/lib/errors/unexpectedErrorMessage.js +0 -9
- package/libm/assert-order/InvalidOrder.js +0 -31
|
@@ -30,7 +30,7 @@ export declare class AssertOrder {
|
|
|
30
30
|
on(step: number, assert: (step: number) => void): void;
|
|
31
31
|
atLeastOnce(step: number): number;
|
|
32
32
|
any(steps: number[]): number;
|
|
33
|
-
onAny(steps: number[], ...asserts:
|
|
33
|
+
onAny(steps: number[], ...asserts: Array<(...args: any[]) => any>): void;
|
|
34
34
|
end(timeout: number): Promise<number>;
|
|
35
35
|
end(): number;
|
|
36
36
|
exactly(step: number, times: number): number;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IAoBjE,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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AssertOrder = void 0;
|
|
4
|
+
var InvalidOrder_1 = require("./InvalidOrder");
|
|
5
|
+
var StateMachine_1 = require("./StateMachine");
|
|
6
|
+
// order.atLeast(step, count) // expected to be executed at least `count` times
|
|
7
|
+
// order.atMost(step, count) // exected to be executed at most `count` times
|
|
8
|
+
var AssertOrder = /** @class */ (function () {
|
|
9
|
+
function AssertOrder(plan) {
|
|
10
|
+
this.state = new StateMachine_1.StateMachine(plan);
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(AssertOrder.prototype, "currentStep", {
|
|
13
|
+
/**
|
|
14
|
+
* Gets the current expecting step.
|
|
15
|
+
*/
|
|
16
|
+
get: function () {
|
|
17
|
+
return this.state.step;
|
|
18
|
+
},
|
|
19
|
+
enumerable: false,
|
|
20
|
+
configurable: true
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Asserts the current step is `step`.
|
|
24
|
+
* @param step expected step.
|
|
25
|
+
*/
|
|
26
|
+
AssertOrder.prototype.is = function (step) {
|
|
27
|
+
this.assert('is', step);
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Asserts the current step is not `step`.
|
|
31
|
+
* @param step not expected step.
|
|
32
|
+
*/
|
|
33
|
+
AssertOrder.prototype.not = function (step) {
|
|
34
|
+
if (this.state.isValid(step)) {
|
|
35
|
+
throw new InvalidOrder_1.InvalidOrder(this.state.get(), 'not', this.not, step);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Reset to specified step.
|
|
40
|
+
*/
|
|
41
|
+
AssertOrder.prototype.jump = function (step) {
|
|
42
|
+
this.state.jump(step);
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Move to next step.
|
|
46
|
+
*/
|
|
47
|
+
AssertOrder.prototype.move = function () {
|
|
48
|
+
this.state.move();
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Asserts the specified step will run once.
|
|
52
|
+
*/
|
|
53
|
+
AssertOrder.prototype.once = function (step) {
|
|
54
|
+
this.assert('once', step);
|
|
55
|
+
this.state.move();
|
|
56
|
+
};
|
|
57
|
+
AssertOrder.prototype.on = function (step, assert) {
|
|
58
|
+
this.state.on(step, function () {
|
|
59
|
+
assert(step);
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
AssertOrder.prototype.atLeastOnce = function (step) {
|
|
63
|
+
var nextStep = step + 1;
|
|
64
|
+
if (this.state.step === step) {
|
|
65
|
+
this.state.move();
|
|
66
|
+
return this.state.moveSubStep();
|
|
67
|
+
}
|
|
68
|
+
else if (this.state.step === nextStep && this.state.subStep > 0) {
|
|
69
|
+
return this.state.moveSubStep();
|
|
70
|
+
}
|
|
71
|
+
else
|
|
72
|
+
throw new InvalidOrder_1.InvalidOrder(this.state.get(), 'atLeastOnce', this.atLeastOnce, step);
|
|
73
|
+
};
|
|
74
|
+
AssertOrder.prototype.any = function (steps) {
|
|
75
|
+
var index = steps.indexOf(this.state.step);
|
|
76
|
+
if (index === -1)
|
|
77
|
+
throw new InvalidOrder_1.InvalidOrder(this.state.get(), 'any', this.any, steps);
|
|
78
|
+
this.state.move();
|
|
79
|
+
return steps[index];
|
|
80
|
+
};
|
|
81
|
+
AssertOrder.prototype.onAny = function (steps) {
|
|
82
|
+
var _this = this;
|
|
83
|
+
var asserts = [];
|
|
84
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
85
|
+
asserts[_i - 1] = arguments[_i];
|
|
86
|
+
}
|
|
87
|
+
steps.forEach(function (step) {
|
|
88
|
+
_this.state.on(step, function () {
|
|
89
|
+
var firstError;
|
|
90
|
+
var hasPass = false;
|
|
91
|
+
asserts.forEach(function (assert) {
|
|
92
|
+
try {
|
|
93
|
+
assert(step);
|
|
94
|
+
hasPass = true;
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
if (!firstError)
|
|
98
|
+
firstError = err;
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
if (!hasPass)
|
|
102
|
+
throw firstError;
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
return;
|
|
106
|
+
};
|
|
107
|
+
AssertOrder.prototype.end = function (timeout) {
|
|
108
|
+
var _this = this;
|
|
109
|
+
if (timeout) {
|
|
110
|
+
return new Promise(function (r) {
|
|
111
|
+
setTimeout(r, timeout);
|
|
112
|
+
}).then(function () {
|
|
113
|
+
return _this.end();
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
if (!this.state.isMaxStepDefined()) {
|
|
117
|
+
this.state.stopAccepting();
|
|
118
|
+
return this.state.getTimeTaken();
|
|
119
|
+
}
|
|
120
|
+
if (this.state.isAccepting()) {
|
|
121
|
+
throw new InvalidOrder_1.InvalidOrder(this.state.get(), 'end', this.end);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
AssertOrder.prototype.exactly = function (step, times) {
|
|
125
|
+
if (this.state.isNotValid(step))
|
|
126
|
+
throw new InvalidOrder_1.InvalidOrder(this.state.get(), 'exactly', this.exactly, step, times);
|
|
127
|
+
if (this.state.maxSubStep === undefined) {
|
|
128
|
+
this.state.maxSubStep = times;
|
|
129
|
+
this.state.minSubStep = times;
|
|
130
|
+
}
|
|
131
|
+
return this.state.moveSubStep();
|
|
132
|
+
};
|
|
133
|
+
AssertOrder.prototype.wait = function (step, callback) {
|
|
134
|
+
var _this = this;
|
|
135
|
+
if (callback)
|
|
136
|
+
this.on(step, callback);
|
|
137
|
+
else
|
|
138
|
+
return new Promise(function (a) { _this.on(step, a); });
|
|
139
|
+
};
|
|
140
|
+
AssertOrder.prototype.assert = function (method, step) {
|
|
141
|
+
if (this.state.isNotValid(step)) {
|
|
142
|
+
throw new InvalidOrder_1.InvalidOrder(this.state.get(), method, this[method], step);
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
return AssertOrder;
|
|
146
|
+
}());
|
|
147
|
+
exports.AssertOrder = AssertOrder;
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXNzZXJ0T3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzZXJ0LW9yZGVyL0Fzc2VydE9yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUE2QztBQUM3QywrQ0FBNkM7QUFFN0MsK0VBQStFO0FBQy9FLDRFQUE0RTtBQUU1RTtJQVNFLHFCQUFZLElBQWE7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLDJCQUFZLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDckMsQ0FBQztJQVBELHNCQUFJLG9DQUFXO1FBSGY7O1dBRUc7YUFDSDtZQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUE7UUFDeEIsQ0FBQzs7O09BQUE7SUFPRDs7O09BR0c7SUFDSCx3QkFBRSxHQUFGLFVBQUcsSUFBWTtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCx5QkFBRyxHQUFILFVBQUksSUFBWTtRQUNkLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUIsTUFBTSxJQUFJLDJCQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtTQUNoRTtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILDBCQUFJLEdBQUosVUFBSyxJQUFZO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsMEJBQUksR0FBSjtRQUNFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsMEJBQUksR0FBSixVQUFLLElBQVk7UUFDZixJQUFJ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
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import AssertionError from 'assertion-error';
|
|
2
|
+
import { State } from './interfaces';
|
|
3
|
+
export declare class InvalidOrder extends AssertionError<{
|
|
4
|
+
method: string;
|
|
5
|
+
state: State;
|
|
6
|
+
args: any[];
|
|
7
|
+
}> {
|
|
8
|
+
constructor(state: State, method: string, ssf: (...args: any[]) => any, ...args: any[]);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=InvalidOrder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvalidOrder.d.ts","sourceRoot":"","sources":["../../src/assert-order/InvalidOrder.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEpC,qBAAa,YAAa,SAAQ,cAAc,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAA;CAAE,CAAC;gBACjF,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;CAIvF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InvalidOrder = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var assertion_error_1 = (0, tslib_1.__importDefault)(require("assertion-error"));
|
|
6
|
+
var InvalidOrder = /** @class */ (function (_super) {
|
|
7
|
+
(0, tslib_1.__extends)(InvalidOrder, _super);
|
|
8
|
+
function InvalidOrder(state, method, ssf) {
|
|
9
|
+
var args = [];
|
|
10
|
+
for (var _i = 3; _i < arguments.length; _i++) {
|
|
11
|
+
args[_i - 3] = arguments[_i];
|
|
12
|
+
}
|
|
13
|
+
var _this = this;
|
|
14
|
+
var message = method === 'end' ? getEndMessage(state) : getExpectingMessage(state, method, args);
|
|
15
|
+
_this = _super.call(this, message, { method: method, state: state, args: args }, ssf) || this;
|
|
16
|
+
return _this;
|
|
17
|
+
}
|
|
18
|
+
return InvalidOrder;
|
|
19
|
+
}(assertion_error_1.default));
|
|
20
|
+
exports.InvalidOrder = InvalidOrder;
|
|
21
|
+
function getEndMessage(state) {
|
|
22
|
+
return "Planned for ".concat(state.maxStep, " step but expecting step ").concat(state.step, " when 'end()' is called");
|
|
23
|
+
}
|
|
24
|
+
function getExpectingMessage(state, method, args) {
|
|
25
|
+
return "Expecting ".concat(getExpectingCalls(state), ", but received '").concat(method, "(").concat(getMethodArgs(args), ")'");
|
|
26
|
+
}
|
|
27
|
+
function getExpectingCalls(state) {
|
|
28
|
+
var message;
|
|
29
|
+
if (state.subStep === 0) {
|
|
30
|
+
var methods = ['is', 'once', 'any'];
|
|
31
|
+
message = methods.map(function (m) { return ['any'].indexOf(m) === -1 ?
|
|
32
|
+
"'".concat(m, "(").concat(state.step, ")'") :
|
|
33
|
+
"'".concat(m, "([").concat(state.step, "])'"); }).join(', ');
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
var methods = ['exactly'];
|
|
37
|
+
message = methods.map(function (m) { return "'".concat(m, "(").concat(state.step, ", ").concat(state.maxSubStep, ")'"); }).join(', ');
|
|
38
|
+
}
|
|
39
|
+
return message;
|
|
40
|
+
}
|
|
41
|
+
function getMethodArgs(args) {
|
|
42
|
+
return args.map(function (a) { return Array.isArray(a) ? "[".concat(a.join(', '), "]") : a; }).join(', ');
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW52YWxpZE9yZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydC1vcmRlci9JbnZhbGlkT3JkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlGQUE0QztBQUc1QztJQUFrQyw2Q0FBNkQ7SUFDN0Ysc0JBQVksS0FBWSxFQUFFLE1BQWMsRUFBRSxHQUE0QjtRQUFFLGNBQWM7YUFBZCxVQUFjLEVBQWQscUJBQWMsRUFBZCxJQUFjO1lBQWQsNkJBQWM7O1FBQXRGLGlCQUdDO1FBRkMsSUFBTSxPQUFPLEdBQUcsTUFBTSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ2xHLFFBQUEsa0JBQU0sT0FBTyxFQUFFLEVBQUUsTUFBTSxRQUFBLEVBQUUsS0FBSyxPQUFBLEVBQUUsSUFBSSxNQUFBLEVBQUUsRUFBRSxHQUFHLENBQUMsU0FBQTs7SUFDOUMsQ0FBQztJQUNILG1CQUFDO0FBQUQsQ0FBQyxBQUxELENBQWtDLHlCQUFjLEdBSy9DO0FBTFksb0NBQVk7QUFPekIsU0FBUyxhQUFhLENBQUMsS0FBWTtJQUNqQyxPQUFPLHNCQUFlLEtBQUssQ0FBQyxPQUFPLHNDQUE0QixLQUFLLENBQUMsSUFBSSw0QkFBeUIsQ0FBQTtBQUNwRyxDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxLQUFZLEVBQUUsTUFBYyxFQUFFLElBQVc7SUFDcEUsT0FBTyxvQkFBYSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsNkJBQW1CLE1BQU0sY0FBSSxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQUksQ0FBQTtBQUNsRyxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxLQUFZO0lBQ3JDLElBQUksT0FBZSxDQUFBO0lBQ25CLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxDQUFDLEVBQUU7UUFDdkIsSUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ3JDLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwRCxXQUFJLENBQUMsY0FBSSxLQUFLLENBQUMsSUFBSSxPQUFJLENBQUMsQ0FBQztZQUN6QixXQUFJLENBQUMsZUFBSyxLQUFLLENBQUMsSUFBSSxRQUFLLEVBRkEsQ0FFQSxDQUMxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtLQUNiO1NBQ0k7UUFDSCxJQUFNLE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQzNCLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsV0FBSSxDQUFDLGNBQUksS0FBSyxDQUFDLElBQUksZUFBSyxLQUFLLENBQUMsVUFBVSxPQUFJLEVBQTVDLENBQTRDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7S0FDcEY7SUFDRCxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsSUFBVztJQUNoQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUExQyxDQUEwQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQzdFLENBQUMifQ==
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateMachine.d.ts","sourceRoot":"","sources":["../../src/assert-order/StateMachine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"StateMachine.d.ts","sourceRoot":"","sources":["../../src/assert-order/StateMachine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AA6CpC,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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StateMachine = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var is_node_1 = (0, tslib_1.__importDefault)(require("is-node"));
|
|
6
|
+
// istanbul ignore next
|
|
7
|
+
function nodeVersionIsOrAbove(major, minor, patch) {
|
|
8
|
+
if (minor === void 0) { minor = 0; }
|
|
9
|
+
if (patch === void 0) { patch = 0; }
|
|
10
|
+
// without this, systemJS will complain `process is not defined`
|
|
11
|
+
if (!global.process)
|
|
12
|
+
return false;
|
|
13
|
+
var versionString = process.version.startsWith('v') ? process.version.slice(1) : process.version;
|
|
14
|
+
var _a = versionString.split('.').map(function (s) { return parseInt(s, 10); }), actualMajor = _a[0], actualMinor = _a[1], actualPatch = _a[2];
|
|
15
|
+
var checking = major * 1000 * 1000 + minor * 1000 + patch;
|
|
16
|
+
var actual = actualMajor * 1000 * 1000 + actualMinor * 1000 + actualPatch;
|
|
17
|
+
return actual >= checking;
|
|
18
|
+
}
|
|
19
|
+
// istanbul ignore next
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
21
|
+
var performance = is_node_1.default && nodeVersionIsOrAbove(8, 5) ? require('perf_hooks').performance : undefined;
|
|
22
|
+
var timeTracker;
|
|
23
|
+
// istanbul ignore else
|
|
24
|
+
if (process && typeof process.hrtime === 'function') {
|
|
25
|
+
var tick_1;
|
|
26
|
+
timeTracker = {
|
|
27
|
+
start: function () { tick_1 = process.hrtime(); },
|
|
28
|
+
taken: function () {
|
|
29
|
+
var _a = process.hrtime(tick_1), second = _a[0], nanoSecond = _a[1];
|
|
30
|
+
return second * 1000 + nanoSecond / 1e6;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
else if (performance && typeof performance.now === 'function') {
|
|
35
|
+
var tick_2;
|
|
36
|
+
timeTracker = {
|
|
37
|
+
start: function () { tick_2 = performance.now(); },
|
|
38
|
+
taken: function () { return performance.now() - tick_2; }
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
var tick_3;
|
|
43
|
+
timeTracker = {
|
|
44
|
+
start: function () { tick_3 = new Date().valueOf(); },
|
|
45
|
+
taken: function () { return new Date().valueOf() - tick_3; }
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
var StateMachine = /** @class */ (function () {
|
|
49
|
+
function StateMachine(maxStep) {
|
|
50
|
+
this.listeners = {};
|
|
51
|
+
this.step = 1;
|
|
52
|
+
this.subStep = 0;
|
|
53
|
+
this.maxStep = maxStep;
|
|
54
|
+
timeTracker.start();
|
|
55
|
+
}
|
|
56
|
+
StateMachine.prototype.jump = function (step) {
|
|
57
|
+
this.step = step;
|
|
58
|
+
this.subStep = 0;
|
|
59
|
+
return this.step;
|
|
60
|
+
};
|
|
61
|
+
StateMachine.prototype.move = function () {
|
|
62
|
+
var listeners = this.listeners[this.step];
|
|
63
|
+
this.step = this.step + 1;
|
|
64
|
+
this.subStep = 0;
|
|
65
|
+
if (listeners) {
|
|
66
|
+
listeners.forEach(function (l) { return l(); });
|
|
67
|
+
}
|
|
68
|
+
return this.step;
|
|
69
|
+
};
|
|
70
|
+
StateMachine.prototype.moveSubStep = function () {
|
|
71
|
+
var subStep = ++this.subStep;
|
|
72
|
+
if (this.maxSubStep === this.subStep)
|
|
73
|
+
this.move();
|
|
74
|
+
return subStep;
|
|
75
|
+
};
|
|
76
|
+
StateMachine.prototype.get = function () {
|
|
77
|
+
var _a = this, step = _a.step, subStep = _a.subStep, maxStep = _a.maxStep, minSubStep = _a.minSubStep, maxSubStep = _a.maxSubStep;
|
|
78
|
+
return {
|
|
79
|
+
step: step,
|
|
80
|
+
maxStep: maxStep,
|
|
81
|
+
subStep: subStep,
|
|
82
|
+
minSubStep: minSubStep,
|
|
83
|
+
maxSubStep: maxSubStep
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
StateMachine.prototype.on = function (step, listener) {
|
|
87
|
+
this.listeners[step] = [listener];
|
|
88
|
+
};
|
|
89
|
+
StateMachine.prototype.isNotValid = function (step) {
|
|
90
|
+
return step !== this.step || (this.maxStep !== undefined && this.maxStep < step);
|
|
91
|
+
};
|
|
92
|
+
StateMachine.prototype.isValid = function (step) {
|
|
93
|
+
return step === this.step;
|
|
94
|
+
};
|
|
95
|
+
StateMachine.prototype.isMaxStepDefined = function () {
|
|
96
|
+
return this.maxStep !== undefined;
|
|
97
|
+
};
|
|
98
|
+
StateMachine.prototype.stopAccepting = function () {
|
|
99
|
+
this.maxStep = this.step - 1;
|
|
100
|
+
};
|
|
101
|
+
StateMachine.prototype.isAccepting = function () {
|
|
102
|
+
// istanbul ignore next
|
|
103
|
+
return this.maxStep ? this.maxStep >= this.step : true;
|
|
104
|
+
};
|
|
105
|
+
StateMachine.prototype.getTimeTaken = function () {
|
|
106
|
+
return timeTracker.taken();
|
|
107
|
+
};
|
|
108
|
+
return StateMachine;
|
|
109
|
+
}());
|
|
110
|
+
exports.StateMachine = StateMachine;
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhdGVNYWNoaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydC1vcmRlci9TdGF0ZU1hY2hpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUE0QjtBQUc1Qix1QkFBdUI7QUFDdkIsU0FBUyxvQkFBb0IsQ0FBQyxLQUFhLEVBQUUsS0FBUyxFQUFFLEtBQVM7SUFBcEIsc0JBQUEsRUFBQSxTQUFTO0lBQUUsc0JBQUEsRUFBQSxTQUFTO0lBQy9ELGdFQUFnRTtJQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87UUFDakIsT0FBTyxLQUFLLENBQUE7SUFDZCxJQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUE7SUFDNUYsSUFBQSxLQUEwQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQWYsQ0FBZSxDQUFDLEVBQTNGLFdBQVcsUUFBQSxFQUFFLFdBQVcsUUFBQSxFQUFFLFdBQVcsUUFBc0QsQ0FBQTtJQUNsRyxJQUFNLFFBQVEsR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQTtJQUMzRCxJQUFNLE1BQU0sR0FBRyxXQUFXLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxXQUFXLEdBQUcsSUFBSSxHQUFHLFdBQVcsQ0FBQTtJQUMzRSxPQUFPLE1BQU0sSUFBSSxRQUFRLENBQUE7QUFDM0IsQ0FBQztBQUVELHVCQUF1QjtBQUN2Qiw4REFBOEQ7QUFDOUQsSUFBTSxXQUFXLEdBQUcsaUJBQU0s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
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./AssertOrder"), exports);
|
|
5
|
-
|
|
4
|
+
(0, tslib_1.__exportStar)(require("./AssertOrder"), exports);
|
|
5
|
+
(0, tslib_1.__exportStar)(require("./interfaces"), exports);
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzZXJ0LW9yZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZEQUE2QjtBQUM3Qiw0REFBNEIifQ==
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertron.d.ts","sourceRoot":"","sources":["../../src/assertron/assertron.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,eAAO,MAAM,SAAS;iBACP,GAAG;;;;;;;;gBAcJ,GAAG;;CAIhB,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertron = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
|
-
var assertion_error_1 = tslib_1.__importDefault(require("assertion-error"));
|
|
5
|
+
var assertion_error_1 = (0, tslib_1.__importDefault)(require("assertion-error"));
|
|
5
6
|
var falsy_1 = require("./falsy");
|
|
6
7
|
var pathEqual_1 = require("./pathEqual");
|
|
7
8
|
var rejects_1 = require("./rejects");
|
|
@@ -13,7 +14,7 @@ var truthy_1 = require("./truthy");
|
|
|
13
14
|
exports.assertron = {
|
|
14
15
|
false: function (value) {
|
|
15
16
|
if (value !== false)
|
|
16
|
-
throw new assertion_error_1.default("Expected value to equal false, but received "
|
|
17
|
+
throw new assertion_error_1.default("Expected value to equal false, but received ".concat(value), { value: value }, exports.assertron.false);
|
|
17
18
|
},
|
|
18
19
|
falsy: falsy_1.falsy,
|
|
19
20
|
pathEqual: pathEqual_1.pathEqual,
|
|
@@ -24,8 +25,8 @@ exports.assertron = {
|
|
|
24
25
|
throws: throws_1.throws,
|
|
25
26
|
true: function (value) {
|
|
26
27
|
if (value !== true)
|
|
27
|
-
throw new assertion_error_1.default("Expected value to equal true, but received "
|
|
28
|
+
throw new assertion_error_1.default("Expected value to equal true, but received ".concat(value), { value: value }, exports.assertron.true);
|
|
28
29
|
},
|
|
29
30
|
truthy: truthy_1.truthy
|
|
30
31
|
};
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0cm9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydHJvbi9hc3NlcnRyb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlGQUE0QztBQUM1QyxpQ0FBK0I7QUFDL0IseUNBQXVDO0FBQ3ZDLHFDQUFtQztBQUNuQyxtQ0FBaUM7QUFDakMsdUNBQXFDO0FBQ3JDLHlDQUF1QztBQUN2QyxtQ0FBaUM7QUFDakMsbUNBQWlDO0FBRXBCLFFBQUEsU0FBUyxHQUFHO0lBQ3ZCLEtBQUssRUFBTCxVQUFNLEtBQVU7UUFDZCxJQUFJLEtBQUssS0FBSyxLQUFLO1lBQ2pCLE1BQU0sSUFBSSx5QkFBYyxDQUN0QixzREFBK0MsS0FBSyxDQUFFLEVBQ3RELEVBQUUsS0FBSyxPQUFBLEVBQUUsRUFDVCxpQkFBUyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3RCLENBQUM7SUFDRCxLQUFLLGVBQUE7SUFDTCxTQUFTLHVCQUFBO0lBQ1QsT0FBTyxtQkFBQTtJQUNQLE1BQU0saUJBQUE7SUFDTixRQUFRLHFCQUFBO0lBQ1IsU0FBUyx1QkFBQTtJQUNULE1BQU0saUJBQUE7SUFDTixJQUFJLEVBQUosVUFBSyxLQUFVO1FBQ2IsSUFBSSxLQUFLLEtBQUssSUFBSTtZQUFFLE1BQU0sSUFBSSx5QkFBYyxDQUFDLHFEQUE4QyxLQUFLLENBQUUsRUFBRSxFQUFFLEtBQUssT0FBQSxFQUFFLEVBQUUsaUJBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNoSSxDQUFDO0lBQ0QsTUFBTSxpQkFBQTtDQUNQLENBQUEifQ==
|
|
File without changes
|
|
File without changes
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.falsy = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
|
-
var assertion_error_1 = tslib_1.__importDefault(require("assertion-error"));
|
|
5
|
+
var assertion_error_1 = (0, tslib_1.__importDefault)(require("assertion-error"));
|
|
5
6
|
function falsy(value) {
|
|
6
7
|
if (value)
|
|
7
|
-
throw new assertion_error_1.default("Expected value to be falsy, but received "
|
|
8
|
+
throw new assertion_error_1.default("Expected value to be falsy, but received ".concat(value), { value: value }, falsy);
|
|
8
9
|
}
|
|
9
10
|
exports.falsy = falsy;
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsc3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzZXJ0cm9uL2ZhbHN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRkFBNEM7QUFFNUMsU0FBZ0IsS0FBSyxDQUFDLEtBQVU7SUFDOUIsSUFBSSxLQUFLO1FBQ1AsTUFBTSxJQUFJLHlCQUFjLENBQ3RCLG1EQUE0QyxLQUFLLENBQUUsRUFDbkQsRUFBRSxLQUFLLE9BQUEsRUFBRSxFQUNULEtBQUssQ0FDTixDQUFBO0FBQ0wsQ0FBQztBQVBELHNCQU9DIn0=
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./assertron"), exports);
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
(0, tslib_1.__exportStar)(require("./assertron"), exports);
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzZXJ0cm9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUEyQiJ9
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pathEqual = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var assertion_error_1 = (0, tslib_1.__importDefault)(require("assertion-error"));
|
|
6
|
+
var path_equal_1 = require("path-equal");
|
|
7
|
+
var errors_1 = require("../errors");
|
|
8
|
+
function pathEqual(actual, expected) {
|
|
9
|
+
if (!(0, path_equal_1.pathEqual)(actual, expected))
|
|
10
|
+
throw new assertion_error_1.default((0, errors_1.notEqualMessage)(actual, expected), { actual: actual, expected: expected }, pathEqual);
|
|
11
|
+
}
|
|
12
|
+
exports.pathEqual = pathEqual;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aEVxdWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydHJvbi9wYXRoRXF1YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlGQUE0QztBQUM1Qyx5Q0FBcUQ7QUFDckQsb0NBQTJDO0FBRTNDLFNBQWdCLFNBQVMsQ0FBQyxNQUFjLEVBQUUsUUFBZ0I7SUFDeEQsSUFBSSxDQUFDLElBQUEsc0JBQVcsRUFBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSx5QkFBYyxDQUN0QixJQUFBLHdCQUFlLEVBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUNqQyxFQUFFLE1BQU0sUUFBQSxFQUFFLFFBQVEsVUFBQSxFQUFFLEVBQ3BCLFNBQVMsQ0FBQyxDQUFBO0FBQ2hCLENBQUM7QUFORCw4QkFNQyJ9
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.rejects = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var tersify_1 = require("tersify");
|
|
6
|
+
var assertion_error_1 = (0, tslib_1.__importDefault)(require("assertion-error"));
|
|
7
|
+
function rejects(promise) {
|
|
8
|
+
return promise.then(function (value) {
|
|
9
|
+
throw new assertion_error_1.default("Expected promise to reject, but it resolves with ".concat(typeof value === 'string' ?
|
|
10
|
+
"'".concat(value, "'") : (0, tersify_1.tersify)(value, { maxLength: Infinity })), { value: value }, rejects);
|
|
11
|
+
}, function () { });
|
|
12
|
+
}
|
|
13
|
+
exports.rejects = rejects;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hc3NlcnRyb24vcmVqZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsbUNBQWlDO0FBQ2pDLGlGQUE0QztBQUU1QyxTQUFnQixPQUFPLENBQUMsT0FBcUI7SUFDM0MsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUNqQixVQUFBLEtBQUs7UUFDSCxNQUFNLElBQUkseUJBQWMsQ0FDdEIsMkRBQW9ELE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDO1lBQzdFLFdBQUksS0FBSyxNQUFHLENBQUMsQ0FBQyxDQUFDLElBQUEsaUJBQU8sRUFBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBRSxFQUMxRCxFQUFFLEtBQUssT0FBQSxFQUFFLEVBQ1QsT0FBTyxDQUFDLENBQUE7SUFDWixDQUFDLEVBQ0QsY0FBUSxDQUFDLENBQ1YsQ0FBQTtBQUNILENBQUM7QUFYRCwwQkFXQyJ9
|
|
@@ -4,9 +4,11 @@ import AssertionError from 'assertion-error';
|
|
|
4
4
|
* If the result is a promise, it will run the function sequentially.
|
|
5
5
|
*/
|
|
6
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
|
|
8
|
-
|
|
7
|
+
export declare class FailOnOccurrence extends AssertionError<{
|
|
8
|
+
occurrence: number;
|
|
9
|
+
}> {
|
|
10
|
+
occurrence: number;
|
|
9
11
|
error: any;
|
|
10
|
-
constructor(
|
|
12
|
+
constructor(occurrence: number, error: any);
|
|
11
13
|
}
|
|
12
14
|
//# sourceMappingURL=repeat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,gBAAiB,SAAQ,cAAc,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;IACvD,UAAU,EAAE,MAAM;IAAS,KAAK,EAAE,GAAG;gBAArC,UAAU,EAAE,MAAM,EAAS,KAAK,EAAE,GAAG;CAGzD"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FailOnOccurrence = exports.repeat = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var is_promise_1 = (0, tslib_1.__importDefault)(require("is-promise"));
|
|
6
|
+
var assertion_error_1 = (0, tslib_1.__importDefault)(require("assertion-error"));
|
|
7
|
+
/**
|
|
8
|
+
* Repeat the specified function n times and return the last result.
|
|
9
|
+
* If the result is a promise, it will run the function sequentially.
|
|
10
|
+
*/
|
|
11
|
+
function repeat(fn, times) {
|
|
12
|
+
return repeatRecur(fn, 1, times);
|
|
13
|
+
}
|
|
14
|
+
exports.repeat = repeat;
|
|
15
|
+
function repeatRecur(fn, i, times) {
|
|
16
|
+
try {
|
|
17
|
+
var result = fn();
|
|
18
|
+
if (i === times)
|
|
19
|
+
return result;
|
|
20
|
+
if ((0, is_promise_1.default)(result)) {
|
|
21
|
+
return result.then(function () { return repeatRecur(fn, i + 1, times); }, function (e) { throw new FailOnOccurrence(i, e); });
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return repeatRecur(fn, i + 1, times);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
if (e instanceof FailOnOccurrence)
|
|
29
|
+
throw e;
|
|
30
|
+
throw new FailOnOccurrence(i, e);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
var FailOnOccurrence = /** @class */ (function (_super) {
|
|
34
|
+
(0, tslib_1.__extends)(FailOnOccurrence, _super);
|
|
35
|
+
function FailOnOccurrence(occurrence, error) {
|
|
36
|
+
var _this = _super.call(this, "Failed on ".concat(occurrence, " occurrence")) || this;
|
|
37
|
+
_this.occurrence = occurrence;
|
|
38
|
+
_this.error = error;
|
|
39
|
+
return _this;
|
|
40
|
+
}
|
|
41
|
+
return FailOnOccurrence;
|
|
42
|
+
}(assertion_error_1.default));
|
|
43
|
+
exports.FailOnOccurrence = FailOnOccurrence;
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Fzc2VydHJvbi9yZXBlYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHVFQUFtQztBQUNuQyxpRkFBNEM7QUFFNUM7OztHQUdHO0FBQ0gsU0FBZ0IsTUFBTSxDQUFJLEVBQWdDLEVBQUUsS0FBYTtJQUN2RSxPQUFPLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQ2xDLENBQUM7QUFGRCx3QkFFQztBQUVELFNBQVMsV0FBVyxDQUFJLEVBQWdDLEVBQUUsQ0FBUyxFQUFFLEtBQWE7SUFDaEYsSUFBSTtRQUNGLElBQU0sTUFBTSxHQUFHLEVBQUUsRUFBRSxDQUFBO1FBQ25CLElBQUksQ0FBQyxLQUFLLEtBQUs7WUFBRSxPQUFPLE1BQWEsQ0FBQTtRQUVyQyxJQUFJLElBQUEsb0JBQVMsRUFBQyxNQUFNLENBQUMsRUFBRTtZQUNyQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLGNBQU0sT0FBQSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQTdCLENBQTZCLEVBQ25DLFVBQUMsQ0FBQyxJQUFPLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQ3JDLENBQUE7U0FDVDthQUNJO1lBQ0gsT0FBTyxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUE7U0FDckM7S0FDRjtJQUNELE9BQU8sQ0FBQyxFQUFFO1FBQ1IsSUFBSSxDQUFDLFlBQVksZ0JBQWdCO1lBQUUsTUFBTSxDQUFDLENBQUE7UUFDMUMsTUFBTSxJQUFJLGdCQUFnQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtLQUNqQztBQUNILENBQUM7QUFFRDtJQUFzQyxpREFBc0M7SUFDMUUsMEJBQW1CLFVBQWtCLEVBQVMsS0FBVTtRQUF4RCxZQUNFLGtCQUFNLG9CQUFhLFVBQVUsZ0JBQWEsQ0FBQyxTQUM1QztRQUZrQixnQkFBVSxHQUFWLFVBQVUsQ0FBUTtRQUFTLFdBQUssR0FBTCxLQUFLLENBQUs7O0lBRXhELENBQUM7SUFDSCx1QkFBQztBQUFELENBQUMsQUFKRCxDQUFzQyx5QkFBYyxHQUluRDtBQUpZLDRDQUFnQiJ9
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolves = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var tersify_1 = require("tersify");
|
|
6
|
+
var assertion_error_1 = (0, tslib_1.__importDefault)(require("assertion-error"));
|
|
7
|
+
function resolves(promise) {
|
|
8
|
+
return promise.then(function () { }, function (error) {
|
|
9
|
+
throw new assertion_error_1.default("Expected promise to resolve, but it rejects with ".concat(typeof error === 'string' ?
|
|
10
|
+
"'".concat(error, "'") :
|
|
11
|
+
error instanceof Error ?
|
|
12
|
+
error :
|
|
13
|
+
(0, tersify_1.tersify)(error, { maxLength: Infinity })), { error: error }, resolves);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
exports.resolves = resolves;
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXNzZXJ0cm9uL3Jlc29sdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxtQ0FBaUM7QUFDakMsaUZBQTRDO0FBRTVDLFNBQWdCLFFBQVEsQ0FBQyxPQUFxQjtJQUM1QyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLGNBQVEsQ0FBQyxFQUNULFVBQUEsS0FBSztRQUNILE1BQU0sSUFBSSx5QkFBYyxDQUFDLDJEQUFvRCxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQztZQUN0RyxXQUFJLEtBQUssTUFBRyxDQUFDLENBQUM7WUFDZCxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUM7Z0JBQ3RCLEtBQUssQ0FBQyxDQUFDO2dCQUNQLElBQUEsaUJBQU8sRUFBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBRSxFQUFFLEVBQUUsS0FBSyxPQUFBLEVBQUUsRUFBRSxRQUFRLENBQ2pFLENBQUE7SUFDSCxDQUFDLENBQ0YsQ0FBQTtBQUNILENBQUM7QUFaRCw0QkFZQyJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { And, If, PrimitiveTypes, IsExtend } from 'type-plus';
|
|
2
|
+
export declare type SatisfyExpectation<T> = If<And<IsExtend<T, PrimitiveTypes>, IsExtend<T, Array<any>>>, T | ((v: T) => boolean), {
|
|
3
|
+
[P in keyof T]?: T[P] extends string ? SatisfyExpectation<T[P]> | ((v: T[P]) => boolean) | RegExp : SatisfyExpectation<T[P]> | ((v: T[P]) => boolean);
|
|
4
|
+
}>;
|
|
5
|
+
/**
|
|
6
|
+
* Check if `actual` satisfies criteria in `expected`.
|
|
7
|
+
* @param expected All properties can be a value which will be compared to the same property in `actual`, RegExp, or a predicate function that will be used to check against the property.
|
|
8
|
+
*/
|
|
9
|
+
export declare function satisfies<Actual>(actual: Actual, expected: SatisfyExpectation<Actual>): void;
|
|
10
|
+
//# sourceMappingURL=satisfies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"satisfies.d.ts","sourceRoot":"","sources":["../../src/assertron/satisfies.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAG7D,oBAAY,kBAAkB,CAAC,CAAC,IAAI,EAAE,CACpC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EACzD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,EACvB;KACG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAClC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,MAAM,GAC1D,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;CACpD,CAAC,CAAA;AAEJ;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC,QASrF"}
|