microsoft / microsoft/typespec

Proposal: Allow overriding property from spread

Open
#8,775 0 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

To improve model reusability while allowing customization at the point of use, it would be helpful to support redefining properties that are inherited through the spread operator. This would work similarly to how TypeScript allows property overrides in objects ([Playground Link](https://www.typescriptlang.org/play/?#code/MYewdgzgLgBAhjAvDA3gKBp+AuGBGAJgGYAWAGgywCNcAiK2igXwG401RJYqlVLMAdELgUsOGCSIE8zNh3AQQAGwCmApSADmACioBKFkA))

Example:
```tsp
model A {
prop?: in32;
}

model B {
...A;
prop: int64;
}
```

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