{"version":3,"file":"check_delayed_result-qkiGbIZw.js","sources":["../../../node_modules/@slideslive/fuse-kit/dist/utils/utilities/check_delayed_result.js"],"sourcesContent":["import slidesLiveDomain from \"./slideslive_domain.js\";\nimport now from \"./now.js\";\nclass DelayedResultCheck {\n constructor(urlOrDelayedResultId, checkInterval, callback, errorsCallback) {\n this.url = this.urlOrDelayedResultIdToUrl(urlOrDelayedResultId);\n this.checkInterval = checkInterval || 2e3;\n this.callback = callback;\n this.errorsCallback = errorsCallback;\n this.checkTimeoutId = null;\n this.request = null;\n this.abortController = null;\n this.aborted = false;\n this.startedAt = now();\n this.maxDuration = 30 * 60 * 1e3;\n }\n abort() {\n this.aborted = true;\n if (this.request) {\n this.abortController.abort();\n this.abortController = null;\n this.request = null;\n }\n if (this.checkTimeoutId) {\n clearTimeout(this.checkTimeoutId);\n this.checkTimeoutId = null;\n }\n }\n scheduleCheck(checkInterval = null) {\n if (this.aborted) {\n return;\n }\n this.checkTimeoutId = setTimeout(this.check.bind(this), checkInterval || this.checkInterval);\n }\n check() {\n if (this.checkTimeoutId) {\n clearTimeout(this.checkTimeoutId);\n this.checkTimeoutId = null;\n }\n if (this.elapsedTime > this.maxDuration) {\n this.abort();\n if (this.errorsCallback) {\n this.errorsCallback([`Timed out after ${this.maxDuration / 1e3} seconds.`]);\n }\n return;\n }\n if (this.aborted) {\n return;\n }\n this.abortController = new AbortController();\n this.request = fetch(this.url, {\n signal: this.abortController.signal,\n method: \"GET\",\n mode: \"cors\",\n cache: \"no-cache\",\n credentials: \"omit\",\n headers: { Accept: \"text/plain\" },\n redirect: \"follow\",\n referrerPolicy: \"no-referrer\"\n }).catch(() => this.scheduleCheck()).then((response) => response.json()).then((response) => {\n if (!response.success) {\n console.warn(\"DelayedResult errors:\", response.errors);\n if (this.errorsCallback) {\n this.errorsCallback(response.errors || [\"Server error.\"]);\n }\n return;\n }\n if (response.data.status === \"success\" || response.data.status === \"fail\") {\n this.callback(response.data.result);\n } else {\n this.scheduleCheck();\n }\n }).catch((error) => {\n console.warn(error);\n this.scheduleCheck();\n });\n }\n urlOrDelayedResultIdToUrl(urlOrDelayedResultId) {\n let url;\n if (urlOrDelayedResultId.indexOf(\"/\") < 0) {\n url = `${this.delayedResultUrl()}?id=${urlOrDelayedResultId}`;\n } else {\n url = urlOrDelayedResultId;\n }\n return url;\n }\n delayedResultUrl() {\n var _a;\n if ((_a = window.gon) == null ? void 0 : _a.delayed_result_url) {\n return window.gon.delayed_result_url;\n }\n const domain = slidesLiveDomain();\n return `https://${domain}/-/delayed_result`;\n }\n get elapsedTime() {\n return now() - this.startedAt;\n }\n}\nfunction checkDelayedResult(urlOrDelayedResultId, callback, checkInterval, errorsCallback) {\n const check = new DelayedResultCheck(urlOrDelayedResultId, checkInterval, callback, errorsCallback);\n check.scheduleCheck(750);\n return check;\n}\nexport {\n checkDelayedResult as default\n};\n"],"names":["DelayedResultCheck","urlOrDelayedResultId","checkInterval","callback","errorsCallback","now","response","error","url","_a","slidesLiveDomain","checkDelayedResult","check"],"mappings":"8DAEA,MAAMA,CAAmB,CACvB,YAAYC,EAAsBC,EAAeC,EAAUC,EAAgB,CACzE,KAAK,IAAM,KAAK,0BAA0BH,CAAoB,EAC9D,KAAK,cAAgBC,GAAiB,IACtC,KAAK,SAAWC,EAChB,KAAK,eAAiBC,EACtB,KAAK,eAAiB,KACtB,KAAK,QAAU,KACf,KAAK,gBAAkB,KACvB,KAAK,QAAU,GACf,KAAK,UAAYC,EAAK,EACtB,KAAK,YAAc,GAAK,GAAK,GACjC,CACE,OAAQ,CACN,KAAK,QAAU,GACX,KAAK,UACP,KAAK,gBAAgB,MAAO,EAC5B,KAAK,gBAAkB,KACvB,KAAK,QAAU,MAEb,KAAK,iBACP,aAAa,KAAK,cAAc,EAChC,KAAK,eAAiB,KAE5B,CACE,cAAcH,EAAgB,KAAM,CAC9B,KAAK,UAGT,KAAK,eAAiB,WAAW,KAAK,MAAM,KAAK,IAAI,EAAGA,GAAiB,KAAK,aAAa,EAC/F,CACE,OAAQ,CAKN,GAJI,KAAK,iBACP,aAAa,KAAK,cAAc,EAChC,KAAK,eAAiB,MAEpB,KAAK,YAAc,KAAK,YAAa,CACvC,KAAK,MAAO,EACR,KAAK,gBACP,KAAK,eAAe,CAAC,mBAAmB,KAAK,YAAc,GAAG,WAAW,CAAC,EAE5E,MACN,CACQ,KAAK,UAGT,KAAK,gBAAkB,IAAI,gBAC3B,KAAK,QAAU,MAAM,KAAK,IAAK,CAC7B,OAAQ,KAAK,gBAAgB,OAC7B,OAAQ,MACR,KAAM,OACN,MAAO,WACP,YAAa,OACb,QAAS,CAAE,OAAQ,YAAc,EACjC,SAAU,SACV,eAAgB,aACjB,CAAA,EAAE,MAAM,IAAM,KAAK,cAAa,CAAE,EAAE,KAAMI,GAAaA,EAAS,KAAI,CAAE,EAAE,KAAMA,GAAa,CAC1F,GAAI,CAACA,EAAS,QAAS,CACrB,QAAQ,KAAK,wBAAyBA,EAAS,MAAM,EACjD,KAAK,gBACP,KAAK,eAAeA,EAAS,QAAU,CAAC,eAAe,CAAC,EAE1D,MACR,CACUA,EAAS,KAAK,SAAW,WAAaA,EAAS,KAAK,SAAW,OACjE,KAAK,SAASA,EAAS,KAAK,MAAM,EAElC,KAAK,cAAe,CAE5B,CAAK,EAAE,MAAOC,GAAU,CAClB,QAAQ,KAAKA,CAAK,EAClB,KAAK,cAAe,CAC1B,CAAK,EACL,CACE,0BAA0BN,EAAsB,CAC9C,IAAIO,EACJ,OAAIP,EAAqB,QAAQ,GAAG,EAAI,EACtCO,EAAM,GAAG,KAAK,iBAAgB,CAAE,OAAOP,CAAoB,GAE3DO,EAAMP,EAEDO,CACX,CACE,kBAAmB,CACjB,IAAIC,EACJ,OAAKA,EAAK,OAAO,MAAQ,MAAgBA,EAAG,mBACnC,OAAO,IAAI,mBAGb,WADQC,EAAkB,CACT,mBAC5B,CACE,IAAI,aAAc,CAChB,OAAOL,EAAG,EAAK,KAAK,SACxB,CACA,CACA,SAASM,EAAmBV,EAAsBE,EAAUD,EAAeE,EAAgB,CACzF,MAAMQ,EAAQ,IAAIZ,EAAmBC,EAAsBC,EAAeC,EAAUC,CAAc,EAClG,OAAAQ,EAAM,cAAc,GAAG,EAChBA,CACT","x_google_ignoreList":[0]}