proposal-record-tuple
react-tracked
Our great sponsors
proposal-record-tuple | react-tracked | |
---|---|---|
73 | 5 | |
2,411 | 2,602 | |
0.8% | - | |
2.7 | 6.4 | |
4 months ago | 5 days ago | |
HTML | 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.
proposal-record-tuple
-
Union, intersection, difference, and more are coming to JavaScript Sets
relevant issue, which is at the crux of this problem: https://github.com/tc39/proposal-record-tuple/issues/387
-
The Everything NPM Package
There are still so many basic things that aren't in the JS stdlib, though. A good example is Map - if you need to use a tuple of two values as a key, you're SOL because there's no way to customize key comparisons. Hopefully we'll get https://tc39.es/proposal-record-tuple/ eventually, but meanwhile languages ranging from C++ to Java to Python have had some sensible way to do this for over 20 years now.
-
Deep Cloning Objects in JavaScript, the Modern Way
If you’re reaching for structuredClone, what you really want is native immutable Record and Tuple syntax, and the companion “deep path properties” syntax which allows for efficient and ergonomic immutable updates:
-
Cool language features that Rust is missing?
It will be called "record" in JavaScript which will swing the popularity back the other way I guess (currently a language proposal)
-
Why doesn't TypeScript properly type Object.keys?
I suspect considering the strong desire to maintain consistency with JavaScript, we will eventually see something that when the Record proposal passes through tc39
-
ES2023 features list!
I hope the Record and Tuple proposal makes it through
-
[AskJS] Is JavaScript missing some built-in methods?
Record and tuple is at stage 2
-
[AskJS] Which utility libraries are in your opinion so good they are basicaly mandatory?
Can't wait until we get records and tuples and you won't have to resort to shenanigans like this just to check if data is equal to other data
-
Pipe Operator (|>) For JavaScript
I hope Records & Tuples[0] land before this does. It would have meaningful and far reaching positive effects for the language, without much controversy. Like most of these things, it takes about 5-7 years for it to permeate through enough of the engines to be meaningfully useful in the day to day of web developers (node / deno typically 12-18 months tops). It would drastically speed up existing code once wide adoption is gained though.
I don't think the Pipe Operator would be as useful in comparison
-
Which Language in your opinion is well designed?
You might be interested in the Stage 2 Tuples and Records proposal. It's one of the proposals I'm most excited about, but there will be interesting discussions on how TypeScript will integrate those into their type system.
react-tracked
- My company doesn't use any state management tool. Is that bad?
-
How Valtio Proxy State Works (React Part)
Automatic render optimization is to do this automatically. Is this possible? It's possible with utilizing proxies. Proxies allow us to detect state property access. I have been working on this for years, and react-tracked is one of the resulting projects that use this technique. We have an internal library called proxy-compare.
- React Context, All in One
-
What are Tuples and Records in JavaScript?
The best, and perhaps only approach I have found so far is react-tracked. It does some internal tracking with proxies that I don't quite understand, but it actually works as advertised with a very minimal API.
What are some alternatives?
zod - TypeScript-first schema validation with static type inference
use-context-selector - React useContextSelector hook in userland
Immer - Create the next immutable state by mutating the current one
typescript-eslint - :sparkles: Monorepo for all the tooling which enables ESLint to support TypeScript
typescript-is
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
ts-node - TypeScript execution and REPL for node.js
proposals - Tracking ECMAScript Proposals
proposal-pattern-matching - Pattern matching syntax for ECMAScript
Talkr - Talkr is the lightest i18n provider for React applications. It supports Typescript, provides autocompletion, has 0 dependencies, and is very easy to use.
react-18 - Workgroup for React 18 release.
TypeScript-Call-Graph - CLI to generate an interactive graph of functions and calls from your TypeScript files