@hazae41/base64
Version:
Base64 adapter for WebAssembly and JS implementations
1 lines • 2.75 kB
Source Map (JSON)
{"version":3,"file":"wasm.cjs","sources":["../../../../../src/mods/base64/wasm.ts"],"sourcesContent":["import type { Base64Wasm } from \"@hazae41/base64.wasm\"\nimport { Pin, Ref } from \"@hazae41/box\"\nimport { BytesOrCopiable } from \"libs/copiable/index.js\"\nimport { Adapter } from \"./adapter.js\"\nimport { fromBuffer } from \"./buffer.js\"\n\nexport function fromBufferOrWasm(wasm: typeof Base64Wasm) {\n if (\"process\" in globalThis)\n return fromBuffer()\n return fromWasm(wasm)\n}\n\nexport function fromWasm(wasm: typeof Base64Wasm) {\n const { Memory, base64_encode_padded, base64_decode_padded, base64_encode_unpadded, base64_decode_unpadded } = 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 function encodePaddedOrThrow(bytes: BytesOrCopiable) {\n using memory = getMemory(bytes)\n\n return base64_encode_padded(memory.value)\n }\n\n function decodePaddedOrThrow(text: string) {\n return base64_decode_padded(text)\n }\n\n function encodeUnpaddedOrThrow(bytes: BytesOrCopiable) {\n using memory = getMemory(bytes)\n\n return base64_encode_unpadded(memory.value)\n }\n\n function decodeUnpaddedOrThrow(text: string) {\n return base64_decode_unpadded(text)\n }\n\n return { encodePaddedOrThrow, decodePaddedOrThrow, encodeUnpaddedOrThrow, decodeUnpaddedOrThrow } satisfies Adapter\n}"],"names":["fromBuffer","Ref","Pin","__addDisposableResource"],"mappings":";;;;;;AAMM,SAAU,gBAAgB,CAAC,IAAuB,EAAA;IACtD,IAAI,SAAS,IAAI,UAAU;QACzB,OAAOA,iBAAU,EAAE;AACrB,IAAA,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB;AAEM,SAAU,QAAQ,CAAC,IAAuB,EAAA;AAC9C,IAAA,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAEnH,SAAS,SAAS,CAAC,eAAgC,EAAA;QACjD,IAAI,eAAe,YAAY,MAAM;AACnC,YAAA,OAAO,IAAIC,OAAG,CAAC,eAAe,CAAC;QAEjC,IAAI,eAAe,YAAY,UAAU;YACvC,OAAOC,OAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC;AAE9C,QAAA,OAAOA,OAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;;IAGpD,SAAS,mBAAmB,CAAC,KAAsB,EAAA;;;AACjD,YAAA,MAAM,MAAM,GAAGC,iCAAA,CAAA,KAAA,EAAA,SAAS,CAAC,KAAK,CAAC,QAAA;AAE/B,YAAA,OAAO,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC;;;;;;;;;AAC1C;IAED,SAAS,mBAAmB,CAAC,IAAY,EAAA;AACvC,QAAA,OAAO,oBAAoB,CAAC,IAAI,CAAC;;IAGnC,SAAS,qBAAqB,CAAC,KAAsB,EAAA;;;AACnD,YAAA,MAAM,MAAM,GAAGA,iCAAA,CAAA,KAAA,EAAA,SAAS,CAAC,KAAK,CAAC,QAAA;AAE/B,YAAA,OAAO,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC;;;;;;;;;AAC5C;IAED,SAAS,qBAAqB,CAAC,IAAY,EAAA;AACzC,QAAA,OAAO,sBAAsB,CAAC,IAAI,CAAC;;IAGrC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,qBAAqB,EAAoB;AACrH;;;;;"}