pure-md5 0.2.0 → 0.2.2

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 (177) hide show
  1. package/README.md +38 -24
  2. package/dist/adapters/ie11.cjs +1 -2
  3. package/dist/adapters/ie11.js +1 -2
  4. package/dist/adapters/node.cjs +1 -2
  5. package/dist/adapters/node.js +1 -2
  6. package/dist/adapters/webcrypto.cjs +1 -2
  7. package/dist/adapters/webcrypto.js +1 -2
  8. package/dist/index.cjs +1 -2
  9. package/dist/index.d.ts +149 -5
  10. package/dist/index.js +3 -2
  11. package/dist/md5.cjs +1 -0
  12. package/dist/md5.d.ts +20 -0
  13. package/dist/md5.js +1 -0
  14. package/dist/stream/md5-stream.cjs +1 -2
  15. package/dist/stream/md5-stream.js +1 -2
  16. package/dist/stream/whatwg-stream.cjs +1 -2
  17. package/dist/stream/whatwg-stream.js +1 -2
  18. package/dist/utils/detect.cjs +1 -2
  19. package/dist/utils/detect.js +3 -2
  20. package/package.json +10 -15
  21. package/pure-md5-0.2.1.tgz +0 -0
  22. package/test-tree-shake.mjs +12 -0
  23. package/.aliases +0 -19
  24. package/.bash_profile +0 -12
  25. package/.bash_prompt +0 -56
  26. package/.changeset/README.md +0 -32
  27. package/.changeset/config.json +0 -16
  28. package/.continue/mcpServers/new-mcp-server.yaml +0 -10
  29. package/.continue/rules +0 -29
  30. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -35
  31. package/.github/ISSUE_TEMPLATE/documentation.md +0 -20
  32. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  33. package/.github/PULL_REQUEST_TEMPLATE.md +0 -35
  34. package/.github/workflows/npm-publish.yml +0 -33
  35. package/.github/workflows/release.yml +0 -42
  36. package/CHANGELOG.md +0 -9
  37. package/CONTRIBUTING.md +0 -203
  38. package/MIGRATION_GUIDE_STREAMS.md +0 -374
  39. package/STREAM_API.md +0 -582
  40. package/STREAM_BENCHMARKS.md +0 -232
  41. package/STREAM_EXAMPLES.md +0 -669
  42. package/STREAM_OPTIMIZATION_REPORT.md +0 -136
  43. package/STREAM_TROUBLESHOOTING.md +0 -537
  44. package/WEB_CRYPTO_TESTS_SUMMARY.md +0 -140
  45. package/WHATWG_STREAMS.md +0 -191
  46. package/__tests__/adapters/node-crypto.test.ts +0 -167
  47. package/__tests__/adapters/web-crypto-node.test.ts +0 -73
  48. package/__tests__/adapters/web-crypto.test.ts +0 -195
  49. package/__tests__/add32.test.ts +0 -33
  50. package/__tests__/fallback.test.ts +0 -345
  51. package/__tests__/hex.test.ts +0 -38
  52. package/__tests__/hex_chr.test.ts +0 -20
  53. package/__tests__/index.test.ts +0 -87
  54. package/__tests__/integration/fixtures/test-file.txt +0 -1
  55. package/__tests__/integration/md5-stream-file.test.ts +0 -293
  56. package/__tests__/integration/node-crypto-file.test.ts +0 -86
  57. package/__tests__/integration/web-crypto.test.ts +0 -38
  58. package/__tests__/md51.test.ts +0 -73
  59. package/__tests__/md5block.test.ts +0 -61
  60. package/__tests__/md5cycle.test.ts +0 -48
  61. package/__tests__/round-functions.test.ts +0 -87
  62. package/__tests__/stream/fs-utils.test.ts +0 -209
  63. package/__tests__/stream/md5-stream-edge-cases.test.ts +0 -461
  64. package/__tests__/stream/md5-stream.test.ts +0 -418
  65. package/__tests__/stream/whatwg-stream.test.ts +0 -355
  66. package/__tests__/stream/whatwg-stream.test.ts.bak2 +0 -335
  67. package/benchmarks/md5-stream.bench.ts +0 -212
  68. package/benchmarks/whatwg-stream.bench.ts +0 -180
  69. package/dist/adapters/ie11.cjs.map +0 -1
  70. package/dist/adapters/ie11.js.map +0 -1
  71. package/dist/adapters/node.cjs.map +0 -1
  72. package/dist/adapters/node.js.map +0 -1
  73. package/dist/adapters/webcrypto.cjs.map +0 -1
  74. package/dist/adapters/webcrypto.js.map +0 -1
  75. package/dist/chunk-2YXXFGBV.js +0 -2
  76. package/dist/chunk-2YXXFGBV.js.map +0 -1
  77. package/dist/chunk-4KSCMS4Q.js +0 -2
  78. package/dist/chunk-4KSCMS4Q.js.map +0 -1
  79. package/dist/chunk-6P2QV5SR.js +0 -4
  80. package/dist/chunk-6P2QV5SR.js.map +0 -1
  81. package/dist/chunk-G5WHEAIQ.js +0 -2
  82. package/dist/chunk-G5WHEAIQ.js.map +0 -1
  83. package/dist/chunk-H2K353LR.js +0 -2
  84. package/dist/chunk-H2K353LR.js.map +0 -1
  85. package/dist/chunk-JKVD5LHZ.js +0 -2
  86. package/dist/chunk-JKVD5LHZ.js.map +0 -1
  87. package/dist/chunk-NWQ4N5RX.js +0 -2
  88. package/dist/chunk-NWQ4N5RX.js.map +0 -1
  89. package/dist/chunk-PHZ7FTYF.js +0 -2
  90. package/dist/chunk-PHZ7FTYF.js.map +0 -1
  91. package/dist/chunk-PNZTVQA7.js +0 -2
  92. package/dist/chunk-PNZTVQA7.js.map +0 -1
  93. package/dist/chunk-R4JB5MBR.js +0 -2
  94. package/dist/chunk-R4JB5MBR.js.map +0 -1
  95. package/dist/chunk-VFOAY6XI.js +0 -2
  96. package/dist/chunk-VFOAY6XI.js.map +0 -1
  97. package/dist/chunk-XB5BQIEX.js +0 -2
  98. package/dist/chunk-XB5BQIEX.js.map +0 -1
  99. package/dist/core/index.cjs +0 -2
  100. package/dist/core/index.cjs.map +0 -1
  101. package/dist/core/index.d.cts +0 -19
  102. package/dist/core/index.d.ts +0 -19
  103. package/dist/core/index.js +0 -2
  104. package/dist/core/index.js.map +0 -1
  105. package/dist/index.cjs.map +0 -1
  106. package/dist/index.d.cts +0 -84
  107. package/dist/index.js.map +0 -1
  108. package/dist/stream/adapter.cjs +0 -2
  109. package/dist/stream/adapter.cjs.map +0 -1
  110. package/dist/stream/adapter.d.cts +0 -63
  111. package/dist/stream/adapter.d.ts +0 -63
  112. package/dist/stream/adapter.js +0 -2
  113. package/dist/stream/adapter.js.map +0 -1
  114. package/dist/stream/fs-utils.cjs +0 -2
  115. package/dist/stream/fs-utils.cjs.map +0 -1
  116. package/dist/stream/fs-utils.d.cts +0 -137
  117. package/dist/stream/fs-utils.d.ts +0 -137
  118. package/dist/stream/fs-utils.js +0 -2
  119. package/dist/stream/fs-utils.js.map +0 -1
  120. package/dist/stream/index.cjs +0 -2
  121. package/dist/stream/index.cjs.map +0 -1
  122. package/dist/stream/index.d.cts +0 -4
  123. package/dist/stream/index.d.ts +0 -4
  124. package/dist/stream/index.js +0 -2
  125. package/dist/stream/index.js.map +0 -1
  126. package/dist/stream/light/index.cjs +0 -2
  127. package/dist/stream/light/index.cjs.map +0 -1
  128. package/dist/stream/light/index.d.cts +0 -4
  129. package/dist/stream/light/index.d.ts +0 -4
  130. package/dist/stream/light/index.js +0 -2
  131. package/dist/stream/light/index.js.map +0 -1
  132. package/dist/stream/md5-stream.cjs.map +0 -1
  133. package/dist/stream/md5-stream.js.map +0 -1
  134. package/dist/stream/whatwg-stream.cjs.map +0 -1
  135. package/dist/stream/whatwg-stream.js.map +0 -1
  136. package/dist/types-edGoGJ5V.d.cts +0 -42
  137. package/dist/types-edGoGJ5V.d.ts +0 -42
  138. package/dist/utils/detect.cjs.map +0 -1
  139. package/dist/utils/detect.js.map +0 -1
  140. package/planning/03-optimization-size-tree-shaking/01-es-modules-tree-shaking.md +0 -152
  141. package/planning/03-optimization-size-tree-shaking/02-consolidate-modules.md +0 -65
  142. package/planning/03-optimization-size-tree-shaking/03-remove-duplicate-add32.md +0 -93
  143. package/planning/03-optimization-size-tree-shaking/04-remove-runtime-check.md +0 -102
  144. package/planning/03-optimization-size-tree-shaking/05-optimize-loops-performance.md +0 -107
  145. package/planning/03-optimization-size-tree-shaking/06-tsup-formats-configuration.md +0 -227
  146. package/planning/03-optimization-size-tree-shaking/07-multiple-build-formats.md +0 -228
  147. package/planning/03-optimization-size-tree-shaking/08-benchmarks-metrics.md +0 -34
  148. package/planning/03-optimization-size-tree-shaking/MIGRATION_GUIDE.md +0 -260
  149. package/planning/03-optimization-size-tree-shaking/README.md +0 -173
  150. package/planning/03-optimization-size-tree-shaking/SUMMARY.md +0 -168
  151. package/planning/04-adapter-backend/03-backend-web-crypto.md +0 -149
  152. package/planning/04-adapter-backend/04-backend-node-crypto.md +0 -181
  153. package/planning/04-adapter-backend/05-backend-pure-js.md +0 -174
  154. package/planning/04-adapter-backend/06-backend-ie11.md +0 -158
  155. package/planning/04-adapter-backend/07-detection-environment.md +0 -232
  156. package/planning/04-adapter-backend/08-detection-backend.md +0 -210
  157. package/planning/04-adapter-backend/09-adapter-unified.md +0 -255
  158. package/planning/04-adapter-backend/10-fallback-mechanism.md +0 -333
  159. package/planning/04-adapter-backend/11-tests-backend-web-crypto.md +0 -191
  160. package/planning/04-adapter-backend/12-tests-backend-node-crypto.md +0 -222
  161. package/planning/04-adapter-backend/README.md +0 -45
  162. package/planning/05-documentation-publishing/01-README-optimization.md +0 -105
  163. package/planning/05-documentation-publishing/02-VitePress-site-evaluation.md +0 -136
  164. package/planning/05-documentation-publishing/03-Changeset-setup.md +0 -192
  165. package/planning/05-documentation-publishing/04-GitHub-templates.md +0 -252
  166. package/planning/05-documentation-publishing/README.md +0 -22
  167. package/planning/05-documentation-publishing/STATUS.md +0 -222
  168. package/planning/prd.md +0 -405
  169. package/planning/streams/01-create-md5stream-class.md +0 -69
  170. package/planning/streams/02-create-factory-api.md +0 -65
  171. package/planning/streams/03-fs-integration.md +0 -37
  172. package/planning/streams/04-whatwg-streams-support.md +0 -37
  173. package/planning/streams/05-audit-optimization.md +0 -121
  174. package/planning/streams/06-comprehensive-tests-docs.md +0 -137
  175. package/planning/streams/07-architecture-integration.md +0 -38
  176. package/planning/streams/README.md +0 -98
  177. package/tsup.config.ts +0 -24
