@hazae41/ripemd160
Version:
RIPEMD-160 adapter for WebAssembly and JS implementations
1 lines • 2.23 kB
Source Map (JSON)
{"version":3,"file":"noble.mjs","sources":["../../../../../src/mods/ripemd160/noble.ts"],"sourcesContent":["import type * as Ripemd160Noble from \"@noble/hashes/ripemd160\"\nimport { BytesOrCopiable, Copied } from \"libs/copiable/index.js\"\nimport { Adapter } from \"./adapter.js\"\n\nexport function fromNoble(noble: typeof Ripemd160Noble) {\n const { ripemd160 } = noble\n\n function getBytes(bytes: BytesOrCopiable) {\n return \"bytes\" in bytes ? bytes.bytes : bytes\n }\n\n class Hasher {\n\n constructor(\n readonly inner: ReturnType<typeof Ripemd160Noble.ripemd160.create>\n ) { }\n\n [Symbol.dispose]() { }\n\n static create(inner: ReturnType<typeof Ripemd160Noble.ripemd160.create>) {\n return new Hasher(inner)\n }\n\n static createOrThrow() {\n return new Hasher(ripemd160.create())\n }\n\n cloneOrThrow() {\n return new Hasher(this.inner.clone())\n }\n\n updateOrThrow(bytes: BytesOrCopiable) {\n this.inner.update(getBytes(bytes))\n\n return this\n }\n\n finalizeOrThrow() {\n return new Copied(this.inner.clone().digest())\n }\n\n }\n\n function hashOrThrow(bytes: BytesOrCopiable) {\n return new Copied(ripemd160(getBytes(bytes)))\n }\n\n return { Hasher, hashOrThrow } satisfies Adapter\n}"],"names":[],"mappings":";;AAIM,SAAU,SAAS,CAAC,KAA4B,EAAA;AACpD,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK;IAE3B,SAAS,QAAQ,CAAC,KAAsB,EAAA;AACtC,QAAA,OAAO,OAAO,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK;;AAG/C,IAAA,MAAM,MAAM,CAAA;AAGC,QAAA,KAAA;AADX,QAAA,WAAA,CACW,KAAyD,EAAA;YAAzD,IAAK,CAAA,KAAA,GAAL,KAAK;;AAGhB,QAAA,CAAC,MAAM,CAAC,OAAO,CAAC;QAEhB,OAAO,MAAM,CAAC,KAAyD,EAAA;AACrE,YAAA,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;;AAG1B,QAAA,OAAO,aAAa,GAAA;YAClB,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;;QAGvC,YAAY,GAAA;YACV,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;;AAGvC,QAAA,aAAa,CAAC,KAAsB,EAAA;YAClC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAElC,YAAA,OAAO,IAAI;;QAGb,eAAe,GAAA;AACb,YAAA,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;;AAGjD;IAED,SAAS,WAAW,CAAC,KAAsB,EAAA;QACzC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;;AAG/C,IAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAoB;AAClD;;;;"}