microsoft / microsoft/typespec

Need a way to disable arg marshalling for decorators

Open
#3,570 2 comments 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

There is some decorators what would want to get the original value non marshalled(like the `@example` decorator).

There is a few options:
1. add a `getRawArg(index: number): Entity` on the `DecoratorContext`. - Problem is you cannot call then a decorator with `context.call()` that depend on this.
2. Add a `$example.disableArgMarshalling` - Problem is that `tspd` then cannot generate the right signature for this decorator as it won't know about this flag.
3. Add a modifier on the decorator declaration `extern raw dec example(target, value: valueof unknown)`

### 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.