rocketrpc
wretch
rocketrpc | wretch | |
---|---|---|
3 | 8 | |
154 | 4,520 | |
- | - | |
4.3 | 6.4 | |
3 months ago | 3 days 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
wretch
-
Why do people use Axios instead of Fetch
In conclusion, whether you choose axios, fetch, or an alternative like wretch, your focus should be on writing clear, maintainable, and robust code. Understanding the strengths and weaknesses of each tool will empower you to make informed decisions and build applications that are not only functional but also resilient and enjoyable to develop.
-
How does a proper fetch wrapper look?
This package does it quite nicely https://github.com/elbywan/wretch
-
Safe Data Fetching in Modern JavaScript
One newer option, which is a very thin wrapper around Fetch much like Redaxios, is Wretch. Wretch is unique in that it largely still feels like fetch, but gives you helpful methods for handling common statuses which can chain together nicely:
-
You might be using `fetch` wrong...
It would be better with a link to kick things off so boomers can choose to read about it instead https://github.com/elbywan/wretch
-
What do you think are the "must-have" npm packages in (almost) every React Project?
For ajax, I never use Axios anymore, I always use Wretch these days.
- Framework axios pushed a broken update, crippling thousands of websites
-
Why I'm ditching Axios (Spoiler: I moved to Wretch!)
Wretch Wretch on the other hand takes the function chaining approach. It split common error types into separate helper methods so you don't need to result in an interceptor every time
-
AxleJS - Fetch supercharged.
You might be interested in Wretch, it's very lightweight and has a nice middleware facility.
What are some alternatives?
threadbox - Recursive Worker Threads in NodeJS
axios - Promise based HTTP client for the browser and node.js
prray - "Promisified" Array, it compatible with the original Array but comes with async versions of native Array methods
react-query - 🤖 Powerful asynchronous state management, server-state utilities and data fetching for TS/JS, React, Solid, Svelte and Vue. [Moved to: https://github.com/TanStack/query]
livegollection-client - livegollection-client is the JavaScript/TypeScript client-side library to interact with the correspondant server-side Golang library livegollection.
ky - 🌳 Tiny & elegant JavaScript HTTP client based on the browser Fetch API
ruls - 📏 Typesafe rules engine with JSON encoding.
form-data - A module to create readable `"multipart/form-data"` streams. Can be used to submit forms and file uploads to other web applications.
worker-rpc
SWR - React Hooks for Data Fetching
wari - A type-safe way to create and handle errors.
oauth-signature-js - JavaScript OAuth 1.0a signature generator (RFC 5849) for node and the browser