@wener/utils 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +3 -1
  2. package/dist/cjs/index.js +1 -1
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/server.js +1 -1
  5. package/dist/cjs/server.js.map +1 -1
  6. package/dist/esm/index.js +1 -1
  7. package/dist/esm/index.js.map +1 -1
  8. package/dist/esm/server.js +1 -1
  9. package/dist/esm/server.js.map +1 -1
  10. package/dist/system/index.js +1 -1
  11. package/dist/system/index.js.map +1 -1
  12. package/dist/system/server.js +1 -1
  13. package/dist/system/server.js.map +1 -1
  14. package/lib/arrays/MaybeArray.js.map +1 -1
  15. package/lib/asyncs/createLazyPromise.js +2 -2
  16. package/lib/asyncs/createLazyPromise.js.map +1 -1
  17. package/lib/asyncs/timeout.js +1 -1
  18. package/lib/asyncs/timeout.js.map +1 -1
  19. package/lib/browsers/copy.js +2 -3
  20. package/lib/browsers/copy.js.map +1 -1
  21. package/lib/browsers/loaders.js +6 -11
  22. package/lib/browsers/loaders.js.map +1 -1
  23. package/lib/crypto/{hex.js → base.js} +1 -1
  24. package/lib/crypto/base.js.map +1 -0
  25. package/lib/crypto/hashing.js +4 -4
  26. package/lib/crypto/hashing.js.map +1 -1
  27. package/lib/crypto/randomUUID.js.map +1 -1
  28. package/lib/i18n/createTranslate.js.map +1 -1
  29. package/lib/index.js +2 -2
  30. package/lib/io/ArrayBuffers.js +164 -0
  31. package/lib/io/ArrayBuffers.js.map +1 -0
  32. package/lib/io/isBuffer.js +1 -1
  33. package/lib/io/isBuffer.js.map +1 -1
  34. package/lib/io/isTransferable.js.map +1 -1
  35. package/lib/isomorphics/structuredClone.js.map +1 -1
  36. package/lib/langs/deepEqual.js.map +1 -1
  37. package/lib/langs/shallowEqual.js.map +1 -1
  38. package/lib/logging/createNoopLogger.js.map +1 -1
  39. package/lib/modules/isModule.js.map +1 -1
  40. package/lib/modules/parseModuleId.js +7 -5
  41. package/lib/modules/parseModuleId.js.map +1 -1
  42. package/lib/objects/parseObjectPath.js.map +1 -1
  43. package/lib/objects/set.js.map +1 -1
  44. package/lib/server/polyfillBrowser.js.map +1 -1
  45. package/lib/server/polyfillFetch.js.map +1 -1
  46. package/lib/server/polyfillJsDom.js +1 -1
  47. package/lib/server/polyfillJsDom.js.map +1 -1
  48. package/lib/strings/formatBytes.js +1 -1
  49. package/lib/strings/formatBytes.js.map +1 -1
  50. package/lib/strings/renderTemplate.js +1 -1
  51. package/lib/strings/renderTemplate.js.map +1 -1
  52. package/package.json +10 -2
  53. package/src/arrays/MaybeArray.ts +1 -1
  54. package/src/asyncs/createLazyPromise.test.ts +4 -4
  55. package/src/asyncs/createLazyPromise.ts +2 -2
  56. package/src/asyncs/generatorOfStream.ts +1 -0
  57. package/src/asyncs/timeout.ts +1 -1
  58. package/src/browsers/copy.ts +6 -5
  59. package/src/browsers/loaders.ts +6 -11
  60. package/src/crypto/{hex.ts → base.ts} +3 -0
  61. package/src/crypto/hashing.test.ts +1 -1
  62. package/src/crypto/hashing.ts +4 -4
  63. package/src/crypto/randomUUID.ts +3 -0
  64. package/src/i18n/createTranslate.test.ts +18 -18
  65. package/src/i18n/createTranslate.ts +1 -1
  66. package/src/index.ts +3 -2
  67. package/src/io/AbstractEncoding.ts +21 -0
  68. package/src/io/ArrayBuffer.test-d.ts +4 -0
  69. package/src/io/ArrayBuffers.base64.test.ts +61 -0
  70. package/src/io/ArrayBuffers.test.ts +23 -0
  71. package/src/io/ArrayBuffers.ts +272 -0
  72. package/src/io/Buffer.ts +16 -0
  73. package/src/io/isBuffer.test.ts +2 -0
  74. package/src/io/isBuffer.ts +3 -8
  75. package/src/io/isTransferable.ts +1 -1
  76. package/src/isomorphics/structuredClone.test.ts +1 -1
  77. package/src/isomorphics/structuredClone.ts +9 -6
  78. package/src/langs/deepEqual.ts +1 -0
  79. package/src/langs/shallowEqual.ts +1 -1
  80. package/src/logging/Logger.ts +6 -0
  81. package/src/logging/createNoopLogger.ts +1 -1
  82. package/src/logging/logger.test.ts +3 -3
  83. package/src/modules/isModule.ts +3 -0
  84. package/src/modules/parseModuleId.test.ts +7 -2
  85. package/src/modules/parseModuleId.ts +15 -9
  86. package/src/objects/get.test-d.ts +51 -0
  87. package/src/objects/get.test.ts +2 -55
  88. package/src/objects/parseObjectPath.ts +4 -3
  89. package/src/objects/set.test.ts +32 -31
  90. package/src/objects/set.ts +2 -2
  91. package/src/server/polyfillBrowser.ts +8 -0
  92. package/src/server/polyfillFetch.ts +0 -1
  93. package/src/server/polyfillJsDom.ts +3 -2
  94. package/src/strings/formatBytes.ts +1 -1
  95. package/src/strings/renderTemplate.test.ts +1 -0
  96. package/src/strings/renderTemplate.ts +8 -5
  97. package/src/typedoc.ts +2 -0
  98. package/tsconfig.json +2 -1
  99. package/dist/cjs/_commonjsHelpers-dfec268f.js +0 -2
  100. package/dist/cjs/_commonjsHelpers-dfec268f.js.map +0 -1
  101. package/dist/cjs/api-7db97ae3.js +0 -1085
  102. package/dist/cjs/api-7db97ae3.js.map +0 -1
  103. package/dist/cjs/index-a6d1d653.js +0 -14
  104. package/dist/cjs/index-a6d1d653.js.map +0 -1
  105. package/dist/cjs/multipart-parser-141ed517.js +0 -3
  106. package/dist/cjs/multipart-parser-141ed517.js.map +0 -1
  107. package/dist/esm/_commonjsHelpers-28e086c5.js +0 -2
  108. package/dist/esm/_commonjsHelpers-28e086c5.js.map +0 -1
  109. package/dist/esm/api-3f555472.js +0 -1085
  110. package/dist/esm/api-3f555472.js.map +0 -1
  111. package/dist/esm/index-b50fef91.js +0 -14
  112. package/dist/esm/index-b50fef91.js.map +0 -1
  113. package/dist/esm/multipart-parser-5c1d6ee9.js +0 -3
  114. package/dist/esm/multipart-parser-5c1d6ee9.js.map +0 -1
  115. package/dist/system/_commonjsHelpers-07f370a7.js +0 -2
  116. package/dist/system/_commonjsHelpers-07f370a7.js.map +0 -1
  117. package/dist/system/api-dc50ebac.js +0 -1085
  118. package/dist/system/api-dc50ebac.js.map +0 -1
  119. package/dist/system/index-8f1807ba.js +0 -14
  120. package/dist/system/index-8f1807ba.js.map +0 -1
  121. package/dist/system/multipart-parser-53518ee9.js +0 -3
  122. package/dist/system/multipart-parser-53518ee9.js.map +0 -1
  123. package/lib/crypto/hex.js.map +0 -1
  124. package/lib/shim/urljoin.js +0 -51
  125. package/lib/shim/urljoin.js.map +0 -1
  126. package/src/shim/urljoin.test.ts +0 -6
  127. package/src/shim/urljoin.ts +0 -75
  128. package/src/types.d.ts +0 -7
