[JS IR] Add literal and union types to TS generation, support them for enum

^KT-37916 fixed
^KT-44494 fixed
This commit is contained in:
Ilya Goncharov
2021-10-29 12:54:07 +03:00
committed by Space
parent 4fa2fa6c26
commit 9fdb0a23cd
4 changed files with 111 additions and 13 deletions
@@ -101,15 +101,21 @@ declare namespace JS_TESTS {
class TestEnumClass {
private constructor();
readonly constructorParameter: string;
static readonly A: foo.TestEnumClass;
static readonly B: foo.TestEnumClass;
static readonly A: foo.TestEnumClass & {
readonly name: "A";
readonly ordinal: 0;
};
static readonly B: foo.TestEnumClass & {
readonly name: "B";
readonly ordinal: 1;
};
readonly foo: number;
bar(value: string): string;
bay(): string;
static values(): Array<foo.TestEnumClass>;
static valueOf(value: string): foo.TestEnumClass;
readonly name: string;
readonly ordinal: number;
readonly name: "A" | "B";
readonly ordinal: 0 | 1;
}
namespace TestEnumClass {
class Nested {