ts-pattern
variant
Our great sponsors
ts-pattern | variant | |
---|---|---|
38 | 5 | |
10,882 | 645 | |
- | - | |
8.5 | 0.0 | |
12 days ago | over 1 year ago | |
TypeScript | C++ | |
MIT License | Boost Software License 1.0 |
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.
ts-pattern
-
You Don't Need React
ts-pattern has been a decent band-aid for the lack of native pattern matching, but obviously has downsides that could be avoided if it was built into the language.
https://github.com/gvergnaud/ts-pattern
- Stop nesting ternaries
-
Building React Components Using Unions in TypeScript
ts-pattern
- Pattern Matching Library for TypeScript
-
TypeScript Is Surprisingly OK for Compilers
With how powerful the type system is you can implement pattern matching via a library pretty convincingly, https://github.com/gvergnaud/ts-pattern is definitely the go-to. That being said pattern matching is hardly a requirement for being ok for implementing compilers.
-
How to achieve type safety here possible without "type hacks"?
https://github.com/gvergnaud/ts-pattern might help
- ts-pattern v5
-
[AskJS] C# in every Node.js job posting?
There's a proposal to add something like that to JavaScript but it's been stuck in limbo since 2017 although there are libraries like ts-pattern which implement it already.
- Simplifying Dynamic Classes in Vue with the class-variance-authority library | cdruc.com
- Rust Appreciation Thread
variant
-
Backward compatible implementations of newer standards constructs?
For Variant I would recommend Michael Park's variant - mpark::variant
-
Is there an exception that I could throw if there is a path that should never run.
have a look at https://github.com/mpark/variant
-
An std::variant alternative for C++11
I know that there is boost::variant but adding the whole boot dependency for this use case seem too much. I have seen the following implementation and similar ones
-
How to implicitly convert between pointers and integral types
You could build your own versions if thats a concern. Or use one of the free pre-C++17 implementations (like I do in my C++11 codebase). https://github.com/mpark/variant
-
Using std::variant and std::visit to transform-reduce a (rose) tree
mpark::variant and mpark::visit are faster than the gcc STL implementation.
What are some alternatives?
pattern-grab - 🤛🏻 Regular Expression Data Grabber
type-fest - A collection of essential TypeScript types
ts-adt - Generate Algebraic Data Types and pattern matchers
BackportCpp - Library of backported modern C++ types to work with C++11
await-to-js - Async await wrapper for easy error handling without try-catch
recursive-variant - Recursive Variant: A simple library for Recursive Variant Types
union-types - A Typescript library for creating discriminating union types.
chessCAMO - chessCAMO is a newly proposed chess engine with a built-in variant that stands for Calculations Always Make Opportunities and was inspired by the very popular chess variant Crazyhouse. The "CAMO" portion comes from the idea that in this variant a player can sacrifice making a move to replace one of their pieces from the "piece reservoir".
ts-option
optional - C++11/14/17 std::optional with functional-style extensions and reference support
typescript-coverage-report - Node command tool to generate TypeScript coverage report
Thrust - [ARCHIVED] The C++ parallel algorithms library. See https://github.com/NVIDIA/cccl