@hazae41/chacha20poly1305
Version:
ChaCha20Poly1305 adapter for WebAssembly and JS implementations
1 lines • 3.33 kB
Source Map (JSON)
{"version":3,"file":"wasm.mjs","sources":["../../../../../src/mods/chacha20poly1305/wasm.ts"],"sourcesContent":["import { Pin, Ref } from \"@hazae41/box\"\nimport type { ChaCha20Poly1305Cipher, ChaCha20Poly1305Wasm } from \"@hazae41/chacha20poly1305.wasm\"\nimport { BytesOrCopiable } from \"libs/copiable/index.js\"\nimport * as Abstract from \"./abstract.js\"\nimport { Adapter } from \"./adapter.js\"\n\nexport function fromWasm(wasm: typeof ChaCha20Poly1305Wasm) {\n const { Memory, ChaCha20Poly1305Cipher } = wasm\n\n function getMemory(bytesOrCopiable: BytesOrCopiable) {\n if (bytesOrCopiable instanceof Memory)\n return new Ref(bytesOrCopiable)\n\n if (bytesOrCopiable instanceof Uint8Array)\n return Pin.from(new Memory(bytesOrCopiable))\n\n return Pin.from(new Memory(bytesOrCopiable.bytes))\n }\n\n class Cipher extends Abstract.Cipher {\n\n constructor(\n readonly inner: ChaCha20Poly1305Cipher\n ) {\n super()\n }\n\n [Symbol.dispose]() {\n using _ = this.inner\n }\n\n static create(inner: ChaCha20Poly1305Cipher) {\n return new Cipher(inner)\n }\n\n static importOrThrow(key: BytesOrCopiable<32>) {\n using mkey = getMemory(key)\n\n return new Cipher(new ChaCha20Poly1305Cipher(mkey.value))\n }\n\n encryptOrThrow(message: BytesOrCopiable, nonce: BytesOrCopiable<12>) {\n using mmessage = getMemory(message)\n using mnonce = getMemory(nonce)\n\n return this.inner.encrypt(mmessage.value, mnonce.value)\n }\n\n decryptOrThrow(message: BytesOrCopiable, nonce: BytesOrCopiable<12>) {\n using mmessage = getMemory(message)\n using mnonce = getMemory(nonce)\n\n return this.inner.decrypt(mmessage.value, mnonce.value)\n }\n\n }\n\n return { Cipher } satisfies Adapter\n}"],"names":["Abstract.Cipher"],"mappings":";;;;AAMM,SAAU,QAAQ,CAAC,IAAiC,EAAA;AACxD,IAAA,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAE/C,SAAS,SAAS,CAAC,eAAgC,EAAA;QACjD,IAAI,eAAe,YAAY,MAAM;AACnC,YAAA,OAAO,IAAI,GAAG,CAAC,eAAe,CAAC;QAEjC,IAAI,eAAe,YAAY,UAAU;YACvC,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC;AAE9C,QAAA,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;;AAGpD,IAAA,MAAM,MAAO,SAAQA,QAAe,CAAA;AAGvB,QAAA,KAAA;AADX,QAAA,WAAA,CACW,KAA6B,EAAA;AAEtC,YAAA,KAAK,EAAE;YAFE,IAAK,CAAA,KAAA,GAAL,KAAK;;QAKhB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAA;;;AACd,gBAAA,MAAM,CAAC,GAAG,uBAAA,CAAA,KAAA,EAAA,IAAI,CAAC,KAAK,QAAA;;;;;;;;;AACrB;QAED,OAAO,MAAM,CAAC,KAA6B,EAAA;AACzC,YAAA,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;;QAG1B,OAAO,aAAa,CAAC,GAAwB,EAAA;;;AAC3C,gBAAA,MAAM,IAAI,GAAG,uBAAA,CAAA,KAAA,EAAA,SAAS,CAAC,GAAG,CAAC,QAAA;gBAE3B,OAAO,IAAI,MAAM,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;;;;;AAC1D;QAED,cAAc,CAAC,OAAwB,EAAE,KAA0B,EAAA;;;AACjE,gBAAA,MAAM,QAAQ,GAAG,uBAAA,CAAA,KAAA,EAAA,SAAS,CAAC,OAAO,CAAC,QAAA;AACnC,gBAAA,MAAM,MAAM,GAAG,uBAAA,CAAA,KAAA,EAAA,SAAS,CAAC,KAAK,CAAC,QAAA;AAE/B,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;;;;;;;;;AACxD;QAED,cAAc,CAAC,OAAwB,EAAE,KAA0B,EAAA;;;AACjE,gBAAA,MAAM,QAAQ,GAAG,uBAAA,CAAA,KAAA,EAAA,SAAS,CAAC,OAAO,CAAC,QAAA;AACnC,gBAAA,MAAM,MAAM,GAAG,uBAAA,CAAA,KAAA,EAAA,SAAS,CAAC,KAAK,CAAC,QAAA;AAE/B,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;;;;;;;;;AACxD;AAEF;IAED,OAAO,EAAE,MAAM,EAAoB;AACrC;;;;"}