0.4.1 • Published 4 years ago

channels-js v0.4.1

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

channels-js

A Pure JS implentation of channels with async/await

Build Status npm npm bundle size NPM

Types

	* UnBufferedChannel()
	* BufferedChannel(Buffersize) // Needs Buffersize in constructor
	* BoundlessChannel() // Unlimited Buffersize | never blocks write

Usage

    let channels = reqiure("channels-js");
    
    let UnBufferedChannel = new channels.UnBufferedChannel();
    
    async fucntion write(){
        await UnBufferedChannel.write(data);
    }
    async function read(){
        let data = await UnBufferedChannel.read();
        //Do Something with Data...
    }
    write();
    read();

Alternate Way to read until nothing wants to write

channels-js now supports Async Iterators for await (... of ...)

    let channel = channels.[Any of the 3 Types]();
    
    async function readAllData(){
        for await(data of channel){
            // Do Something with data ...
        }
    }

More Examples

    let channels = reqiure("channels-js");
    
    let BufferedChannel = new channels.BufferedChannel(10);
    
    async function write(){
        while(true){
            await BufferedChannel.write(data); // Blocks only after internal Buffer is fulf
        }
    }
    async function read(){
        let data = await UnBufferedChannel.read();
        //Do Something with Data...
    }
    write();
    read();
0.4.1

4 years ago

0.3.0

4 years ago

0.3.2

4 years ago

0.4.0

4 years ago

0.3.1

4 years ago

0.3.4

4 years ago

0.3.3

4 years ago

0.2.4

4 years ago

0.2.3

4 years ago

0.2.2

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago