{"version":3,"sources":["../../src/utils/await_interval.ts"],"sourcesContent":["/* this function is used to await a condition to be met with a certain interval and timeout\n * until the condition is met or the timeout is reached */\nasync function interval_await(condition: () => any, \n                              timeout: number = 10000,\n                              interval: number = 100) : Promise<any> {\n    return await new Promise( async (resolve, reject) => {\n        let timeout_obj : NodeJS.Timeout \n        let interval_obj : NodeJS.Timeout \n        // set a timeout to reject the promise\n        if(timeout > 0){\n            timeout_obj = setTimeout(() => {\n                clearInterval(interval_obj);\n                reject('timeout');\n            }, timeout);\n        }\n        // set an interval to check the condition\n        interval_obj = setInterval( async  () => {\n            // check if the condition is met\n            let result: Boolean = await condition();\n            if(result === true) {\n                clearInterval(interval_obj);\n                clearTimeout(timeout_obj);\n                resolve(result);\n            }\n        }, interval);\n    }).catch( error => {\n        throw error;\n    });\n}\n\nexport default interval_await;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,eAAe,eAAe,WACA,UAAkB,KAClB,WAAmB,KAAoB;AACjE,SAAO,MAAM,IAAI,QAAS,OAAO,SAAS,WAAW;AACjD,QAAI;AACJ,QAAI;AAEJ,QAAG,UAAU,GAAE;AACX,oBAAc,WAAW,MAAM;AAC3B,sBAAc,YAAY;AAC1B,eAAO,SAAS;AAAA,MACpB,GAAG,OAAO;AAAA,IACd;AAEA,mBAAe,YAAa,YAAa;AAErC,UAAI,SAAkB,MAAM,UAAU;AACtC,UAAG,WAAW,MAAM;AAChB,sBAAc,YAAY;AAC1B,qBAAa,WAAW;AACxB,gBAAQ,MAAM;AAAA,MAClB;AAAA,IACJ,GAAG,QAAQ;AAAA,EACf,CAAC,EAAE,MAAO,WAAS;AACf,UAAM;AAAA,EACV,CAAC;AACL;AAEA,IAAO,yBAAQ;","names":[]}