0.0.15 • Published 6 years ago

aix v0.0.15

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

Async Iterator Extensions

A library of async iterator extensions for JavaScript

Installation

npm install aix # or yarn install aix

Why Aix?

Async iterators are a useful way to handle asynchronous streams. This library adds a number of utility methods similar to those found in lodash, underscore or Ramda.

Examples

fromEvents

fromEvents turns DOM events into an iterable.

import { fromEvents } from "aix/fromEvents";

const clicks = fromEvents(document, 'click');

for await (const click of clicks) {
    console.log('a button was clicked');
}

DeferredIterable

DeferredIterable makes it easy to turn stream of events into an iterable. The code below is essentially how fromEvents was implemented.

import { DeferredIterable } from "aix/deferredIterable";

const deferredIterable = new DeferredIterable();

// set up a callback that calls value on the deferredIterable
const callback = value => deferredIterable.value(value);

// attach the callback to the click event
document.addEventListener('click', callback);

// remove the callback when / if the iterable stops
deferredIterable.finally(() => document.removeEventListener('click', deferredIterable.value));

// go through all the click events
for await (const click of deferredIterable.iterable) {
    console.log('a button was clicked');
}

Reference Documentation

0.0.15

6 years ago

0.0.14

6 years ago

0.0.13

6 years ago

0.0.12

6 years ago

0.0.11

6 years ago

0.0.10

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago