| 1 | import * as Effect from "../../Effect.ts" |
| 2 | |
| 3 | /** |
| 4 | * @internal |
| 5 | */ |
| 6 | export const makeHashDigest = (original: string) => |
| 7 | Effect.map( |
| 8 | Effect.promise(() => crypto.subtle.digest("SHA-256", new TextEncoder().encode(original))), |
| 9 | (buffer) => { |
| 10 | const data = new Uint8Array(buffer) |
| 11 | let hexString = "" |
| 12 | for (let i = 0; i < 16; i++) { |
| 13 | hexString += data[i].toString(16).padStart(2, "0") |
| 14 | } |
| 15 | return hexString |
| 16 | } |
| 17 | ) |