sat-wait 0.0.1 → 0.1.1
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/built/cjs/index.js.map +1 -0
- package/built/cjs/wait.js.map +1 -0
- package/built/esm/index.d.ts +1 -0
- package/built/esm/index.js +18 -0
- package/built/esm/index.js.map +1 -0
- package/built/esm/wait.d.ts +51 -0
- package/built/esm/wait.js +130 -0
- package/built/esm/wait.js.map +1 -0
- package/package.json +22 -19
- package/readme.md +6 -6
- package/tsconfig.esm.json +18 -0
- package/tsconfig.json +2 -1
- package/built/index.js.map +0 -1
- package/built/wait.js.map +0 -1
- /package/built/{index.d.ts → cjs/index.d.ts} +0 -0
- /package/built/{index.js → cjs/index.js} +0 -0
- /package/built/{wait.d.ts → cjs/wait.d.ts} +0 -0
- /package/built/{wait.js → cjs/wait.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../../lib/wait.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './wait';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./wait"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asynchronously sleeps for the specified number of milliseconds.
|
|
3
|
+
*
|
|
4
|
+
* @param {number} [millisecond=5000] - The number of milliseconds to sleep. Defaults to 5 seconds (5000 milliseconds).
|
|
5
|
+
* @returns {Promise<void>} A Promise that resolves after the specified sleep duration.
|
|
6
|
+
*/
|
|
7
|
+
declare function sleep(millisecond?: number): Promise<unknown>;
|
|
8
|
+
export type IWaiterOpts = {
|
|
9
|
+
timeout?: number;
|
|
10
|
+
interval?: number;
|
|
11
|
+
dontThrow?: boolean;
|
|
12
|
+
falseIfError?: boolean;
|
|
13
|
+
stopIfNoError?: boolean;
|
|
14
|
+
message?: string | ((timeout: number, callbackError?: any) => Promise<string> | string);
|
|
15
|
+
waiterError?: new (...args: any[]) => any;
|
|
16
|
+
analyseResult?: (...args: any[]) => boolean | Promise<boolean>;
|
|
17
|
+
before?: () => Promise<void> | any;
|
|
18
|
+
after?: () => Promise<void> | any;
|
|
19
|
+
callEveryCycle?: () => Promise<void> | any;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* @example
|
|
23
|
+
* const {waitFor} = require('sat-utils');
|
|
24
|
+
*
|
|
25
|
+
* waitResult();
|
|
26
|
+
* async function waitResult() {
|
|
27
|
+
* await waitFor(async () => new Promise(res => setTimeout(res, 2500)), {
|
|
28
|
+
* timeout: 5000,
|
|
29
|
+
* interval: 500
|
|
30
|
+
* })
|
|
31
|
+
* }
|
|
32
|
+
*
|
|
33
|
+
* @param {Function} callback
|
|
34
|
+
* @param {!Object} options execution options
|
|
35
|
+
* @param {number} [options.timeout] execution time
|
|
36
|
+
* @param {number} [options.interval] call interval
|
|
37
|
+
* @param {boolean} [options.dontThrow] if during waiting cylce result was not achived - last call back execution result will be returned as a waiting cycle result
|
|
38
|
+
* @param {boolean} [options.falseIfError] if call back throws an error - counted as negative result
|
|
39
|
+
* @param {boolean} [options.stopIfNoError] if callback did not throw error - counted as successful result
|
|
40
|
+
* @param {Error|new (...args: any[]) => any} [options.waiterError] error which will be thrown if result will not achieved
|
|
41
|
+
* @param {Function} [options.analyseResult] custom analyser of the call back result
|
|
42
|
+
* @param {Function} [options.before] call before waiting cycle
|
|
43
|
+
* @param {Function} [options.after] call after waiting cycle, even if result was not achived, if result achived - also will be executed
|
|
44
|
+
* @param {Function} [options.callEveryCycle] call every time after main call back execution if result was not achived
|
|
45
|
+
* @returns {any} any result that call back will return
|
|
46
|
+
*/
|
|
47
|
+
declare function waitFor(callback: any, options?: IWaiterOpts): Promise<any>;
|
|
48
|
+
declare namespace waitFor {
|
|
49
|
+
var setDefaultOpts: (opts: IWaiterOpts) => void;
|
|
50
|
+
}
|
|
51
|
+
export { waitFor, sleep };
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.waitFor = waitFor;
|
|
4
|
+
exports.sleep = sleep;
|
|
5
|
+
/* eslint-disable sonarjs/cognitive-complexity */
|
|
6
|
+
const sat_utils_1 = require("sat-utils");
|
|
7
|
+
/**
|
|
8
|
+
* Asynchronously sleeps for the specified number of milliseconds.
|
|
9
|
+
*
|
|
10
|
+
* @param {number} [millisecond=5000] - The number of milliseconds to sleep. Defaults to 5 seconds (5000 milliseconds).
|
|
11
|
+
* @returns {Promise<void>} A Promise that resolves after the specified sleep duration.
|
|
12
|
+
*/
|
|
13
|
+
async function sleep(millisecond = 5 * 1000) {
|
|
14
|
+
return new Promise(resolve => setTimeout(resolve, millisecond));
|
|
15
|
+
}
|
|
16
|
+
const defaultOptions = {};
|
|
17
|
+
/**
|
|
18
|
+
* @example
|
|
19
|
+
* const {waitFor} = require('sat-utils');
|
|
20
|
+
*
|
|
21
|
+
* waitResult();
|
|
22
|
+
* async function waitResult() {
|
|
23
|
+
* await waitFor(async () => new Promise(res => setTimeout(res, 2500)), {
|
|
24
|
+
* timeout: 5000,
|
|
25
|
+
* interval: 500
|
|
26
|
+
* })
|
|
27
|
+
* }
|
|
28
|
+
*
|
|
29
|
+
* @param {Function} callback
|
|
30
|
+
* @param {!Object} options execution options
|
|
31
|
+
* @param {number} [options.timeout] execution time
|
|
32
|
+
* @param {number} [options.interval] call interval
|
|
33
|
+
* @param {boolean} [options.dontThrow] if during waiting cylce result was not achived - last call back execution result will be returned as a waiting cycle result
|
|
34
|
+
* @param {boolean} [options.falseIfError] if call back throws an error - counted as negative result
|
|
35
|
+
* @param {boolean} [options.stopIfNoError] if callback did not throw error - counted as successful result
|
|
36
|
+
* @param {Error|new (...args: any[]) => any} [options.waiterError] error which will be thrown if result will not achieved
|
|
37
|
+
* @param {Function} [options.analyseResult] custom analyser of the call back result
|
|
38
|
+
* @param {Function} [options.before] call before waiting cycle
|
|
39
|
+
* @param {Function} [options.after] call after waiting cycle, even if result was not achived, if result achived - also will be executed
|
|
40
|
+
* @param {Function} [options.callEveryCycle] call every time after main call back execution if result was not achived
|
|
41
|
+
* @returns {any} any result that call back will return
|
|
42
|
+
*/
|
|
43
|
+
async function waitFor(callback, options = {}) {
|
|
44
|
+
if (!(0, sat_utils_1.isObject)(options)) {
|
|
45
|
+
throw new TypeError(`waitFor(): second argument should be an object, current arg is ${(0, sat_utils_1.getType)(options)}`);
|
|
46
|
+
}
|
|
47
|
+
let callbackError;
|
|
48
|
+
const mergedOpts = { ...defaultOptions, ...options };
|
|
49
|
+
const { message, timeout = 5000, interval = 250, dontThrow = false, analyseResult, falseIfError = true, stopIfNoError, waiterError = Error, callEveryCycle = () => { }, before = () => { }, after = () => { }, } = mergedOpts;
|
|
50
|
+
if (!(0, sat_utils_1.isFunction)(callback) && !(0, sat_utils_1.isAsyncFunction)(callback)) {
|
|
51
|
+
throw new TypeError(`waitFor(): first argument should be a function, async function or arrow function current arg is ${(0, sat_utils_1.getType)(callback)}`);
|
|
52
|
+
}
|
|
53
|
+
if (!(0, sat_utils_1.isNumber)(interval)) {
|
|
54
|
+
throw new TypeError(`waitFor(): second argument property "interval" should be a number, current arg is ${(0, sat_utils_1.getType)(interval)}`);
|
|
55
|
+
}
|
|
56
|
+
if (!(0, sat_utils_1.isNumber)(interval)) {
|
|
57
|
+
throw new TypeError(`waitFor(): second argument property "interval" should be a number, current arg is ${(0, sat_utils_1.getType)(interval)}`);
|
|
58
|
+
}
|
|
59
|
+
if (!(0, sat_utils_1.isNumber)(timeout)) {
|
|
60
|
+
throw new TypeError(`waitFor(): second argument property "timeout" should be a number, current arg is ${(0, sat_utils_1.getType)(timeout)}`);
|
|
61
|
+
}
|
|
62
|
+
if (!(0, sat_utils_1.isFunction)(before) && !(0, sat_utils_1.isAsyncFunction)(before)) {
|
|
63
|
+
throw new TypeError(`waitFor(): second argument property "before" should be a function, async function or arrow function, current arg is ${(0, sat_utils_1.getType)(before)}`);
|
|
64
|
+
}
|
|
65
|
+
if (!(0, sat_utils_1.isFunction)(after) && !(0, sat_utils_1.isAsyncFunction)(after)) {
|
|
66
|
+
throw new TypeError(`waitFor(): second argument property "after" should be a function, async function or arrow function, current arg is ${(0, sat_utils_1.getType)(before)}`);
|
|
67
|
+
}
|
|
68
|
+
if (!(0, sat_utils_1.isFunction)(callEveryCycle) && !(0, sat_utils_1.isAsyncFunction)(callEveryCycle)) {
|
|
69
|
+
throw new TypeError(`waitFor(): second argument property "callEveryCycle" should be a function, async function or arrow function, current arg is ${(0, sat_utils_1.getType)(callEveryCycle)}`);
|
|
70
|
+
}
|
|
71
|
+
if (analyseResult && !(0, sat_utils_1.isFunction)(analyseResult) && !(0, sat_utils_1.isAsyncFunction)(analyseResult)) {
|
|
72
|
+
throw new TypeError(`waitFor(): second argument property "analyseResult" should be a function, async function or arrow function, current arg is ${(0, sat_utils_1.getType)(analyseResult)}`);
|
|
73
|
+
}
|
|
74
|
+
const start = Date.now();
|
|
75
|
+
let result;
|
|
76
|
+
await before();
|
|
77
|
+
while (Date.now() - start < timeout) {
|
|
78
|
+
if (falseIfError) {
|
|
79
|
+
try {
|
|
80
|
+
result = await callback();
|
|
81
|
+
if (stopIfNoError)
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
callbackError = error;
|
|
86
|
+
result = false;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
result = await callback();
|
|
91
|
+
}
|
|
92
|
+
if (analyseResult && (await analyseResult(result))) {
|
|
93
|
+
await after();
|
|
94
|
+
return result;
|
|
95
|
+
}
|
|
96
|
+
if (result) {
|
|
97
|
+
await after();
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
try {
|
|
101
|
+
await callEveryCycle();
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
callbackError = error;
|
|
105
|
+
}
|
|
106
|
+
await sleep(interval);
|
|
107
|
+
}
|
|
108
|
+
await after();
|
|
109
|
+
if (dontThrow) {
|
|
110
|
+
return result;
|
|
111
|
+
}
|
|
112
|
+
if (!result) {
|
|
113
|
+
const callbackErrorMessagePart = callbackError || '';
|
|
114
|
+
let errorMessage = `Required condition was not achieved during ${timeout} ms. ${callbackErrorMessagePart}`;
|
|
115
|
+
if ((0, sat_utils_1.isString)(message)) {
|
|
116
|
+
errorMessage = message;
|
|
117
|
+
}
|
|
118
|
+
else if ((0, sat_utils_1.isFunction)(message) || (0, sat_utils_1.isAsyncFunction)(message)) {
|
|
119
|
+
errorMessage = await message(timeout, callbackError);
|
|
120
|
+
}
|
|
121
|
+
throw new waiterError(errorMessage);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
waitFor.setDefaultOpts = function (opts) {
|
|
125
|
+
Object.keys(defaultOptions).forEach(key => {
|
|
126
|
+
delete defaultOptions[key];
|
|
127
|
+
});
|
|
128
|
+
Object.assign(defaultOptions, opts);
|
|
129
|
+
};
|
|
130
|
+
//# sourceMappingURL=wait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../../lib/wait.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sat-wait",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Universal waiting library",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "mocha ./specs/**/*.spec.ts --require ts-node/register --timeout 30000",
|
|
7
7
|
"lint": "eslint --ext .ts ./",
|
|
8
|
-
"tsc": "
|
|
8
|
+
"tsc:cjs": "tsc -p tsconfig.json",
|
|
9
|
+
"tsc:esm": "tsc -p tsconfig.esm.json",
|
|
10
|
+
"tsc": "rm -rf ./built && npm run tsc:cjs && npm run tsc:esm"
|
|
9
11
|
},
|
|
10
|
-
"main": "./built/index.js",
|
|
12
|
+
"main": "./built/cjs/index.js",
|
|
11
13
|
"exports": {
|
|
12
14
|
".": {
|
|
13
|
-
"require": "./built/index.js"
|
|
15
|
+
"require": "./built/cjs/index.js",
|
|
16
|
+
"import": "./built/esm/index.js"
|
|
14
17
|
}
|
|
15
18
|
},
|
|
16
19
|
"repository": {
|
|
@@ -28,25 +31,25 @@
|
|
|
28
31
|
},
|
|
29
32
|
"homepage": "https://github.com/Simple-Automation-Testing/sat-wait#readme",
|
|
30
33
|
"devDependencies": {
|
|
31
|
-
"@types/mocha": "^10.0.
|
|
32
|
-
"@types/node": "^22.
|
|
33
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
34
|
-
"@typescript-eslint/parser": "^
|
|
34
|
+
"@types/mocha": "^10.0.1",
|
|
35
|
+
"@types/node": "^22.9.3",
|
|
36
|
+
"@typescript-eslint/eslint-plugin": "^5.59.7",
|
|
37
|
+
"@typescript-eslint/parser": "^5.59.7",
|
|
35
38
|
"assertior": "^0.0.28",
|
|
36
|
-
"eslint": "^8.
|
|
37
|
-
"eslint-config-prettier": "^
|
|
38
|
-
"eslint-plugin-jsdoc": "^
|
|
39
|
-
"eslint-plugin-no-only-tests": "^3.
|
|
40
|
-
"eslint-plugin-prettier": "^
|
|
41
|
-
"eslint-plugin-promise": "^
|
|
42
|
-
"eslint-plugin-sonarjs": "^
|
|
43
|
-
"eslint-plugin-unicorn": "^
|
|
44
|
-
"mocha": "^10.
|
|
39
|
+
"eslint": "^8.41.0",
|
|
40
|
+
"eslint-config-prettier": "^8.8.0",
|
|
41
|
+
"eslint-plugin-jsdoc": "^44.2.7",
|
|
42
|
+
"eslint-plugin-no-only-tests": "^3.1.0",
|
|
43
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
44
|
+
"eslint-plugin-promise": "^6.1.1",
|
|
45
|
+
"eslint-plugin-sonarjs": "^0.19.0",
|
|
46
|
+
"eslint-plugin-unicorn": "^47.0.0",
|
|
47
|
+
"mocha": "^10.2.0",
|
|
45
48
|
"ts-node": "^10.9.2",
|
|
46
49
|
"tslint": "^6.1.3",
|
|
47
|
-
"typescript": "^5.
|
|
50
|
+
"typescript": "^5.7.2"
|
|
48
51
|
},
|
|
49
52
|
"dependencies": {
|
|
50
|
-
"sat-utils": "^3.0.
|
|
53
|
+
"sat-utils": "^3.0.2"
|
|
51
54
|
}
|
|
52
55
|
}
|
package/readme.md
CHANGED
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
## Content
|
|
6
6
|
|
|
7
|
-
- [
|
|
7
|
+
- [waitFor](#waitfor)
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## waitFor
|
|
10
10
|
|
|
11
11
|
```js
|
|
12
|
-
const {
|
|
12
|
+
const { waitFor } = require('sat-utils')
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
waitFor.setDefaultOpts({
|
|
15
15
|
timeout: 2500, // default waiting time is 2500 ms
|
|
16
16
|
interval: 250, // default re-check condition interval time is 250 ms
|
|
17
17
|
message: 'Failed', // default error message is "Failed"
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
test()
|
|
22
22
|
async function test() {
|
|
23
|
-
await
|
|
23
|
+
await waitFor(async () => {
|
|
24
24
|
const result = await someAsyncLogic()
|
|
25
25
|
return result;
|
|
26
26
|
})
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
|
|
29
29
|
test1()
|
|
30
30
|
async function test1() {
|
|
31
|
-
await
|
|
31
|
+
await waitFor(async () => {
|
|
32
32
|
const result = await someAsyncLogic()
|
|
33
33
|
return result;
|
|
34
34
|
}, {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"module": "NodeNext",
|
|
4
|
+
"target": "ESNext",
|
|
5
|
+
"sourceMap": true,
|
|
6
|
+
"outDir": "built/esm",
|
|
7
|
+
"declaration": true,
|
|
8
|
+
"experimentalDecorators": true,
|
|
9
|
+
"allowJs": true
|
|
10
|
+
},
|
|
11
|
+
"exclude": [
|
|
12
|
+
"node_modules",
|
|
13
|
+
"built",
|
|
14
|
+
"specs",
|
|
15
|
+
"example",
|
|
16
|
+
"playground.*"
|
|
17
|
+
]
|
|
18
|
+
}
|
package/tsconfig.json
CHANGED
package/built/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB"}
|
package/built/wait.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wait.js","sourceRoot":"","sources":["../lib/wait.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|