assertron 11.5.3 → 11.5.5
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/README.md +5 -1
- package/cjs/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/defineProperty.js +12 -0
- package/cjs/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/toPrimitive.js +14 -0
- package/cjs/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/toPropertyKey.js +9 -0
- package/cjs/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/typeof.js +16 -0
- package/cjs/_virtual/_rolldown/runtime.js +23 -0
- package/cjs/assert-order/AssertOrder.d.ts +42 -39
- package/cjs/assert-order/AssertOrder.d.ts.map +1 -1
- package/cjs/assert-order/AssertOrder.js +118 -146
- package/cjs/assert-order/AssertOrder.js.map +1 -1
- package/cjs/assert-order/InvalidOrder.d.ts +10 -7
- package/cjs/assert-order/InvalidOrder.d.ts.map +1 -1
- package/cjs/assert-order/InvalidOrder.js +24 -43
- package/cjs/assert-order/InvalidOrder.js.map +1 -1
- package/cjs/assert-order/StateMachine.js +75 -167
- package/cjs/assert-order/StateMachine.js.map +1 -1
- package/cjs/assert-order/index.d.ts +4 -4
- package/cjs/assert-order/types.d.ts +9 -6
- package/cjs/assert-order/types.d.ts.map +1 -1
- package/cjs/assertron/assertron.d.ts +23 -20
- package/cjs/assertron/assertron.d.ts.map +1 -1
- package/cjs/assertron/assertron.js +36 -39
- package/cjs/assertron/assertron.js.map +1 -1
- package/cjs/assertron/falsy.js +6 -6
- package/cjs/assertron/falsy.js.map +1 -1
- package/cjs/assertron/index.d.ts +3 -3
- package/cjs/assertron/isInstanceof.js +7 -7
- package/cjs/assertron/isInstanceof.js.map +1 -1
- package/cjs/assertron/pathEqual.js +8 -8
- package/cjs/assertron/pathEqual.js.map +1 -1
- package/cjs/assertron/rejects.js +9 -8
- package/cjs/assertron/rejects.js.map +1 -1
- package/cjs/assertron/repeat.js +23 -30
- package/cjs/assertron/repeat.js.map +1 -1
- package/cjs/assertron/resolves.js +9 -8
- package/cjs/assertron/resolves.js.map +1 -1
- package/cjs/assertron/satisfies.d.ts +5 -10
- package/cjs/assertron/satisfies.d.ts.map +1 -1
- package/cjs/assertron/satisfies.js +13 -14
- package/cjs/assertron/satisfies.js.map +1 -1
- package/cjs/assertron/throws.js +48 -54
- package/cjs/assertron/throws.js.map +1 -1
- package/cjs/assertron/truthy.js +6 -6
- package/cjs/assertron/truthy.js.map +1 -1
- package/cjs/errors.d.ts +13 -10
- package/cjs/errors.d.ts.map +1 -1
- package/cjs/errors.js +19 -29
- package/cjs/errors.js.map +1 -1
- package/cjs/index.d.ts +10 -8
- package/cjs/index.js +98 -37
- package/cjs/index.js.map +1 -1
- package/cjs/package.json +3 -1
- package/cjs/types.d.ts +5 -2
- package/cjs/types.d.ts.map +1 -1
- package/cjs/utils/index.js +19 -25
- package/cjs/utils/index.js.map +1 -1
- package/cjs/utils/isErrorConstructor.js +5 -4
- package/cjs/utils/isErrorConstructor.js.map +1 -1
- package/cjs/utils/notEqualMessage.js +5 -4
- package/cjs/utils/notEqualMessage.js.map +1 -1
- package/cjs/utils/notSatisfiedMessage.js +14 -22
- package/cjs/utils/notSatisfiedMessage.js.map +1 -1
- package/cjs/utils/notThrownMessage.js +6 -5
- package/cjs/utils/notThrownMessage.js.map +1 -1
- package/cjs/utils/promiseMessages.js +8 -13
- package/cjs/utils/promiseMessages.js.map +1 -1
- package/cjs/utils/unexpectedErrorMessage.js +7 -6
- package/cjs/utils/unexpectedErrorMessage.js.map +1 -1
- package/esm/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/defineProperty.js +12 -0
- package/esm/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/toPrimitive.js +14 -0
- package/esm/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/toPropertyKey.js +9 -0
- package/esm/_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/typeof.js +11 -0
- package/esm/assert-order/AssertOrder.d.ts +42 -39
- package/esm/assert-order/AssertOrder.d.ts.map +1 -1
- package/esm/assert-order/AssertOrder.js +119 -143
- package/esm/assert-order/AssertOrder.js.map +1 -1
- package/esm/assert-order/InvalidOrder.d.ts +10 -7
- package/esm/assert-order/InvalidOrder.d.ts.map +1 -1
- package/esm/assert-order/InvalidOrder.js +24 -39
- package/esm/assert-order/InvalidOrder.js.map +1 -1
- package/esm/assert-order/StateMachine.js +77 -131
- package/esm/assert-order/StateMachine.js.map +1 -1
- package/esm/assert-order/index.d.ts +4 -4
- package/esm/assert-order/types.d.ts +9 -6
- package/esm/assert-order/types.d.ts.map +1 -1
- package/esm/assertron/assertron.d.ts +23 -20
- package/esm/assertron/assertron.d.ts.map +1 -1
- package/esm/assertron/assertron.js +36 -36
- package/esm/assertron/assertron.js.map +1 -1
- package/esm/assertron/falsy.js +7 -4
- package/esm/assertron/falsy.js.map +1 -1
- package/esm/assertron/index.d.ts +3 -3
- package/esm/assertron/isInstanceof.js +8 -5
- package/esm/assertron/isInstanceof.js.map +1 -1
- package/esm/assertron/pathEqual.js +9 -6
- package/esm/assertron/pathEqual.js.map +1 -1
- package/esm/assertron/rejects.js +10 -6
- package/esm/assertron/rejects.js.map +1 -1
- package/esm/assertron/repeat.js +22 -25
- package/esm/assertron/repeat.js.map +1 -1
- package/esm/assertron/resolves.js +10 -6
- package/esm/assertron/resolves.js.map +1 -1
- package/esm/assertron/satisfies.d.ts +5 -10
- package/esm/assertron/satisfies.d.ts.map +1 -1
- package/esm/assertron/satisfies.js +14 -12
- package/esm/assertron/satisfies.js.map +1 -1
- package/esm/assertron/throws.js +47 -49
- package/esm/assertron/throws.js.map +1 -1
- package/esm/assertron/truthy.js +7 -4
- package/esm/assertron/truthy.js.map +1 -1
- package/esm/errors.d.ts +13 -10
- package/esm/errors.d.ts.map +1 -1
- package/esm/errors.js +20 -26
- package/esm/errors.js.map +1 -1
- package/esm/index.d.ts +10 -8
- package/esm/index.js +10 -7
- package/esm/index.js.map +1 -1
- package/esm/types.d.ts +5 -2
- package/esm/types.d.ts.map +1 -1
- package/esm/utils/index.js +13 -9
- package/esm/utils/index.js.map +1 -1
- package/esm/utils/isErrorConstructor.js +6 -2
- package/esm/utils/isErrorConstructor.js.map +1 -1
- package/esm/utils/notEqualMessage.js +6 -2
- package/esm/utils/notEqualMessage.js.map +1 -1
- package/esm/utils/notSatisfiedMessage.js +15 -20
- package/esm/utils/notSatisfiedMessage.js.map +1 -1
- package/esm/utils/notThrownMessage.js +7 -3
- package/esm/utils/notThrownMessage.js.map +1 -1
- package/esm/utils/promiseMessages.js +9 -11
- package/esm/utils/promiseMessages.js.map +1 -1
- package/esm/utils/unexpectedErrorMessage.js +8 -4
- package/esm/utils/unexpectedErrorMessage.js.map +1 -1
- package/package.json +43 -67
- package/ts/assert-order/AssertOrder.ts +8 -6
- package/ts/assert-order/InvalidOrder.ts +4 -6
- package/ts/assert-order/StateMachine.ts +12 -33
- package/ts/assertron/assertron.ts +9 -19
- package/ts/assertron/falsy.ts +1 -2
- package/ts/assertron/isInstanceof.ts +1 -4
- package/ts/assertron/pathEqual.ts +1 -2
- package/ts/assertron/rejects.ts +2 -2
- package/ts/assertron/repeat.ts +5 -6
- package/ts/assertron/resolves.ts +3 -3
- package/ts/assertron/satisfies.ts +2 -4
- package/ts/assertron/throws.ts +14 -20
- package/ts/assertron/truthy.ts +1 -2
- package/ts/errors.ts +5 -1
- package/ts/index.ts +2 -2
- package/ts/utils/index.ts +1 -1
- package/ts/utils/notSatisfiedMessage.ts +2 -2
- package/ts/utils/promiseMessages.ts +5 -5
- package/cjs/assert-order/StateMachine.d.ts +0 -22
- package/cjs/assert-order/StateMachine.d.ts.map +0 -1
- package/cjs/assert-order/index.d.ts.map +0 -1
- package/cjs/assert-order/index.js +0 -20
- package/cjs/assert-order/index.js.map +0 -1
- package/cjs/assert-order/types.js +0 -3
- package/cjs/assert-order/types.js.map +0 -1
- package/cjs/assertron/falsy.d.ts +0 -2
- package/cjs/assertron/falsy.d.ts.map +0 -1
- package/cjs/assertron/index.d.ts.map +0 -1
- package/cjs/assertron/index.js +0 -18
- package/cjs/assertron/index.js.map +0 -1
- package/cjs/assertron/isInstanceof.d.ts +0 -3
- package/cjs/assertron/isInstanceof.d.ts.map +0 -1
- package/cjs/assertron/pathEqual.d.ts +0 -2
- package/cjs/assertron/pathEqual.d.ts.map +0 -1
- package/cjs/assertron/rejects.d.ts +0 -2
- package/cjs/assertron/rejects.d.ts.map +0 -1
- package/cjs/assertron/repeat.d.ts +0 -6
- package/cjs/assertron/repeat.d.ts.map +0 -1
- package/cjs/assertron/resolves.d.ts +0 -2
- package/cjs/assertron/resolves.d.ts.map +0 -1
- package/cjs/assertron/throws.d.ts +0 -6
- package/cjs/assertron/throws.d.ts.map +0 -1
- package/cjs/assertron/truthy.d.ts +0 -2
- package/cjs/assertron/truthy.d.ts.map +0 -1
- package/cjs/index.d.ts.map +0 -1
- package/cjs/types.js +0 -3
- package/cjs/types.js.map +0 -1
- package/cjs/utils/index.d.ts +0 -8
- package/cjs/utils/index.d.ts.map +0 -1
- package/cjs/utils/isErrorConstructor.d.ts +0 -3
- package/cjs/utils/isErrorConstructor.d.ts.map +0 -1
- package/cjs/utils/notEqualMessage.d.ts +0 -2
- package/cjs/utils/notEqualMessage.d.ts.map +0 -1
- package/cjs/utils/notSatisfiedMessage.d.ts +0 -3
- package/cjs/utils/notSatisfiedMessage.d.ts.map +0 -1
- package/cjs/utils/notThrownMessage.d.ts +0 -2
- package/cjs/utils/notThrownMessage.d.ts.map +0 -1
- package/cjs/utils/promiseMessages.d.ts +0 -3
- package/cjs/utils/promiseMessages.d.ts.map +0 -1
- package/cjs/utils/unexpectedErrorMessage.d.ts +0 -3
- package/cjs/utils/unexpectedErrorMessage.d.ts.map +0 -1
- package/esm/assert-order/StateMachine.d.ts +0 -22
- package/esm/assert-order/StateMachine.d.ts.map +0 -1
- package/esm/assert-order/index.d.ts.map +0 -1
- package/esm/assert-order/index.js +0 -4
- package/esm/assert-order/index.js.map +0 -1
- package/esm/assert-order/types.js +0 -2
- package/esm/assert-order/types.js.map +0 -1
- package/esm/assertron/falsy.d.ts +0 -2
- package/esm/assertron/falsy.d.ts.map +0 -1
- package/esm/assertron/index.d.ts.map +0 -1
- package/esm/assertron/index.js +0 -2
- package/esm/assertron/index.js.map +0 -1
- package/esm/assertron/isInstanceof.d.ts +0 -3
- package/esm/assertron/isInstanceof.d.ts.map +0 -1
- package/esm/assertron/pathEqual.d.ts +0 -2
- package/esm/assertron/pathEqual.d.ts.map +0 -1
- package/esm/assertron/rejects.d.ts +0 -2
- package/esm/assertron/rejects.d.ts.map +0 -1
- package/esm/assertron/repeat.d.ts +0 -6
- package/esm/assertron/repeat.d.ts.map +0 -1
- package/esm/assertron/resolves.d.ts +0 -2
- package/esm/assertron/resolves.d.ts.map +0 -1
- package/esm/assertron/throws.d.ts +0 -6
- package/esm/assertron/throws.d.ts.map +0 -1
- package/esm/assertron/truthy.d.ts +0 -2
- package/esm/assertron/truthy.d.ts.map +0 -1
- package/esm/index.d.ts.map +0 -1
- package/esm/types.js +0 -2
- package/esm/types.js.map +0 -1
- package/esm/utils/index.d.ts +0 -8
- package/esm/utils/index.d.ts.map +0 -1
- package/esm/utils/isErrorConstructor.d.ts +0 -3
- package/esm/utils/isErrorConstructor.d.ts.map +0 -1
- package/esm/utils/notEqualMessage.d.ts +0 -2
- package/esm/utils/notEqualMessage.d.ts.map +0 -1
- package/esm/utils/notSatisfiedMessage.d.ts +0 -3
- package/esm/utils/notSatisfiedMessage.d.ts.map +0 -1
- package/esm/utils/notThrownMessage.d.ts +0 -2
- package/esm/utils/notThrownMessage.d.ts.map +0 -1
- package/esm/utils/promiseMessages.d.ts +0 -3
- package/esm/utils/promiseMessages.d.ts.map +0 -1
- package/esm/utils/unexpectedErrorMessage.d.ts +0 -3
- package/esm/utils/unexpectedErrorMessage.d.ts.map +0 -1
- package/ts/assert-order/internalInterfaces.ts +0 -5
- package/ts/testUtils.ts +0 -81
package/README.md
CHANGED
|
@@ -10,7 +10,11 @@
|
|
|
10
10
|
|
|
11
11
|
[![Visual Studio Code][vscode-image]][vscode-url]
|
|
12
12
|
|
|
13
|
-
A supplementary assertion library that runs on
|
|
13
|
+
A supplementary assertion library that runs on Node.js, Bun, Deno and the browser.
|
|
14
|
+
|
|
15
|
+
The shipped code imports no platform builtins, so the same `esm/` and `cjs/` output loads
|
|
16
|
+
everywhere. CI runs a smoke test against the build output on Node, Bun and Deno on every
|
|
17
|
+
pull request, so that claim is executed rather than asserted.
|
|
14
18
|
|
|
15
19
|
## Install
|
|
16
20
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const require_toPropertyKey = require("./toPropertyKey.js");
|
|
2
|
+
//#region \0@oxc-project+runtime@0.147.0/helpers/esm/defineProperty.js
|
|
3
|
+
function _defineProperty(e, r, t) {
|
|
4
|
+
return (r = require_toPropertyKey.default(r)) in e ? Object.defineProperty(e, r, {
|
|
5
|
+
value: t,
|
|
6
|
+
enumerable: !0,
|
|
7
|
+
configurable: !0,
|
|
8
|
+
writable: !0
|
|
9
|
+
}) : e[r] = t, e;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
exports.default = _defineProperty;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const require_typeof = require("./typeof.js");
|
|
2
|
+
//#region \0@oxc-project+runtime@0.147.0/helpers/esm/toPrimitive.js
|
|
3
|
+
function toPrimitive(t, r) {
|
|
4
|
+
if ("object" != require_typeof.default(t) || !t) return t;
|
|
5
|
+
var e = t[Symbol.toPrimitive];
|
|
6
|
+
if (void 0 !== e) {
|
|
7
|
+
var i = e.call(t, r || "default");
|
|
8
|
+
if ("object" != require_typeof.default(i)) return i;
|
|
9
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
10
|
+
}
|
|
11
|
+
return ("string" === r ? String : Number)(t);
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
exports.default = toPrimitive;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const require_typeof = require("./typeof.js");
|
|
2
|
+
const require_toPrimitive = require("./toPrimitive.js");
|
|
3
|
+
//#region \0@oxc-project+runtime@0.147.0/helpers/esm/toPropertyKey.js
|
|
4
|
+
function toPropertyKey(t) {
|
|
5
|
+
var i = require_toPrimitive.default(t, "string");
|
|
6
|
+
return "symbol" == require_typeof.default(i) ? i : i + "";
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
exports.default = toPropertyKey;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region \0@oxc-project+runtime@0.147.0/helpers/esm/typeof.js
|
|
2
|
+
function _typeof(o) {
|
|
3
|
+
"@babel/helpers - typeof";
|
|
4
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
5
|
+
return typeof o;
|
|
6
|
+
} : function(o) {
|
|
7
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
8
|
+
}, _typeof(o);
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
Object.defineProperty(exports, "default", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function() {
|
|
14
|
+
return _typeof;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
10
|
+
key = keys[i];
|
|
11
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
+
get: ((k) => from[k]).bind(null, key),
|
|
13
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
|
|
19
|
+
value: mod,
|
|
20
|
+
enumerable: true
|
|
21
|
+
}) : target, mod));
|
|
22
|
+
//#endregion
|
|
23
|
+
exports.__toESM = __toESM;
|
|
@@ -1,41 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
1
|
+
//#region ts/assert-order/AssertOrder.d.ts
|
|
2
|
+
declare class AssertOrder {
|
|
3
|
+
/**
|
|
4
|
+
* Gets the current expecting step.
|
|
5
|
+
*/
|
|
6
|
+
get currentStep(): number;
|
|
7
|
+
private state;
|
|
8
|
+
constructor(plan?: number);
|
|
9
|
+
/**
|
|
10
|
+
* Asserts the current step is `step`.
|
|
11
|
+
* @param step expected step.
|
|
12
|
+
*/
|
|
13
|
+
is(step: number): void;
|
|
14
|
+
/**
|
|
15
|
+
* Asserts the current step is not `step`.
|
|
16
|
+
* @param step not expected step.
|
|
17
|
+
*/
|
|
18
|
+
not(step: number): void;
|
|
19
|
+
/**
|
|
20
|
+
* Reset to specified step.
|
|
21
|
+
*/
|
|
22
|
+
jump(step: number): void;
|
|
23
|
+
/**
|
|
24
|
+
* Move to next step.
|
|
25
|
+
*/
|
|
26
|
+
move(): void;
|
|
27
|
+
/**
|
|
28
|
+
* Asserts the specified step will run once.
|
|
29
|
+
*/
|
|
30
|
+
once(step: number): void;
|
|
31
|
+
on(step: number, assert: (step: number) => void): void;
|
|
32
|
+
atLeastOnce(step: number): number;
|
|
33
|
+
any(steps: number[], handler?: (step: number) => void): number;
|
|
34
|
+
onAny(steps: number[], ...asserts: Array<(step: number) => unknown>): void;
|
|
35
|
+
end(timeout: number): Promise<number>;
|
|
36
|
+
end(): number;
|
|
37
|
+
exactly(step: number, times: number): number;
|
|
38
|
+
wait(step: number): Promise<void>;
|
|
39
|
+
wait(step: number, callback: () => void): void;
|
|
40
|
+
private assert;
|
|
40
41
|
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { AssertOrder };
|
|
41
44
|
//# sourceMappingURL=AssertOrder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssertOrder.d.ts","
|
|
1
|
+
{"version":3,"file":"AssertOrder.d.ts","names":[],"sources":["../../ts/assert-order/AssertOrder.ts"],"mappings":";cAMa;;;;MAIR;UAII;EACR,YAAY;;;;;EAQZ,GAAG;;;;;EAQH,IAAI;;;;EASJ,KAAK;;;;EAOL;;;;EAOA,KAAK;EAKL,GAAG,cAAc,SAAS;EAM1B,YAAY;EAYZ,IAAI,iBAAiB,WAAW;EAUhC,MAAM,oBAAoB,SAAS,OAAO;EAkB1C,IAAI,kBAAkB;EACtB;EAmBA,QAAQ,cAAc;EAWtB,KAAK,eAAe;EACpB,KAAK,cAAc;UAQX"}
|
|
@@ -1,148 +1,120 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
return this.state.getTimeTaken();
|
|
119
|
-
}
|
|
120
|
-
if (this.state.isAccepting()) {
|
|
121
|
-
throw new InvalidOrder_js_1.InvalidOrder(this.state.get(), 'end', [], { ssf: this.end });
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
exactly(step, times) {
|
|
125
|
-
if (this.state.isNotValid(step))
|
|
126
|
-
throw new InvalidOrder_js_1.InvalidOrder(this.state.get(), 'exactly', [step, times], { ssf: this.exactly });
|
|
127
|
-
if (this.state.maxSubStep === undefined) {
|
|
128
|
-
this.state.maxSubStep = times;
|
|
129
|
-
this.state.minSubStep = times;
|
|
130
|
-
}
|
|
131
|
-
return this.state.moveSubStep();
|
|
132
|
-
}
|
|
133
|
-
wait(step, callback) {
|
|
134
|
-
if (callback)
|
|
135
|
-
this.on(step, callback);
|
|
136
|
-
else
|
|
137
|
-
return new Promise(a => {
|
|
138
|
-
this.on(step, a);
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
assert(method, step) {
|
|
142
|
-
if (this.state.isNotValid(step)) {
|
|
143
|
-
throw new InvalidOrder_js_1.InvalidOrder(this.state.get(), method, [step], { ssf: this[method] });
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
1
|
+
const require_InvalidOrder = require("./InvalidOrder.js");
|
|
2
|
+
const require_defineProperty = require("../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/defineProperty.js");
|
|
3
|
+
const require_StateMachine = require("./StateMachine.js");
|
|
4
|
+
//#region ts/assert-order/AssertOrder.ts
|
|
5
|
+
var AssertOrder = class {
|
|
6
|
+
/**
|
|
7
|
+
* Gets the current expecting step.
|
|
8
|
+
*/
|
|
9
|
+
get currentStep() {
|
|
10
|
+
return this.state.step;
|
|
11
|
+
}
|
|
12
|
+
constructor(plan) {
|
|
13
|
+
require_defineProperty.default(this, "state", void 0);
|
|
14
|
+
this.state = new require_StateMachine.StateMachine(plan);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Asserts the current step is `step`.
|
|
18
|
+
* @param step expected step.
|
|
19
|
+
*/
|
|
20
|
+
is(step) {
|
|
21
|
+
this.assert("is", step);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Asserts the current step is not `step`.
|
|
25
|
+
* @param step not expected step.
|
|
26
|
+
*/
|
|
27
|
+
not(step) {
|
|
28
|
+
if (this.state.isValid(step)) throw new require_InvalidOrder.InvalidOrder(this.state.get(), "not", [step], { ssf: this.not });
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Reset to specified step.
|
|
32
|
+
*/
|
|
33
|
+
jump(step) {
|
|
34
|
+
this.state.jump(step);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Move to next step.
|
|
38
|
+
*/
|
|
39
|
+
move() {
|
|
40
|
+
this.state.move();
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Asserts the specified step will run once.
|
|
44
|
+
*/
|
|
45
|
+
once(step) {
|
|
46
|
+
this.assert("once", step);
|
|
47
|
+
this.state.move();
|
|
48
|
+
}
|
|
49
|
+
on(step, assert) {
|
|
50
|
+
this.state.on(step, () => {
|
|
51
|
+
assert(step);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
atLeastOnce(step) {
|
|
55
|
+
const nextStep = step + 1;
|
|
56
|
+
if (this.state.step === step) {
|
|
57
|
+
this.state.move();
|
|
58
|
+
return this.state.moveSubStep();
|
|
59
|
+
}
|
|
60
|
+
if (this.state.step === nextStep && this.state.subStep > 0) return this.state.moveSubStep();
|
|
61
|
+
throw new require_InvalidOrder.InvalidOrder(this.state.get(), "atLeastOnce", [step], { ssf: this.atLeastOnce });
|
|
62
|
+
}
|
|
63
|
+
any(steps, handler) {
|
|
64
|
+
const index = steps.indexOf(this.state.step);
|
|
65
|
+
if (index === -1) throw new require_InvalidOrder.InvalidOrder(this.state.get(), "any", [steps], { ssf: this.any });
|
|
66
|
+
if (handler) handler(steps[index]);
|
|
67
|
+
this.state.move();
|
|
68
|
+
return steps[index];
|
|
69
|
+
}
|
|
70
|
+
onAny(steps, ...asserts) {
|
|
71
|
+
steps.forEach((step) => {
|
|
72
|
+
this.state.on(step, () => {
|
|
73
|
+
let firstError;
|
|
74
|
+
let hasPass = false;
|
|
75
|
+
asserts.forEach((assert) => {
|
|
76
|
+
try {
|
|
77
|
+
assert(step);
|
|
78
|
+
hasPass = true;
|
|
79
|
+
} catch (err) {
|
|
80
|
+
if (!firstError) firstError = err;
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
if (!hasPass) throw firstError;
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
end(timeout) {
|
|
88
|
+
if (timeout) return new Promise((r) => {
|
|
89
|
+
setTimeout(r, timeout);
|
|
90
|
+
}).then(() => {
|
|
91
|
+
return this.end();
|
|
92
|
+
});
|
|
93
|
+
if (!this.state.isMaxStepDefined()) {
|
|
94
|
+
this.state.stopAccepting();
|
|
95
|
+
return this.state.getTimeTaken();
|
|
96
|
+
}
|
|
97
|
+
if (this.state.isAccepting()) throw new require_InvalidOrder.InvalidOrder(this.state.get(), "end", [], { ssf: this.end });
|
|
98
|
+
}
|
|
99
|
+
exactly(step, times) {
|
|
100
|
+
if (this.state.isNotValid(step)) throw new require_InvalidOrder.InvalidOrder(this.state.get(), "exactly", [step, times], { ssf: this.exactly });
|
|
101
|
+
if (this.state.maxSubStep === void 0) {
|
|
102
|
+
this.state.maxSubStep = times;
|
|
103
|
+
this.state.minSubStep = times;
|
|
104
|
+
}
|
|
105
|
+
return this.state.moveSubStep();
|
|
106
|
+
}
|
|
107
|
+
wait(step, callback) {
|
|
108
|
+
if (callback) this.on(step, callback);
|
|
109
|
+
else return new Promise((a) => {
|
|
110
|
+
this.on(step, a);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
assert(method, step) {
|
|
114
|
+
if (this.state.isNotValid(step)) throw new require_InvalidOrder.InvalidOrder(this.state.get(), method, [step], { ssf: this[method] });
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
//#endregion
|
|
147
118
|
exports.AssertOrder = AssertOrder;
|
|
119
|
+
|
|
148
120
|
//# sourceMappingURL=AssertOrder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssertOrder.js","
|
|
1
|
+
{"version":3,"file":"AssertOrder.js","names":["StateMachine","InvalidOrder"],"sources":["../../ts/assert-order/AssertOrder.ts"],"sourcesContent":["import { InvalidOrder } from './InvalidOrder.js'\nimport { StateMachine } from './StateMachine.js'\n\n// order.atLeast(step, count) // expected to be executed at least `count` times\n// order.atMost(step, count) // exected to be executed at most `count` times\n\nexport class AssertOrder {\n\t/**\n\t * Gets the current expecting step.\n\t */\n\tget currentStep() {\n\t\treturn this.state.step\n\t}\n\n\tprivate state: StateMachine\n\tconstructor(plan?: number) {\n\t\tthis.state = new StateMachine(plan)\n\t}\n\n\t/**\n\t * Asserts the current step is `step`.\n\t * @param step expected step.\n\t */\n\tis(step: number) {\n\t\tthis.assert('is', step)\n\t}\n\n\t/**\n\t * Asserts the current step is not `step`.\n\t * @param step not expected step.\n\t */\n\tnot(step: number) {\n\t\tif (this.state.isValid(step)) {\n\t\t\tthrow new InvalidOrder(this.state.get(), 'not', [step], { ssf: this.not })\n\t\t}\n\t}\n\n\t/**\n\t * Reset to specified step.\n\t */\n\tjump(step: number) {\n\t\tthis.state.jump(step)\n\t}\n\n\t/**\n\t * Move to next step.\n\t */\n\tmove() {\n\t\tthis.state.move()\n\t}\n\n\t/**\n\t * Asserts the specified step will run once.\n\t */\n\tonce(step: number) {\n\t\tthis.assert('once', step)\n\t\tthis.state.move()\n\t}\n\n\ton(step: number, assert: (step: number) => void) {\n\t\tthis.state.on(step, () => {\n\t\t\tassert(step)\n\t\t})\n\t}\n\n\tatLeastOnce(step: number) {\n\t\tconst nextStep = step + 1\n\t\tif (this.state.step === step) {\n\t\t\tthis.state.move()\n\t\t\treturn this.state.moveSubStep()\n\t\t}\n\t\tif (this.state.step === nextStep && this.state.subStep > 0) {\n\t\t\treturn this.state.moveSubStep()\n\t\t}\n\t\tthrow new InvalidOrder(this.state.get(), 'atLeastOnce', [step], { ssf: this.atLeastOnce })\n\t}\n\n\tany(steps: number[], handler?: (step: number) => void) {\n\t\tconst index = steps.indexOf(this.state.step)\n\t\tif (index === -1) throw new InvalidOrder(this.state.get(), 'any', [steps], { ssf: this.any })\n\t\tif (handler) handler(steps[index])\n\n\t\tthis.state.move()\n\t\treturn steps[index]\n\t}\n\t// false positive on `step: number`\n\t// eslint-disable-next-line\n\tonAny(steps: number[], ...asserts: Array<(step: number) => unknown>) {\n\t\tsteps.forEach((step) => {\n\t\t\tthis.state.on(step, () => {\n\t\t\t\tlet firstError: any\n\t\t\t\tlet hasPass = false\n\t\t\t\tasserts.forEach((assert) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tassert(step)\n\t\t\t\t\t\thasPass = true\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tif (!firstError) firstError = err\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tif (!hasPass) throw firstError\n\t\t\t})\n\t\t})\n\t\treturn\n\t}\n\tend(timeout: number): Promise<number>\n\tend(): number\n\tend(timeout?: number) {\n\t\tif (timeout) {\n\t\t\treturn new Promise((r) => {\n\t\t\t\tsetTimeout(r, timeout)\n\t\t\t}).then(() => {\n\t\t\t\treturn this.end()\n\t\t\t})\n\t\t}\n\n\t\tif (!this.state.isMaxStepDefined()) {\n\t\t\tthis.state.stopAccepting()\n\t\t\treturn this.state.getTimeTaken()\n\t\t}\n\n\t\tif (this.state.isAccepting()) {\n\t\t\tthrow new InvalidOrder(this.state.get(), 'end', [], { ssf: this.end })\n\t\t}\n\t}\n\texactly(step: number, times: number) {\n\t\tif (this.state.isNotValid(step))\n\t\t\tthrow new InvalidOrder(this.state.get(), 'exactly', [step, times], { ssf: this.exactly })\n\n\t\tif (this.state.maxSubStep === undefined) {\n\t\t\tthis.state.maxSubStep = times\n\t\t\tthis.state.minSubStep = times\n\t\t}\n\n\t\treturn this.state.moveSubStep()\n\t}\n\twait(step: number): Promise<void>\n\twait(step: number, callback: () => void): void\n\twait(step: number, callback?: () => void) {\n\t\tif (callback) this.on(step, callback)\n\t\telse\n\t\t\treturn new Promise<any>((a) => {\n\t\t\t\tthis.on(step, a)\n\t\t\t})\n\t}\n\tprivate assert(method: string, step: number) {\n\t\tif (this.state.isNotValid(step)) {\n\t\t\tthrow new InvalidOrder(this.state.get(), method, [step], { ssf: (this as any)[method] })\n\t\t}\n\t}\n}\n"],"mappings":";;;;AAMA,IAAa,cAAb,MAAyB;;;;CAIxB,IAAI,cAAc;EACjB,OAAO,KAAK,MAAM;CACnB;CAGA,YAAY,MAAe;EADnB,uBAAA,QAAA,MAAA,SAAA,KAAA,CAAA;EAEP,KAAK,QAAQ,IAAIA,qBAAAA,aAAa,IAAI;CACnC;;;;;CAMA,GAAG,MAAc;EAChB,KAAK,OAAO,MAAM,IAAI;CACvB;;;;;CAMA,IAAI,MAAc;EACjB,IAAI,KAAK,MAAM,QAAQ,IAAI,GAC1B,MAAM,IAAIC,qBAAAA,aAAa,KAAK,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAE3E;;;;CAKA,KAAK,MAAc;EAClB,KAAK,MAAM,KAAK,IAAI;CACrB;;;;CAKA,OAAO;EACN,KAAK,MAAM,KAAK;CACjB;;;;CAKA,KAAK,MAAc;EAClB,KAAK,OAAO,QAAQ,IAAI;EACxB,KAAK,MAAM,KAAK;CACjB;CAEA,GAAG,MAAc,QAAgC;EAChD,KAAK,MAAM,GAAG,YAAY;GACzB,OAAO,IAAI;EACZ,CAAC;CACF;CAEA,YAAY,MAAc;EACzB,MAAM,WAAW,OAAO;EACxB,IAAI,KAAK,MAAM,SAAS,MAAM;GAC7B,KAAK,MAAM,KAAK;GAChB,OAAO,KAAK,MAAM,YAAY;EAC/B;EACA,IAAI,KAAK,MAAM,SAAS,YAAY,KAAK,MAAM,UAAU,GACxD,OAAO,KAAK,MAAM,YAAY;EAE/B,MAAM,IAAIA,qBAAAA,aAAa,KAAK,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,GAAG,EAAE,KAAK,KAAK,YAAY,CAAC;CAC1F;CAEA,IAAI,OAAiB,SAAkC;EACtD,MAAM,QAAQ,MAAM,QAAQ,KAAK,MAAM,IAAI;EAC3C,IAAI,UAAU,IAAI,MAAM,IAAIA,qBAAAA,aAAa,KAAK,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;EAC5F,IAAI,SAAS,QAAQ,MAAM,MAAM;EAEjC,KAAK,MAAM,KAAK;EAChB,OAAO,MAAM;CACd;CAGA,MAAM,OAAiB,GAAG,SAA2C;EACpE,MAAM,SAAS,SAAS;GACvB,KAAK,MAAM,GAAG,YAAY;IACzB,IAAI;IACJ,IAAI,UAAU;IACd,QAAQ,SAAS,WAAW;KAC3B,IAAI;MACH,OAAO,IAAI;MACX,UAAU;KACX,SAAS,KAAK;MACb,IAAI,CAAC,YAAY,aAAa;KAC/B;IACD,CAAC;IACD,IAAI,CAAC,SAAS,MAAM;GACrB,CAAC;EACF,CAAC;CAEF;CAGA,IAAI,SAAkB;EACrB,IAAI,SACH,OAAO,IAAI,SAAS,MAAM;GACzB,WAAW,GAAG,OAAO;EACtB,CAAC,CAAC,CAAC,WAAW;GACb,OAAO,KAAK,IAAI;EACjB,CAAC;EAGF,IAAI,CAAC,KAAK,MAAM,iBAAiB,GAAG;GACnC,KAAK,MAAM,cAAc;GACzB,OAAO,KAAK,MAAM,aAAa;EAChC;EAEA,IAAI,KAAK,MAAM,YAAY,GAC1B,MAAM,IAAIA,qBAAAA,aAAa,KAAK,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAEvE;CACA,QAAQ,MAAc,OAAe;EACpC,IAAI,KAAK,MAAM,WAAW,IAAI,GAC7B,MAAM,IAAIA,qBAAAA,aAAa,KAAK,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,KAAK,GAAG,EAAE,KAAK,KAAK,QAAQ,CAAC;EAEzF,IAAI,KAAK,MAAM,eAAe,KAAA,GAAW;GACxC,KAAK,MAAM,aAAa;GACxB,KAAK,MAAM,aAAa;EACzB;EAEA,OAAO,KAAK,MAAM,YAAY;CAC/B;CAGA,KAAK,MAAc,UAAuB;EACzC,IAAI,UAAU,KAAK,GAAG,MAAM,QAAQ;OAEnC,OAAO,IAAI,SAAc,MAAM;GAC9B,KAAK,GAAG,MAAM,CAAC;EAChB,CAAC;CACH;CACA,OAAe,QAAgB,MAAc;EAC5C,IAAI,KAAK,MAAM,WAAW,IAAI,GAC7B,MAAM,IAAIA,qBAAAA,aAAa,KAAK,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,EAAE,KAAM,KAAa,QAAQ,CAAC;CAEzF;AACD"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { AssertionError } from
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { AssertionError } from "../errors.js";
|
|
2
|
+
import { State } from "./types.js";
|
|
3
|
+
//#region ts/assert-order/InvalidOrder.d.ts
|
|
4
|
+
declare class InvalidOrder extends AssertionError {
|
|
5
|
+
state: State;
|
|
6
|
+
method: string;
|
|
7
|
+
args: any[];
|
|
8
|
+
constructor(state: State, method: string, args: any[], options: AssertionError.Options);
|
|
8
9
|
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { InvalidOrder };
|
|
9
12
|
//# sourceMappingURL=InvalidOrder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvalidOrder.d.ts","
|
|
1
|
+
{"version":3,"file":"InvalidOrder.d.ts","names":[],"sources":["../../ts/assert-order/InvalidOrder.ts"],"mappings":";;;cAGa,qBAAqB;EAEzB,OAAO;EACP;EACA;EAHR,YACQ,OAAO,OACP,gBACA,aACP,SAAS,eAAe"}
|
|
@@ -1,52 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
writable: true,
|
|
12
|
-
value: state
|
|
13
|
-
});
|
|
14
|
-
Object.defineProperty(this, "method", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
configurable: true,
|
|
17
|
-
writable: true,
|
|
18
|
-
value: method
|
|
19
|
-
});
|
|
20
|
-
Object.defineProperty(this, "args", {
|
|
21
|
-
enumerable: true,
|
|
22
|
-
configurable: true,
|
|
23
|
-
writable: true,
|
|
24
|
-
value: args
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.InvalidOrder = InvalidOrder;
|
|
1
|
+
const require_errors = require("../errors.js");
|
|
2
|
+
//#region ts/assert-order/InvalidOrder.ts
|
|
3
|
+
var InvalidOrder = class extends require_errors.AssertionError {
|
|
4
|
+
constructor(state, method, args, options) {
|
|
5
|
+
super(method === "end" ? getEndMessage(state) : getExpectingMessage(state, method, args), options);
|
|
6
|
+
this.state = state;
|
|
7
|
+
this.method = method;
|
|
8
|
+
this.args = args;
|
|
9
|
+
}
|
|
10
|
+
};
|
|
29
11
|
function getEndMessage(state) {
|
|
30
|
-
|
|
12
|
+
return `Planned for ${state.maxStep} step but expecting step ${state.step} when 'end()' is called`;
|
|
31
13
|
}
|
|
32
14
|
function getExpectingMessage(state, method, args) {
|
|
33
|
-
|
|
15
|
+
return `Expecting ${getExpectingCalls(state)}, but received '${method}(${getMethodArgs(args)})'`;
|
|
34
16
|
}
|
|
35
17
|
function getExpectingCalls(state) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const methods = ['exactly'];
|
|
45
|
-
message = methods.map(m => `'${m}(${state.step}, ${state.maxSubStep})'`).join(', ');
|
|
46
|
-
}
|
|
47
|
-
return message;
|
|
18
|
+
let message;
|
|
19
|
+
if (state.subStep === 0) message = [
|
|
20
|
+
"is",
|
|
21
|
+
"once",
|
|
22
|
+
"any"
|
|
23
|
+
].map((m) => `'${m}(${["any"].indexOf(m) === -1 ? state.step : `[${state.step}]`})'`).join(", ");
|
|
24
|
+
else message = ["exactly"].map((m) => `'${m}(${state.step}, ${state.maxSubStep})'`).join(", ");
|
|
25
|
+
return message;
|
|
48
26
|
}
|
|
49
27
|
function getMethodArgs(args) {
|
|
50
|
-
|
|
28
|
+
return args.map((a) => Array.isArray(a) ? `[${a.join(", ")}]` : a).join(", ");
|
|
51
29
|
}
|
|
30
|
+
//#endregion
|
|
31
|
+
exports.InvalidOrder = InvalidOrder;
|
|
32
|
+
|
|
52
33
|
//# sourceMappingURL=InvalidOrder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvalidOrder.js","
|
|
1
|
+
{"version":3,"file":"InvalidOrder.js","names":["AssertionError"],"sources":["../../ts/assert-order/InvalidOrder.ts"],"sourcesContent":["import { AssertionError } from '../errors.js'\nimport type { State } from './types.js'\n\nexport class InvalidOrder extends AssertionError {\n\tconstructor(\n\t\tpublic state: State,\n\t\tpublic method: string,\n\t\tpublic args: any[],\n\t\toptions: AssertionError.Options,\n\t) {\n\t\tsuper(method === 'end' ? getEndMessage(state) : getExpectingMessage(state, method, args), options)\n\t}\n}\n\nfunction getEndMessage(state: State) {\n\treturn `Planned for ${state.maxStep} step but expecting step ${state.step} when 'end()' is called`\n}\n\nfunction getExpectingMessage(state: State, method: string, args: any[]) {\n\treturn `Expecting ${getExpectingCalls(state)}, but received '${method}(${getMethodArgs(args)})'`\n}\n\nfunction getExpectingCalls(state: State) {\n\tlet message: string\n\tif (state.subStep === 0) {\n\t\tconst methods = ['is', 'once', 'any']\n\t\tmessage = methods.map((m) => `'${m}(${['any'].indexOf(m) === -1 ? state.step : `[${state.step}]`})'`).join(', ')\n\t} else {\n\t\tconst methods = ['exactly']\n\t\tmessage = methods.map((m) => `'${m}(${state.step}, ${state.maxSubStep})'`).join(', ')\n\t}\n\treturn message\n}\n\nfunction getMethodArgs(args: any[]) {\n\treturn args.map((a) => (Array.isArray(a) ? `[${a.join(', ')}]` : a)).join(', ')\n}\n"],"mappings":";;AAGA,IAAa,eAAb,cAAkCA,eAAAA,eAAe;CAChD,YACC,OACA,QACA,MACA,SACC;EACD,MAAM,WAAW,QAAQ,cAAc,KAAK,IAAI,oBAAoB,OAAO,QAAQ,IAAI,GAAG,OAAO;EAL1F,KAAA,QAAA;EACA,KAAA,SAAA;EACA,KAAA,OAAA;CAIR;AACD;AAEA,SAAS,cAAc,OAAc;CACpC,OAAO,eAAe,MAAM,QAAQ,2BAA2B,MAAM,KAAK;AAC3E;AAEA,SAAS,oBAAoB,OAAc,QAAgB,MAAa;CACvE,OAAO,aAAa,kBAAkB,KAAK,EAAE,kBAAkB,OAAO,GAAG,cAAc,IAAI,EAAE;AAC9F;AAEA,SAAS,kBAAkB,OAAc;CACxC,IAAI;CACJ,IAAI,MAAM,YAAY,GAErB,UAAU;EADO;EAAM;EAAQ;CACf,CAAC,CAAC,KAAK,MAAM,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,OAAO,IAAI,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI;MAG/G,UAAU,CADO,SACD,CAAC,CAAC,KAAK,MAAM,IAAI,EAAE,GAAG,MAAM,KAAK,IAAI,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,IAAI;CAErF,OAAO;AACR;AAEA,SAAS,cAAc,MAAa;CACnC,OAAO,KAAK,KAAK,MAAO,MAAM,QAAQ,CAAC,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,CAAE,CAAC,CAAC,KAAK,IAAI;AAC/E"}
|