{"version":3,"file":"noble.cjs","sources":["../../../../../src/mods/chacha20poly1305/noble.ts"],"sourcesContent":["import type * as ChaChaNoble from \"@noble/ciphers/chacha\"\nimport { BytesOrCopiable, Copied } from \"libs/copiable/index.js\"\nimport * as Abstract from \"./abstract.js\"\nimport { Adapter } from \"./adapter.js\"\n\nexport function fromNoble(noble: typeof ChaChaNoble) {\n  const { chacha20poly1305 } = noble\n\n  function getBytes(bytes: BytesOrCopiable) {\n    return \"bytes\" in bytes ? bytes.bytes : bytes\n  }\n\n  class Cipher extends Abstract.Cipher {\n\n    constructor(\n      readonly key: Uint8Array\n    ) {\n      super()\n    }\n\n    [Symbol.dispose]() { }\n\n    static create(key: Uint8Array) {\n      return new Cipher(key)\n    }\n\n    static importOrThrow(key: BytesOrCopiable<32>) {\n      return new Cipher(getBytes(key).slice())\n    }\n\n    encryptOrThrow(message: BytesOrCopiable, nonce: BytesOrCopiable<12>) {\n      return new Copied(chacha20poly1305(this.key, getBytes(nonce).slice()).encrypt(getBytes(message)))\n    }\n\n    decryptOrThrow(message: BytesOrCopiable, nonce: BytesOrCopiable<12>) {\n      return new Copied(chacha20poly1305(this.key, getBytes(nonce).slice()).decrypt(getBytes(message)))\n    }\n\n  }\n\n  return { Cipher } satisfies Adapter\n}"],"names":["Abstract.Cipher","Copied"],"mappings":";;;;;AAKM,SAAU,SAAS,CAAC,KAAyB,EAAA;AACjD,IAAA,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK;IAElC,SAAS,QAAQ,CAAC,KAAsB,EAAA;AACtC,QAAA,OAAO,OAAO,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK;;AAG/C,IAAA,MAAM,MAAO,SAAQA,eAAe,CAAA;AAGvB,QAAA,GAAA;AADX,QAAA,WAAA,CACW,GAAe,EAAA;AAExB,YAAA,KAAK,EAAE;YAFE,IAAG,CAAA,GAAA,GAAH,GAAG;;AAKd,QAAA,CAAC,MAAM,CAAC,OAAO,CAAC;QAEhB,OAAO,MAAM,CAAC,GAAe,EAAA;AAC3B,YAAA,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC;;QAGxB,OAAO,aAAa,CAAC,GAAwB,EAAA;YAC3C,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;;QAG1C,cAAc,CAAC,OAAwB,EAAE,KAA0B,EAAA;YACjE,OAAO,IAAIC,YAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;;QAGnG,cAAc,CAAC,OAAwB,EAAE,KAA0B,EAAA;YACjE,OAAO,IAAIA,YAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;;AAGpG;IAED,OAAO,EAAE,MAAM,EAAoB;AACrC;;;;"}