Microsoft/TypeScript

[DTS] Object literal method with bigint is omitted in generated `.d.ts`, but class method works correctly

Open

#61,769 opened on May 27, 2025

View on GitHub
 (0 comments) (0 reactions) (1 assignee)TypeScript (48,455 stars) (6,726 forks)batch import
BugDomain: Declaration EmitHelp Wanted

Description

🔎 Search Terms

  • dts
  • bigint key
  • object
  • class

🕗 Version & Regression Information

  • This changed between versions ______ and _______
  • This changed in commit or PR _______
  • This is the behavior in every version I tried, and I reviewed the FAQ for entries about _________
  • I was unable to test this on prior versions because _______

⏯ Playground Link

https://www.typescriptlang.org/play/?#code/KYDwDg9gTgLgBAYwgOwM7wGYQnAvHAbwCg5S4BGZACgEpCSzGpgYBXKZCgbgdIF8ANLzgAmWvUZMW7TiJ6M+RRUVCRYiADYBDVKjgAxbBLKVxxSWWZsO3YYsZi65i3CszR8sor5A

💻 Code

export const foo = {
    1n() {
        return 1;
    },
    2() {
        return 2;
    }
}

export class Foo {
    1n() {
        return 1;
    }
    2() {
        return 2;
    }
}

🙁 Actual behavior

export declare const foo: {
    2(): number;
};
export declare class Foo {
    1n(): number;
    2(): number;
}

🙂 Expected behavior

export declare const foo: {
    1n(): number;
    2(): number;
};
export declare class Foo {
    1n(): number;
    2(): number;
}

Additional information about the issue

No response

Contributor guide