microsoft / microsoft/typespec

Passing decorators as argument to decorators

Open
#5,176 1 comment 0 reactions 0 assignees View on GitHub
compiler:core design:needed triaged:core
Dominant language
Java
Stars
5.9k
Forks
394
Avg merge
1d 23h
Merged PRs (30d)
104

Description

### Clear and concise description of the problem

In cases where conditional application of decorators (e.g. versioning or some form of selector language for the target) could be useful, it would be interesting to be able to pass in one or mode decorators as arguments to other decorators.

E.g.

```
@iifVersion('<=1', @route("/v1"), @route("v2"))
op doStuff(): void;
```

(while there is a magic expression to evaluate as a string in this example, one could certainly come up with other ways to express it)

### Checklist

- [x] Follow our [Code of Conduct](https://github.com/microsoft/typespec/blob/main/CODE_OF_CONDUCT.md)
- [x] Read the [docs](https://typespec.io/docs/).
- [x] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.