https://github.com/mistyharsh/bs-rx
Rx.js binding for BuckleScript/Reason
https://github.com/mistyharsh/bs-rx
bucklescript bucklescript-bindings reasonml rxjs
Last synced: about 1 year ago
JSON representation
Rx.js binding for BuckleScript/Reason
- Host: GitHub
- URL: https://github.com/mistyharsh/bs-rx
- Owner: mistyharsh
- License: mit
- Created: 2019-01-15T13:17:04.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T18:14:29.000Z (over 3 years ago)
- Last Synced: 2024-08-04T01:28:48.164Z (almost 2 years ago)
- Topics: bucklescript, bucklescript-bindings, reasonml, rxjs
- Language: OCaml
- Homepage:
- Size: 766 KB
- Stars: 15
- Watchers: 3
- Forks: 0
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-list - bs-rx
README
# bs-rx
ReasonML/Bucklescript bindings for Rx.js
## Design goals
- Prefer **reverse-application operator** `|>` over **fast-pipe** `|.`. More about this [here](https://github.com/BuckleScript/bucklescript/issues/2625).
- Exclude support for deprecated functionality like `ResultSelector` in most higher order function.
- Favor type-safety over generic functions like tuple based `zip2`, `zip3` instead of array based `zip`.
- Exclude un-necessary operators which do not make sense in OCaml like `pluck`. Also do not support something like `null` in case of `defaultIfEmpty` operator.
- There is a good chance that schedulars might be **dropped** or **changed** in future versions of Rx.js. Avoid them. [Read here](https://github.com/ReactiveX/rxjs/issues/2935).
- Provide support for Promises for most commonly required operators like `switchMap`, `forkJoin`, etc.
## Documentation
Complete documentation coming soon. For now, find examples in `test/` directory.
To understand annotations/extensions in OCaml/ReasonML, [read this note](./Annotations.md).