Catalog npm
Back to packageRELEASE DETAILS

1.0.2

npm

@01/as-lzma

LZMA Decoder written in AssemblyScript

assemblyscriptcompressiondatajavascriptlzmawebassembly
Published24 Sept 2019
Direct dependencies1
Transitive dependenciesNot calculated

README

Current package documentation

LZMA Decoder (AssemblyScript)

This is an experimental lzma decoder written in AssemblyScript

Example

example code

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)

How to make lzma file

Download lzma sdk and use following command

lzma e input_filename.extension output_filename.lzma

Developed by Nidin Vinayakan

License

MIT

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 1

Native requirements
1 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
assemblyscript
Environment
{
  "local_name": "assemblyscript",
  "alias": false,
  "peer_metadata": null
}
https://codeload.github.com/AssemblyScript/assemblyscript/tar.gz/ed97672a8cbd4ce8694bf1411ca7bd7a8734eb77development

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "integrity": "sha512-pzC0MKyTjozRrGuwLeYXtZUy/9jd1H20MixBJUJx0S19mWjs3wO6NDJjDxfqAQzN5I1GI5j79BTwKMR7f3giAw==",
  "shasum": "880edfea0aa8190a0783f7be34a1f9536b4e4a6c",
  "tarball": "https://registry.npmjs.org/@01/as-lzma/-/as-lzma-1.0.2.tgz",
  "fileCount": 6,
  "unpackedSize": 17437,
  "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdilVECRA9TVsSAnZWagAA2dIP/jlpVzOxAbZ3MuOz8tpi\n3SMRk8MDxncTuMRT4zPmBj+z5O7YB8OjOdkw9bKe+w0ADSjyJ9KGdy8/i42z\ntpHMBYg1TcqTho6RL/GgUPAIlP+ekvBeWr2MhtUKJJ9oOBQXBkY5W5fFnOEO\nRdcSimnpvbRMzti7nsgTXyxnONqM4ve4d1c+//vP+b4/muQTb4bLGXGZneeM\nJaplgqPMsJS5tNKDfXfzNUneozYSNul0Rgj0Pv6VumeqOmEOwhV1vFNOtK2p\nrNKa+ET5Zf2npMMsO3gFTKAjukR5VGEZMS4JIL2g4zf8jtJcmh7wyb/ZFYa2\nchohNkO6xd7WbDFndzIWFnctbJVhk8Davp0lb16m93RvW37hyjl8LuA/vLB5\nJiug8UtYL2h89qWETdzCecilb/tSMgViJ9elDa3PxpcTOMSQO/b0icRzXTaQ\nf9ZI3bcK83hCax0M3dJ8nXqk3rc3H1oV0Ra5Oy/pip4zkgfKYeKYMEGnrbih\nnhLpfnFVPbhYEQnfO49ZVxH+l7e2sZWVGE8dnBJUIocrOZXT+vQoy568mj59\nQZRhbpK+a6M4QKtZwhbQo43OoVqXzXapVyMTywxQFmqzbVi44mgIqYqDNcSa\ntxcM5XnNTRx896A0IMOf/2+30ImL8apPrKPyUvE2VYvwQJI6uATeG4G3Yclh\nytV/\r\n=bWAn\r\n-----END PGP SIGNATURE-----\r\n",
  "signatures": [
    {
      "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
      "sig": "MEUCIQCTU0ArBy+/zDT2UVg/3wwydcK5fAh3LVQolKYe9ngPGgIgR3TwbvOVRslcTknH0XnuZH+pBEqOKGltPlEu8Hf6jf8="
    }
  ]
}

Repository

PENDING
01alchemist/as-lzma

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 21:55 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:212272b9488afaa5f1fc34ba27177df202ffa84a121d824f59efcfd20f3dd470

Other collected versions

1.0.124 Sept1.0.0-beta224 Sept1.0.0-beta124 SeptView all collected versions →