# panda-river-esm

> JavaScript reactive programming in a functional style

Latest version **6.0.0** (published 2019-10-18) · MIT license · 0 weekly downloads

## Install

```sh
npm install panda-river-esm
pnpm add panda-river-esm
yarn add panda-river-esm
bun add panda-river-esm
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 6.0.0 |
| Published | 2019-10-18 |
| First published | 2018-10-01 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 111.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Maintainers | dyoder, freeformflow |
| Keywords | reactive, reactive programming, functional |

## Links

- npm: https://www.npmjs.com/package/panda-river-esm
- Repository: https://github.com/pandastrike/panda-river
- Homepage: https://github.com/pandastrike/panda-river#readme
- Issues: https://github.com/pandastrike/panda-river/issues
- npm.io page: https://npm.io/package/panda-river-esm

## Dependencies (3)

- [panda-garden](https://npm.io/package/panda-garden.md) ^5.0.0
- [panda-generics](https://npm.io/package/panda-generics.md) ^6.0.0
- [panda-parchment](https://npm.io/package/panda-parchment.md) ^5.0.0

## Recent versions

- 6.0.0 (latest) — 2019-10-18
- 5.0.2 — 2019-08-17
- 5.0.1 — 2019-08-17
- 5.0.0 — 2019-08-17
- 4.4.2 — 2018-11-16
- 4.4.1 — 2018-11-16
- 4.3.0 — 2018-10-22
- 4.2.2 — 2018-10-03
- 4.2.1 — 2018-10-03
- 4.2.0 — 2018-10-01
- 4.1.0 — 2018-10-01

## README

# Panda River

Panda River is a JavaScript library for reactive programming in a functional style. River differs from libraries like RxJS by relying on JavaScript iterators and stand-alone functions (rather than method chaining). You can use the same functions whether you're working with arrays or events. And you can use common functional programming patterns, like composition and currying, to build up more powerful libraries.

### Example

The _hello world_ of reactive programming is the humble counter. Given:

- `dom.increment`— a link that, when clicked, increments the counter
- `dom.counter` — an element that displays the counter
- `data.counter` — the application data, which, in this case, is just a counter

```coffee
go [
  events "click", dom.increment
  map -> data.counter++
]

go [
  events "change", observe data
  map -> dom.counter.textContent = data.counter
]
```

## Installation

`npm i panda-river`

## API

- [Reference.](./docs/reference.md)

---
_Source: https://npm.io/package/panda-river-esm · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
