microsoft / microsoft/TypeScript

improvements for non-experimental decorator types

Open
#56,426 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Awaiting More Feedback Domain: Decorators Suggestion
Dominant language
Go
Stars
111k
Forks
14.4k
Avg merge
1d 19h
Merged PRs (30d)
117

Description

🔍 Search Terms

github typescript decorator value type

✅ Viability Checklist
⭐ Suggestion

This is a request to add a new utility type because TypeScript added one for decorator contexts but not for values

The DecoratorContext type is nice for catching all context types:

function decorator(value: unknown, context: DecoratorContext) { // optionally use a more specific type.
  // ...
}

But for value, there is not a good catch-all type.

📃 Motivating Example

If we have a context catch all type, why not also have a value catch all type, f.e. something like :

export type DecoratedValue = Constructor | Function | ClassAccessorDecoratorTarget<object, unknown> | undefined
💻 Use Cases
  1. What do you want to use this for? decorators whose code handles any value type
  2. What shortcomings exist with current approaches? we have to make the catchall for value ourselves, but we don't have to do that for context
  3. What workarounds are you using in the meantime? I make my own catchall (not that big a deal, but neither would making DecoratorContext myself be

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file or test is named. Start by locating the existing DecoratorContext declaration and the decorator type definitions it covers, then compare the proposed DecoratedValue members with the current type system. Done means an agreed catch-all value type is added without changing emitted JavaScript or existing behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.