Important
Please participate in the survey here!
(open until end of February)
To achieve a better sample size, I'd highly appreciate if you could circulate the link to this survey in your own networks.
Note
This is one of 189 standalone projects, maintained as part of the @thi.ng/umbrella monorepo and anti-framework.
🚀 Help me to work full-time on these projects by sponsoring me on GitHub. Thank you! ❤️
Adapter bridge between async CSP channels and synchronous stream subscriptions/transformations of @thi.ng/rstream.
STABLE - used in production
Search or submit any issues for this package
- @thi.ng/csp - ES6 promise based CSP primitives & operations
- @thi.ng/rstream - Reactive streams & subscription primitives for constructing dataflow graphs / pipelines
yarn add @thi.ng/rstream-csp
ES module import:
<script type="module" src="https://cdn.skypack.dev/@thi.ng/rstream-csp"></script>
For Node.js REPL:
const rstreamCsp = await import("@thi.ng/rstream-csp");
Package sizes (brotli'd, pre-treeshake): ESM: 247 bytes
import * as rs from "@thi.ng/rstream";
import * as tx from "@thi.ng/transducers";
import { fromChannel } from "@thi.ng/rstream-csp";
import { Channel } from "@thi.ng/csp";
ch = new Channel();
stream = fromChannel(ch);
stream.subscribe(rs.trace("all"));
stream.subscribe(rs.trace("only evens"), tx.filter(tx.even));
ch.write(1);
// all 1
ch.write(2);
// all 2
// only evens 2
stream.subscribe(rs.trace("tentimes"), tx.map(x => x * 10));
// all 3
// tentimes 30
If this project contributes to an academic publication, please cite it as:
@misc{thing-rstream-csp,
title = "@thi.ng/rstream-csp",
author = "Karsten Schmidt",
note = "https://thi.ng/rstream-csp",
year = 2018
}
© 2018 - 2024 Karsten Schmidt // Apache License 2.0