@applitools/visual-grid-client
Advanced tools
Comparing version 5.3.10 to 5.3.11
{ | ||
"name": "@applitools/visual-grid-client", | ||
"version": "5.3.10", | ||
"version": "5.3.11", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "src/visual-grid-client.js", |
@@ -9,2 +9,4 @@ 'use strict'; | ||
const failMsg = 'failed to render screenshot'; | ||
function makeWaitForRenderedStatus({timeout = 120000, getStatusInterval = 500, logger}) { | ||
@@ -14,31 +16,31 @@ return async function waitForRenderedStatus(renderIds, wrapper, stopCondition = () => {}) { | ||
if (timeoutReached) { | ||
logger.verbose(`waitForRenderedStatus: timeout reached for ${renderIds}`); | ||
throw new Error(`failed to render screenshot`); | ||
logger.log(`waitForRenderedStatus: timeout reached for ${renderIds}`); | ||
throw new Error(failMsg); | ||
} | ||
let renderStatuses; | ||
try { | ||
const renderStatuses = await wrapper.getRenderStatus(renderIds); | ||
const error = renderStatuses.find( | ||
rs => (rs.getStatus() === RenderStatus.ERROR ? rs.getError() : null), | ||
); | ||
if (error) { | ||
throw error; | ||
} | ||
const statuses = renderStatuses.map(rs => rs.getStatus()); | ||
if (stillRendering(statuses) && !stopCondition()) { | ||
await psetTimeout(getStatusInterval); | ||
return await getStatus(); | ||
} | ||
clearTimeout(timeoutId); | ||
return renderStatuses.map(rs => rs.toJSON()); | ||
renderStatuses = await wrapper.getRenderStatus(renderIds); | ||
} catch (ex) { | ||
if (timeoutReached) { | ||
throw ex; | ||
} | ||
logger.log(`error during getRenderStatus: ${ex}`); | ||
await psetTimeout(getStatusInterval); | ||
return await getStatus(); | ||
return getStatus(); | ||
} | ||
const errorStatus = renderStatuses.find( | ||
rs => (rs.getStatus() === RenderStatus.ERROR ? rs.getError() : null), | ||
); | ||
if (errorStatus) { | ||
logger.log(`render error received: ${errorStatus.getError()}`); | ||
clearTimeout(timeoutId); | ||
throw new Error(failMsg); | ||
} | ||
const statuses = renderStatuses.map(rs => rs.getStatus()); | ||
if (stillRendering(statuses) && !stopCondition()) { | ||
await psetTimeout(getStatusInterval); | ||
return getStatus(); | ||
} | ||
clearTimeout(timeoutId); | ||
return renderStatuses.map(rs => rs.toJSON()); | ||
} | ||
@@ -48,3 +50,3 @@ | ||
const timeoutId = setTimeout(() => (timeoutReached = true), timeout); | ||
return await getStatus(); | ||
return getStatus(); | ||
}; | ||
@@ -58,1 +60,2 @@ } | ||
module.exports = makeWaitForRenderedStatus; | ||
module.exports.failMsg = failMsg; |
76553
2028