Current collected state Current
Observed since 20 Oct, 21:55 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
@01/as-lzma
LZMA Decoder written in AssemblyScript
This is an experimental lzma decoder written in AssemblyScript
var memory = new WebAssembly.Memory({ initial: 160 })
...
// You know how to instantiate WASM module
var lzma = module.instance.exports
// Get compressed data by fetch or by some other means
var inputData = new Uint8Array(await (await fetch('PATH/TO/COMPRESSED_FILE.lzma')).arrayBuffer())
// Allocate memory to copy input data.
const inputDataPtr = lzma.newU8Array(inputData.length)
// AssemblyScript ArrayBuffer header length
const AS_ARRAY_OFFSET = 24
// Create an Uint8Array using allocated buffer and set input data
const u8Array = new Uint8Array(
memory.buffer,
inputDataPtr + AS_ARRAY_OFFSET,
inputData.length
)
u8Array.set(inputData)
class DecodeResult {
constructor(ptr, memory) {
const result = new Uint32Array(memory.buffer, ptr, 4)
const [success, error, unpackSize, dataPtr] = result;
this.success = success
this.error = error
if (this.success) {
this.unpackSize = unpackSize
this.data = new Uint8Array(
memory.buffer,
dataPtr + AS_ARRAY_OFFSET,
unpackSize
)
}
}
}
// Decode LZMA data
const resultPtr = lzma.decode(inputDataPtr)
const result = new DecodeResult(resultPtr, memory)
// Decompressed data
console.log(result.data)
// If the data is plain text, decode using TextDecoder
// const decoder = new TextDecoder()
// const text = decoder.decode(result.data)
// console.log(text)
Download lzma sdk and use following command
lzma e input_filename.extension output_filename.lzma
Developed by Nidin Vinayakan
MIT
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
assemblyscriptEnvironment{
"local_name": "assemblyscript",
"alias": false,
"peer_metadata": null
} | https://codeload.github.com/AssemblyScript/assemblyscript/tar.gz/ed97672a8cbd4ce8694bf1411ca7bd7a8734eb77 | development |
Source distribution
{
"integrity": "sha512-M9zBzB2xXBNwF8XuAVQYnP3WOJMUl6HGKAEScrMKiIdBOLnw3UXJytNK0xHmxmrdFG/mFof9UejiHztpUe9t+Q==",
"shasum": "33516b0c6370205e8408d690e88c04ab88002f69",
"tarball": "https://registry.npmjs.org/@01/as-lzma/-/as-lzma-1.0.0-beta2.tgz",
"fileCount": 9,
"unpackedSize": 458656,
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdik6ZCRA9TVsSAnZWagAAoDUP/Avm4d3awwaHr0KQIbCW\nG695SSRx95NaPizHGjnYY3onUq6I25rSwXgbCK1kP1MQEmdebWRtM3oRk0Bm\nCfZnRB3HmF8fTVBIDwwFLHmHH210jgqOFXhAntbIbE605bXvN7N2AZr3s0xa\naxVBzh6nZjgbjXeGvOIsTNzDm0Wgo9Y2OQnPwxtntHe4pgdKT57NYVPfdPjN\nT3kk6Y+EryudQv9lDaJgwTtu9aoxWOrvHKD52v0LcbqHUfC1SOZP0p/Aw/qS\nKBVyV8Gfm7yhUSmTwslLtR7rpqltMMe1PWfBpHNUcaNb/XjzOXg6YD4gBqNa\nL8iwZ8z2KIPvegJmR7CZHBosbPv/7hIf8NgXO07VK4m3xUm+hnrymL8fFkoL\nouYHnRWjucZkzf4ztlL8w+jp98KMCtMvMOyixO1yn0zW0cdzEsMht0KOhLfh\n+RbkA1yBuPPm9uRmB2yhf1inLZhruej9yTVHISz5TD6xhEPJnCHEGLiyIEGN\n6VYmu6Tc99M3HVDQSGHyybgcuqzXbuOQ3HpAt69DluVmCfhGOsaej+dUFrUh\nLEM8QXk1pAXVC/SmUJLrArgu+9N5y/ARmxmUvNVMpOQCBOX24qUEFioRAfJ3\nr9IcT91tTs9h5kcez6E/m+fRINoMjvYckydzm7EiIjmTVwcmKPDKF3qapGlr\n8/7r\r\n=4VvK\r\n-----END PGP SIGNATURE-----\r\n",
"signatures": [
{
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
"sig": "MEQCIHG5EnHuYKUoPZ+g6CWJAALWR3+mVJX0QgcDo97/I8QLAiB/OMTJa33VlhOCsuHpWa08nyUBGzTnqn2OOoz0q7K38Q=="
}
]
}Observed since 20 Oct, 21:55 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:f942b9720a1018bc4e1012b01a900719f920d3ce802ad8a57bbf36e35890325b