posterus VS boxed

Compare posterus vs boxed and see what are their differences.

posterus

Composable async primitives with cancelation, control over scheduling, and coroutines. Superior replacement for JS Promises. (by mitranim)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
posterus boxed
3 6
550 606
- 2.3%
0.0 7.9
almost 3 years ago 8 days ago
JavaScript TypeScript
- MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

posterus

Posts with mentions or reviews of posterus. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-31.
  • Cluster friendly task scheduler for NodeJS
    4 projects | /r/node | 31 Oct 2022
    Check out these; - https://github.com/mitranim/posterus - https://github.com/timgit/pg-boss - https://github.com/FirebaseExtended/firebase-queue - https://www.npmjs.com/package/rabbit-queue
  • I Avoid Async/Await
    7 projects | news.ycombinator.com | 16 Apr 2022
    Async/Await covers the 80% of use cases for async logic in JS. Most people aren't really using promises as multicast references. They don't call `then` in one place, hang on to the promise reference, then call `then` again somewhere else (perhaps to represent a cached value); they call `then` once on the reference because it's just a moment in a composite operation.

    It's for this reason that I think this library[0] is the more appropriate abstraction for that same 80% of use-cases, as its more memory efficient since you can represent the same composite operation that generates multiple promise references with a single object (a unicast reference instead). I haven't learned Rust but apparently the author bases this on Rust's ownership principle.

    [0]https://github.com/mitranim/posterus

  • What is one thing you find annoying about react and are surprised it hasn't been addressed yet?
    9 projects | /r/reactjs | 4 May 2021
    https://github.com/mitranim/posterus#taskdeinit

boxed

Posts with mentions or reviews of boxed. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-13.
  • Boxed: Functional Types and Utilities for TypeScript
    1 project | news.ycombinator.com | 19 May 2023
  • The gotcha of unhandled promise rejections
    5 projects | news.ycombinator.com | 13 Jan 2023
    I was happy when Promise became available, but in retrospect I'd wish we would have skipped ahead and gotten Observable (e.g: https://rxjs.dev/) instead to enable more powerful functionality and composition etc.

    In Typescript dealing with rejection is also painful since rejection reasons can't be guaranteed to be Error even when you always take care of that. And it can't help you guarantee that you're handling all types of errors thrown. For that purpose I'm thinking of using https://github.com/supermacro/neverthrow#readme or https://swan-io.github.io/boxed.

  • Boxed: Functional utility types and functions for TypeScript
    1 project | /r/webdev | 27 Apr 2022
    2 projects | /r/javascript | 27 Apr 2022
  • I Avoid Async/Await
    7 projects | news.ycombinator.com | 16 Apr 2022
    Agree that try/catch is verbose and not terribly ergonomic, but my solution has been to treat errors as values rather than exceptions, by default. It's much less painful to achieve this if you use a library with an implementation of a Result type, which I admin is a bit of a painful workaround, but worth it. I've recently been using: https://github.com/swan-io/boxed.

    By far the greatest benefit is being able to sanely implement a type-safe API. To me, it is utter madness throwing custom extensions of the Error class arbitrarily deep in the call-stack, and then having a catch handler somewhere up the top hoping that each error case is matched and correctly translated to the intended http response (at least this seems to be a common alternative).

  • Boxed: Utility Types for Functional TypeScript
    1 project | news.ycombinator.com | 21 Mar 2022

What are some alternatives?

When comparing posterus and boxed you can also consider the following projects:

Fluture - 🦋 Fantasy Land compliant (monadic) alternative to Promises

async - Easily run code asynchronously

CAF - Cancelable Async Flows (CAF)

neverthrow - Type-Safe Errors for JS & TypeScript

Immer - Create the next immutable state by mutating the current one

cofx - A node and javascript library that helps developers describe side-effects as data in a declarative, flexible API.

firebase-queue

rescript-compiler - The compiler for ReScript.

React - The library for web and native user interfaces.

variant - Variant types in TypeScript

redux-saga - An alternative side effect model for Redux apps

async - Async utilities for node and the browser