Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mgechev/blobreader

Simple interface for reading blobs sequentially
https://github.com/mgechev/blobreader

Last synced: about 2 months ago
JSON representation

Simple interface for reading blobs sequentially

Awesome Lists containing this project

README

        

![](https://travis-ci.org/mgechev/blobreader.svg?branch=master)

# BlobReader

Simple interface for reading blobs, sequentially. 3202 bytes minified and 1172 bytes minified + gzipped.

# Example

```javascript
// Blob definition
var uint8 = new Uint8Array([1, 2]);
var uint16 = new Uint16Array([3]);
var uint82 = new Uint8Array([4, 3]);
var uint32 = new Uint32Array([8]);
var blob = new Blob([uint8, uint16, uint82, uint32]);

// Reading the blob
BlobReader(blob)
.readUint8('uint8', 2)
.readUint16('uint16')
.readUint8('uint82', 2)
.skip()
.readUint32('uint32')
.commit(function (data) {
expect(data.uint8[0]).toBe(1);
expect(data.uint8[1]).toBe(2);
expect(data.uint16).toBe(3);
expect(typeof data.uint82).toBe('number');
expect(data.uint82).toBe(4);
expect(data.uint32).toBe(8);
});
```

# Roadmap

* Add support for synchronous blob reading in workers.
* *Add support for observables/promises.*

# License

MIT