UNPKG

@lesnoypudge/utils-react

Version:

lesnoypudge's utils-react

36 lines (35 loc) 811 B
import { never } from "@lesnoypudge/utils"; const createSleep = (durationMs, logId) => { let isResolved = false; let isResolving = false; let promise; const Sleep = ({ children }) => { if (!isResolved && !isResolving) { isResolving = true; logId && console.log(`[${logId}}] sleeping for: ${durationMs}`); promise = new Promise((resolve) => { setTimeout(() => { isResolved = true; isResolving = false; logId && console.log(`[${logId}] sleep resolve`); resolve(); }, durationMs); }); throw promise; } if (isResolving) { throw promise; } if (isResolved) { return children; } never(); }; return Sleep; }; export { createSleep }; //# sourceMappingURL=createSleep.js.map