Microsoft/TypeScript
Vedi su GitHubAccessors are always reduced to properties in object literal declarations
Open
#53.775 aperta il 14 apr 2023
BugDomain: Declaration EmitHelp Wanted
Metriche repository
- Star
- (48.455 star)
- Metriche merge PR
- (Merge medio 6g 17h) (9 PR mergiate in 30 g)
Descrizione
Bug Report
Currently, accessors in object literals are condensed in plain properties - this an issue when get/set use different types. The workaround is to explicitly specify the type (see playground). Ideally, accessor should be preserved in declaration files, when possible.
🔎 Search Terms
accessors, object literal
🕗 Version & Regression Information
/
⏯ Playground Link
Playground link with relevant code
💻 Code
export const Foo = {
get bar(): number { /* ... */ },
set bar(value: number | string) { /* ... */ }
};
🙁 Actual behavior
export declare const Foo: {
bar: number;
};
🙂 Expected behavior
export declare const Foo: {
get bar(): number;
set bar(value: number | string);
};