0.4.2 • Published 4 years ago

async-readable v0.4.2

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

async-readable

npm version actions codecov

How to Use

Basic

const { createReadStream } = require('fs');
const { asyncReadable } = require('async-readable');

async function parse_GIF_size (path) {

    const { read } = asyncReadable(createReadStream(path));

    const [ G, I, F ] = await read(3);
    const [ EIGHT, SEVEN_OR_NINE, A ] = await read(3);

    const width = (await read(2)).readUInt16LE(0);
    const height = (await read(2)).readUInt16LE(0);

    return { width, height };

}

parse_GIF_size('./sample.gif').then(console.log, console.error);

Advanced

assuming to have

const { connect } = require('net');

const socket = connect({ host: 'localhost', port: 8080 });

async function* process ({ read }) {

    while (true) {
        const head = await read(2);
        const size = head.readUInt16LE(0);
        yield read(size);
    }

}

hence

const { toAsyncIterable } = require('async-readable');

const unpack = toAsyncIterable(process);

async function run () {

    for await (const frame of unpack(socket)) {
        // ...
    }

}

or

const { toReadableStream } = require('async-readable');

const unpack = toReadableStream(process);

function run () {

    const stream = unpack(socket);

    stream.on('data', frame => {
        // ...
    });

}

License

the MIT

0.4.2

4 years ago

0.4.1

4 years ago

0.4.0

4 years ago

0.3.0

4 years ago

0.2.3

4 years ago

0.2.2

4 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.2.0-3

5 years ago

0.2.0-2

5 years ago

0.2.0-1

5 years ago

0.2.0-0

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.4-0

5 years ago

0.1.3

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago