UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

1 lines • 3.06 kB
{"version":3,"file":"web.js","names":[],"sources":["esm/background/web.js"],"sourcesContent":["function createWorkerExecutor(createWorker) {\n const worker = createWorker();\n let disposed = false;\n let failure = null;\n let pending = null;\n function fail(error) {\n if (disposed || failure) return;\n failure = error;\n worker.terminate();\n const rejected = pending;\n pending = null;\n rejected?.reject(error);\n }\n worker.onmessage = (event) => {\n const response = event.data;\n const revision = response.ok ? response.result.revision : response.revision;\n if (!pending || revision !== pending.revision) return;\n const accepted = pending;\n pending = null;\n if (response.ok) accepted.resolve(response.result);\n else accepted.reject(new Error(response.error));\n };\n worker.onerror = (event) => {\n event.preventDefault();\n fail(new Error(event.message));\n };\n worker.onmessageerror = () => fail(new Error(\"background worker response could not be decoded\"));\n return {\n execute(request, isCurrent) {\n if (disposed || !isCurrent(request.revision)) return Promise.resolve(null);\n if (failure) return Promise.reject(failure);\n if (pending) throw new Error(\"background calculations must run serially\");\n return new Promise((resolve, reject) => {\n pending = { revision: request.revision, resolve, reject };\n try {\n worker.postMessage(request);\n } catch (error) {\n pending = null;\n reject(error instanceof Error ? error : new Error(String(error)));\n }\n });\n },\n dispose() {\n if (disposed) return;\n disposed = true;\n if (!failure) worker.terminate();\n const rejected = pending;\n pending = null;\n rejected?.reject(new Error(\"background computation disposed\"));\n }\n };\n}\nexport {\n createWorkerExecutor\n};\n//# sourceMappingURL=web.js.map\n"],"mappings":";AAAA,SAAS,qBAAqB,cAAc;CAC1C,MAAM,SAAS,aAAa;CAC5B,IAAI,WAAW;CACf,IAAI,UAAU;CACd,IAAI,UAAU;CACd,SAAS,KAAK,OAAO;EACnB,IAAI,YAAY,SAAS;EACzB,UAAU;EACV,OAAO,UAAU;EACjB,MAAM,WAAW;EACjB,UAAU;EACV,UAAU,OAAO,KAAK;CACxB;CACA,OAAO,aAAa,UAAU;EAC5B,MAAM,WAAW,MAAM;EACvB,MAAM,WAAW,SAAS,KAAK,SAAS,OAAO,WAAW,SAAS;EACnE,IAAI,CAAC,WAAW,aAAa,QAAQ,UAAU;EAC/C,MAAM,WAAW;EACjB,UAAU;EACV,IAAI,SAAS,IAAI,SAAS,QAAQ,SAAS,MAAM;OAC5C,SAAS,OAAO,IAAI,MAAM,SAAS,KAAK,CAAC;CAChD;CACA,OAAO,WAAW,UAAU;EAC1B,MAAM,eAAe;EACrB,KAAK,IAAI,MAAM,MAAM,OAAO,CAAC;CAC/B;CACA,OAAO,uBAAuB,KAAK,IAAI,MAAM,iDAAiD,CAAC;CAC/F,OAAO;EACL,QAAQ,SAAS,WAAW;GAC1B,IAAI,YAAY,CAAC,UAAU,QAAQ,QAAQ,GAAG,OAAO,QAAQ,QAAQ,IAAI;GACzE,IAAI,SAAS,OAAO,QAAQ,OAAO,OAAO;GAC1C,IAAI,SAAS,MAAM,IAAI,MAAM,2CAA2C;GACxE,OAAO,IAAI,SAAS,SAAS,WAAW;IACtC,UAAU;KAAE,UAAU,QAAQ;KAAU;KAAS;IAAO;IACxD,IAAI;KACF,OAAO,YAAY,OAAO;IAC5B,SAAS,OAAO;KACd,UAAU;KACV,OAAO,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC,CAAC;IAClE;GACF,CAAC;EACH;EACA,UAAU;GACR,IAAI,UAAU;GACd,WAAW;GACX,IAAI,CAAC,SAAS,OAAO,UAAU;GAC/B,MAAM,WAAW;GACjB,UAAU;GACV,UAAU,OAAO,IAAI,MAAM,iCAAiC,CAAC;EAC/D;CACF;AACF"}