{"version":3,"file":"noble.cjs","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":["Copied"],"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,IAAIA,YAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;;AAGjD;IAED,SAAS,WAAW,CAAC,KAAsB,EAAA;QACzC,OAAO,IAAIA,YAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;;AAG/C,IAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAoB;AAClD;;;;"}