@@ -1,2 +0,0 @@
1
- import {b,c,a}from'./chunk-R4JB5MBR.js';import {Transform}from'stream';var d=class b$1 extends Transform{constructor(r){super({readableObjectMode:false,writableObjectMode:false});this.initialMD5State=[1732584193,-271733879,-1732584194,271733878];this.bufferCapacity=64;this.buffer=new Uint8Array(this.bufferCapacity);this.add32=r?.add32||b,this.state={state:[...this.initialMD5State],bytesProcessed:0,bufferLength:0,buffer:this.buffer};}_transform(r,s,e){try{let t=r,f=t.length;if(f===0){e();return}if(this.state.bufferLength>0){let n=this.state.bufferLength,p=64-n,o=Math.min(f,p);for(let a=0;a<o;a++)this.buffer[n+a]=t[a];if(this.state.bufferLength+=o,this.state.bufferLength===64&&this._processBufferBlock(),o===f){e();return}let u=f-o;for(let a=0;a<u;a++)t[a]=t[o+a];let h=Buffer.alloc(u);for(let a=0;a<u;a++)h[a]=t[a];t=h;}let l=Math.floor(t.length/64);for(let n=0;n<l;n++){let p=n*64,o=[];for(let u=0;u<16;u++){let h=p+u*4;o[u]=t[h]+(t[h+1]<<8)+(t[h+2]<<16)+(t[h+3]<<24);}c(this.state.state,o,this.add32),this.state.bytesProcessed+=64;}let i=t.length%64;if(i>0){this.buffer.length<i&&(this.buffer=new Uint8Array(i),this.state.buffer=this.buffer);for(let n=0;n<i;n++)this.buffer[n]=t[l*64+n];this.state.bufferLength=i;}e();}catch(t){e(t);}}_processBufferBlock(){let r=this.state.buffer,s=[];for(let e=0;e<16;e++){let t=e*4;s[e]=r[t]+(r[t+1]<<8)+(r[t+2]<<16)+(r[t+3]<<24);}c(this.state.state,s,this.add32),this.state.bytesProcessed+=64,this.state.bufferLength=0;}_flush(r){try{let{state:s,bufferLength:e,buffer:t}=this.state,f=new Array(16).fill(0);for(let i=0;i<e;i++)f[i>>2]|=(t[i]&255)<<(i%4<<3);if(f[e>>2]|=128<<(e%4<<3),e>55){c(s,f,this.add32);for(let i=0;i<16;i++)f[i]=0;}f[14]=(this.state.bytesProcessed+e)*8,f[15]=0,c(s,f,this.add32);let l=a(s);this.emit("md5",{digest:l,bytesProcessed:this.state.bytesProcessed+e}),r();}catch(s){r(s);}}getCurrentState(){return {state:[...this.state.state],bytesProcessed:this.state.bytesProcessed+this.state.bufferLength}}getBytesProcessed(){return this.state.bytesProcessed+this.state.bufferLength}reset(){this.state={state:[...this.initialMD5State],bytesProcessed:0,bufferLength:0,buffer:this.buffer},this.buffer=new Uint8Array(this.bufferCapacity),this.state.buffer=this.buffer,this.state.bufferLength=0;}static fromStream(r,s){let e=new b$1(s),t=M.call(e,r);return {stream:e,result:t}}};function v(b){return new d(b)}async function M(b){return new Promise((m,r)=>{let s=[];b.pipe(this).on("md5",e=>{s.push(e);}).on("error",r).on("finish",()=>{m(s[0]);});})}function w(b,m){let r=new d(m),s=M.call(r,b);return {stream:r,result:s}}export{d as a,v as b,M as c,w as d};//# sourceMappingURL=chunk-JKVD5LHZ.js.map
2
- //# sourceMappingURL=chunk-JKVD5LHZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/stream/md5-stream.ts"],"names":["MD5Stream","_MD5Stream","Transform","options","add32_default","chunk","_encoding","callback","data","dataLength","currentBufferLength","neededBytes","bytesToCopy","i","remainingData","remainingBuffer","fullBlocks","blockStart","block","j","idx","md5cycle_default","remaining","error","buffer","state","bufferLength","tail","digest","hex_default","source","stream","result","pipeThroughMD5","createMD5Stream","resolve","reject","results","fromStream"],"mappings":"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","file":"chunk-JKVD5LHZ.js","sourcesContent":["/**\n * MD5Stream - Node.js Transform stream for MD5 hash computation\n * Provides streaming MD5 hashing with minimal overhead\n */\n\nimport { Transform, TransformCallback } from 'stream';\nimport md5cycle from '../md5cycle';\nimport hex from '../hex';\nimport add32 from '../add32';\n\n/**\n * State interface for MD5 computation\n */\ninterface MD5State {\n state: number[];\n bytesProcessed: number;\n bufferLength: number;\n buffer: Uint8Array;\n}\n\n/**\n * Options for MD5Stream constructor\n */\ninterface MD5StreamOptions {\n /**\n * Custom add32 function for compatibility testing\n */\n add32?: (x: number, y: number) => number;\n}\n\n/**\n * MD5Stream - Node.js Transform stream for computing MD5 hashes\n * \n * Usage example:\n * ```ts\n * import fs from 'fs';\n * import { MD5Stream } from 'pure-md5';\n * \n * const stream = new MD5Stream();\n * stream.on('md5', (result) => {\n * console.log('MD5:', result.digest);\n * console.log('Bytes:', result.bytesProcessed);\n * });\n * \n * fs.createReadStream('file.txt').pipe(stream);\n * ```\n */\nexport class MD5Stream extends Transform {\n private state: MD5State;\n private add32: (x: number, y: number) => number;\n private readonly initialMD5State = [1732584193, -271733879, -1732584194, 271733878];\n private readonly bufferCapacity: number = 64;\n private buffer: Uint8Array = new Uint8Array(this.bufferCapacity);\n\n /**\n * Create new MD5Stream instance\n * @param options - Stream options\n */\n constructor(options?: MD5StreamOptions) {\n super({\n readableObjectMode: false,\n writableObjectMode: false\n });\n\n this.add32 = options?.add32 || add32;\n this.state = {\n state: [...this.initialMD5State],\n bytesProcessed: 0,\n bufferLength: 0,\n buffer: this.buffer\n };\n }\n\n /**\n * Process data chunk and update MD5 state\n * @param chunk - Data chunk to process\n * @param callback - Callback to signal chunk processing complete\n */\n _transform(chunk: Buffer, _encoding: BufferEncoding, callback: TransformCallback): void {\n try {\n let data = chunk as Buffer;\n const dataLength = data.length;\n \n if (dataLength === 0) {\n callback();\n return;\n }\n\n // Combine with remaining buffer if needed\n if (this.state.bufferLength > 0) {\n const currentBufferLength = this.state.bufferLength;\n const neededBytes = 64 - currentBufferLength;\n const bytesToCopy = Math.min(dataLength, neededBytes);\n \n // Copy data to buffer\n for (let i = 0; i < bytesToCopy; i++) {\n this.buffer[currentBufferLength + i] = data[i];\n }\n \n this.state.bufferLength += bytesToCopy;\n \n // If buffer is full, process it\n if (this.state.bufferLength === 64) {\n this._processBufferBlock();\n }\n \n // If we used all data, we're done\n if (bytesToCopy === dataLength) {\n callback();\n return;\n }\n \n // Move to next position in original data\n // Shift remaining data to beginning of buffer\n const remainingData = dataLength - bytesToCopy;\n for (let i = 0; i < remainingData; i++) {\n data[i] = data[bytesToCopy + i];\n }\n // Create a new buffer with only the remaining data\n const remainingBuffer = Buffer.alloc(remainingData);\n for (let i = 0; i < remainingData; i++) {\n remainingBuffer[i] = data[i];\n }\n data = remainingBuffer;\n }\n \n // Process full 64-byte blocks directly from data\n const fullBlocks = Math.floor(data.length / 64);\n \n for (let i = 0; i < fullBlocks; i++) {\n const blockStart = i * 64;\n const block: number[] = [];\n \n for (let j = 0; j < 16; j++) {\n const idx = blockStart + j * 4;\n block[j] = \n data[idx] +\n (data[idx + 1] << 8) +\n (data[idx + 2] << 16) +\n (data[idx + 3] << 24);\n }\n \n md5cycle(this.state.state, block, this.add32);\n this.state.bytesProcessed += 64;\n }\n \n // Store remaining bytes in buffer\n const remaining = data.length % 64;\n if (remaining > 0) {\n // Ensure buffer is large enough\n if (this.buffer.length < remaining) {\n this.buffer = new Uint8Array(remaining);\n this.state.buffer = this.buffer;\n }\n \n // Copy remaining bytes to buffer\n for (let i = 0; i < remaining; i++) {\n this.buffer[i] = data[fullBlocks * 64 + i];\n }\n this.state.bufferLength = remaining;\n }\n \n callback();\n } catch (error) {\n callback(error as Error);\n }\n }\n\n /**\n * Process the current buffer as a complete block\n */\n private _processBufferBlock(): void {\n const buffer = this.state.buffer;\n const block: number[] = [];\n \n for (let j = 0; j < 16; j++) {\n const idx = j * 4;\n block[j] = \n buffer[idx] +\n (buffer[idx + 1] << 8) +\n (buffer[idx + 2] << 16) +\n (buffer[idx + 3] << 24);\n }\n \n md5cycle(this.state.state, block, this.add32);\n this.state.bytesProcessed += 64;\n this.state.bufferLength = 0;\n }\n\n /**\n * Finalize MD5 computation and emit result\n * @param callback - Callback to signal flush complete\n */\n _flush(callback: TransformCallback): void {\n try {\n const { state, bufferLength, buffer } = this.state;\n \n // Final padding\n const tail: number[] = new Array(16).fill(0);\n \n // Copy remaining buffer\n for (let i = 0; i < bufferLength; i++) {\n tail[i >> 2] |= (buffer[i] & 0xff) << ((i % 4) << 3);\n }\n \n // Append 0x80\n tail[bufferLength >> 2] |= 0x80 << ((bufferLength % 4) << 3);\n \n // If not enough space for length, process current block\n if (bufferLength > 55) {\n md5cycle(state, tail, this.add32);\n for (let i = 0; i < 16; i++) {\n tail[i] = 0;\n }\n }\n \n // Append length (in bits) - include remaining bytes\n tail[14] = (this.state.bytesProcessed + bufferLength) * 8;\n tail[15] = 0; // High 32 bits of length (not used for typical files)\n \n // Final MD5 cycle\n md5cycle(state, tail, this.add32);\n \n // Generate hex digest\n const digest = hex(state);\n \n // Emit result\n this.emit('md5', {\n digest,\n bytesProcessed: this.state.bytesProcessed + bufferLength\n });\n \n callback();\n } catch (error) {\n callback(error as Error);\n }\n }\n\n /**\n * Get current MD5 state (for debugging/testing)\n * @returns Current internal state\n */\n public getCurrentState(): { state: number[]; bytesProcessed: number } {\n return {\n state: [...this.state.state],\n bytesProcessed: this.state.bytesProcessed + this.state.bufferLength\n };\n }\n\n /**\n * Get bytes processed so far\n * @returns Number of bytes processed\n */\n public getBytesProcessed(): number {\n return this.state.bytesProcessed + this.state.bufferLength;\n }\n\n /**\n * Reset the stream state\n * Note: This resets the internal MD5 state but not the stream's ended state.\n * For full stream reset, use destroy() and create a new instance.\n */\n public reset(): void {\n // Reset internal MD5 state\n this.state = {\n state: [...this.initialMD5State],\n bytesProcessed: 0,\n bufferLength: 0,\n buffer: this.buffer\n };\n this.buffer = new Uint8Array(this.bufferCapacity);\n this.state.buffer = this.buffer;\n this.state.bufferLength = 0;\n }\n\n /**\n * Static method to create MD5Stream from existing readable stream\n * @param source - Source readable stream\n * @param options - MD5Stream options\n * @returns Object containing stream and result promise\n */\n static fromStream(\n source: import('stream').Readable,\n options?: MD5StreamOptions\n ): { stream: MD5Stream; result: Promise<MD5Result> } {\n const stream = new MD5Stream(options);\n const result = pipeThroughMD5.call(stream, source);\n \n return { stream, result };\n }\n}\n\n/**\n * Factory function to create MD5Stream instance\n * @param options - MD5Stream options\n * @returns New MD5Stream instance\n */\nexport function createMD5Stream(options?: MD5StreamOptions): MD5Stream {\n return new MD5Stream(options);\n}\n\n/**\n * Result type for MD5 computation\n */\nexport interface MD5Result {\n /**\n * MD5 hash as hex string\n */\n digest: string;\n /**\n * Number of bytes processed\n */\n bytesProcessed: number;\n}\n\n/**\n * Pipe through MD5 stream helper\n * @param this - MD5Stream instance\n * @param source - Source readable stream to process\n * @returns Promise with MD5 result\n */\nexport async function pipeThroughMD5(\n this: MD5Stream,\n source: import('stream').Readable\n): Promise<MD5Result> {\n return new Promise((resolve, reject) => {\n const results: MD5Result[] = [];\n \n source\n .pipe(this)\n .on('md5', (result: MD5Result) => {\n results.push(result);\n })\n .on('error', reject)\n .on('finish', () => {\n resolve(results[0]);\n });\n });\n}\n\n/**\n * Static method to create MD5Stream from existing readable stream\n * @param source - Source readable stream\n * @param options - MD5Stream options\n * @returns Object containing stream and result promise\n */\nexport function fromStream(\n source: import('stream').Readable,\n options?: MD5StreamOptions\n): { stream: MD5Stream; result: Promise<MD5Result> } {\n const stream = new MD5Stream(options);\n const result = pipeThroughMD5.call(stream, source);\n \n return { stream, result };\n}\n"]}
@@ -1,2 +0,0 @@
1
- import {a as a$1,c,b as b$1}from'./chunk-R4JB5MBR.js';function s(t){let e=[];for(let r=0;r<64;r+=4)e[r>>2]=(t.charCodeAt(r)||0)+((t.charCodeAt(r+1)||0)<<8)+((t.charCodeAt(r+2)||0)<<16)+((t.charCodeAt(r+3)||0)<<24);return e}var d=s;function a(t,e){let r=t.length,o=[1732584193,-271733879,-1732584194,271733878],n;for(n=64;n<=r;n+=64)c(o,d(t.substring(n-64,n)),e);t=t.substring(n-64);var m=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],i=t.length;for(n=0;n<i;n++)m[n>>2]|=(t.charCodeAt(n)&255)<<(n%4<<3);if(m[n>>2]|=128<<(n%4<<3),n>55)for(c(o,m,e),n=16;n--;)m[n]=0;return m[14]=r*8,c(o,m,e),o}var b=a;function x(t,e){let r=t.length,o=[1732584193,-271733879,-1732584194,271733878],n;for(n=64;n<=r;n+=64){let u=g(t,n-64);c(o,u,e);}let m=r-n+64,i=new Array(16).fill(0);for(let u=0;u<m;u++)i[u>>2]|=(t[r-m+u]&255)<<(u%4<<3);if(i[m>>2]|=128<<(m%4<<3),m>55){c(o,i,e);for(let u=0;u<16;u++)i[u]=0;}return i[14]=r*8,i[15]=0,c(o,i,e),o}function g(t,e){let r=[];for(let o=0;o<64;o+=4)r[o>>2]=(t[e+o]||0)+((t[e+o+1]||0)<<8)+((t[e+o+2]||0)<<16)+((t[e+o+3]||0)<<24);return r}var p=x;function q(t){return a$1(b(t,b$1))}function z(t){return a$1(p(t,b$1))}export{q as a,z as b};//# sourceMappingURL=chunk-NWQ4N5RX.js.map
2
- //# sourceMappingURL=chunk-NWQ4N5RX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/md5blk.ts","../src/md51.ts","../src/md5buf.ts","../src/core/index.ts"],"names":["md5blk","s","md5blks","i","md5blk_default","md51","add32","n","state","md5cycle_default","tail","sl","md51_default","md5buf","buffer","length","block","md5blkBuf","remaining","j","k","offset","md5buf_default","md5Core","string","hex_default","add32_default","md5Buffer"],"mappings":"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","file":"chunk-NWQ4N5RX.js","sourcesContent":["function md5blk(s: string): number[] {\n let md5blks: number[] = [];\n for (let i = 0; i < 64; i += 4) {\n md5blks[i >> 2] =\n (s.charCodeAt(i) || 0) +\n ((s.charCodeAt(i + 1) || 0) << 8) +\n ((s.charCodeAt(i + 2) || 0) << 16) +\n ((s.charCodeAt(i + 3) || 0) << 24);\n }\n return md5blks;\n}\n\nexport default md5blk;\n","import md5cycle from './md5cycle';\nimport md5blk from './md5blk';\n\ntype Add32Function = (x: number, y: number) => number;\n\nfunction md51(s: string, add32?: Add32Function): number[] {\n const n = s.length;\n const state = [1732584193, -271733879, -1732584194, 271733878];\n let i;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)), add32);\n }\n s = s.substring(i - 64);\n var tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n sl = s.length;\n for (i = 0; i < sl; i++) tail[i >> 2] |= (s.charCodeAt(i) & 0xff) << ((i % 4) << 3);\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail, add32);\n i = 16;\n while (i--) {\n tail[i] = 0;\n }\n }\n tail[14] = n * 8;\n md5cycle(state, tail, add32);\n return state;\n}\n\nexport default md51;\n","import md5cycle from './md5cycle';\n\ntype Add32Function = (x: number, y: number) => number;\n\n/**\n * Compute MD5 hash of a Buffer\n * @param buffer - Input Buffer to hash\n * @param add32 - Optional custom add32 function\n * @returns MD5 hash as array of numbers\n */\nfunction md5buf(buffer: Buffer, add32?: Add32Function): number[] {\n const length = buffer.length;\n const state = [1732584193, -271733879, -1732584194, 271733878];\n \n // Process full 64-byte blocks\n let i;\n for (i = 64; i <= length; i += 64) {\n const block = md5blkBuf(buffer, i - 64);\n md5cycle(state, block, add32);\n }\n \n // Handle remaining bytes\n const remaining = length - i + 64;\n const tail: number[] = new Array(16).fill(0);\n \n // Copy remaining bytes from the end of the buffer\n for (let j = 0; j < remaining; j++) {\n tail[j >> 2] |= (buffer[length - remaining + j] & 0xff) << ((j % 4) << 3);\n }\n \n // Append 0x80\n tail[remaining >> 2] |= 0x80 << ((remaining % 4) << 3);\n \n // If not enough space for length, process current block\n if (remaining > 55) {\n md5cycle(state, tail, add32);\n for (let k = 0; k < 16; k++) {\n tail[k] = 0;\n }\n }\n \n // Append length (in bits)\n tail[14] = length * 8;\n tail[15] = 0; // High 32 bits of length (not used for typical files)\n \n // Final MD5 cycle\n md5cycle(state, tail, add32);\n return state;\n}\n\n/**\n * Convert a 64-byte slice of buffer to MD5 block format\n * @param buffer - Input buffer\n * @param offset - Offset to start from\n * @returns Array of 16 32-bit words\n */\nfunction md5blkBuf(buffer: Buffer, offset: number): number[] {\n const md5blks: number[] = [];\n for (let i = 0; i < 64; i += 4) {\n md5blks[i >> 2] =\n (buffer[offset + i] || 0) +\n ((buffer[offset + i + 1] || 0) << 8) +\n ((buffer[offset + i + 2] || 0) << 16) +\n ((buffer[offset + i + 3] || 0) << 24);\n }\n return md5blks;\n}\n\nexport default md5buf;\n","/**\n * Core MD5 implementation - Pure JavaScript\n * No dependencies, no environment detection\n * This is the minimal, tree-shakeable core\n */\n\nimport hex from '../hex';\nimport md51 from '../md51';\nimport md5buf from '../md5buf';\nimport add32 from '../add32';\n\n/**\n * Compute MD5 hash of a string\n * @param string - Input string to hash\n * @returns MD5 hash as hex string\n */\nexport function md5Core(string: string): string {\n // Use the original implementation\n const fn = add32;\n return hex(md51(string, fn));\n}\n\n/**\n * Compute MD5 hash of a Buffer\n * @param buffer - Input Buffer to hash\n * @returns MD5 hash as hex string\n */\nexport function md5Buffer(buffer: Buffer): string {\n const fn = add32;\n return hex(md5buf(buffer, fn));\n}\n\nexport { md5Core as md5 };\n"]}
@@ -1,2 +0,0 @@
1
- import {a,d}from'./chunk-JKVD5LHZ.js';Object.defineProperty(a,"fromStream",{value:d,writable:false,configurable:false});//# sourceMappingURL=chunk-PHZ7FTYF.js.map
2
- //# sourceMappingURL=chunk-PHZ7FTYF.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/stream/index.ts"],"names":["MD5Stream","fromStream"],"mappings":"sCASA,MAAA,CAAO,cAAA,CAAeA,CAAAA,CAAgB,YAAA,CAAc,CAClD,KAAA,CAAOC,EACP,QAAA,CAAU,KAAA,CACV,YAAA,CAAc,KAChB,CAAC,CAAA","file":"chunk-PHZ7FTYF.js","sourcesContent":["/**\n * MD5 Stream API - Streaming MD5 hash computation\n * Provides Transform stream and factory functions for efficient MD5 hashing\n * Supports both Node.js Streams and WHATWG Streams for browsers\n */\n\nimport { MD5Stream as MD5StreamClass, createMD5Stream, pipeThroughMD5, MD5Result, fromStream } from './md5-stream.js';\n\n// Add fromStream as static method to MD5Stream class\nObject.defineProperty(MD5StreamClass, 'fromStream', {\n value: fromStream,\n writable: false,\n configurable: false\n});\n\nexport { MD5StreamClass as MD5Stream, createMD5Stream, pipeThroughMD5, MD5Result, fromStream };\n\nexport {\n hashFile,\n hashFileStream,\n hashFileDigest,\n hashFileStreamDigest,\n hashFileSync,\n verifyFile,\n createProgressTracker,\n HashFileOptions\n} from './fs-utils.js';\n\n// WHATWG Streams support for browsers\nexport {\n MD5ReadableStream,\n createMD5ReadableStream,\n hashReadableStream,\n hashFile as hashFileWHATWG,\n hashBlob,\n consumeWithMD5,\n MD5ReadableStreamOptions\n} from './whatwg-stream.js';\n"]}
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-2YXXFGBV.js';var n=class{constructor(){this.name="nodecrypto";this.version="1.0.0";}static isAvailable(){try{return typeof a("crypto").createHash=="function"}catch{return false}}hash(r){return a("crypto").createHash("md5").update(r).digest("hex")}async hashBinary(r){let t=a("crypto"),i=r instanceof Uint8Array?r:new Uint8Array(r);return t.createHash("md5").update(i).digest("hex")}update(r){}digest(r){throw new Error("Node crypto streaming not implemented")}reset(){}};export{n as a};//# sourceMappingURL=chunk-PNZTVQA7.js.map
2
- //# sourceMappingURL=chunk-PNZTVQA7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/adapters/node.ts"],"names":["NodeCryptoBackend","e","data","nodeCrypto","buffer","_data","_encoding"],"mappings":"oCAOO,IAAMA,EAAN,KAA8C,CAA9C,cACL,IAAA,CAAA,IAAA,CAAe,YAAA,CACf,aAAkB,QAAA,CAElB,OAAO,WAAA,EAAuB,CAC5B,GAAI,CAEF,OAAO,OADYC,CAAA,CAAQ,QAAa,EACf,UAAA,EAAe,UAC1C,CAAA,KAAQ,CACN,OAAO,MACT,CACF,CAEA,IAAA,CAAKC,CAAAA,CAAsB,CAEzB,OADmBD,CAAA,CAAQ,QAAa,CAAA,CACtB,UAAA,CAAW,KAAK,CAAA,CAAE,MAAA,CAAOC,CAAI,CAAA,CAAE,MAAA,CAAO,KAAK,CAC/D,CAEA,MAAM,UAAA,CAAWA,EAAiD,CAChE,IAAMC,EAAaF,CAAA,CAAQ,QAAa,EAClCG,CAAAA,CAASF,CAAAA,YAAgB,WAAaA,CAAAA,CAAO,IAAI,WAAWA,CAAI,CAAA,CACtE,OAAOC,CAAAA,CAAW,UAAA,CAAW,KAAK,CAAA,CAAE,MAAA,CAAOC,CAAM,CAAA,CAAE,OAAO,KAAK,CACjE,CAEA,MAAA,CAAOC,CAAAA,CAAgE,CAGvE,CAEA,MAAA,CAAOC,EAAkF,CACvF,MAAM,IAAI,KAAA,CAAM,uCAAuC,CACzD,CAEA,KAAA,EAA8B,CAE9B,CACF","file":"chunk-PNZTVQA7.js","sourcesContent":["/**\n * Node.js Crypto Backend\n * Uses Node.js native crypto module for MD5 hashing\n */\n\nimport { MD5Backend } from \"./types.js\";\n\nexport class NodeCryptoBackend implements MD5Backend {\n name: string = \"nodecrypto\";\n version: string = \"1.0.0\";\n\n static isAvailable(): boolean {\n try {\n const nodeCrypto = require(\"node:crypto\");\n return typeof nodeCrypto.createHash === \"function\";\n } catch {\n return false;\n }\n }\n\n hash(data: string): string {\n const nodeCrypto = require(\"node:crypto\");\n return nodeCrypto.createHash(\"md5\").update(data).digest(\"hex\");\n }\n\n async hashBinary(data: ArrayBuffer | Uint8Array): Promise<string> {\n const nodeCrypto = require(\"node:crypto\");\n const buffer = data instanceof Uint8Array ? data : new Uint8Array(data);\n return nodeCrypto.createHash(\"md5\").update(buffer).digest(\"hex\");\n }\n\n update(_data: string | ArrayBuffer | Uint8Array): void | Promise<void> {\n // Node crypto handles streaming internally\n // This is here for interface compatibility\n }\n\n digest(_encoding?: \"hex\" | \"buffer\"): string | Uint8Array | Promise<string | Uint8Array> {\n throw new Error(\"Node crypto streaming not implemented\");\n }\n\n reset(): void | Promise<void> {\n // No state to reset\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- var F="0123456789abcdef".split(""),p=F;function a(b){let t="";for(let m=0;m<4;m++)t+=p[b>>m*8+4&15]+p[b>>m*8&15];return t}function y(b){let t=b.length,m=new Array(t);for(let n=0;n<t;n++)m[n]=a(b[n]);return m.join("")}var z=y;function x(b,t){return b+t&4294967295}var f=x;function j(b,t,m,n,e){let r=e||f;return t=r(r(t,b),r(m,n)),t}function v(b,t,m,n){var r=(n||f)(b<<t|b>>>32-t,m);return r}function l(b,t,m,n,e,r,u){return t=j(b,t,n,r,u),v(t,e,m,u)}function s(b,t,m,n,e,r,u,o){return l(m&n|~m&e,t,m,r,u,o,b)}function h(b,t,m,n,e,r,u,o){return l(m&e|n&~e,t,m,r,u,o,b)}function g(b,t,m,n,e,r,u,o){return l(m^n^e,t,m,r,u,o,b)}function A(b,t,m,n,e,r,u,o){return l(n^(m|~e),t,m,r,u,o,b)}function _(b,t,m){typeof m>"u"&&(m=f);let n=b[0],e=b[1],r=b[2],u=b[3],o=s.bind(null,m);n=o(n,e,r,u,t[0],7,-680876936),u=o(u,n,e,r,t[1],12,-389564586),r=o(r,u,n,e,t[2],17,606105819),e=o(e,r,u,n,t[3],22,-1044525330),n=o(n,e,r,u,t[4],7,-176418897),u=o(u,n,e,r,t[5],12,1200080426),r=o(r,u,n,e,t[6],17,-1473231341),e=o(e,r,u,n,t[7],22,-45705983),n=o(n,e,r,u,t[8],7,1770035416),u=o(u,n,e,r,t[9],12,-1958414417),r=o(r,u,n,e,t[10],17,-42063),e=o(e,r,u,n,t[11],22,-1990404162),n=o(n,e,r,u,t[12],7,1804603682),u=o(u,n,e,r,t[13],12,-40341101),r=o(r,u,n,e,t[14],17,-1502002290),e=o(e,r,u,n,t[15],22,1236535329);let i=h.bind(null,m);n=i(n,e,r,u,t[1],5,-165796510),u=i(u,n,e,r,t[6],9,-1069501632),r=i(r,u,n,e,t[11],14,643717713),e=i(e,r,u,n,t[0],20,-373897302),n=i(n,e,r,u,t[5],5,-701558691),u=i(u,n,e,r,t[10],9,38016083),r=i(r,u,n,e,t[15],14,-660478335),e=i(e,r,u,n,t[4],20,-405537848),n=i(n,e,r,u,t[9],5,568446438),u=i(u,n,e,r,t[14],9,-1019803690),r=i(r,u,n,e,t[3],14,-187363961),e=i(e,r,u,n,t[8],20,1163531501),n=i(n,e,r,u,t[13],5,-1444681467),u=i(u,n,e,r,t[2],9,-51403784),r=i(r,u,n,e,t[7],14,1735328473),e=i(e,r,u,n,t[12],20,-1926607734);let d=g.bind(null,m);n=d(n,e,r,u,t[5],4,-378558),u=d(u,n,e,r,t[8],11,-2022574463),r=d(r,u,n,e,t[11],16,1839030562),e=d(e,r,u,n,t[14],23,-35309556),n=d(n,e,r,u,t[1],4,-1530992060),u=d(u,n,e,r,t[4],11,1272893353),r=d(r,u,n,e,t[7],16,-155497632),e=d(e,r,u,n,t[10],23,-1094730640),n=d(n,e,r,u,t[13],4,681279174),u=d(u,n,e,r,t[0],11,-358537222),r=d(r,u,n,e,t[3],16,-722521979),e=d(e,r,u,n,t[6],23,76029189),n=d(n,e,r,u,t[9],4,-640364487),u=d(u,n,e,r,t[12],11,-421815835),r=d(r,u,n,e,t[15],16,530742520),e=d(e,r,u,n,t[2],23,-995338651);let c=A.bind(null,m);n=c(n,e,r,u,t[0],6,-198630844),u=c(u,n,e,r,t[7],10,1126891415),r=c(r,u,n,e,t[14],15,-1416354905),e=c(e,r,u,n,t[5],21,-57434055),n=c(n,e,r,u,t[12],6,1700485571),u=c(u,n,e,r,t[3],10,-1894986606),r=c(r,u,n,e,t[10],15,-1051523),e=c(e,r,u,n,t[1],21,-2054922799),n=c(n,e,r,u,t[8],6,1873313359),u=c(u,n,e,r,t[15],10,-30611744),r=c(r,u,n,e,t[6],15,-1560198380),e=c(e,r,u,n,t[13],21,1309151649),n=c(n,e,r,u,t[4],6,-145523070),u=c(u,n,e,r,t[11],10,-1120210379),r=c(r,u,n,e,t[2],15,718787259),e=c(e,r,u,n,t[9],21,-343485551),b[0]=m(n,b[0]),b[1]=m(e,b[1]),b[2]=m(r,b[2]),b[3]=m(u,b[3]);}var I=_;export{z as a,f as b,I as c};//# sourceMappingURL=chunk-R4JB5MBR.js.map
2
- //# sourceMappingURL=chunk-R4JB5MBR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hex_chr.ts","../src/hex.ts","../src/add32.ts","../src/round-functions.ts","../src/md5cycle.ts"],"names":["hex_chr","hex_chr_default","rhex","n","s","j","hex","x","l","result","i","hex_default","add32","y","add32_default","cmn1","q","a","t","fn","add","cmn2","b","cmn","ff","c","d","gg","hh","ii","md5cycle","k","fff","ggg","hhh","iii","md5cycle_default"],"mappings":"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","file":"chunk-R4JB5MBR.js","sourcesContent":["const hex_chr: string[] = \"0123456789abcdef\".split(\"\");\n\nexport default hex_chr;\n","import hex_chr from './hex_chr';\n\nfunction rhex(n: number): string {\n let s = '';\n for (let j = 0; j < 4; j++)\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0f] + hex_chr[(n >> (j * 8)) & 0x0f];\n return s;\n}\n\nfunction hex(x: number[]): string {\n const l = x.length;\n const result: string[] = new Array(l);\n for (let i = 0; i < l; i++) result[i] = rhex(x[i]);\n return result.join('');\n}\n\nexport default hex;\n","function add32(x: number, y: number): number {\n //let lsw = (x & 0xffff) + (y & 0xffff);\n //let msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n //return (msw << 16) | (lsw & 0xffff);\n return (x + y) & 0xffffffff;\n}\n\nexport default add32;\n","import add32 from './add32';\n\ntype Add32Function = (x: number, y: number) => number;\n\nfunction cmn1(q: number, a: number, x: number, t: number, fn?: Add32Function) {\n const add = fn || add32;\n a = add(add(a, q), add(x, t));\n return a;\n}\n\nfunction cmn2(a: number, s: number, b: number, fn?: Add32Function) {\n const add = fn || add32;\n var result = add((a << s) | (a >>> (32 - s)), b);\n return result;\n}\n\nfunction cmn(\n q: number,\n a: number,\n b: number,\n x: number,\n s: number,\n t: number,\n fn?: Add32Function\n) {\n a = cmn1(q, a, x, t, fn);\n return cmn2(a, s, b, fn);\n}\n\nexport function ff(\n fn: Add32Function,\n a: number,\n b: number,\n c: number,\n d: number,\n x: number,\n s: number,\n t: number\n): number {\n return cmn((b & c) | (~b & d), a, b, x, s, t, fn);\n}\n\nexport function gg(\n fn: Add32Function,\n a: number,\n b: number,\n c: number,\n d: number,\n x: number,\n s: number,\n t: number\n): number {\n return cmn((b & d) | (c & ~d), a, b, x, s, t, fn);\n}\n\nexport function hh(\n fn: Add32Function,\n a: number,\n b: number,\n c: number,\n d: number,\n x: number,\n s: number,\n t: number\n): number {\n return cmn(b ^ c ^ d, a, b, x, s, t, fn);\n}\n\nexport function ii(\n fn: Add32Function,\n a: number,\n b: number,\n c: number,\n d: number,\n x: number,\n s: number,\n t: number\n): number {\n return cmn(c ^ (b | ~d), a, b, x, s, t, fn);\n}\n","import add32 from './add32';\nimport { ff, gg, hh, ii } from './round-functions';\n\ntype Add32Function = (x: number, y: number) => number;\n\nfunction md5cycle(x: number[], k: number[], fn?: Add32Function): void {\n if (typeof fn === 'undefined') {\n fn = add32;\n }\n let a = x[0];\n let b = x[1];\n let c = x[2];\n let d = x[3];\n\n const fff = ff.bind(null, fn);\n a = fff(a, b, c, d, k[0], 7, -680876936);\n d = fff(d, a, b, c, k[1], 12, -389564586);\n c = fff(c, d, a, b, k[2], 17, 606105819);\n b = fff(b, c, d, a, k[3], 22, -1044525330);\n a = fff(a, b, c, d, k[4], 7, -176418897);\n d = fff(d, a, b, c, k[5], 12, 1200080426);\n c = fff(c, d, a, b, k[6], 17, -1473231341);\n b = fff(b, c, d, a, k[7], 22, -45705983);\n a = fff(a, b, c, d, k[8], 7, 1770035416);\n d = fff(d, a, b, c, k[9], 12, -1958414417);\n c = fff(c, d, a, b, k[10], 17, -42063);\n b = fff(b, c, d, a, k[11], 22, -1990404162);\n a = fff(a, b, c, d, k[12], 7, 1804603682);\n d = fff(d, a, b, c, k[13], 12, -40341101);\n c = fff(c, d, a, b, k[14], 17, -1502002290);\n b = fff(b, c, d, a, k[15], 22, 1236535329);\n\n const ggg = gg.bind(null, fn);\n a = ggg(a, b, c, d, k[1], 5, -165796510);\n d = ggg(d, a, b, c, k[6], 9, -1069501632);\n c = ggg(c, d, a, b, k[11], 14, 643717713);\n b = ggg(b, c, d, a, k[0], 20, -373897302);\n a = ggg(a, b, c, d, k[5], 5, -701558691);\n d = ggg(d, a, b, c, k[10], 9, 38016083);\n c = ggg(c, d, a, b, k[15], 14, -660478335);\n b = ggg(b, c, d, a, k[4], 20, -405537848);\n a = ggg(a, b, c, d, k[9], 5, 568446438);\n d = ggg(d, a, b, c, k[14], 9, -1019803690);\n c = ggg(c, d, a, b, k[3], 14, -187363961);\n b = ggg(b, c, d, a, k[8], 20, 1163531501);\n a = ggg(a, b, c, d, k[13], 5, -1444681467);\n d = ggg(d, a, b, c, k[2], 9, -51403784);\n c = ggg(c, d, a, b, k[7], 14, 1735328473);\n b = ggg(b, c, d, a, k[12], 20, -1926607734);\n\n const hhh = hh.bind(null, fn);\n a = hhh(a, b, c, d, k[5], 4, -378558);\n d = hhh(d, a, b, c, k[8], 11, -2022574463);\n c = hhh(c, d, a, b, k[11], 16, 1839030562);\n b = hhh(b, c, d, a, k[14], 23, -35309556);\n a = hhh(a, b, c, d, k[1], 4, -1530992060);\n d = hhh(d, a, b, c, k[4], 11, 1272893353);\n c = hhh(c, d, a, b, k[7], 16, -155497632);\n b = hhh(b, c, d, a, k[10], 23, -1094730640);\n a = hhh(a, b, c, d, k[13], 4, 681279174);\n d = hhh(d, a, b, c, k[0], 11, -358537222);\n c = hhh(c, d, a, b, k[3], 16, -722521979);\n b = hhh(b, c, d, a, k[6], 23, 76029189);\n a = hhh(a, b, c, d, k[9], 4, -640364487);\n d = hhh(d, a, b, c, k[12], 11, -421815835);\n c = hhh(c, d, a, b, k[15], 16, 530742520);\n b = hhh(b, c, d, a, k[2], 23, -995338651);\n\n const iii = ii.bind(null, fn);\n a = iii(a, b, c, d, k[0], 6, -198630844);\n d = iii(d, a, b, c, k[7], 10, 1126891415);\n c = iii(c, d, a, b, k[14], 15, -1416354905);\n b = iii(b, c, d, a, k[5], 21, -57434055);\n a = iii(a, b, c, d, k[12], 6, 1700485571);\n d = iii(d, a, b, c, k[3], 10, -1894986606);\n c = iii(c, d, a, b, k[10], 15, -1051523);\n b = iii(b, c, d, a, k[1], 21, -2054922799);\n a = iii(a, b, c, d, k[8], 6, 1873313359);\n d = iii(d, a, b, c, k[15], 10, -30611744);\n c = iii(c, d, a, b, k[6], 15, -1560198380);\n b = iii(b, c, d, a, k[13], 21, 1309151649);\n a = iii(a, b, c, d, k[4], 6, -145523070);\n d = iii(d, a, b, c, k[11], 10, -1120210379);\n c = iii(c, d, a, b, k[2], 15, 718787259);\n b = iii(b, c, d, a, k[9], 21, -343485551);\n\n x[0] = fn(a, x[0]);\n x[1] = fn(b, x[1]);\n x[2] = fn(c, x[2]);\n x[3] = fn(d, x[3]);\n}\n\nexport default md5cycle;\n"]}
@@ -1,2 +0,0 @@
1
- var n=class{constructor(){this.name="ie11";this.version="1.0.0";}static isAvailable(){if(typeof window>"u")return false;let r=window;return typeof r.msCrypto<"u"&&typeof r.msCrypto.subtle<"u"&&typeof r.msCrypto.subtle.digest=="function"}async hash(r){let e=new TextEncoder().encode(r);return await this.hashBinary(e)}async hashBinary(r){let t=window,e=r instanceof Uint8Array?r.buffer:r,i=await t.msCrypto.subtle.digest("MD5",e);return this.bufferToHex(i)}bufferToHex(r){return Array.from(new Uint8Array(r)).map(t=>t.toString(16).padStart(2,"0")).join("")}update(r){throw new Error("msCrypto does not support streaming updates")}digest(r){throw new Error("msCrypto does not support streaming")}reset(){}};export{n as a};//# sourceMappingURL=chunk-VFOAY6XI.js.map
2
- //# sourceMappingURL=chunk-VFOAY6XI.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/adapters/ie11.ts"],"names":["IE11Backend","win","data","buffer","hashBuffer","b","_data","_encoding"],"mappings":"AAWO,IAAMA,CAAAA,CAAN,KAAwC,CAAxC,WAAA,EAAA,CACL,IAAA,CAAA,IAAA,CAAe,MAAA,CACf,IAAA,CAAA,OAAA,CAAkB,QAAA,CAElB,OAAO,WAAA,EAAuB,CAC5B,GAAI,OAAO,MAAA,CAAW,GAAA,CACpB,OAAO,MAAA,CAET,IAAMC,CAAAA,CAAM,MAAA,CACZ,OAAO,OAAOA,CAAAA,CAAI,QAAA,CAAa,GAAA,EAC7B,OAAOA,CAAAA,CAAI,QAAA,CAAS,OAAW,GAAA,EAC/B,OAAOA,CAAAA,CAAI,QAAA,CAAS,MAAA,CAAO,MAAA,EAAW,UAC1C,CAEA,MAAM,IAAA,CAAKC,CAAAA,CAA+B,CAExC,IAAMC,CAAAA,CADU,IAAI,WAAA,GACG,MAAA,CAAOD,CAAI,CAAA,CAClC,OAAO,MAAM,IAAA,CAAK,UAAA,CAAWC,CAAM,CACrC,CAEA,MAAM,UAAA,CAAWD,CAAAA,CAAiD,CAChE,IAAMD,CAAAA,CAAM,OACNE,CAAAA,CAASD,CAAAA,YAAgB,UAAA,CAAaA,CAAAA,CAAK,MAAA,CAAwBA,CAAAA,CACnEE,CAAAA,CAAa,MAAMH,CAAAA,CAAI,QAAA,CAAU,MAAA,CAAO,MAAA,CAAO,KAAA,CAAOE,CAAM,CAAA,CAClE,OAAO,IAAA,CAAK,WAAA,CAAYC,CAAU,CACpC,CAEQ,WAAA,CAAYD,CAAAA,CAA6B,CAC/C,OAAO,KAAA,CAAM,IAAA,CAAK,IAAI,UAAA,CAAWA,CAAM,CAAC,CAAA,CACrC,IAAKE,CAAAA,EAAMA,CAAAA,CAAE,QAAA,CAAS,EAAE,CAAA,CAAE,QAAA,CAAS,CAAA,CAAG,GAAG,CAAC,CAAA,CAC1C,IAAA,CAAK,EAAE,CACZ,CAEA,MAAA,CAAOC,CAAAA,CAAgE,CACrE,MAAM,IAAI,KAAA,CAAM,6CAA6C,CAC/D,CAEA,MAAA,CAAOC,CAAAA,CAAkF,CACvF,MAAM,IAAI,KAAA,CAAM,qCAAqC,CACvD,CAEA,KAAA,EAA8B,CAE9B,CACF","file":"chunk-VFOAY6XI.js","sourcesContent":["/**\n * IE11 msCrypto Backend\n * Uses Internet Explorer 11 msCrypto API for MD5 hashing\n */\n\nimport { MD5Backend } from \"./types.js\";\n\ninterface WinWithMsCrypto extends Window {\n msCrypto?: Crypto;\n}\n\nexport class IE11Backend implements MD5Backend {\n name: string = \"ie11\";\n version: string = \"1.0.0\";\n\n static isAvailable(): boolean {\n if (typeof window === \"undefined\") {\n return false;\n }\n const win = window as WinWithMsCrypto;\n return typeof win.msCrypto !== \"undefined\" &&\n typeof win.msCrypto.subtle !== \"undefined\" &&\n typeof win.msCrypto.subtle.digest === \"function\";\n }\n\n async hash(data: string): Promise<string> {\n const encoder = new TextEncoder();\n const buffer = encoder.encode(data);\n return await this.hashBinary(buffer);\n }\n\n async hashBinary(data: ArrayBuffer | Uint8Array): Promise<string> {\n const win = window as WinWithMsCrypto;\n const buffer = data instanceof Uint8Array ? data.buffer as ArrayBuffer : data;\n const hashBuffer = await win.msCrypto!.subtle.digest(\"MD5\", buffer);\n return this.bufferToHex(hashBuffer);\n }\n\n private bufferToHex(buffer: ArrayBuffer): string {\n return Array.from(new Uint8Array(buffer))\n .map((b) => b.toString(16).padStart(2, \"0\"))\n .join(\"\");\n }\n\n update(_data: string | ArrayBuffer | Uint8Array): void | Promise<void> {\n throw new Error(\"msCrypto does not support streaming updates\");\n }\n\n digest(_encoding?: \"hex\" | \"buffer\"): string | Uint8Array | Promise<string | Uint8Array> {\n throw new Error(\"msCrypto does not support streaming\");\n }\n\n reset(): void | Promise<void> {\n // No state to reset\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import {b,c as c$1,a}from'./chunk-R4JB5MBR.js';var y=[1732584193,-271733879,-1732584194,271733878],c=class n{constructor(t,e={}){this.result=null;this.resultResolver=null;this.consumed=false;this.bufferCapacity=64;this.buffer=new Uint8Array(this.bufferCapacity);this.sourceStream=t,this.state={state:[...y],bytesProcessed:0,bufferLength:0,buffer:this.buffer},this.add32=e.add32||b,this.resultPromise=new Promise(s=>{this.resultResolver=s;});}getReader(){if(this.consumed)throw new Error("Cannot get reader from MD5ReadableStream: stream has already been consumed");this.consumed=true;let{readable:t,writable:e}=new TransformStream({transform:async(s,a)=>{await this.processChunk(s),a.enqueue(s);},flush:async s=>{this.finalize(),this.resultResolver&&this.resultResolver(this.result);}});return this.sourceStream.pipeTo(e).catch(s=>{console.error("Error piping stream:",s),this.resultResolver&&this.resultResolver({digest:"",bytesProcessed:this.state.bytesProcessed});}),t.getReader()}async processChunk(t){let e;t instanceof Blob?e=new Uint8Array(await t.arrayBuffer()):t instanceof ArrayBuffer?e=new Uint8Array(t):e=t;let s=e.length;if(s===0)return;if(this.state.bufferLength>0){let r=this.state.bufferLength,u=64-r,o=Math.min(s,u);for(let h=0;h<o;h++)this.buffer[r+h]=e[h];if(this.state.bufferLength+=o,this.state.bufferLength===64&&this._processBufferBlock(),o===s)return;let l=s-o,f=new Uint8Array(l);for(let h=0;h<l;h++)f[h]=e[o+h];e=f;}let a=Math.floor(e.length/64);for(let r=0;r<a;r++){let u=r*64,o=[];for(let l=0;l<16;l++){let f=u+l*4;o[l]=e[f]+(e[f+1]<<8)+(e[f+2]<<16)+(e[f+3]<<24);}c$1(this.state.state,o,this.add32),this.state.bytesProcessed+=64;}let i=e.length%64;if(i>0){this.buffer.length<i&&(this.buffer=new Uint8Array(i),this.state.buffer=this.buffer);for(let r=0;r<i;r++)this.buffer[r]=e[a+r];this.state.bufferLength=i;}}_processBufferBlock(){let t=this.state.buffer,e=[];for(let s=0;s<16;s++){let a=s*4;e[s]=t[a]+(t[a+1]<<8)+(t[a+2]<<16)+(t[a+3]<<24);}c$1(this.state.state,e,this.add32),this.state.bytesProcessed+=64,this.state.bufferLength=0;}finalize(){let{state:t,bufferLength:e,buffer:s}=this.state,a$1=new Array(16).fill(0);for(let r=0;r<e;r++)a$1[r>>2]|=(s[r]&255)<<(r%4<<3);if(a$1[e>>2]|=128<<(e%4<<3),e>55){c$1(t,a$1,this.add32);for(let r=0;r<16;r++)a$1[r]=0;}a$1[14]=(this.state.bytesProcessed+e)*8,a$1[15]=0,c$1(t,a$1,this.add32);let i=a(t);this.result={digest:i,bytesProcessed:this.state.bytesProcessed+e};}getResult(){return this.resultPromise}getCurrentState(){return {state:[...this.state.state],bytesProcessed:this.state.bytesProcessed+this.state.bufferLength}}getBytesProcessed(){return this.state.bytesProcessed+this.state.bufferLength}static hash(t,e){let s=new n(t,e),a=s.getReader();return new Promise((i,r)=>{let u=0;a.read().then(function o({done:l,value:f}){if(l){i(s.getResult());return}u+=f.length,a.read().then(o);}).catch(r);})}static hashFile(t,e){let s=t.stream();return n.hash(s,e)}static hashBlob(t,e){return new Promise((s,a)=>{let i=new FileReader;i.onload=r=>{try{let u=r.target?.result,o=new ReadableStream({start(l){l.enqueue(new Uint8Array(u)),l.close();}});s(n.hash(o,e));}catch(u){a(u);}},i.onerror=()=>a(i.error),i.readAsArrayBuffer(t);})}};function D(n,t){return new c(n,t)}async function M(n,t){let e=n.getReader(),s=new c(n,t),a=0;for(;;){let{done:i,value:r}=await e.read();if(i)break;r&&(a+=r.length);}return s.getResult()}async function P(n,t){return c.hashFile(n,t)}async function S(n,t){return c.hashBlob(n,t)}async function w(n,t){let e=n.getReader(),s=new c(n,t),a=0;for(;;){let{done:i,value:r}=await e.read();if(i)break;r&&(a+=r.length);}return s.getResult()}export{c as a,D as b,M as c,P as d,S as e,w as f};//# sourceMappingURL=chunk-XB5BQIEX.js.map
2
- //# sourceMappingURL=chunk-XB5BQIEX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/stream/whatwg-stream.ts"],"names":["initialMD5State","MD5ReadableStream","_MD5ReadableStream","source","options","add32_default","resolve","readable","writable","chunk","controller","_controller","error","data","dataLength","currentBufferLength","neededBytes","bytesToCopy","i","remainingData","newData","fullBlocks","blockStart","block","j","idx","md5cycle_default","remaining","buffer","state","bufferLength","tail","digest","hex_default","stream","reader","reject","bytesProcessed","process","done","value","file","blob","event","arrayBuffer","createMD5ReadableStream","hashReadableStream","hashStream","totalBytes","hashFile","hashBlob","consumeWithMD5"],"mappings":"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","file":"chunk-XB5BQIEX.js","sourcesContent":["/**\n * WHATWG Streams support for browser environments\n * Provides streaming MD5 hashing for ReadableStream, File, and Blob objects\n */\n\nimport md5cycle from '../md5cycle';\nimport hex from '../hex';\nimport add32 from '../add32';\n\n/**\n * Result type for MD5 computation\n */\nexport interface MD5Result {\n /**\n * MD5 hash as hex string\n */\n digest: string;\n /**\n * Number of bytes processed\n */\n bytesProcessed: number;\n}\n\n/**\n * Interface for WHATWG Streams MD5 options\n */\nexport interface MD5ReadableStreamOptions {\n /**\n * Custom add32 function for compatibility testing\n */\n add32?: (x: number, y: number) => number;\n}\n\n/**\n * Internal state interface for MD5 computation\n */\nexport interface MD5State {\n state: number[];\n bytesProcessed: number;\n bufferLength: number;\n buffer: Uint8Array;\n}\n\n/**\n * Internal state values\n */\nconst initialMD5State = [1732584193, -271733879, -1732584194, 271733878];\n\n/**\n * MD5ReadableStream - Wrapper for computing MD5 hashes while reading from a ReadableStream\n * \n * This class wraps a ReadableStream and computes MD5 hash while reading data.\n * It follows the ReadableStream API pattern for browser environments.\n */\nexport class MD5ReadableStream {\n private sourceStream: ReadableStream;\n private state: MD5State;\n private add32: (x: number, y: number) => number;\n private result: MD5Result | null = null;\n private resultResolver: ((result: MD5Result) => void) | null = null;\n private resultPromise: Promise<MD5Result>;\n private consumed: boolean = false;\n private readonly bufferCapacity: number = 64;\n private buffer: Uint8Array = new Uint8Array(this.bufferCapacity);\n\n /**\n * Create new MD5ReadableStream instance\n * @param source - Source ReadableStream to hash\n * @param options - Stream options\n */\n constructor(\n source: ReadableStream,\n options: MD5ReadableStreamOptions = {}\n ) {\n this.sourceStream = source;\n \n this.state = {\n state: [...initialMD5State],\n bytesProcessed: 0,\n bufferLength: 0,\n buffer: this.buffer\n };\n \n this.add32 = options.add32 || add32;\n\n // Create promise for result\n this.resultPromise = new Promise<MD5Result>((resolve) => {\n this.resultResolver = resolve;\n });\n }\n\n /**\n * Get a reader for this stream\n * @returns ReadableStreamDefaultReader\n */\n getReader(): ReadableStreamDefaultReader<Uint8Array> {\n if (this.consumed) {\n throw new Error('Cannot get reader from MD5ReadableStream: stream has already been consumed');\n }\n this.consumed = true;\n \n // Create a new stream that processes data and computes MD5\n const { readable, writable } = new TransformStream({\n transform: async (chunk, controller) => {\n await this.processChunk(chunk);\n controller.enqueue(chunk);\n },\n flush: async (_controller) => {\n this.finalize();\n if (this.resultResolver) {\n this.resultResolver(this.result!);\n }\n }\n });\n \n // Pipe source stream to our transform stream\n this.sourceStream.pipeTo(writable).catch((error) => {\n console.error('Error piping stream:', error);\n if (this.resultResolver) {\n this.resultResolver({\n digest: '',\n bytesProcessed: this.state.bytesProcessed\n });\n }\n });\n \n return readable.getReader();\n }\n\n /**\n * Process a data chunk and update MD5 state\n * @param chunk - Data chunk (ArrayBuffer or Uint8Array)\n */\n private async processChunk(\n chunk: ArrayBuffer | Uint8Array | Blob\n ): Promise<void> {\n let data: Uint8Array;\n\n // Convert Blob to ArrayBuffer if needed\n if (chunk instanceof Blob) {\n data = new Uint8Array(await chunk.arrayBuffer());\n } else if (chunk instanceof ArrayBuffer) {\n data = new Uint8Array(chunk);\n } else {\n data = chunk;\n }\n\n // Process the data\n const dataLength = data.length;\n \n if (dataLength === 0) {\n return;\n }\n\n // Combine with remaining buffer if needed\n if (this.state.bufferLength > 0) {\n const currentBufferLength = this.state.bufferLength;\n const neededBytes = 64 - currentBufferLength;\n const bytesToCopy = Math.min(dataLength, neededBytes);\n \n // Copy data to buffer\n for (let i = 0; i < bytesToCopy; i++) {\n this.buffer[currentBufferLength + i] = data[i];\n }\n \n this.state.bufferLength += bytesToCopy;\n \n // If buffer is full, process it\n if (this.state.bufferLength === 64) {\n this._processBufferBlock();\n }\n \n // If we used all data, we're done\n if (bytesToCopy === dataLength) {\n return;\n }\n \n // Move to next position in original data\n // Shift remaining data to beginning of buffer\n const remainingData = dataLength - bytesToCopy;\n const newData = new Uint8Array(remainingData);\n for (let i = 0; i < remainingData; i++) {\n newData[i] = data[bytesToCopy + i];\n }\n data = newData;\n }\n \n // Process full 64-byte blocks directly from data\n const fullBlocks = Math.floor(data.length / 64);\n \n for (let i = 0; i < fullBlocks; i++) {\n const blockStart = i * 64;\n const block: number[] = [];\n \n for (let j = 0; j < 16; j++) {\n const idx = blockStart + j * 4;\n block[j] = \n data[idx] +\n (data[idx + 1] << 8) +\n (data[idx + 2] << 16) +\n (data[idx + 3] << 24);\n }\n \n md5cycle(this.state.state, block, this.add32);\n this.state.bytesProcessed += 64;\n }\n \n // Store remaining bytes in buffer\n const remaining = data.length % 64;\n if (remaining > 0) {\n // Ensure buffer is large enough\n if (this.buffer.length < remaining) {\n this.buffer = new Uint8Array(remaining);\n this.state.buffer = this.buffer;\n }\n \n // Copy remaining bytes to buffer\n for (let i = 0; i < remaining; i++) {\n this.buffer[i] = data[fullBlocks + i];\n }\n this.state.bufferLength = remaining;\n }\n }\n\n /**\n * Process the current buffer as a complete block\n */\n private _processBufferBlock(): void {\n const buffer = this.state.buffer;\n const block: number[] = [];\n \n for (let j = 0; j < 16; j++) {\n const idx = j * 4;\n block[j] = \n buffer[idx] +\n (buffer[idx + 1] << 8) +\n (buffer[idx + 2] << 16) +\n (buffer[idx + 3] << 24);\n }\n \n md5cycle(this.state.state, block, this.add32);\n this.state.bytesProcessed += 64;\n this.state.bufferLength = 0;\n }\n\n /**\n * Finalize MD5 computation\n */\n private finalize(): void {\n const { state, bufferLength, buffer } = this.state;\n \n // Final padding\n const tail: number[] = new Array(16).fill(0);\n \n // Copy remaining buffer\n for (let i = 0; i < bufferLength; i++) {\n tail[i >> 2] |= (buffer[i] & 0xff) << ((i % 4) << 3);\n }\n \n // Append 0x80\n tail[bufferLength >> 2] |= 0x80 << ((bufferLength % 4) << 3);\n \n // If not enough space for length, process current block\n if (bufferLength > 55) {\n md5cycle(state, tail, this.add32);\n for (let i = 0; i < 16; i++) {\n tail[i] = 0;\n }\n }\n \n // Append length (in bits) - include remaining bytes\n tail[14] = (this.state.bytesProcessed + bufferLength) * 8;\n tail[15] = 0; // High 32 bits of length (not used for typical files)\n \n // Final MD5 cycle\n md5cycle(state, tail, this.add32);\n \n // Generate hex digest\n const digest = hex(state);\n \n // Store result\n this.result = {\n digest,\n bytesProcessed: this.state.bytesProcessed + bufferLength\n };\n }\n\n /**\n * Get the MD5 result promise\n * @returns Promise with MD5 result\n */\n public getResult(): Promise<MD5Result> {\n return this.resultPromise;\n }\n\n /**\n * Get current MD5 state (for debugging/testing)\n * @returns Current internal state\n */\n public getCurrentState(): { state: number[]; bytesProcessed: number } {\n return {\n state: [...this.state.state],\n bytesProcessed: this.state.bytesProcessed + this.state.bufferLength\n };\n }\n\n /**\n * Get bytes processed so far\n * @returns Number of bytes processed\n */\n public getBytesProcessed(): number {\n return this.state.bytesProcessed + this.state.bufferLength;\n }\n\n /**\n * Static method to hash a ReadableStream and return MD5 result\n * @param source - Source ReadableStream to hash\n * @param options - Stream options\n * @returns Promise with MD5 result\n */\n static hash(source: ReadableStream, options?: MD5ReadableStreamOptions): Promise<MD5Result> {\n const stream = new MD5ReadableStream(source, options);\n \n // Consume the stream by reading from it\n const reader = stream.getReader();\n \n return new Promise<MD5Result>((resolve, reject) => {\n let bytesProcessed = 0;\n \n reader.read().then(function process({ done, value }: any): void {\n if (done) {\n resolve(stream.getResult());\n return;\n }\n \n bytesProcessed += value.length;\n reader.read().then(process);\n }).catch(reject);\n });\n }\n\n /**\n * Static method to hash a File object\n * @param file - File object to hash\n * @param options - Stream options\n * @returns Promise with MD5 result\n */\n static hashFile(\n file: File,\n options?: MD5ReadableStreamOptions\n ): Promise<MD5Result> {\n // File is already a Blob, so we can use its stream\n const stream = file.stream();\n return MD5ReadableStream.hash(stream, options);\n }\n\n /**\n * Static method to hash a Blob object\n * @param blob - Blob object to hash\n * @param options - Stream options\n * @returns Promise with MD5 result\n */\n static hashBlob(\n blob: Blob,\n options?: MD5ReadableStreamOptions\n ): Promise<MD5Result> {\n // Convert blob to arrayBuffer and process\n return new Promise<MD5Result>((resolve, reject) => {\n const reader = new FileReader();\n \n reader.onload = (event) => {\n try {\n const arrayBuffer = event.target?.result as ArrayBuffer;\n const stream = new ReadableStream({\n start(controller) {\n controller.enqueue(new Uint8Array(arrayBuffer));\n controller.close();\n }\n });\n resolve(MD5ReadableStream.hash(stream, options));\n } catch (error) {\n reject(error);\n }\n };\n \n reader.onerror = () => reject(reader.error);\n reader.readAsArrayBuffer(blob);\n });\n }\n}\n\n/**\n * Factory function to create MD5ReadableStream instance\n * @param source - Source ReadableStream to hash\n * @param options - Stream options\n * @returns New MD5ReadableStream instance\n */\nexport function createMD5ReadableStream(\n source: ReadableStream,\n options?: MD5ReadableStreamOptions\n): MD5ReadableStream {\n return new MD5ReadableStream(source, options);\n}\n\n/**\n * Hash a ReadableStream and return MD5 result\n * @param stream - ReadableStream to hash\n * @param options - Stream options\n * @returns Promise with MD5 result (digest and bytes processed)\n * \n * @example\n * ```ts\n * import { hashReadableStream } from 'pure-md5';\n * \n * const response = await fetch('https://example.com/file.txt');\n * const result = await hashReadableStream(response.body!);\n * console.log('MD5:', result.digest);\n * console.log('Bytes:', result.bytesProcessed);\n * ```\n */\nexport async function hashReadableStream(\n stream: ReadableStream,\n options?: MD5ReadableStreamOptions\n): Promise<MD5Result> {\n const reader = stream.getReader();\n const hashStream = new MD5ReadableStream(stream, options);\n \n // Consume the stream\n let totalBytes = 0;\n while (true) {\n const { done, value } = await reader.read();\n \n if (done) {\n break;\n }\n \n if (value) {\n totalBytes += value.length;\n }\n }\n \n return hashStream.getResult();\n}\n\n/**\n * Hash a File object and return MD5 result\n * @param file - File object to hash\n * @param options - Stream options\n * @returns Promise with MD5 result\n * \n * @example\n * ```ts\n * import { hashFile } from 'pure-md5';\n * \n * const input = document.querySelector('input[type=\"file\"]');\n * input.addEventListener('change', async (e) => {\n * const file = (e.target as HTMLInputElement).files![0];\n * const result = await hashFile(file);\n * console.log('MD5:', result.digest);\n * });\n * ```\n */\nexport async function hashFile(\n file: File,\n options?: MD5ReadableStreamOptions\n): Promise<MD5Result> {\n return MD5ReadableStream.hashFile(file, options);\n}\n\n/**\n * Hash a Blob object and return MD5 result\n * @param blob - Blob object to hash\n * @param options - Stream options\n * @returns Promise with MD5 result\n * \n * @example\n * ```ts\n * import { hashBlob } from 'pure-md5';\n * \n * const canvas = document.querySelector('canvas');\n * canvas.toBlob(async (blob) => {\n * const result = await hashBlob(blob!);\n * console.log('MD5:', result.digest);\n * });\n * ```\n */\nexport async function hashBlob(\n blob: Blob,\n options?: MD5ReadableStreamOptions\n): Promise<MD5Result> {\n return MD5ReadableStream.hashBlob(blob, options);\n}\n\n/**\n * Consume a ReadableStream while computing MD5\n * @param source - Source ReadableStream to consume and hash\n * @param options - Stream options\n * @returns Promise with MD5 result\n */\nexport async function consumeWithMD5(\n source: ReadableStream,\n options?: MD5ReadableStreamOptions\n): Promise<MD5Result> {\n const reader = source.getReader();\n const hashStream = new MD5ReadableStream(source, options);\n \n // Consume the stream\n let totalBytes = 0;\n while (true) {\n const { done, value } = await reader.read();\n \n if (done) {\n break;\n }\n \n if (value) {\n totalBytes += value.length;\n }\n }\n \n return hashStream.getResult();\n}\n"]}
@@ -1,2 +0,0 @@
1
- 'use strict';var B="0123456789abcdef".split(""),s=B;function j(m){let t="";for(let o=0;o<4;o++)t+=s[m>>o*8+4&15]+s[m>>o*8&15];return t}function v(m){let t=m.length,o=new Array(t);for(let r=0;r<t;r++)o[r]=j(m[r]);return o.join("")}var h=v;function w(m,t){return m+t&4294967295}var f=w;function _(m,t,o,r,n){let e=n||f;return t=e(e(t,m),e(o,r)),t}function q(m,t,o,r){var e=(r||f)(m<<t|m>>>32-t,o);return e}function p(m,t,o,r,n,e,u){return t=_(m,t,r,e,u),q(t,n,o,u)}function g(m,t,o,r,n,e,u,i){return p(o&r|~o&n,t,o,e,u,i,m)}function a(m,t,o,r,n,e,u,i){return p(o&n|r&~n,t,o,e,u,i,m)}function A(m,t,o,r,n,e,u,i){return p(o^r^n,t,o,e,u,i,m)}function x(m,t,o,r,n,e,u,i){return p(r^(o|~n),t,o,e,u,i,m)}function z(m,t,o){typeof o>"u"&&(o=f);let r=m[0],n=m[1],e=m[2],u=m[3],i=g.bind(null,o);r=i(r,n,e,u,t[0],7,-680876936),u=i(u,r,n,e,t[1],12,-389564586),e=i(e,u,r,n,t[2],17,606105819),n=i(n,e,u,r,t[3],22,-1044525330),r=i(r,n,e,u,t[4],7,-176418897),u=i(u,r,n,e,t[5],12,1200080426),e=i(e,u,r,n,t[6],17,-1473231341),n=i(n,e,u,r,t[7],22,-45705983),r=i(r,n,e,u,t[8],7,1770035416),u=i(u,r,n,e,t[9],12,-1958414417),e=i(e,u,r,n,t[10],17,-42063),n=i(n,e,u,r,t[11],22,-1990404162),r=i(r,n,e,u,t[12],7,1804603682),u=i(u,r,n,e,t[13],12,-40341101),e=i(e,u,r,n,t[14],17,-1502002290),n=i(n,e,u,r,t[15],22,1236535329);let b=a.bind(null,o);r=b(r,n,e,u,t[1],5,-165796510),u=b(u,r,n,e,t[6],9,-1069501632),e=b(e,u,r,n,t[11],14,643717713),n=b(n,e,u,r,t[0],20,-373897302),r=b(r,n,e,u,t[5],5,-701558691),u=b(u,r,n,e,t[10],9,38016083),e=b(e,u,r,n,t[15],14,-660478335),n=b(n,e,u,r,t[4],20,-405537848),r=b(r,n,e,u,t[9],5,568446438),u=b(u,r,n,e,t[14],9,-1019803690),e=b(e,u,r,n,t[3],14,-187363961),n=b(n,e,u,r,t[8],20,1163531501),r=b(r,n,e,u,t[13],5,-1444681467),u=b(u,r,n,e,t[2],9,-51403784),e=b(e,u,r,n,t[7],14,1735328473),n=b(n,e,u,r,t[12],20,-1926607734);let c=A.bind(null,o);r=c(r,n,e,u,t[5],4,-378558),u=c(u,r,n,e,t[8],11,-2022574463),e=c(e,u,r,n,t[11],16,1839030562),n=c(n,e,u,r,t[14],23,-35309556),r=c(r,n,e,u,t[1],4,-1530992060),u=c(u,r,n,e,t[4],11,1272893353),e=c(e,u,r,n,t[7],16,-155497632),n=c(n,e,u,r,t[10],23,-1094730640),r=c(r,n,e,u,t[13],4,681279174),u=c(u,r,n,e,t[0],11,-358537222),e=c(e,u,r,n,t[3],16,-722521979),n=c(n,e,u,r,t[6],23,76029189),r=c(r,n,e,u,t[9],4,-640364487),u=c(u,r,n,e,t[12],11,-421815835),e=c(e,u,r,n,t[15],16,530742520),n=c(n,e,u,r,t[2],23,-995338651);let d=x.bind(null,o);r=d(r,n,e,u,t[0],6,-198630844),u=d(u,r,n,e,t[7],10,1126891415),e=d(e,u,r,n,t[14],15,-1416354905),n=d(n,e,u,r,t[5],21,-57434055),r=d(r,n,e,u,t[12],6,1700485571),u=d(u,r,n,e,t[3],10,-1894986606),e=d(e,u,r,n,t[10],15,-1051523),n=d(n,e,u,r,t[1],21,-2054922799),r=d(r,n,e,u,t[8],6,1873313359),u=d(u,r,n,e,t[15],10,-30611744),e=d(e,u,r,n,t[6],15,-1560198380),n=d(n,e,u,r,t[13],21,1309151649),r=d(r,n,e,u,t[4],6,-145523070),u=d(u,r,n,e,t[11],10,-1120210379),e=d(e,u,r,n,t[2],15,718787259),n=d(n,e,u,r,t[9],21,-343485551),m[0]=o(r,m[0]),m[1]=o(n,m[1]),m[2]=o(e,m[2]),m[3]=o(u,m[3]);}var l=z;function D(m){let t=[];for(let o=0;o<64;o+=4)t[o>>2]=(m.charCodeAt(o)||0)+((m.charCodeAt(o+1)||0)<<8)+((m.charCodeAt(o+2)||0)<<16)+((m.charCodeAt(o+3)||0)<<24);return t}var y=D;function E(m,t){let o=m.length,r=[1732584193,-271733879,-1732584194,271733878],n;for(n=64;n<=o;n+=64)l(r,y(m.substring(n-64,n)),t);m=m.substring(n-64);var e=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],u=m.length;for(n=0;n<u;n++)e[n>>2]|=(m.charCodeAt(n)&255)<<(n%4<<3);if(e[n>>2]|=128<<(n%4<<3),n>55)for(l(r,e,t),n=16;n--;)e[n]=0;return e[14]=o*8,l(r,e,t),r}var F=E;function G(m,t){let o=m.length,r=[1732584193,-271733879,-1732584194,271733878],n;for(n=64;n<=o;n+=64){let i=H(m,n-64);l(r,i,t);}let e=o-n+64,u=new Array(16).fill(0);for(let i=0;i<e;i++)u[i>>2]|=(m[o-e+i]&255)<<(i%4<<3);if(u[e>>2]|=128<<(e%4<<3),e>55){l(r,u,t);for(let i=0;i<16;i++)u[i]=0;}return u[14]=o*8,u[15]=0,l(r,u,t),r}function H(m,t){let o=[];for(let r=0;r<64;r+=4)o[r>>2]=(m[t+r]||0)+((m[t+r+1]||0)<<8)+((m[t+r+2]||0)<<16)+((m[t+r+3]||0)<<24);return o}var C=G;function k(m){return h(F(m,f))}function nn(m){return h(C(m,f))}exports.md5=k;exports.md5Buffer=nn;exports.md5Core=k;//# sourceMappingURL=index.cjs.map
2
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/hex_chr.ts","../../src/hex.ts","../../src/add32.ts","../../src/round-functions.ts","../../src/md5cycle.ts","../../src/md5blk.ts","../../src/md51.ts","../../src/md5buf.ts","../../src/core/index.ts"],"names":["hex_chr","hex_chr_default","rhex","n","s","j","hex","x","l","result","i","hex_default","add32","y","add32_default","cmn1","q","a","t","fn","add","cmn2","b","cmn","ff","c","d","gg","hh","ii","md5cycle","k","fff","ggg","hhh","iii","md5cycle_default","md5blk","md5blks","md5blk_default","md51","state","tail","sl","md51_default","md5buf","buffer","length","block","md5blkBuf","remaining","offset","md5buf_default","md5Core","string","md5Buffer"],"mappings":"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","file":"index.cjs","sourcesContent":["const hex_chr: string[] = \"0123456789abcdef\".split(\"\");\n\nexport default hex_chr;\n","import hex_chr from './hex_chr';\n\nfunction rhex(n: number): string {\n let s = '';\n for (let j = 0; j < 4; j++)\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0f] + hex_chr[(n >> (j * 8)) & 0x0f];\n return s;\n}\n\nfunction hex(x: number[]): string {\n const l = x.length;\n const result: string[] = new Array(l);\n for (let i = 0; i < l; i++) result[i] = rhex(x[i]);\n return result.join('');\n}\n\nexport default hex;\n","function add32(x: number, y: number): number {\n //let lsw = (x & 0xffff) + (y & 0xffff);\n //let msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n //return (msw << 16) | (lsw & 0xffff);\n return (x + y) & 0xffffffff;\n}\n\nexport default add32;\n","import add32 from './add32';\n\ntype Add32Function = (x: number, y: number) => number;\n\nfunction cmn1(q: number, a: number, x: number, t: number, fn?: Add32Function) {\n const add = fn || add32;\n a = add(add(a, q), add(x, t));\n return a;\n}\n\nfunction cmn2(a: number, s: number, b: number, fn?: Add32Function) {\n const add = fn || add32;\n var result = add((a << s) | (a >>> (32 - s)), b);\n return result;\n}\n\nfunction cmn(\n q: number,\n a: number,\n b: number,\n x: number,\n s: number,\n t: number,\n fn?: Add32Function\n) {\n a = cmn1(q, a, x, t, fn);\n return cmn2(a, s, b, fn);\n}\n\nexport function ff(\n fn: Add32Function,\n a: number,\n b: number,\n c: number,\n d: number,\n x: number,\n s: number,\n t: number\n): number {\n return cmn((b & c) | (~b & d), a, b, x, s, t, fn);\n}\n\nexport function gg(\n fn: Add32Function,\n a: number,\n b: number,\n c: number,\n d: number,\n x: number,\n s: number,\n t: number\n): number {\n return cmn((b & d) | (c & ~d), a, b, x, s, t, fn);\n}\n\nexport function hh(\n fn: Add32Function,\n a: number,\n b: number,\n c: number,\n d: number,\n x: number,\n s: number,\n t: number\n): number {\n return cmn(b ^ c ^ d, a, b, x, s, t, fn);\n}\n\nexport function ii(\n fn: Add32Function,\n a: number,\n b: number,\n c: number,\n d: number,\n x: number,\n s: number,\n t: number\n): number {\n return cmn(c ^ (b | ~d), a, b, x, s, t, fn);\n}\n","import add32 from './add32';\nimport { ff, gg, hh, ii } from './round-functions';\n\ntype Add32Function = (x: number, y: number) => number;\n\nfunction md5cycle(x: number[], k: number[], fn?: Add32Function): void {\n if (typeof fn === 'undefined') {\n fn = add32;\n }\n let a = x[0];\n let b = x[1];\n let c = x[2];\n let d = x[3];\n\n const fff = ff.bind(null, fn);\n a = fff(a, b, c, d, k[0], 7, -680876936);\n d = fff(d, a, b, c, k[1], 12, -389564586);\n c = fff(c, d, a, b, k[2], 17, 606105819);\n b = fff(b, c, d, a, k[3], 22, -1044525330);\n a = fff(a, b, c, d, k[4], 7, -176418897);\n d = fff(d, a, b, c, k[5], 12, 1200080426);\n c = fff(c, d, a, b, k[6], 17, -1473231341);\n b = fff(b, c, d, a, k[7], 22, -45705983);\n a = fff(a, b, c, d, k[8], 7, 1770035416);\n d = fff(d, a, b, c, k[9], 12, -1958414417);\n c = fff(c, d, a, b, k[10], 17, -42063);\n b = fff(b, c, d, a, k[11], 22, -1990404162);\n a = fff(a, b, c, d, k[12], 7, 1804603682);\n d = fff(d, a, b, c, k[13], 12, -40341101);\n c = fff(c, d, a, b, k[14], 17, -1502002290);\n b = fff(b, c, d, a, k[15], 22, 1236535329);\n\n const ggg = gg.bind(null, fn);\n a = ggg(a, b, c, d, k[1], 5, -165796510);\n d = ggg(d, a, b, c, k[6], 9, -1069501632);\n c = ggg(c, d, a, b, k[11], 14, 643717713);\n b = ggg(b, c, d, a, k[0], 20, -373897302);\n a = ggg(a, b, c, d, k[5], 5, -701558691);\n d = ggg(d, a, b, c, k[10], 9, 38016083);\n c = ggg(c, d, a, b, k[15], 14, -660478335);\n b = ggg(b, c, d, a, k[4], 20, -405537848);\n a = ggg(a, b, c, d, k[9], 5, 568446438);\n d = ggg(d, a, b, c, k[14], 9, -1019803690);\n c = ggg(c, d, a, b, k[3], 14, -187363961);\n b = ggg(b, c, d, a, k[8], 20, 1163531501);\n a = ggg(a, b, c, d, k[13], 5, -1444681467);\n d = ggg(d, a, b, c, k[2], 9, -51403784);\n c = ggg(c, d, a, b, k[7], 14, 1735328473);\n b = ggg(b, c, d, a, k[12], 20, -1926607734);\n\n const hhh = hh.bind(null, fn);\n a = hhh(a, b, c, d, k[5], 4, -378558);\n d = hhh(d, a, b, c, k[8], 11, -2022574463);\n c = hhh(c, d, a, b, k[11], 16, 1839030562);\n b = hhh(b, c, d, a, k[14], 23, -35309556);\n a = hhh(a, b, c, d, k[1], 4, -1530992060);\n d = hhh(d, a, b, c, k[4], 11, 1272893353);\n c = hhh(c, d, a, b, k[7], 16, -155497632);\n b = hhh(b, c, d, a, k[10], 23, -1094730640);\n a = hhh(a, b, c, d, k[13], 4, 681279174);\n d = hhh(d, a, b, c, k[0], 11, -358537222);\n c = hhh(c, d, a, b, k[3], 16, -722521979);\n b = hhh(b, c, d, a, k[6], 23, 76029189);\n a = hhh(a, b, c, d, k[9], 4, -640364487);\n d = hhh(d, a, b, c, k[12], 11, -421815835);\n c = hhh(c, d, a, b, k[15], 16, 530742520);\n b = hhh(b, c, d, a, k[2], 23, -995338651);\n\n const iii = ii.bind(null, fn);\n a = iii(a, b, c, d, k[0], 6, -198630844);\n d = iii(d, a, b, c, k[7], 10, 1126891415);\n c = iii(c, d, a, b, k[14], 15, -1416354905);\n b = iii(b, c, d, a, k[5], 21, -57434055);\n a = iii(a, b, c, d, k[12], 6, 1700485571);\n d = iii(d, a, b, c, k[3], 10, -1894986606);\n c = iii(c, d, a, b, k[10], 15, -1051523);\n b = iii(b, c, d, a, k[1], 21, -2054922799);\n a = iii(a, b, c, d, k[8], 6, 1873313359);\n d = iii(d, a, b, c, k[15], 10, -30611744);\n c = iii(c, d, a, b, k[6], 15, -1560198380);\n b = iii(b, c, d, a, k[13], 21, 1309151649);\n a = iii(a, b, c, d, k[4], 6, -145523070);\n d = iii(d, a, b, c, k[11], 10, -1120210379);\n c = iii(c, d, a, b, k[2], 15, 718787259);\n b = iii(b, c, d, a, k[9], 21, -343485551);\n\n x[0] = fn(a, x[0]);\n x[1] = fn(b, x[1]);\n x[2] = fn(c, x[2]);\n x[3] = fn(d, x[3]);\n}\n\nexport default md5cycle;\n","function md5blk(s: string): number[] {\n let md5blks: number[] = [];\n for (let i = 0; i < 64; i += 4) {\n md5blks[i >> 2] =\n (s.charCodeAt(i) || 0) +\n ((s.charCodeAt(i + 1) || 0) << 8) +\n ((s.charCodeAt(i + 2) || 0) << 16) +\n ((s.charCodeAt(i + 3) || 0) << 24);\n }\n return md5blks;\n}\n\nexport default md5blk;\n","import md5cycle from './md5cycle';\nimport md5blk from './md5blk';\n\ntype Add32Function = (x: number, y: number) => number;\n\nfunction md51(s: string, add32?: Add32Function): number[] {\n const n = s.length;\n const state = [1732584193, -271733879, -1732584194, 271733878];\n let i;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)), add32);\n }\n s = s.substring(i - 64);\n var tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n sl = s.length;\n for (i = 0; i < sl; i++) tail[i >> 2] |= (s.charCodeAt(i) & 0xff) << ((i % 4) << 3);\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail, add32);\n i = 16;\n while (i--) {\n tail[i] = 0;\n }\n }\n tail[14] = n * 8;\n md5cycle(state, tail, add32);\n return state;\n}\n\nexport default md51;\n","import md5cycle from './md5cycle';\n\ntype Add32Function = (x: number, y: number) => number;\n\n/**\n * Compute MD5 hash of a Buffer\n * @param buffer - Input Buffer to hash\n * @param add32 - Optional custom add32 function\n * @returns MD5 hash as array of numbers\n */\nfunction md5buf(buffer: Buffer, add32?: Add32Function): number[] {\n const length = buffer.length;\n const state = [1732584193, -271733879, -1732584194, 271733878];\n \n // Process full 64-byte blocks\n let i;\n for (i = 64; i <= length; i += 64) {\n const block = md5blkBuf(buffer, i - 64);\n md5cycle(state, block, add32);\n }\n \n // Handle remaining bytes\n const remaining = length - i + 64;\n const tail: number[] = new Array(16).fill(0);\n \n // Copy remaining bytes from the end of the buffer\n for (let j = 0; j < remaining; j++) {\n tail[j >> 2] |= (buffer[length - remaining + j] & 0xff) << ((j % 4) << 3);\n }\n \n // Append 0x80\n tail[remaining >> 2] |= 0x80 << ((remaining % 4) << 3);\n \n // If not enough space for length, process current block\n if (remaining > 55) {\n md5cycle(state, tail, add32);\n for (let k = 0; k < 16; k++) {\n tail[k] = 0;\n }\n }\n \n // Append length (in bits)\n tail[14] = length * 8;\n tail[15] = 0; // High 32 bits of length (not used for typical files)\n \n // Final MD5 cycle\n md5cycle(state, tail, add32);\n return state;\n}\n\n/**\n * Convert a 64-byte slice of buffer to MD5 block format\n * @param buffer - Input buffer\n * @param offset - Offset to start from\n * @returns Array of 16 32-bit words\n */\nfunction md5blkBuf(buffer: Buffer, offset: number): number[] {\n const md5blks: number[] = [];\n for (let i = 0; i < 64; i += 4) {\n md5blks[i >> 2] =\n (buffer[offset + i] || 0) +\n ((buffer[offset + i + 1] || 0) << 8) +\n ((buffer[offset + i + 2] || 0) << 16) +\n ((buffer[offset + i + 3] || 0) << 24);\n }\n return md5blks;\n}\n\nexport default md5buf;\n","/**\n * Core MD5 implementation - Pure JavaScript\n * No dependencies, no environment detection\n * This is the minimal, tree-shakeable core\n */\n\nimport hex from '../hex';\nimport md51 from '../md51';\nimport md5buf from '../md5buf';\nimport add32 from '../add32';\n\n/**\n * Compute MD5 hash of a string\n * @param string - Input string to hash\n * @returns MD5 hash as hex string\n */\nexport function md5Core(string: string): string {\n // Use the original implementation\n const fn = add32;\n return hex(md51(string, fn));\n}\n\n/**\n * Compute MD5 hash of a Buffer\n * @param buffer - Input Buffer to hash\n * @returns MD5 hash as hex string\n */\nexport function md5Buffer(buffer: Buffer): string {\n const fn = add32;\n return hex(md5buf(buffer, fn));\n}\n\nexport { md5Core as md5 };\n"]}
@@ -1,19 +0,0 @@
1
- /**
2
- * Core MD5 implementation - Pure JavaScript
3
- * No dependencies, no environment detection
4
- * This is the minimal, tree-shakeable core
5
- */
6
- /**
7
- * Compute MD5 hash of a string
8
- * @param string - Input string to hash
9
- * @returns MD5 hash as hex string
10
- */
11
- declare function md5Core(string: string): string;
12
- /**
13
- * Compute MD5 hash of a Buffer
14
- * @param buffer - Input Buffer to hash
15
- * @returns MD5 hash as hex string
16
- */
17
- declare function md5Buffer(buffer: Buffer): string;
18
-
19
- export { md5Core as md5, md5Buffer, md5Core };
@@ -1,19 +0,0 @@
1
- /**
2
- * Core MD5 implementation - Pure JavaScript
3
- * No dependencies, no environment detection
4
- * This is the minimal, tree-shakeable core
5
- */
6
- /**
7
- * Compute MD5 hash of a string
8
- * @param string - Input string to hash
9
- * @returns MD5 hash as hex string
10
- */
11
- declare function md5Core(string: string): string;
12
- /**
13
- * Compute MD5 hash of a Buffer
14
- * @param buffer - Input Buffer to hash
15
- * @returns MD5 hash as hex string
16
- */
17
- declare function md5Buffer(buffer: Buffer): string;
18
-
19
- export { md5Core as md5, md5Buffer, md5Core };
@@ -1,2 +0,0 @@
1
- export{a as md5,b as md5Buffer,a as md5Core}from'../chunk-NWQ4N5RX.js';import'../chunk-R4JB5MBR.js';import'../chunk-2YXXFGBV.js';//# sourceMappingURL=index.js.map
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}