@@ -1,3 +0,0 @@
1
- "use strict";require("node:fs"),require("node:path");var F=require("./index-a6d1d653.js");require("node:http"),require("node:https"),require("node:zlib"),require("node:stream"),require("node:buffer"),require("node:util"),require("./_commonjsHelpers-dfec268f.js"),require("node:url"),require("node:net");let f=0;const t={START_BOUNDARY:f++,HEADER_FIELD_START:f++,HEADER_FIELD:f++,HEADER_VALUE_START:f++,HEADER_VALUE:f++,HEADER_VALUE_ALMOST_DONE:f++,HEADERS_ALMOST_DONE:f++,PART_DATA_START:f++,PART_DATA:f++,END:f++};let k=1;const T={PART_BOUNDARY:k,LAST_BOUNDARY:k*=2},O=10,g=13,U=32,p=45,w=58,B=97,V=122,x=R=>R|32,_=()=>{};class Y{constructor(i){this.index=0,this.flags=0,this.onHeaderEnd=_,this.onHeaderField=_,this.onHeadersEnd=_,this.onHeaderValue=_,this.onPartBegin=_,this.onPartData=_,this.onPartEnd=_,this.boundaryChars={},i=`\r
2
- --`+i;const n=new Uint8Array(i.length);for(let r=0;r<i.length;r++)n[r]=i.charCodeAt(r),this.boundaryChars[n[r]]=!0;this.boundary=n,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=t.START_BOUNDARY}write(i){let n=0;const r=i.length;let d=this.index,{lookbehind:A,boundary:E,boundaryChars:H,index:e,state:o,flags:l}=this;const b=this.boundary.length,m=b-1,N=i.length;let a,P;const h=c=>{this[c+"Mark"]=n},s=c=>{delete this[c+"Mark"]},D=(c,S,u,y)=>{(S===void 0||S!==u)&&this[c](y&&y.subarray(S,u))},L=(c,S)=>{const u=c+"Mark";u in this&&(S?(D(c,this[u],n,i),delete this[u]):(D(c,this[u],i.length,i),this[u]=0))};for(n=0;n<r;n++)switch(a=i[n],o){case t.START_BOUNDARY:if(e===E.length-2){if(a===p)l|=T.LAST_BOUNDARY;else if(a!==g)return;e++;break}else if(e-1===E.length-2){if(l&T.LAST_BOUNDARY&&a===p)o=t.END,l=0;else if(!(l&T.LAST_BOUNDARY)&&a===O)e=0,D("onPartBegin"),o=t.HEADER_FIELD_START;else return;break}a!==E[e+2]&&(e=-2),a===E[e+2]&&e++;break;case t.HEADER_FIELD_START:o=t.HEADER_FIELD,h("onHeaderField"),e=0;case t.HEADER_FIELD:if(a===g){s("onHeaderField"),o=t.HEADERS_ALMOST_DONE;break}if(e++,a===p)break;if(a===w){if(e===1)return;L("onHeaderField",!0),o=t.HEADER_VALUE_START;break}if(P=x(a),P<B||P>V)return;break;case t.HEADER_VALUE_START:if(a===U)break;h("onHeaderValue"),o=t.HEADER_VALUE;case t.HEADER_VALUE:a===g&&(L("onHeaderValue",!0),D("onHeaderEnd"),o=t.HEADER_VALUE_ALMOST_DONE);break;case t.HEADER_VALUE_ALMOST_DONE:if(a!==O)return;o=t.HEADER_FIELD_START;break;case t.HEADERS_ALMOST_DONE:if(a!==O)return;D("onHeadersEnd"),o=t.PART_DATA_START;break;case t.PART_DATA_START:o=t.PART_DATA,h("onPartData");case t.PART_DATA:if(d=e,e===0){for(n+=m;n<N&&!(i[n]in H);)n+=b;n-=m,a=i[n]}if(e<E.length)E[e]===a?(e===0&&L("onPartData",!0),e++):e=0;else if(e===E.length)e++,a===g?l|=T.PART_BOUNDARY:a===p?l|=T.LAST_BOUNDARY:e=0;else if(e-1===E.length)if(l&T.PART_BOUNDARY){if(e=0,a===O){l&=~T.PART_BOUNDARY,D("onPartEnd"),D("onPartBegin"),o=t.HEADER_FIELD_START;break}}else l&T.LAST_BOUNDARY&&a===p?(D("onPartEnd"),o=t.END,l=0):e=0;if(e>0)A[e-1]=a;else if(d>0){const c=new Uint8Array(A.buffer,A.byteOffset,A.byteLength);D("onPartData",0,d,c),d=0,h("onPartData"),n--}break;case t.END:break;default:throw new Error(`Unexpected state entered: ${o}`)}L("onHeaderField"),L("onHeaderValue"),L("onPartData"),this.index=e,this.state=o,this.flags=l}end(){if(this.state===t.HEADER_FIELD_START&&this.index===0||this.state===t.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==t.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}function q(R){const i=R.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!i)return;const n=i[2]||i[3]||"";let r=n.slice(n.lastIndexOf("\\")+1);return r=r.replace(/%22/g,'"'),r=r.replace(/&#(\d{4});/g,(d,A)=>String.fromCharCode(A)),r}async function C(R,i){if(!/multipart/i.test(i))throw new TypeError("Failed to fetch");const n=i.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!n)throw new TypeError("no or bad content-type header, no multipart boundary");const r=new Y(n[1]||n[2]);let d,A,E,H,e,o;const l=[],b=new F.FormData,m=s=>{E+=h.decode(s,{stream:!0})},N=s=>{l.push(s)},a=()=>{const s=new F.File(l,o,{type:e});b.append(H,s)},P=()=>{b.append(H,E)},h=new TextDecoder("utf-8");h.decode(),r.onPartBegin=function(){r.onPartData=m,r.onPartEnd=P,d="",A="",E="",H="",e="",o=null,l.length=0},r.onHeaderField=function(s){d+=h.decode(s,{stream:!0})},r.onHeaderValue=function(s){A+=h.decode(s,{stream:!0})},r.onHeaderEnd=function(){if(A+=h.decode(),d=d.toLowerCase(),d==="content-disposition"){const s=A.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);s&&(H=s[2]||s[3]||""),o=q(A),o&&(r.onPartData=N,r.onPartEnd=a)}else d==="content-type"&&(e=A);A="",d=""};for await(const s of R)r.write(s);return r.end(),b}exports.toFormData=C;
3
- //# sourceMappingURL=multipart-parser-141ed517.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multipart-parser-141ed517.js","sources":["../../../../node_modules/.pnpm/node-fetch@3.2.10/node_modules/node-fetch/src/utils/multipart-parser.js"],"sourcesContent":["import {File} from 'fetch-blob/from.js';\nimport {FormData} from 'formdata-polyfill/esm.min.js';\n\nlet s = 0;\nconst S = {\n\tSTART_BOUNDARY: s++,\n\tHEADER_FIELD_START: s++,\n\tHEADER_FIELD: s++,\n\tHEADER_VALUE_START: s++,\n\tHEADER_VALUE: s++,\n\tHEADER_VALUE_ALMOST_DONE: s++,\n\tHEADERS_ALMOST_DONE: s++,\n\tPART_DATA_START: s++,\n\tPART_DATA: s++,\n\tEND: s++\n};\n\nlet f = 1;\nconst F = {\n\tPART_BOUNDARY: f,\n\tLAST_BOUNDARY: f *= 2\n};\n\nconst LF = 10;\nconst CR = 13;\nconst SPACE = 32;\nconst HYPHEN = 45;\nconst COLON = 58;\nconst A = 97;\nconst Z = 122;\n\nconst lower = c => c | 0x20;\n\nconst noop = () => {};\n\nclass MultipartParser {\n\t/**\n\t * @param {string} boundary\n\t */\n\tconstructor(boundary) {\n\t\tthis.index = 0;\n\t\tthis.flags = 0;\n\n\t\tthis.onHeaderEnd = noop;\n\t\tthis.onHeaderField = noop;\n\t\tthis.onHeadersEnd = noop;\n\t\tthis.onHeaderValue = noop;\n\t\tthis.onPartBegin = noop;\n\t\tthis.onPartData = noop;\n\t\tthis.onPartEnd = noop;\n\n\t\tthis.boundaryChars = {};\n\n\t\tboundary = '\\r\\n--' + boundary;\n\t\tconst ui8a = new Uint8Array(boundary.length);\n\t\tfor (let i = 0; i < boundary.length; i++) {\n\t\t\tui8a[i] = boundary.charCodeAt(i);\n\t\t\tthis.boundaryChars[ui8a[i]] = true;\n\t\t}\n\n\t\tthis.boundary = ui8a;\n\t\tthis.lookbehind = new Uint8Array(this.boundary.length + 8);\n\t\tthis.state = S.START_BOUNDARY;\n\t}\n\n\t/**\n\t * @param {Uint8Array} data\n\t */\n\twrite(data) {\n\t\tlet i = 0;\n\t\tconst length_ = data.length;\n\t\tlet previousIndex = this.index;\n\t\tlet {lookbehind, boundary, boundaryChars, index, state, flags} = this;\n\t\tconst boundaryLength = this.boundary.length;\n\t\tconst boundaryEnd = boundaryLength - 1;\n\t\tconst bufferLength = data.length;\n\t\tlet c;\n\t\tlet cl;\n\n\t\tconst mark = name => {\n\t\t\tthis[name + 'Mark'] = i;\n\t\t};\n\n\t\tconst clear = name => {\n\t\t\tdelete this[name + 'Mark'];\n\t\t};\n\n\t\tconst callback = (callbackSymbol, start, end, ui8a) => {\n\t\t\tif (start === undefined || start !== end) {\n\t\t\t\tthis[callbackSymbol](ui8a && ui8a.subarray(start, end));\n\t\t\t}\n\t\t};\n\n\t\tconst dataCallback = (name, clear) => {\n\t\t\tconst markSymbol = name + 'Mark';\n\t\t\tif (!(markSymbol in this)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (clear) {\n\t\t\t\tcallback(name, this[markSymbol], i, data);\n\t\t\t\tdelete this[markSymbol];\n\t\t\t} else {\n\t\t\t\tcallback(name, this[markSymbol], data.length, data);\n\t\t\t\tthis[markSymbol] = 0;\n\t\t\t}\n\t\t};\n\n\t\tfor (i = 0; i < length_; i++) {\n\t\t\tc = data[i];\n\n\t\t\tswitch (state) {\n\t\t\t\tcase S.START_BOUNDARY:\n\t\t\t\t\tif (index === boundary.length - 2) {\n\t\t\t\t\t\tif (c === HYPHEN) {\n\t\t\t\t\t\t\tflags |= F.LAST_BOUNDARY;\n\t\t\t\t\t\t} else if (c !== CR) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tindex++;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} else if (index - 1 === boundary.length - 2) {\n\t\t\t\t\t\tif (flags & F.LAST_BOUNDARY && c === HYPHEN) {\n\t\t\t\t\t\t\tstate = S.END;\n\t\t\t\t\t\t\tflags = 0;\n\t\t\t\t\t\t} else if (!(flags & F.LAST_BOUNDARY) && c === LF) {\n\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t\tcallback('onPartBegin');\n\t\t\t\t\t\t\tstate = S.HEADER_FIELD_START;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (c !== boundary[index + 2]) {\n\t\t\t\t\t\tindex = -2;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (c === boundary[index + 2]) {\n\t\t\t\t\t\tindex++;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.HEADER_FIELD_START:\n\t\t\t\t\tstate = S.HEADER_FIELD;\n\t\t\t\t\tmark('onHeaderField');\n\t\t\t\t\tindex = 0;\n\t\t\t\t\t// falls through\n\t\t\t\tcase S.HEADER_FIELD:\n\t\t\t\t\tif (c === CR) {\n\t\t\t\t\t\tclear('onHeaderField');\n\t\t\t\t\t\tstate = S.HEADERS_ALMOST_DONE;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tindex++;\n\t\t\t\t\tif (c === HYPHEN) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (c === COLON) {\n\t\t\t\t\t\tif (index === 1) {\n\t\t\t\t\t\t\t// empty header field\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdataCallback('onHeaderField', true);\n\t\t\t\t\t\tstate = S.HEADER_VALUE_START;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tcl = lower(c);\n\t\t\t\t\tif (cl < A || cl > Z) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.HEADER_VALUE_START:\n\t\t\t\t\tif (c === SPACE) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tmark('onHeaderValue');\n\t\t\t\t\tstate = S.HEADER_VALUE;\n\t\t\t\t\t// falls through\n\t\t\t\tcase S.HEADER_VALUE:\n\t\t\t\t\tif (c === CR) {\n\t\t\t\t\t\tdataCallback('onHeaderValue', true);\n\t\t\t\t\t\tcallback('onHeaderEnd');\n\t\t\t\t\t\tstate = S.HEADER_VALUE_ALMOST_DONE;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.HEADER_VALUE_ALMOST_DONE:\n\t\t\t\t\tif (c !== LF) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tstate = S.HEADER_FIELD_START;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.HEADERS_ALMOST_DONE:\n\t\t\t\t\tif (c !== LF) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tcallback('onHeadersEnd');\n\t\t\t\t\tstate = S.PART_DATA_START;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.PART_DATA_START:\n\t\t\t\t\tstate = S.PART_DATA;\n\t\t\t\t\tmark('onPartData');\n\t\t\t\t\t// falls through\n\t\t\t\tcase S.PART_DATA:\n\t\t\t\t\tpreviousIndex = index;\n\n\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t// boyer-moore derrived algorithm to safely skip non-boundary data\n\t\t\t\t\t\ti += boundaryEnd;\n\t\t\t\t\t\twhile (i < bufferLength && !(data[i] in boundaryChars)) {\n\t\t\t\t\t\t\ti += boundaryLength;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ti -= boundaryEnd;\n\t\t\t\t\t\tc = data[i];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (index < boundary.length) {\n\t\t\t\t\t\tif (boundary[index] === c) {\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\tdataCallback('onPartData', true);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tindex++;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (index === boundary.length) {\n\t\t\t\t\t\tindex++;\n\t\t\t\t\t\tif (c === CR) {\n\t\t\t\t\t\t\t// CR = part boundary\n\t\t\t\t\t\t\tflags |= F.PART_BOUNDARY;\n\t\t\t\t\t\t} else if (c === HYPHEN) {\n\t\t\t\t\t\t\t// HYPHEN = end boundary\n\t\t\t\t\t\t\tflags |= F.LAST_BOUNDARY;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (index - 1 === boundary.length) {\n\t\t\t\t\t\tif (flags & F.PART_BOUNDARY) {\n\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t\tif (c === LF) {\n\t\t\t\t\t\t\t\t// unset the PART_BOUNDARY flag\n\t\t\t\t\t\t\t\tflags &= ~F.PART_BOUNDARY;\n\t\t\t\t\t\t\t\tcallback('onPartEnd');\n\t\t\t\t\t\t\t\tcallback('onPartBegin');\n\t\t\t\t\t\t\t\tstate = S.HEADER_FIELD_START;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (flags & F.LAST_BOUNDARY) {\n\t\t\t\t\t\t\tif (c === HYPHEN) {\n\t\t\t\t\t\t\t\tcallback('onPartEnd');\n\t\t\t\t\t\t\t\tstate = S.END;\n\t\t\t\t\t\t\t\tflags = 0;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (index > 0) {\n\t\t\t\t\t\t// when matching a possible boundary, keep a lookbehind reference\n\t\t\t\t\t\t// in case it turns out to be a false lead\n\t\t\t\t\t\tlookbehind[index - 1] = c;\n\t\t\t\t\t} else if (previousIndex > 0) {\n\t\t\t\t\t\t// if our boundary turned out to be rubbish, the captured lookbehind\n\t\t\t\t\t\t// belongs to partData\n\t\t\t\t\t\tconst _lookbehind = new Uint8Array(lookbehind.buffer, lookbehind.byteOffset, lookbehind.byteLength);\n\t\t\t\t\t\tcallback('onPartData', 0, previousIndex, _lookbehind);\n\t\t\t\t\t\tpreviousIndex = 0;\n\t\t\t\t\t\tmark('onPartData');\n\n\t\t\t\t\t\t// reconsider the current character even so it interrupted the sequence\n\t\t\t\t\t\t// it could be the beginning of a new sequence\n\t\t\t\t\t\ti--;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase S.END:\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(`Unexpected state entered: ${state}`);\n\t\t\t}\n\t\t}\n\n\t\tdataCallback('onHeaderField');\n\t\tdataCallback('onHeaderValue');\n\t\tdataCallback('onPartData');\n\n\t\t// Update properties for the next call\n\t\tthis.index = index;\n\t\tthis.state = state;\n\t\tthis.flags = flags;\n\t}\n\n\tend() {\n\t\tif ((this.state === S.HEADER_FIELD_START && this.index === 0) ||\n\t\t\t(this.state === S.PART_DATA && this.index === this.boundary.length)) {\n\t\t\tthis.onPartEnd();\n\t\t} else if (this.state !== S.END) {\n\t\t\tthrow new Error('MultipartParser.end(): stream ended unexpectedly');\n\t\t}\n\t}\n}\n\nfunction _fileName(headerValue) {\n\t// matches either a quoted-string or a token (RFC 2616 section 19.5.1)\n\tconst m = headerValue.match(/\\bfilename=(\"(.*?)\"|([^()<>@,;:\\\\\"/[\\]?={}\\s\\t]+))($|;\\s)/i);\n\tif (!m) {\n\t\treturn;\n\t}\n\n\tconst match = m[2] || m[3] || '';\n\tlet filename = match.slice(match.lastIndexOf('\\\\') + 1);\n\tfilename = filename.replace(/%22/g, '\"');\n\tfilename = filename.replace(/&#(\\d{4});/g, (m, code) => {\n\t\treturn String.fromCharCode(code);\n\t});\n\treturn filename;\n}\n\nexport async function toFormData(Body, ct) {\n\tif (!/multipart/i.test(ct)) {\n\t\tthrow new TypeError('Failed to fetch');\n\t}\n\n\tconst m = ct.match(/boundary=(?:\"([^\"]+)\"|([^;]+))/i);\n\n\tif (!m) {\n\t\tthrow new TypeError('no or bad content-type header, no multipart boundary');\n\t}\n\n\tconst parser = new MultipartParser(m[1] || m[2]);\n\n\tlet headerField;\n\tlet headerValue;\n\tlet entryValue;\n\tlet entryName;\n\tlet contentType;\n\tlet filename;\n\tconst entryChunks = [];\n\tconst formData = new FormData();\n\n\tconst onPartData = ui8a => {\n\t\tentryValue += decoder.decode(ui8a, {stream: true});\n\t};\n\n\tconst appendToFile = ui8a => {\n\t\tentryChunks.push(ui8a);\n\t};\n\n\tconst appendFileToFormData = () => {\n\t\tconst file = new File(entryChunks, filename, {type: contentType});\n\t\tformData.append(entryName, file);\n\t};\n\n\tconst appendEntryToFormData = () => {\n\t\tformData.append(entryName, entryValue);\n\t};\n\n\tconst decoder = new TextDecoder('utf-8');\n\tdecoder.decode();\n\n\tparser.onPartBegin = function () {\n\t\tparser.onPartData = onPartData;\n\t\tparser.onPartEnd = appendEntryToFormData;\n\n\t\theaderField = '';\n\t\theaderValue = '';\n\t\tentryValue = '';\n\t\tentryName = '';\n\t\tcontentType = '';\n\t\tfilename = null;\n\t\tentryChunks.length = 0;\n\t};\n\n\tparser.onHeaderField = function (ui8a) {\n\t\theaderField += decoder.decode(ui8a, {stream: true});\n\t};\n\n\tparser.onHeaderValue = function (ui8a) {\n\t\theaderValue += decoder.decode(ui8a, {stream: true});\n\t};\n\n\tparser.onHeaderEnd = function () {\n\t\theaderValue += decoder.decode();\n\t\theaderField = headerField.toLowerCase();\n\n\t\tif (headerField === 'content-disposition') {\n\t\t\t// matches either a quoted-string or a token (RFC 2616 section 19.5.1)\n\t\t\tconst m = headerValue.match(/\\bname=(\"([^\"]*)\"|([^()<>@,;:\\\\\"/[\\]?={}\\s\\t]+))/i);\n\n\t\t\tif (m) {\n\t\t\t\tentryName = m[2] || m[3] || '';\n\t\t\t}\n\n\t\t\tfilename = _fileName(headerValue);\n\n\t\t\tif (filename) {\n\t\t\t\tparser.onPartData = appendToFile;\n\t\t\t\tparser.onPartEnd = appendFileToFormData;\n\t\t\t}\n\t\t} else if (headerField === 'content-type') {\n\t\t\tcontentType = headerValue;\n\t\t}\n\n\t\theaderValue = '';\n\t\theaderField = '';\n\t};\n\n\tfor await (const chunk of Body) {\n\t\tparser.write(chunk);\n\t}\n\n\tparser.end();\n\n\treturn formData;\n}\n"],"names":["s","S","f","F","LF","CR","SPACE","HYPHEN","COLON","A","Z","lower","c","noop","MultipartParser","boundary","ui8a","i","data","length_","previousIndex","lookbehind","boundaryChars","index","state","flags","boundaryLength","boundaryEnd","bufferLength","cl","mark","name","clear","callback","callbackSymbol","start","end","dataCallback","markSymbol","_lookbehind","_fileName","headerValue","m","match","filename","code","toFormData","Body","ct","parser","headerField","entryValue","entryName","contentType","entryChunks","formData","FormData","onPartData","decoder","appendToFile","appendFileToFormData","file","File","appendEntryToFormData","chunk"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- var e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};export{e as c};
2
- //# sourceMappingURL=_commonjsHelpers-28e086c5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_commonjsHelpers-28e086c5.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}