rocketrpc
livegollection-client
rocketrpc | livegollection-client | |
---|---|---|
3 | 1 | |
154 | 1 | |
- | - | |
4.3 | 0.0 | |
4 months ago | over 2 years ago | |
TypeScript | TypeScript | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rocketrpc
-
A library for going general PRC between threads and processes using high-level classes
The project is split into several packages, to allow for plugin new transforms. The main package is the packages/rpc package. On the “client side” the library works by using a Proxy, where it can intercept the Getter on an object, and then provides a wrapped function instead. It then waits for the arguments to be passed in, and passes them on to the underlying transport. At this point the message is passed through the transport, which then invokes the handleInvocation function. This function then accesses the underlying class and calls the actual function. Then it uses Promise.resolve to allow handling of both promises and non-promise responses. The result is then sent back to the client where it gets unwrapped and then resolves the client-side promise. Through this model any system which has a way of sending events with data can be used. Here I needed a WebWorker, so that is what I originally implemented, but there should be no problem with wrapping a WebSocket like https://github.com/akash-joshi/functions-without-borders is doing.
-
Functions without Boundaries - A typesafe library for making transparent RPC calls over websockets
Check the source code here: https://github.com/akash-joshi/functions-without-borders
- Functions without Borders - A typesafe RPC library thinning the boundaries between client and server
livegollection-client
-
livegollection: a library for live data synchronization over websockets between the server and multiple web clients
To interact with the server-side livegollection handler from client-side JavaScript/TypeScript I've developed another library: livegollection-client, available on npm.
What are some alternatives?
threadbox - Recursive Worker Threads in NodeJS
Nest - A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript 🚀
prray - "Promisified" Array, it compatible with the original Array but comes with async versions of native Array methods
livecodes - Code Playground That Just Works!
ruls - 📏 Typesafe rules engine with JSON encoding.
livegollection-example-app - livegollection-example-app is a simple web-chat app that demonstrates how the Golang livegollection library can be used for live data synchronization between multiple web clients and the server.
worker-rpc
wari - A type-safe way to create and handle errors.
wretch - A tiny wrapper built around fetch with an intuitive syntax. :candy:
servicebox - Typed Web Services for NodeJS
real-cancellable-promise - Cancellable promise library for JavaScript and TypeScript.
sirdez - Glorious Binary Serialization and Deserialization for TypeScript.