Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/mgechev/blobreader
- Owner: mgechev
- License: mit
- Created: 2015-01-22T07:48:57.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-12-17T10:29:53.000Z (almost 9 years ago)
- Last Synced: 2024-07-30T00:18:09.891Z (about 2 months ago)
- Language: JavaScript
- Homepage:
- Size: 29.3 KB
- Stars: 29
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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