A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/typescript-eslint/typescript-eslint/issues/6225 below:

add strict `parent` types for nodes that have well-defined parents · Issue #6225 · typescript-eslint/typescript-eslint · GitHub

Right now a node's .parent property is loosely typed as TESTree.Node. This is pretty sucky as it means that users need to either add unnecessary logic or explicit casts to refine types in some cases.

There are a number of nodes wherein we know exactly what the parent node will always be due to the defined structure of the AST.
For example, we know that a VariableDeclarator will always have a VariableDeclaration parent.

We should define some of these simpler relationships in our types to improve the experience of consuming the AST types.

Some cases we can define:

Note: the implementor should double check that I've written these correctly by comparing them against the AST types.

The import thing to note is that we shouldn't define all of the relationships that exist - just a subset of them that we can easily statically define and maintain. I'd probably put a rule around ~3 parent types being the maximum.

Zamiell, kirkwaiblinger and auvredomril1 and JoshuaKGoldberg


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4