Compare commits

...

2 Commits

Author SHA1 Message Date
40642fd6f6 3.1.7 2022-02-27 21:02:27 +01:00
4c3565c618 fix(core): update 2022-02-27 21:02:27 +01:00
3 changed files with 14 additions and 6 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "@pushrocks/smartpromise", "name": "@pushrocks/smartpromise",
"version": "3.1.6", "version": "3.1.7",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@pushrocks/smartpromise", "name": "@pushrocks/smartpromise",
"version": "3.1.6", "version": "3.1.7",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@gitzone/tsbuild": "^2.1.25", "@gitzone/tsbuild": "^2.1.25",

View File

@ -1,7 +1,7 @@
{ {
"name": "@pushrocks/smartpromise", "name": "@pushrocks/smartpromise",
"private": false, "private": false,
"version": "3.1.6", "version": "3.1.7",
"description": "simple promises and Deferred constructs", "description": "simple promises and Deferred constructs",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",
"typings": "dist_ts/index.d.ts", "typings": "dist_ts/index.d.ts",

View File

@ -84,15 +84,23 @@ export const map = async <T>(inputArg: T[], functionArg: IAsyncFunction<T>) => {
return resultArray; return resultArray;
}; };
export const timeoutWrap = <T = any>(promiseArg: Promise<T>, timeoutInMs: number) => { export const timeoutWrap = async <T = any>(promiseArg: Promise<T>, timeoutInMsArg: number, rejectArg = true) => {
return new Promise<T>((resolve, reject) => { return new Promise<T>((resolve, reject) => {
setTimeout(() => { setTimeout(() => {
reject(new Error('timeout')); if (rejectArg) {
}, timeoutInMs); reject(new Error('timeout'));
} else {
resolve(null);
}
}, timeoutInMsArg);
promiseArg.then(resolve, reject); promiseArg.then(resolve, reject);
}); });
}; };
export const timeoutAndContinue = async <T = any>(promiseArg: Promise<T>, timeoutInMsArg = 60000) => {
return timeoutWrap(promiseArg, timeoutInMsArg, false);
}
export const getFirstTrueOrFalse = async (promisesArg: Promise<boolean>[]) => { export const getFirstTrueOrFalse = async (promisesArg: Promise<boolean>[]) => {
const done = defer<boolean>(); const done = defer<boolean>();
for (const promiseArg of promisesArg) { for (const promiseArg of promisesArg) {