lambda-ioc
Super type safe dependency injection 💉 for TypeScript (inspired by Diddly) (by Coder-Spirit)
sum-types
Safe, ergonomic, non-generic sum types in TypeScript. (by unsplash)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
lambda-ioc | sum-types | |
---|---|---|
2 | 8 | |
9 | 42 | |
- | - | |
0.0 | 5.9 | |
30 days ago | 3 months ago | |
TypeScript | TypeScript | |
MIT License | 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.
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.
lambda-ioc
Posts with mentions or reviews of lambda-ioc.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-02-08.
-
I wrote an strongly typed IoC container library (based on Diddly) for Deno & Node
The "final" result is a bit more feature complete, although much uglier if you check its internals (it's crazy how many type annotations I wrote there, and how complex they are), and I started to use it for real life projects :) : https://github.com/Coder-Spirit/lambda-ioc
- Is there any known way to measure coverage of... types?
sum-types
Posts with mentions or reviews of sum-types.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-08-20.
-
Either type
I entirely agree about using symbols. sum-types does that.
-
Question about error handling in Typescript
With fp-ts and sum-types you'd handle this functionally like so:
-
type .kind checks vs. class instanceof checks
If you're looking to have discriminated unions like Rust, follow that section to roll your own or look for a library that's already implemented them. fp-ts has everything under the sun in a Haskell style, neverthrow has Rust-like Result and ResultAsync, and sum-types helps with the boilerplate of defining your own sum types.
-
Is there a more graceful way to create dependencies between object key settings?
I'd suggest sum-types. Instead of unsafe user-defined type guards you get safe pattern matching.
-
Best way to store persistent texts?
If you wanted to lean (more) into FP you could replace the Event type and buildPopup function with a sum type and pattern match respectively, as well as represent side effects like in popup with fp-ts' IO, make use of function composition, etc. The former in particular is great for readability:
-
Is there any known way to measure coverage of... types?
You can test types, at least in terms of asserting happy path types and whether a piece of code, runtime or purely type-level, should trigger a tsc type error. Here's an example using eslint-plugin-expect-type.
-
Has the unsoundness (will explain in the post) actually become a pitfall in practice?
Anywhere that overloads are needed will rely upon type assertions or the unsafety implicit in overloads, for example in fp-ts/function::pipe. It'll come up a lot with objects too when there isn't a preexisting primitive you can compose atop of, as in for example fp-ts-std/Record::pick. Something as generic as @unsplash/sum-types has assertions all over the place, though to be fair that's mostly again a case of struggles interacting with object types.
-
How to handle "mutable state" in a pure functional way
You might like @unsplash/sum-types also.
What are some alternatives?
When comparing lambda-ioc and sum-types you can also consider the following projects:
InversifyJS - A powerful and lightweight inversion of control container for JavaScript & Node.js apps powered by TypeScript.
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
genioc - Bloat-free and magical IoC-container for Typescript based on code-generation
immutable-js - Immutable persistent data collections for Javascript which increase efficiency and simplicity.
eslint-plugin-expect-type - ESLint plugin with ^? Twoslash, $ExpectError, and $ExpectType type assertions. 🧩
tsd - Check TypeScript type definitions