UNPKG

@hazae41/chacha20poly1305

Version:

ChaCha20Poly1305 adapter for WebAssembly and JS implementations

1 lines 2.28 kB
{"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;;;;"}