Microsoft/TypeScript

Accessors are always reduced to properties in object literal declarations

Open

#53.775 geöffnet am 14. Apr. 2023

Auf GitHub ansehen
 (0 Kommentare) (1 Reaktion) (0 zugewiesene Personen)TypeScript (6.726 Forks)batch import
BugDomain: Declaration EmitHelp Wanted

Repository-Metriken

Stars
 (48.455 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 6T 17h) (9 gemergte PRs in 30 T)

Beschreibung

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);
};

Contributor Guide