1# Wonka
2
3A fast push & pull stream library for Reason, loosely following the [callbag spec](https://github.com/callbag/callbag)
4
5> **NOTE:** The `master` branch currently points to the v4 Release Candidate version!
6> If you're looking for v3, [please check the `v3.2.2`](https://github.com/kitten/wonka/tree/v3.2.2)
7
8<br>
9<a href="https://npmjs.com/package/wonka">
10 <img alt="NPM Version" src="https://img.shields.io/npm/v/wonka.svg" />
11</a>
12<a href="https://npmjs.com/package/wonka">
13 <img alt="License" src="https://img.shields.io/npm/l/wonka.svg" />
14</a>
15<a href="https://codecov.io/gh/kitten/wonka">
16 <img alt="Test Coverage" src="https://codecov.io/gh/kitten/wonka/branch/master/graph/badge.svg" />
17</a>
18<a href="https://bundlephobia.com/result?p=wonka">
19 <img alt="Minified gzip size" src="https://img.shields.io/bundlephobia/minzip/wonka.svg?label=gzip%20size" />
20</a>
21<br>
22
23> “There’s no earthly way of knowing<br>
24> Which direction we are going<br>
25> There’s no knowing where we’re rowing<br>
26> Or which way the river’s flowing” - **Willy Wonka**
27
28<br>
29
30
31
32Wonka is a lightweight iterable and observable library loosely based on
33the [callbag spec](https://github.com/callbag/callbag). It exposes a set of helpers to create streams,
34which are sources of multiple values, which allow you to create, transform
35and consume event streams or iterable sets of data.
36
37Wonka is written in [Reason](https://reasonml.github.io/), a dialect of OCaml, and can hence be used
38for native applications. It is also compiled using [BuckleScript](https://bucklescript.github.io) to plain
39JavaScript and has typings for [TypeScript](https://www.typescriptlang.org/) and [Flow](https://flow.org/).
40
41This means that out of the box Wonka is usable in any project that use the following:
42
43- Plain JavaScript
44- TypeScript
45- Flow
46- Reason/OCaml with BuckleScript
47- Reason/OCaml with `bs-native`
48- Reason/OCaml with Dune and Esy
49
50## [Documentation](https://wonka.kitten.sh/)
51
52**See the documentation at [wonka.kitten.sh](https://wonka.kitten.sh)** for more information about using `wonka`!
53
54- [Introduction](https://wonka.kitten.sh/)
55- [**Getting started**](https://wonka.kitten.sh/getting-started)
56- [Basics](https://wonka.kitten.sh/basics/)
57- [API Reference](https://wonka.kitten.sh/api/)
58
59The raw markdown files can be found [in this repository in the `docs` folder](https://github.com/kitten/wonka/tree/master/docs).