{"version":3,"file":"scramjet.sync.js","sources":["webpack://@mercuryworkshop/scramjet/./src/sync.ts"],"sourcesContent":["addEventListener(\n\t\"message\",\n\t({\n\t\tdata: {\n\t\t\tsab,\n\t\t\targs: [method, url, _, username, password],\n\t\t\tbody,\n\t\t\theaders,\n\t\t},\n\t}) => {\n\t\tconst view = new DataView(sab);\n\t\tconst u8view = new Uint8Array(sab);\n\n\t\tconst xhr = new XMLHttpRequest();\n\t\txhr.responseType = \"arraybuffer\";\n\n\t\t// force async since we need it to resolve to the sw\n\t\txhr.open(method, url, true, username, password);\n\n\t\tif (headers)\n\t\t\tfor (const [k, v] of Object.entries(headers)) {\n\t\t\t\txhr.setRequestHeader(k, v as string);\n\t\t\t}\n\n\t\txhr.send(body);\n\n\t\txhr.onload = () => {\n\t\t\tlet cursor = 1; // first byte is the lock\n\n\t\t\tview.setUint16(cursor, xhr.status);\n\t\t\tcursor += 2;\n\n\t\t\t// next write the header string\n\t\t\tconst headers = xhr.getAllResponseHeaders();\n\t\t\tview.setUint32(cursor, headers.length);\n\t\t\tcursor += 4;\n\n\t\t\tif (sab.byteLength < cursor + headers.length)\n\t\t\t\tsab.grow(cursor + headers.length);\n\t\t\tu8view.set(new TextEncoder().encode(headers), cursor);\n\t\t\tcursor += headers.length;\n\n\t\t\tview.setUint32(cursor, xhr.response.byteLength);\n\t\t\tcursor += 4;\n\n\t\t\tif (sab.byteLength < cursor + xhr.response.byteLength)\n\t\t\t\tsab.grow(cursor + xhr.response.byteLength);\n\t\t\tu8view.set(new Uint8Array(xhr.response), cursor);\n\n\t\t\t// release the lock, main thread will stop spinning now\n\t\t\tview.setUint8(0, 1);\n\t\t};\n\t\txhr.ontimeout =\n\t\t\txhr.onerror =\n\t\t\txhr.onabort =\n\t\t\t\t() => {\n\t\t\t\t\tconsole.error(\"xhr failed\");\n\t\t\t\t\tview.setUint8(0, 1);\n\t\t\t\t};\n\t}\n);\n"],"names":["addEventListener","sab","method","url","_","username","password","body","headers","view","DataView","u8view","Uint8Array","xhr","XMLHttpRequest","k","v","Object","cursor","TextEncoder","console"],"mappings":"AAAAA,iBACC,UACA,CAAC,CACA,KAAM,CACLC,IAAAA,CAAG,CACH,KAAM,CAACC,EAAQC,EAAKC,EAAGC,EAAUC,EAAS,CAC1CC,KAAAA,CAAI,CACJC,QAAAA,CAAO,CACP,CACD,IACA,IAAMC,EAAO,IAAIC,SAAST,GACpBU,EAAS,IAAIC,WAAWX,GAExBY,EAAM,IAAIC,eAMhB,GALAD,EAAI,YAAY,CAAG,cAGnBA,EAAI,IAAI,CAACX,EAAQC,EAAK,GAAME,EAAUC,GAElCE,EACH,IAAK,GAAM,CAACO,EAAGC,EAAE,GAAIC,OAAO,OAAO,CAACT,GACnCK,EAAI,gBAAgB,CAACE,EAAGC,GAG1BH,EAAI,IAAI,CAACN,GAETM,EAAI,MAAM,CAAG,KACZ,IAAIK,EAAS,EAEbT,EAAK,SAAS,CAACS,EAAQL,EAAI,MAAM,EACjCK,GAAU,EAGV,IAAMV,EAAUK,EAAI,qBAAqB,GACzCJ,EAAK,SAAS,CAACS,EAAQV,EAAQ,MAAM,EACrCU,GAAU,EAENjB,EAAI,UAAU,CAAGiB,EAASV,EAAQ,MAAM,EAC3CP,EAAI,IAAI,CAACiB,EAASV,EAAQ,MAAM,EACjCG,EAAO,GAAG,CAAC,IAAIQ,cAAc,MAAM,CAACX,GAAUU,GAC9CA,GAAUV,EAAQ,MAAM,CAExBC,EAAK,SAAS,CAACS,EAAQL,EAAI,QAAQ,CAAC,UAAU,EAC9CK,GAAU,EAENjB,EAAI,UAAU,CAAGiB,EAASL,EAAI,QAAQ,CAAC,UAAU,EACpDZ,EAAI,IAAI,CAACiB,EAASL,EAAI,QAAQ,CAAC,UAAU,EAC1CF,EAAO,GAAG,CAAC,IAAIC,WAAWC,EAAI,QAAQ,EAAGK,GAGzCT,EAAK,QAAQ,CAAC,EAAG,EAClB,EACAI,EAAI,SAAS,CACZA,EAAI,OAAO,CACXA,EAAI,OAAO,CACV,KACCO,QAAQ,KAAK,CAAC,cACdX,EAAK,QAAQ,CAAC,EAAG,EAClB,CACH"}