File: constAssertionOnEnum.js

package info (click to toggle)
node-typescript 5.0.4%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 459,116 kB
  • sloc: javascript: 1,972,754; makefile: 6; sh: 1
file content (60 lines) | stat: -rw-r--r-- 1,062 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//// [tests/cases/conformance/expressions/typeAssertions/constAssertionOnEnum.ts] ////

//// [enum.ts]
export enum Foo {
    A,
    B,
}

//// [test.ts]
import {Foo} from './enum';

enum Bar {
    A,
    B,
}
let foo = Foo.A as const;
let bar = Bar.A as const;

//// [ns.ts]
namespace ns {
    export enum Foo { X }
    ns.Foo.X as const;
}

//// [more.ts]
export enum Foo { X }
(Foo).X as const;


//// [enum.js]
export var Foo;
(function (Foo) {
    Foo[Foo["A"] = 0] = "A";
    Foo[Foo["B"] = 1] = "B";
})(Foo || (Foo = {}));
//// [test.js]
import { Foo } from './enum';
var Bar;
(function (Bar) {
    Bar[Bar["A"] = 0] = "A";
    Bar[Bar["B"] = 1] = "B";
})(Bar || (Bar = {}));
let foo = Foo.A;
let bar = Bar.A;
//// [ns.js]
"use strict";
var ns;
(function (ns) {
    let Foo;
    (function (Foo) {
        Foo[Foo["X"] = 0] = "X";
    })(Foo = ns.Foo || (ns.Foo = {}));
    ns.Foo.X;
})(ns || (ns = {}));
//// [more.js]
export var Foo;
(function (Foo) {
    Foo[Foo["X"] = 0] = "X";
})(Foo || (Foo = {}));
(Foo).X;