diff --git a/crates/swc/tests/fixture/issues-1xxx/1160/output/entry.ts b/crates/swc/tests/fixture/issues-1xxx/1160/output/entry.ts index 3ddfc88de8892..d06adf1aa1eff 100644 --- a/crates/swc/tests/fixture/issues-1xxx/1160/output/entry.ts +++ b/crates/swc/tests/fixture/issues-1xxx/1160/output/entry.ts @@ -1,11 +1,11 @@ var _define_property = require("@swc/helpers/_/_define_property"); var _ts_decorate = require("@swc/helpers/_/_ts_decorate"); var _ts_metadata = require("@swc/helpers/_/_ts_metadata"); -var MyEnum; -(function(MyEnum) { +var MyEnum = /*#__PURE__*/ function(MyEnum) { MyEnum["x"] = "xxx"; MyEnum["y"] = "yyy"; -})(MyEnum || (MyEnum = {})); + return MyEnum; +}(MyEnum || {}); class Xpto { constructor(){ _define_property._(this, "value", void 0); diff --git a/crates/swc/tests/fixture/issues-1xxx/1515/case1/output/index.ts b/crates/swc/tests/fixture/issues-1xxx/1515/case1/output/index.ts index ec07de8f0bc80..c22dd605bfdc3 100644 --- a/crates/swc/tests/fixture/issues-1xxx/1515/case1/output/index.ts +++ b/crates/swc/tests/fixture/issues-1xxx/1515/case1/output/index.ts @@ -15,7 +15,6 @@ class ServiceError extends Error { } } (function(ServiceError) { - let Code; (function(Code) { Code[Code["serviceNotFound"] = 404] = "serviceNotFound"; Code[Code["serviceNotCompatible"] = 426] = "serviceNotCompatible"; @@ -24,7 +23,7 @@ class ServiceError extends Error { Code[Code["timedOut"] = 504] = "timedOut"; Code[Code["badRequest"] = 400] = "badRequest"; Code[Code["badResponse"] = 422] = "badResponse"; - })(Code = ServiceError.Code || (ServiceError.Code = {})); + })(ServiceError.Code || (ServiceError.Code = {})); class ServiceNotFound extends ServiceError { constructor(...args){ super(...args), // Service was probably not registered, or using the wrong channel diff --git a/crates/swc/tests/fixture/issues-2xxx/2214/output/index.tsx b/crates/swc/tests/fixture/issues-2xxx/2214/output/index.tsx index a880aafa508de..8825c2ec7025a 100644 --- a/crates/swc/tests/fixture/issues-2xxx/2214/output/index.tsx +++ b/crates/swc/tests/fixture/issues-2xxx/2214/output/index.tsx @@ -1,5 +1,5 @@ import React from "react"; -export var Test; (function(Test) { Test.content = /*#__PURE__*/ React.createElement("div", null, "Content"); })(Test || (Test = {})); +export var Test; diff --git a/crates/swc/tests/fixture/issues-2xxx/2310/output/index.tsx b/crates/swc/tests/fixture/issues-2xxx/2310/output/index.tsx index afbf533af3b88..18ff09aca5621 100644 --- a/crates/swc/tests/fixture/issues-2xxx/2310/output/index.tsx +++ b/crates/swc/tests/fixture/issues-2xxx/2310/output/index.tsx @@ -1,6 +1,6 @@ -var A; (function(A) { A.Foo = function() { return /*#__PURE__*/ React.createElement("div", null); }; })(A || (A = {})); +var A; diff --git a/crates/swc/tests/fixture/issues-2xxx/2423/output/index.map b/crates/swc/tests/fixture/issues-2xxx/2423/output/index.map index 70663871df687..64f9c196328e6 100644 --- a/crates/swc/tests/fixture/issues-2xxx/2423/output/index.map +++ b/crates/swc/tests/fixture/issues-2xxx/2423/output/index.map @@ -1,5 +1,5 @@ { - "mappings": ";UAAUA;MACOC,IAAI;IACV,SAASC;QACZC,QAAQC,GAAG,GAACH;IAChB;MAFgBC,IAAAA;AAGpB,GALUF,MAAAA", + "mappings": "UAAUA;MACOC,IAAI;IACV,SAASC;QACZC,QAAQC,GAAG,GAACH;IAChB;MAFgBC,IAAAA;AAGpB,GALUF,MAAAA", "names": [ "A", "v", diff --git a/crates/swc/tests/fixture/issues-2xxx/2423/output/index.ts b/crates/swc/tests/fixture/issues-2xxx/2423/output/index.ts index 8750cf3203798..4b236ecb16bd4 100644 --- a/crates/swc/tests/fixture/issues-2xxx/2423/output/index.ts +++ b/crates/swc/tests/fixture/issues-2xxx/2423/output/index.ts @@ -1,4 +1,3 @@ -var A; (function(A) { A.v = 25; function a() { @@ -6,3 +5,4 @@ var A; } A.a = a; })(A || (A = {})); +var A; diff --git a/crates/swc/tests/fixture/issues-2xxx/2636/output/index.ts b/crates/swc/tests/fixture/issues-2xxx/2636/output/index.ts index 22c6109df2ae7..97dead575ca75 100644 --- a/crates/swc/tests/fixture/issues-2xxx/2636/output/index.ts +++ b/crates/swc/tests/fixture/issues-2xxx/2636/output/index.ts @@ -1,5 +1,5 @@ -export var RuleInterpreterHelper; (function(RuleInterpreterHelper) { RuleInterpreterHelper.fieldNameMap = []; RuleInterpreterHelper.fieldNameHashMap = new Map(RuleInterpreterHelper.fieldNameMap); })(RuleInterpreterHelper || (RuleInterpreterHelper = {})); +export var RuleInterpreterHelper; diff --git a/crates/swc/tests/fixture/issues-2xxx/2988/output/index.ts b/crates/swc/tests/fixture/issues-2xxx/2988/output/index.ts index 63ff6d30fda06..46eb847e1449b 100644 --- a/crates/swc/tests/fixture/issues-2xxx/2988/output/index.ts +++ b/crates/swc/tests/fixture/issues-2xxx/2988/output/index.ts @@ -1,15 +1,13 @@ -export var Test; (function(t) { - let e; (function(t) { t["Test"] = "1"; t["Test2"] = "2"; t["Test3"] = "3"; - })(e = t.testEnum || (t.testEnum = {})); - let s; + })(t.testEnum || (t.testEnum = {})); (function(t) { t["Test"] = "1"; t["Test2"] = "2"; t["Test3"] = "3"; - })(s = t.testEnum2 || (t.testEnum2 = {})); + })(t.testEnum2 || (t.testEnum2 = {})); })(Test || (Test = {})); +export var Test; diff --git a/crates/swc/tests/fixture/issues-3xxx/3073/1/output/index.ts b/crates/swc/tests/fixture/issues-3xxx/3073/1/output/index.ts index 5583a26af79c4..1c8a9cfd89c94 100644 --- a/crates/swc/tests/fixture/issues-3xxx/3073/1/output/index.ts +++ b/crates/swc/tests/fixture/issues-3xxx/3073/1/output/index.ts @@ -1,7 +1,7 @@ -var n; (function(n) { var ref; ref = { a: 1 }, n.a = ref.a, ref; })(n || (n = {})); +var n; diff --git a/crates/swc/tests/fixture/issues-3xxx/3073/2/output/index.ts b/crates/swc/tests/fixture/issues-3xxx/3073/2/output/index.ts index 954ea553b8638..9f208046f0543 100644 --- a/crates/swc/tests/fixture/issues-3xxx/3073/2/output/index.ts +++ b/crates/swc/tests/fixture/issues-3xxx/3073/2/output/index.ts @@ -1,4 +1,3 @@ -var Foo; (function(Foo) { var ref; ref = { @@ -6,3 +5,4 @@ var Foo; b: 2 }, Foo.A = ref.a, Foo.B = ref.b, ref; })(Foo || (Foo = {})); +var Foo; diff --git a/crates/swc/tests/fixture/issues-3xxx/3686/1/output/index.ts b/crates/swc/tests/fixture/issues-3xxx/3686/1/output/index.ts index d10aaf169a8c4..dad19426d8b37 100644 --- a/crates/swc/tests/fixture/issues-3xxx/3686/1/output/index.ts +++ b/crates/swc/tests/fixture/issues-3xxx/3686/1/output/index.ts @@ -22,7 +22,6 @@ ServiceError = _ts_decorate._([ CD ], ServiceError); (function(ServiceError) { - let Code; (function(Code) { Code[Code["serviceNotFound"] = 404] = "serviceNotFound"; Code[Code["serviceNotCompatible"] = 426] = "serviceNotCompatible"; @@ -31,7 +30,7 @@ ServiceError = _ts_decorate._([ Code[Code["timedOut"] = 504] = "timedOut"; Code[Code["badRequest"] = 400] = "badRequest"; Code[Code["badResponse"] = 422] = "badResponse"; - })(Code = ServiceError.Code || (ServiceError.Code = {})); + })(ServiceError.Code || (ServiceError.Code = {})); class ServiceNotFound extends ServiceError { code = 404; name = "ServiceError.ServiceNotFound"; diff --git a/crates/swc/tests/fixture/issues-4xxx/4021/output/index.ts b/crates/swc/tests/fixture/issues-4xxx/4021/output/index.ts index 045ee1a846544..75cbf12864d05 100644 --- a/crates/swc/tests/fixture/issues-4xxx/4021/output/index.ts +++ b/crates/swc/tests/fixture/issues-4xxx/4021/output/index.ts @@ -1,5 +1,4 @@ var _ts_decorate = require("@swc/helpers/_/_ts_decorate"); -var N; (function(N) { class C1 { } @@ -12,3 +11,4 @@ class C2 { C2 = _ts_decorate._([ foo ], C2); +var N; diff --git a/crates/swc/tests/fixture/issues-4xxx/4108/1/output/index.ts b/crates/swc/tests/fixture/issues-4xxx/4108/1/output/index.ts index 2cc798b298e1d..20614434118b1 100644 --- a/crates/swc/tests/fixture/issues-4xxx/4108/1/output/index.ts +++ b/crates/swc/tests/fixture/issues-4xxx/4108/1/output/index.ts @@ -52,12 +52,12 @@ export var getErrorForTransaction = /*#__PURE__*/ function() { return _ref.apply(this, arguments); }; }(); -export var SequenceType; -(function(SequenceType) { +export var SequenceType = /*#__PURE__*/ function(SequenceType) { SequenceType[SequenceType["Sequential"] = 0] = "Sequential"; SequenceType[SequenceType["Parallel"] = 1] = "Parallel"; SequenceType[SequenceType["StopOnFailure"] = 2] = "StopOnFailure"; -})(SequenceType || (SequenceType = {})); + return SequenceType; +}({}); export function sendTransactionsWithManualRetry(connection, wallet, instructions, signers) { return _sendTransactionsWithManualRetry.apply(this, arguments); } diff --git a/crates/swc/tests/fixture/issues-4xxx/4393/1/output/index.ts b/crates/swc/tests/fixture/issues-4xxx/4393/1/output/index.ts index 86a48c900d61f..c3a983fae750e 100644 --- a/crates/swc/tests/fixture/issues-4xxx/4393/1/output/index.ts +++ b/crates/swc/tests/fixture/issues-4xxx/4393/1/output/index.ts @@ -1,5 +1,5 @@ -var foo; (function(foo) { foo.bar = 0; })(foo || (foo = {})); export { foo }; +var foo; diff --git a/crates/swc/tests/fixture/issues-4xxx/4897/output/index.ts b/crates/swc/tests/fixture/issues-4xxx/4897/output/index.ts index 1fe36edf9d95d..501e0d1b6edc3 100644 --- a/crates/swc/tests/fixture/issues-4xxx/4897/output/index.ts +++ b/crates/swc/tests/fixture/issues-4xxx/4897/output/index.ts @@ -20,8 +20,8 @@ define([ function boo() { return Foo.Bar * 2; } - var Foo; (function(Foo) { Foo.Bar = 1234; })(Foo || (Foo = {})); + var Foo; }); diff --git a/crates/swc/tests/fixture/issues-6xxx/6791/1/output/input.ts b/crates/swc/tests/fixture/issues-6xxx/6791/1/output/input.ts index d1e887b6b58e1..c4dacff4246c7 100644 --- a/crates/swc/tests/fixture/issues-6xxx/6791/1/output/input.ts +++ b/crates/swc/tests/fixture/issues-6xxx/6791/1/output/input.ts @@ -1,3 +1,3 @@ -var o; -import { test as r } from "test"; -(o || (o = {})).Hello = "World!", r("World!"); +import { test as o } from "test"; +var r, l = ((r = l || {}).Hello = "World!", r); +o("World!"); diff --git a/crates/swc/tests/fixture/issues-7xxx/7218/output/index.ts b/crates/swc/tests/fixture/issues-7xxx/7218/output/index.ts index 57a97cb934bde..42a1a5da82ed4 100644 --- a/crates/swc/tests/fixture/issues-7xxx/7218/output/index.ts +++ b/crates/swc/tests/fixture/issues-7xxx/7218/output/index.ts @@ -1,9 +1,9 @@ -export var Test; -(function(Test) { +export var Test = /*#__PURE__*/ function(Test) { Test[Test["A"] = 1073741824] = "A"; Test[Test["B"] = -2147483648] = "B"; Test[Test["C"] = -1073741824] = "C"; -})(Test || (Test = {})); + return Test; +}({}); var a = 1 << 30; // 1073741824 var b = 1 << 31; // -2147483648 var c = 1 << 30 | 1 << 31; // -1073741824 diff --git a/crates/swc/tests/fixture/issues-7xxx/7681/output/index.ts b/crates/swc/tests/fixture/issues-7xxx/7681/output/index.ts index 1164beb88fd5d..0f01ff4f0b770 100644 --- a/crates/swc/tests/fixture/issues-7xxx/7681/output/index.ts +++ b/crates/swc/tests/fixture/issues-7xxx/7681/output/index.ts @@ -1,9 +1,9 @@ -var Foo; -(function(Foo) { +var Foo = /*#__PURE__*/ function(Foo) { Foo[Foo["a"] = 0] = "a"; Foo[Foo["b"] = 1] = "b"; Foo[Foo["c"] = 0] = "c"; Foo[Foo["d"] = 0] = "d"; Foo[Foo["e"] = 1] = "e"; Foo[Foo["f"] = 2] = "f"; -})(Foo || (Foo = {})); + return Foo; +}(Foo || {}); diff --git a/crates/swc/tests/fixture/issues-8xxx/8204/output/index.ts b/crates/swc/tests/fixture/issues-8xxx/8204/output/index.ts index 4f5532bfd2270..2509fb87da8d0 100644 --- a/crates/swc/tests/fixture/issues-8xxx/8204/output/index.ts +++ b/crates/swc/tests/fixture/issues-8xxx/8204/output/index.ts @@ -1,5 +1,5 @@ -var Bar; -(function(Bar) { +var Bar = /*#__PURE__*/ function(Bar) { Bar[Bar["VALUE"] = 1] = "VALUE"; -})(Bar || (Bar = {})); + return Bar; +}(Bar || {}); export default Bar; diff --git a/crates/swc/tests/fixture/issues-8xxx/8551/output/index.ts b/crates/swc/tests/fixture/issues-8xxx/8551/output/index.ts index 4c436895fef98..1c1ab9e3d17ae 100644 --- a/crates/swc/tests/fixture/issues-8xxx/8551/output/index.ts +++ b/crates/swc/tests/fixture/issues-8xxx/8551/output/index.ts @@ -3,8 +3,8 @@ _computedKey = Symbol.iterator; class C { [_computedKey]() {} } -var NS; (function(NS) { function f() {} NS.f = f; })(NS || (NS = {})); +var NS; diff --git a/crates/swc/tests/fixture/issues-8xxx/8594/output/index.tsx b/crates/swc/tests/fixture/issues-8xxx/8594/output/index.tsx index 63df6de9c3181..baaca0bbe3b25 100644 --- a/crates/swc/tests/fixture/issues-8xxx/8594/output/index.tsx +++ b/crates/swc/tests/fixture/issues-8xxx/8594/output/index.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; -export var FooNs; (function(FooNs) { FooNs.Shared = ()=>'I\'m shared component'; FooNs.Main = ()=>/*#__PURE__*/ React.createElement(FooNs.Shared, null); })(FooNs || (FooNs = {})); +export var FooNs; diff --git a/crates/swc/tests/fixture/issues-8xxx/8640/output/index.tsx b/crates/swc/tests/fixture/issues-8xxx/8640/output/index.tsx index 00a75df19ca3b..530e322e0641c 100644 --- a/crates/swc/tests/fixture/issues-8xxx/8640/output/index.tsx +++ b/crates/swc/tests/fixture/issues-8xxx/8640/output/index.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; -export var Ns; (function(Ns) { Ns.Context = /*#__PURE__*/ React.createContext(); Ns.Component = ()=>/*#__PURE__*/ React.createElement(Ns.Context.Provider, null); })(Ns || (Ns = {})); +export var Ns; diff --git a/crates/swc/tests/fixture/issues-9xxx/9531/output/index.ts b/crates/swc/tests/fixture/issues-9xxx/9531/output/index.ts index dc3d50fd1bad8..e580f0d97f9eb 100644 --- a/crates/swc/tests/fixture/issues-9xxx/9531/output/index.ts +++ b/crates/swc/tests/fixture/issues-9xxx/9531/output/index.ts @@ -1,28 +1,23 @@ -if (true) { - var A; - (function(A) {})(A || (A = {})); -} -do { - var B; - (function(B) {})(B || (B = {})); -}while (false) -while(false){ - var C; - (function(C) {})(C || (C = {})); -} +if (true) var A = /*#__PURE__*/ function(A) { + return A; +}(A || {}); +do var B = /*#__PURE__*/ function(B) { + return B; +}(B || {}); +while (false) +while(false)var C = /*#__PURE__*/ function(C) { + return C; +}(C || {}); ; -for(; false;){ - var D; - (function(D) {})(D || (D = {})); -} +for(; false;)var D = /*#__PURE__*/ function(D) { + return D; +}(D || {}); ; -for(const a in {}){ - var E; - (function(E) {})(E || (E = {})); -} +for(const a in {})var E = /*#__PURE__*/ function(E) { + return E; +}(E || {}); ; -for (const a of []){ - var F; - (function(F) {})(F || (F = {})); -} +for (const a of [])var F = /*#__PURE__*/ function(F) { + return F; +}(F || {}); ; diff --git a/crates/swc/tests/fixture/ts-inline-enum/default/output/index.ts b/crates/swc/tests/fixture/ts-inline-enum/default/output/index.ts index e902e906b0414..1a9e88f68f992 100644 --- a/crates/swc/tests/fixture/ts-inline-enum/default/output/index.ts +++ b/crates/swc/tests/fixture/ts-inline-enum/default/output/index.ts @@ -1,11 +1,11 @@ -var Foo; -(function(Foo) { +var Foo = /*#__PURE__*/ function(Foo) { Foo[Foo["hello"] = 42] = "hello"; -})(Foo || (Foo = {})); -var Foo2; -(function(Foo2) { + return Foo; +}(Foo || {}); +var Foo2 = /*#__PURE__*/ function(Foo2) { Foo2["hello"] = "42"; -})(Foo2 || (Foo2 = {})); + return Foo2; +}(Foo2 || {}); console.log(42, "42"); console.log("hello", "こんにちは", "안녕하세요", "你好"); -var Hello; +; diff --git a/crates/swc/tests/fixture/ts-inline-enum/lhs/output/index.ts b/crates/swc/tests/fixture/ts-inline-enum/lhs/output/index.ts index 68b26832eac36..98e01778d09c0 100644 --- a/crates/swc/tests/fixture/ts-inline-enum/lhs/output/index.ts +++ b/crates/swc/tests/fixture/ts-inline-enum/lhs/output/index.ts @@ -1,4 +1,4 @@ -var Foo; +; var x; var ref; ref = void 0, x = ref === void 0 ? 42 : ref; diff --git a/crates/swc/tests/fixture/ts-inline-enum/treatConstEnumAsEnum-2/output/index.ts b/crates/swc/tests/fixture/ts-inline-enum/treatConstEnumAsEnum-2/output/index.ts index c25bdc6b6c9fe..c4044319ff24e 100644 --- a/crates/swc/tests/fixture/ts-inline-enum/treatConstEnumAsEnum-2/output/index.ts +++ b/crates/swc/tests/fixture/ts-inline-enum/treatConstEnumAsEnum-2/output/index.ts @@ -1,12 +1,12 @@ -var Foo; -(function(Foo) { +var Foo = /*#__PURE__*/ function(Foo) { Foo[Foo["hello"] = 42] = "hello"; -})(Foo || (Foo = {})); -var Foo2; -(function(Foo2) { + return Foo; +}(Foo || {}); +var Foo2 = /*#__PURE__*/ function(Foo2) { Foo2["hello"] = "42"; -})(Foo2 || (Foo2 = {})); -var Bar; -var Bar2; + return Foo2; +}(Foo2 || {}); +; +; console.log(42, "42"); console.log(42, "42"); diff --git a/crates/swc/tests/fixture/ts-inline-enum/treatConstEnumAsEnum/output/index.ts b/crates/swc/tests/fixture/ts-inline-enum/treatConstEnumAsEnum/output/index.ts index c25bdc6b6c9fe..c4044319ff24e 100644 --- a/crates/swc/tests/fixture/ts-inline-enum/treatConstEnumAsEnum/output/index.ts +++ b/crates/swc/tests/fixture/ts-inline-enum/treatConstEnumAsEnum/output/index.ts @@ -1,12 +1,12 @@ -var Foo; -(function(Foo) { +var Foo = /*#__PURE__*/ function(Foo) { Foo[Foo["hello"] = 42] = "hello"; -})(Foo || (Foo = {})); -var Foo2; -(function(Foo2) { + return Foo; +}(Foo || {}); +var Foo2 = /*#__PURE__*/ function(Foo2) { Foo2["hello"] = "42"; -})(Foo2 || (Foo2 = {})); -var Bar; -var Bar2; + return Foo2; +}(Foo2 || {}); +; +; console.log(42, "42"); console.log(42, "42"); diff --git a/crates/swc/tests/ts-isolated-declaration/simple/output/3.ts b/crates/swc/tests/ts-isolated-declaration/simple/output/3.ts index 7adce2c72ff6d..55aa7042567bf 100644 --- a/crates/swc/tests/ts-isolated-declaration/simple/output/3.ts +++ b/crates/swc/tests/ts-isolated-declaration/simple/output/3.ts @@ -1,5 +1,5 @@ -export var Foo; -(function(Foo) { +export var Foo = /*#__PURE__*/ function(Foo) { Foo["A"] = "foo"; Foo["B"] = "bar"; -})(Foo || (Foo = {})); + return Foo; +}({}); diff --git a/crates/swc/tests/tsc-references/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.1.normal.js b/crates/swc/tests/tsc-references/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.1.normal.js index 3e3f8730395a6..5364730c7f070 100644 --- a/crates/swc/tests/tsc-references/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.1.normal.js +++ b/crates/swc/tests/tsc-references/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.1.normal.js @@ -1,7 +1,6 @@ //// [module.d.ts] //// [classPoint.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { var Point = function Point(x, y) { "use strict"; @@ -11,6 +10,7 @@ var A; }; A.Point = Point; })(A || (A = {})); +var A; //// [test.ts] var p; var p = A.Point.Origin; diff --git a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.1.normal.js b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.1.normal.js index 5d60a7ba4e017..440ef4acfa927 100644 --- a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.1.normal.js +++ b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.1.normal.js @@ -12,6 +12,5 @@ var clodule = /*#__PURE__*/ function() { function fn(x, y) { return x; } - // error: duplicate identifier expected clodule.fn = fn; })(clodule || (clodule = {})); diff --git a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.1.normal.js b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.1.normal.js index 7b52b86a6e358..a282ec4014477 100644 --- a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.1.normal.js +++ b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.1.normal.js @@ -12,6 +12,5 @@ var clodule = /*#__PURE__*/ function() { function fn(x, y) { return x; } - // error: duplicate identifier expected clodule.fn = fn; })(clodule || (clodule = {})); diff --git a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.1.normal.js b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.1.normal.js index bc23d8804be15..fa4e6908e9cfe 100644 --- a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.1.normal.js +++ b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.1.normal.js @@ -14,6 +14,5 @@ var clodule = /*#__PURE__*/ function() { function fn(x, y) { return clodule.sfn('a'); } - // error: duplicate identifier expected clodule.fn = fn; })(clodule || (clodule = {})); diff --git a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.1.normal.js b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.1.normal.js index 72ac29f2dfc42..aa20f2a06ae18 100644 --- a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.1.normal.js +++ b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.1.normal.js @@ -22,7 +22,6 @@ var Point = /*#__PURE__*/ function() { } //expected duplicate identifier error Point.Origin = Origin; })(Point || (Point = {})); -var A; (function(A) { var Point = /*#__PURE__*/ function() { "use strict"; @@ -46,5 +45,6 @@ var A; return ""; } //expected duplicate identifier error Point.Origin = Origin; - })(Point = A.Point || (A.Point = {})); + })(A.Point || (A.Point = {})); })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.2.minified.js b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.2.minified.js index 91949117f4df8..deb09509ae9d9 100644 --- a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.2.minified.js +++ b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.2.minified.js @@ -23,6 +23,6 @@ var A, Point, A1, Point1 = /*#__PURE__*/ function() { y: 0 }; }, Point; -}(), A.Point = Point, (Point = A.Point || (A.Point = {})).Origin = function() { +}(), A.Point = Point, (A.Point || (A.Point = {})).Origin = function() { return ""; }; diff --git a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.1.normal.js b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.1.normal.js index 9b8affbf72f0b..4de19ac5ddcc9 100644 --- a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.1.normal.js +++ b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.1.normal.js @@ -20,7 +20,6 @@ var Point = /*#__PURE__*/ function() { return ""; } // not an error, since not exported })(Point || (Point = {})); -var A; (function(A) { var Point = /*#__PURE__*/ function() { "use strict"; @@ -42,5 +41,6 @@ var A; function Origin() { return ""; } // not an error since not exported - })(Point = A.Point || (A.Point = {})); + })(A.Point || (A.Point = {})); })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.1.normal.js b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.1.normal.js index 77a72ec6942fa..32d084bcefb63 100644 --- a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.1.normal.js +++ b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.1.normal.js @@ -13,7 +13,6 @@ Point.Origin = { (function(Point) { Point.Origin = ""; //expected duplicate identifier error })(Point || (Point = {})); -var A; (function(A) { var Point = function Point(x, y) { "use strict"; @@ -28,5 +27,6 @@ var A; A.Point = Point; (function(Point) { Point.Origin = ""; //expected duplicate identifier error - })(Point = A.Point || (A.Point = {})); + })(A.Point || (A.Point = {})); })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.2.minified.js b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.2.minified.js index e4c948b4f7b1f..4d448cec3353e 100644 --- a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.2.minified.js +++ b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.2.minified.js @@ -11,4 +11,4 @@ Point1.Origin = { }).Origin = { x: 0, y: 0 -}, A.Point = Point, (Point = A.Point || (A.Point = {})).Origin = ""; +}, A.Point = Point, (A.Point || (A.Point = {})).Origin = ""; diff --git a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.1.normal.js b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.1.normal.js index fee9401782344..f2337de808c4d 100644 --- a/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.1.normal.js +++ b/crates/swc/tests/tsc-references/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.1.normal.js @@ -13,7 +13,6 @@ Point.Origin = { (function(Point) { var Origin = ""; // not an error, since not exported })(Point || (Point = {})); -var A; (function(A) { var Point = function Point(x, y) { "use strict"; @@ -28,5 +27,6 @@ var A; A.Point = Point; (function(Point) { var Origin = ""; // not an error since not exported - })(Point = A.Point || (A.Point = {})); + })(A.Point || (A.Point = {})); })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRoot.1.normal.js b/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRoot.1.normal.js index a51d2d5309a28..0f5a46ac58e3e 100644 --- a/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRoot.1.normal.js +++ b/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRoot.1.normal.js @@ -1,6 +1,5 @@ //// [class.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var X; (function(X) { (function(Y) { var Point = function Point(x, y) { @@ -12,16 +11,16 @@ var X; Y.Point = Point; })(X.Y || (X.Y = {})); })(X || (X = {})); -//// [module.ts] var X; +//// [module.ts] (function(X) { (function(Y) { - var Point; (function(Point) { - Point.Origin = new Point(0, 0); - })(Point = Y.Point || (Y.Point = {})); + Point.Origin = new Y.Point(0, 0); + })(Y.Point || (Y.Point = {})); })(X.Y || (X.Y = {})); })(X || (X = {})); +var X; //// [test.ts] //var cl: { x: number; y: number; } var cl = new X.Y.Point(1, 1); diff --git a/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRoot.2.minified.js b/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRoot.2.minified.js index a3dc5dfde8a08..9199a5375dde0 100644 --- a/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRoot.2.minified.js +++ b/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRoot.2.minified.js @@ -5,8 +5,8 @@ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; _class_call_check(this, Point), this.x = x, this.y = y; }; //// [module.ts] -var X, X1, Y, Point; -(Point = (Y = (X1 = X || (X = {})).Y || (X1.Y = {})).Point || (Y.Point = {})).Origin = new Point(0, 0); +var X, X1, Y; +((Y = (X1 = X || (X = {})).Y || (X1.Y = {})).Point || (Y.Point = {})).Origin = new Y.Point(0, 0); //// [test.ts] new X.Y.Point(1, 1), X.Y.Point.Origin; //// [simple.ts] diff --git a/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRootES6.1.normal.js b/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRootES6.1.normal.js index 6d72cd88a8c13..9067aca923ba8 100644 --- a/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRootES6.1.normal.js +++ b/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRootES6.1.normal.js @@ -1,5 +1,4 @@ //// [class.ts] -var X; (function(X) { (function(Y) { class Point { @@ -11,16 +10,16 @@ var X; Y.Point = Point; })(X.Y || (X.Y = {})); })(X || (X = {})); -//// [module.ts] var X; +//// [module.ts] (function(X) { (function(Y) { - let Point; (function(Point) { - Point.Origin = new Point(0, 0); - })(Point = Y.Point || (Y.Point = {})); + Point.Origin = new Y.Point(0, 0); + })(Y.Point || (Y.Point = {})); })(X.Y || (X.Y = {})); })(X || (X = {})); +var X; //// [test.ts] //var cl: { x: number; y: number; } var cl = new X.Y.Point(1, 1); diff --git a/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRootES6.2.minified.js b/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRootES6.2.minified.js index bed3b681a93f2..fcd68d3471502 100644 --- a/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRootES6.2.minified.js +++ b/crates/swc/tests/tsc-references/ClassAndModuleWithSameNameAndCommonRootES6.2.minified.js @@ -6,8 +6,8 @@ var X, X1; } }; //// [module.ts] -var X, X1, Y, Point; -(Point = (Y = (X1 = X || (X = {})).Y || (X1.Y = {})).Point || (Y.Point = {})).Origin = new Point(0, 0); +var X, X1, Y; +((Y = (X1 = X || (X = {})).Y || (X1.Y = {})).Point || (Y.Point = {})).Origin = new Y.Point(0, 0); //// [test.ts] new X.Y.Point(1, 1), X.Y.Point.Origin; //// [simple.ts] diff --git a/crates/swc/tests/tsc-references/ES5SymbolProperty2.1.normal.js b/crates/swc/tests/tsc-references/ES5SymbolProperty2.1.normal.js index a598ef660d74a..8fc666c9702d3 100644 --- a/crates/swc/tests/tsc-references/ES5SymbolProperty2.1.normal.js +++ b/crates/swc/tests/tsc-references/ES5SymbolProperty2.1.normal.js @@ -1,6 +1,5 @@ //// [ES5SymbolProperty2.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var M; (function(M) { var _$Symbol; var C = /*#__PURE__*/ function() { @@ -16,3 +15,4 @@ var M; (new C)[_$Symbol.iterator]; })(M || (M = {})); (new M.C)[Symbol.iterator]; +var M; diff --git a/crates/swc/tests/tsc-references/EnumAndModuleWithSameNameAndCommonRoot.1.normal.js b/crates/swc/tests/tsc-references/EnumAndModuleWithSameNameAndCommonRoot.1.normal.js index d77e4c2a822fc..d266d5cbef64b 100644 --- a/crates/swc/tests/tsc-references/EnumAndModuleWithSameNameAndCommonRoot.1.normal.js +++ b/crates/swc/tests/tsc-references/EnumAndModuleWithSameNameAndCommonRoot.1.normal.js @@ -1,10 +1,10 @@ //// [EnumAndModuleWithSameNameAndCommonRoot.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var enumdule; -(function(enumdule) { +var enumdule = /*#__PURE__*/ function(enumdule) { enumdule[enumdule["Red"] = 0] = "Red"; enumdule[enumdule["Blue"] = 1] = "Blue"; -})(enumdule || (enumdule = {})); + return enumdule; +}(enumdule || {}); (function(enumdule) { var Point = function Point(x, y) { "use strict"; diff --git a/crates/swc/tests/tsc-references/EnumAndModuleWithSameNameAndCommonRoot.2.minified.js b/crates/swc/tests/tsc-references/EnumAndModuleWithSameNameAndCommonRoot.2.minified.js index aecb9f799e3b0..e37889df3ee0c 100644 --- a/crates/swc/tests/tsc-references/EnumAndModuleWithSameNameAndCommonRoot.2.minified.js +++ b/crates/swc/tests/tsc-references/EnumAndModuleWithSameNameAndCommonRoot.2.minified.js @@ -1,6 +1,6 @@ //// [EnumAndModuleWithSameNameAndCommonRoot.ts] -var enumdule, enumdule1; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -(enumdule1 = enumdule || (enumdule = {}))[enumdule1.Red = 0] = "Red", enumdule1[enumdule1.Blue = 1] = "Blue", (enumdule || (enumdule = {})).Point = function Point(x, y) { +var enumdule, enumdule1 = ((enumdule = enumdule1 || {})[enumdule.Red = 0] = "Red", enumdule[enumdule.Blue = 1] = "Blue", enumdule); +(enumdule1 || (enumdule1 = {})).Point = function Point(x, y) { _class_call_check(this, Point), this.x = x, this.y = y; -}, new enumdule.Point(0, 0); +}, new enumdule1.Point(0, 0); diff --git a/crates/swc/tests/tsc-references/ExportClassWhichExtendsInterfaceWithInaccessibleType.1.normal.js b/crates/swc/tests/tsc-references/ExportClassWhichExtendsInterfaceWithInaccessibleType.1.normal.js index f11bdb6021037..584c05b87ac8c 100644 --- a/crates/swc/tests/tsc-references/ExportClassWhichExtendsInterfaceWithInaccessibleType.1.normal.js +++ b/crates/swc/tests/tsc-references/ExportClassWhichExtendsInterfaceWithInaccessibleType.1.normal.js @@ -1,6 +1,5 @@ //// [ExportClassWhichExtendsInterfaceWithInaccessibleType.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { var Point2d = /*#__PURE__*/ function() { "use strict"; @@ -17,3 +16,4 @@ var A; }(); A.Point2d = Point2d; })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.1.normal.js b/crates/swc/tests/tsc-references/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.1.normal.js index cc5bdba074ccc..0097e68e4eba7 100644 --- a/crates/swc/tests/tsc-references/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.1.normal.js +++ b/crates/swc/tests/tsc-references/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.1.normal.js @@ -2,7 +2,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var A; (function(A) { var Point = function Point() { "use strict"; @@ -36,3 +35,4 @@ var A; }; A.Line = Line; })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.1.normal.js b/crates/swc/tests/tsc-references/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.1.normal.js index 93567de4e6737..81bb2ae747109 100644 --- a/crates/swc/tests/tsc-references/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.1.normal.js +++ b/crates/swc/tests/tsc-references/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.1.normal.js @@ -1,6 +1,5 @@ //// [ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { var Point = function Point() { "use strict"; @@ -12,3 +11,4 @@ var A; }; A.points = points; })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ExportClassWithInaccessibleTypeInTypeParameterConstraint.1.normal.js b/crates/swc/tests/tsc-references/ExportClassWithInaccessibleTypeInTypeParameterConstraint.1.normal.js index 206678a13878c..09bee577fe986 100644 --- a/crates/swc/tests/tsc-references/ExportClassWithInaccessibleTypeInTypeParameterConstraint.1.normal.js +++ b/crates/swc/tests/tsc-references/ExportClassWithInaccessibleTypeInTypeParameterConstraint.1.normal.js @@ -2,7 +2,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var A; (function(A) { var Point = function Point() { "use strict"; @@ -41,3 +40,4 @@ var A; }(); A.Line = Line; })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.1.normal.js b/crates/swc/tests/tsc-references/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.1.normal.js index 3df0ee2165c50..5cd4685c15430 100644 --- a/crates/swc/tests/tsc-references/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.1.normal.js +++ b/crates/swc/tests/tsc-references/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.1.normal.js @@ -1,6 +1,5 @@ //// [ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { var Point = function Point() { "use strict"; @@ -22,3 +21,4 @@ var A; } A.fromOrigin = fromOrigin; })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.1.normal.js b/crates/swc/tests/tsc-references/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.1.normal.js index 859559e57e193..2905e71a2dfef 100644 --- a/crates/swc/tests/tsc-references/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.1.normal.js +++ b/crates/swc/tests/tsc-references/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.1.normal.js @@ -1,6 +1,5 @@ //// [ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { var Point = function Point() { "use strict"; @@ -21,3 +20,4 @@ var A; } A.fromOrigin = fromOrigin; })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.1.normal.js b/crates/swc/tests/tsc-references/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.1.normal.js index 7cde23f393fe4..c7910495a2135 100644 --- a/crates/swc/tests/tsc-references/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.1.normal.js +++ b/crates/swc/tests/tsc-references/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.1.normal.js @@ -1,6 +1,5 @@ //// [ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { var Point = function Point() { "use strict"; @@ -21,3 +20,4 @@ var A; } A.fromOrigin = fromOrigin; })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.1.normal.js b/crates/swc/tests/tsc-references/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.1.normal.js index d38565adce4b6..b92731eb74d92 100644 --- a/crates/swc/tests/tsc-references/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.1.normal.js +++ b/crates/swc/tests/tsc-references/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.1.normal.js @@ -1,5 +1,4 @@ //// [ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts] -var A; (function(A) { A.Origin = { x: 0, @@ -11,3 +10,4 @@ var A; z: 0 }; })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.1.normal.js b/crates/swc/tests/tsc-references/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.1.normal.js index ebbefc5617d05..f7e8ab5c6c351 100644 --- a/crates/swc/tests/tsc-references/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.1.normal.js +++ b/crates/swc/tests/tsc-references/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.1.normal.js @@ -1,5 +1,4 @@ //// [ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts] -var A; (function(A) { A.Origin = { x: 0, @@ -11,3 +10,4 @@ var A; z: 0 }; })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ExportModuleWithAccessibleTypesOnItsExportedMembers.1.normal.js b/crates/swc/tests/tsc-references/ExportModuleWithAccessibleTypesOnItsExportedMembers.1.normal.js index 5e52108fc885c..e4f10d5e76f5e 100644 --- a/crates/swc/tests/tsc-references/ExportModuleWithAccessibleTypesOnItsExportedMembers.1.normal.js +++ b/crates/swc/tests/tsc-references/ExportModuleWithAccessibleTypesOnItsExportedMembers.1.normal.js @@ -1,6 +1,5 @@ //// [ExportModuleWithAccessibleTypesOnItsExportedMembers.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { var Point = function Point(x, y) { "use strict"; @@ -9,7 +8,6 @@ var A; this.y = y; }; A.Point = Point; - var B; (function(B) { B.Origin = new Point(0, 0); var Line = /*#__PURE__*/ function() { @@ -26,5 +24,6 @@ var A; return Line; }(); B.Line = Line; - })(B = A.B || (A.B = {})); + })(A.B || (A.B = {})); })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.1.normal.js b/crates/swc/tests/tsc-references/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.1.normal.js index d532ebc50f814..6950a0031fe56 100644 --- a/crates/swc/tests/tsc-references/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.1.normal.js +++ b/crates/swc/tests/tsc-references/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.1.normal.js @@ -1,6 +1,5 @@ //// [ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { var Point = function Point(x, y) { "use strict"; @@ -17,3 +16,4 @@ var A; end: new Point(1, 0) }; })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.1.normal.js b/crates/swc/tests/tsc-references/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.1.normal.js index 3e50ab47bedfe..5aacfd789b9f5 100644 --- a/crates/swc/tests/tsc-references/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.1.normal.js +++ b/crates/swc/tests/tsc-references/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.1.normal.js @@ -1,6 +1,5 @@ //// [ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { var Point = function Point(x, y) { "use strict"; @@ -10,3 +9,4 @@ var A; }; A.UnitSquare = null; })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.1.normal.js b/crates/swc/tests/tsc-references/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.1.normal.js index 109115c104d05..dcb9799d538d0 100644 --- a/crates/swc/tests/tsc-references/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.1.normal.js +++ b/crates/swc/tests/tsc-references/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.1.normal.js @@ -1,6 +1,5 @@ //// [ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { var B = function B() { "use strict"; @@ -8,3 +7,4 @@ var A; }; A.beez2 = new Array(); })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ExportVariableWithAccessibleTypeInTypeAnnotation.1.normal.js b/crates/swc/tests/tsc-references/ExportVariableWithAccessibleTypeInTypeAnnotation.1.normal.js index bcbd0535bc156..a397c20dc43cd 100644 --- a/crates/swc/tests/tsc-references/ExportVariableWithAccessibleTypeInTypeAnnotation.1.normal.js +++ b/crates/swc/tests/tsc-references/ExportVariableWithAccessibleTypeInTypeAnnotation.1.normal.js @@ -1,9 +1,8 @@ //// [ExportVariableWithAccessibleTypeInTypeAnnotation.ts] -var A; (function(A) { - // valid since Point is exported A.Origin = { x: 0, y: 0 }; })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/ExportVariableWithInaccessibleTypeInTypeAnnotation.1.normal.js b/crates/swc/tests/tsc-references/ExportVariableWithInaccessibleTypeInTypeAnnotation.1.normal.js index b530932c95173..3d75b9b0cd7b9 100644 --- a/crates/swc/tests/tsc-references/ExportVariableWithInaccessibleTypeInTypeAnnotation.1.normal.js +++ b/crates/swc/tests/tsc-references/ExportVariableWithInaccessibleTypeInTypeAnnotation.1.normal.js @@ -1,15 +1,13 @@ //// [ExportVariableWithInaccessibleTypeInTypeAnnotation.ts] -var A; (function(A) { - // valid since Point is exported A.Origin = { x: 0, y: 0 }; - // invalid Point3d is not exported A.Origin3d = { x: 0, y: 0, z: 0 }; })(A || (A = {})); +var A; diff --git a/crates/swc/tests/tsc-references/FunctionAndModuleWithSameNameAndCommonRoot.1.normal.js b/crates/swc/tests/tsc-references/FunctionAndModuleWithSameNameAndCommonRoot.1.normal.js index aae2c8e01584e..98c9374c977da 100644 --- a/crates/swc/tests/tsc-references/FunctionAndModuleWithSameNameAndCommonRoot.1.normal.js +++ b/crates/swc/tests/tsc-references/FunctionAndModuleWithSameNameAndCommonRoot.1.normal.js @@ -1,5 +1,4 @@ //// [function.ts] -var A; (function(A) { function Point() { return { @@ -9,17 +8,17 @@ var A; } A.Point = Point; })(A || (A = {})); -//// [module.ts] var A; +//// [module.ts] (function(A) { - var Point; (function(Point) { Point.Origin = { x: 0, y: 0 }; - })(Point = A.Point || (A.Point = {})); + })(A.Point || (A.Point = {})); })(A || (A = {})); +var A; //// [test.ts] var fn; var fn = A.Point; @@ -27,7 +26,6 @@ var cl; var cl = A.Point(); var cl = A.Point.Origin; // not expected to be an error. //// [simple.ts] -var B; (function(B) { function Point() { return { @@ -41,10 +39,11 @@ var B; x: 0, y: 0 }; - })(Point = B.Point || (B.Point = {})); + })(B.Point || (B.Point = {})); })(B || (B = {})); var fn; var fn = B.Point; // not expected to be an error. bug 840000: [corelang] Function of fundule not assignalbe as expected var cl; var cl = B.Point(); var cl = B.Point.Origin; +var B; diff --git a/crates/swc/tests/tsc-references/FunctionAndModuleWithSameNameAndCommonRoot.2.minified.js b/crates/swc/tests/tsc-references/FunctionAndModuleWithSameNameAndCommonRoot.2.minified.js index 7c76f63c05b6e..8d0db04fac0cb 100644 --- a/crates/swc/tests/tsc-references/FunctionAndModuleWithSameNameAndCommonRoot.2.minified.js +++ b/crates/swc/tests/tsc-references/FunctionAndModuleWithSameNameAndCommonRoot.2.minified.js @@ -15,16 +15,13 @@ var A, A1; //// [test.ts] A.Point, A.Point(), A.Point.Origin; //// [simple.ts] -var B; -!function(B) { - function Point() { - return { - x: 0, - y: 0 - }; - } - B.Point = Point, (Point = B.Point || (B.Point = {})).Origin = { +var B, B1; +(B1 = B || (B = {})).Point = function() { + return { x: 0, y: 0 }; -}(B || (B = {})), B.Point, B.Point(), B.Point.Origin; +}, (B1.Point || (B1.Point = {})).Origin = { + x: 0, + y: 0 +}, B.Point, B.Point(), B.Point.Origin; diff --git a/crates/swc/tests/tsc-references/FunctionAndModuleWithSameNameAndDifferentCommonRoot.1.normal.js b/crates/swc/tests/tsc-references/FunctionAndModuleWithSameNameAndDifferentCommonRoot.1.normal.js index 231d289cf06f9..d5a4f63a0ccd5 100644 --- a/crates/swc/tests/tsc-references/FunctionAndModuleWithSameNameAndDifferentCommonRoot.1.normal.js +++ b/crates/swc/tests/tsc-references/FunctionAndModuleWithSameNameAndDifferentCommonRoot.1.normal.js @@ -1,5 +1,4 @@ //// [function.ts] -var A; (function(A) { function Point() { return { @@ -9,17 +8,17 @@ var A; } A.Point = Point; })(A || (A = {})); +var A; //// [module.ts] -var B; (function(B) { - var Point; (function(Point) { Point.Origin = { x: 0, y: 0 }; - })(Point = B.Point || (B.Point = {})); + })(B.Point || (B.Point = {})); })(B || (B = {})); +var B; //// [test.ts] var fn; var fn = A.Point; diff --git a/crates/swc/tests/tsc-references/ModuleAndClassWithSameNameAndCommonRoot.1.normal.js b/crates/swc/tests/tsc-references/ModuleAndClassWithSameNameAndCommonRoot.1.normal.js index 0cbf601144a7e..ef5e768c8b8aa 100644 --- a/crates/swc/tests/tsc-references/ModuleAndClassWithSameNameAndCommonRoot.1.normal.js +++ b/crates/swc/tests/tsc-references/ModuleAndClassWithSameNameAndCommonRoot.1.normal.js @@ -1,16 +1,14 @@ //// [module.ts] -var X; (function(X) { (function(Y) { - var Point; (function(Point) { - Point.Origin = new Point(0, 0); - })(Point = Y.Point || (Y.Point = {})); + Point.Origin = new Y.Point(0, 0); + })(Y.Point || (Y.Point = {})); })(X.Y || (X.Y = {})); })(X || (X = {})); +var X; //// [classPoint.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var X; (function(X) { (function(Y) { var Point = function Point(x, y) { @@ -19,13 +17,12 @@ var X; this.x = x; this.y = y; }; - // duplicate identifier Y.Point = Point; })(X.Y || (X.Y = {})); })(X || (X = {})); +var X; //// [simple.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { A.Instance = new A(); })(A || (A = {})); @@ -34,3 +31,4 @@ var A = function A() { "use strict"; _class_call_check(this, A); }; +var A; diff --git a/crates/swc/tests/tsc-references/ModuleAndClassWithSameNameAndCommonRoot.2.minified.js b/crates/swc/tests/tsc-references/ModuleAndClassWithSameNameAndCommonRoot.2.minified.js index 9c0b459b41d65..9bea8f2413f3d 100644 --- a/crates/swc/tests/tsc-references/ModuleAndClassWithSameNameAndCommonRoot.2.minified.js +++ b/crates/swc/tests/tsc-references/ModuleAndClassWithSameNameAndCommonRoot.2.minified.js @@ -1,6 +1,6 @@ //// [module.ts] -var X, X1, Y, Point; -(Point = (Y = (X1 = X || (X = {})).Y || (X1.Y = {})).Point || (Y.Point = {})).Origin = new Point(0, 0); +var X, X1, Y; +((Y = (X1 = X || (X = {})).Y || (X1.Y = {})).Point || (Y.Point = {})).Origin = new Y.Point(0, 0); //// [classPoint.ts] var X, X1; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; diff --git a/crates/swc/tests/tsc-references/ModuleAndEnumWithSameNameAndCommonRoot.1.normal.js b/crates/swc/tests/tsc-references/ModuleAndEnumWithSameNameAndCommonRoot.1.normal.js index 380826b8c0e73..531f94250c33e 100644 --- a/crates/swc/tests/tsc-references/ModuleAndEnumWithSameNameAndCommonRoot.1.normal.js +++ b/crates/swc/tests/tsc-references/ModuleAndEnumWithSameNameAndCommonRoot.1.normal.js @@ -1,6 +1,5 @@ //// [ModuleAndEnumWithSameNameAndCommonRoot.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var enumdule; (function(enumdule) { var Point = function Point(x, y) { "use strict"; @@ -13,8 +12,9 @@ var enumdule; (function(enumdule) { enumdule[enumdule["Red"] = 0] = "Red"; enumdule[enumdule["Blue"] = 1] = "Blue"; -})(enumdule || (enumdule = {})); +})(enumdule); var x; var x = 0; var y; var y = new enumdule.Point(0, 0); +var enumdule; diff --git a/crates/swc/tests/tsc-references/ModuleAndEnumWithSameNameAndCommonRoot.2.minified.js b/crates/swc/tests/tsc-references/ModuleAndEnumWithSameNameAndCommonRoot.2.minified.js index 7a8496adc0495..979f61659078c 100644 --- a/crates/swc/tests/tsc-references/ModuleAndEnumWithSameNameAndCommonRoot.2.minified.js +++ b/crates/swc/tests/tsc-references/ModuleAndEnumWithSameNameAndCommonRoot.2.minified.js @@ -3,4 +3,4 @@ var enumdule, enumdule1; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; (enumdule || (enumdule = {})).Point = function Point(x, y) { _class_call_check(this, Point), this.x = x, this.y = y; -}, (enumdule1 = enumdule || (enumdule = {}))[enumdule1.Red = 0] = "Red", enumdule1[enumdule1.Blue = 1] = "Blue", new enumdule.Point(0, 0); +}, (enumdule1 = enumdule)[enumdule1.Red = 0] = "Red", enumdule1[enumdule1.Blue = 1] = "Blue", new enumdule.Point(0, 0); diff --git a/crates/swc/tests/tsc-references/ModuleAndFunctionWithSameNameAndCommonRoot.1.normal.js b/crates/swc/tests/tsc-references/ModuleAndFunctionWithSameNameAndCommonRoot.1.normal.js index 11530163b4d99..65248c7118498 100644 --- a/crates/swc/tests/tsc-references/ModuleAndFunctionWithSameNameAndCommonRoot.1.normal.js +++ b/crates/swc/tests/tsc-references/ModuleAndFunctionWithSameNameAndCommonRoot.1.normal.js @@ -1,16 +1,14 @@ //// [module.ts] -var A; (function(A) { - var Point; (function(Point) { Point.Origin = { x: 0, y: 0 }; - })(Point = A.Point || (A.Point = {})); + })(A.Point || (A.Point = {})); })(A || (A = {})); -//// [function.ts] var A; +//// [function.ts] (function(A) { function Point() { return { @@ -18,25 +16,23 @@ var A; y: 0 }; } - // duplicate identifier error A.Point = Point; })(A || (A = {})); +var A; //// [simple.ts] -var B; (function(B) { - var Point; (function(Point) { Point.Origin = { x: 0, y: 0 }; - })(Point = B.Point || (B.Point = {})); + })(B.Point || (B.Point = {})); function Point() { return { x: 0, y: 0 }; } - // duplicate identifier error B.Point = Point; })(B || (B = {})); +var B; diff --git a/crates/swc/tests/tsc-references/ModuleAndFunctionWithSameNameAndCommonRoot.2.minified.js b/crates/swc/tests/tsc-references/ModuleAndFunctionWithSameNameAndCommonRoot.2.minified.js index 1d05c3db0844c..37bb27c7bd72f 100644 --- a/crates/swc/tests/tsc-references/ModuleAndFunctionWithSameNameAndCommonRoot.2.minified.js +++ b/crates/swc/tests/tsc-references/ModuleAndFunctionWithSameNameAndCommonRoot.2.minified.js @@ -13,17 +13,13 @@ var A; }; }; //// [simple.ts] -var B; -!function(B) { - var Point; - function Point() { - return { - x: 0, - y: 0 - }; - } - (Point = B.Point || (B.Point = {})).Origin = { +var B, B1; +((B1 = B || (B = {})).Point || (B1.Point = {})).Origin = { + x: 0, + y: 0 +}, B1.Point = function() { + return { x: 0, y: 0 - }, B.Point = Point; -}(B || (B = {})); + }; +}; diff --git a/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedClasses.1.normal.js b/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedClasses.1.normal.js index f09cf6c6b2059..a47ece6e6ae9e 100644 --- a/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedClasses.1.normal.js +++ b/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedClasses.1.normal.js @@ -1,6 +1,5 @@ //// [ModuleWithExportedAndNonExportedClasses.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { var A1 = function A() { "use strict"; @@ -28,3 +27,4 @@ var AG = new A.AG(); // errors expected, these are not exported var a2 = new A.A2(); var ag2 = new A.A2(); +var A; diff --git a/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedEnums.1.normal.js b/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedEnums.1.normal.js index f5c9853f97f54..c501584423ef0 100644 --- a/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedEnums.1.normal.js +++ b/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedEnums.1.normal.js @@ -1,18 +1,17 @@ //// [ModuleWithExportedAndNonExportedEnums.ts] -var A; (function(A) { - var Color; (function(Color) { Color[Color["Red"] = 0] = "Red"; Color[Color["Blue"] = 1] = "Blue"; - })(Color = A.Color || (A.Color = {})); - var Day; - (function(Day) { + })(A.Color || (A.Color = {})); + var Day = /*#__PURE__*/ function(Day) { Day[Day["Monday"] = 0] = "Monday"; Day[Day["Tuesday"] = 1] = "Tuesday"; - })(Day || (Day = {})); + return Day; + }({}); })(A || (A = {})); // not an error since exported var a = A.Color.Red; // error not exported var b = A.Day.Monday; +var A; diff --git a/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedEnums.2.minified.js b/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedEnums.2.minified.js index fd9fe60bbfb1c..e4eaae2d44ea9 100644 --- a/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedEnums.2.minified.js +++ b/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedEnums.2.minified.js @@ -1,3 +1,3 @@ //// [ModuleWithExportedAndNonExportedEnums.ts] -var A, A1, Day, Color, Day1; -(Color = (A1 = A || (A = {})).Color || (A1.Color = {}))[Color.Red = 0] = "Red", Color[Color.Blue = 1] = "Blue", (Day1 = Day || (Day = {}))[Day1.Monday = 0] = "Monday", Day1[Day1.Tuesday = 1] = "Tuesday", A.Color.Red, A.Day.Monday; +var A, A1, Color; +(Color = (A1 = A || (A = {})).Color || (A1.Color = {}))[Color.Red = 0] = "Red", Color[Color.Blue = 1] = "Blue", A.Color.Red, A.Day.Monday; diff --git a/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedFunctions.1.normal.js b/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedFunctions.1.normal.js index e49c0fb4b5791..915ec61181fc8 100644 --- a/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedFunctions.1.normal.js +++ b/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedFunctions.1.normal.js @@ -1,5 +1,4 @@ //// [ModuleWithExportedAndNonExportedFunctions.ts] -var A; (function(A) { function fn(s) { return true; @@ -24,3 +23,4 @@ var fng = A.fng; // bug 838015 // these should be errors since the functions are not exported var fn2 = A.fn2; var fng2 = A.fng2; +var A; diff --git a/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedImportAlias.1.normal.js b/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedImportAlias.1.normal.js index 8b1e54362960a..fe6738619c420 100644 --- a/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedImportAlias.1.normal.js +++ b/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedImportAlias.1.normal.js @@ -1,6 +1,5 @@ //// [ModuleWithExportedAndNonExportedImportAlias.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var B; (function(B) { var Line = function Line(start, end) { "use strict"; @@ -10,7 +9,6 @@ var B; }; B.Line = Line; })(B || (B = {})); -var Geometry; (function(Geometry) { Geometry.Points = A; var Lines = B; @@ -18,7 +16,6 @@ var Geometry; x: 0, y: 0 }; - // this is valid since B.Line _is_ visible outside Geometry Geometry.Unit = new Lines.Line(Geometry.Origin, { x: 1, y: 0 @@ -32,3 +29,4 @@ var line; var line = Geometry.Unit; // not expected to work since non are exported var line = Geometry.Lines.Line; +var B, Geometry; diff --git a/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedVariables.1.normal.js b/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedVariables.1.normal.js index d2b8d3b97fa59..2679953978922 100644 --- a/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedVariables.1.normal.js +++ b/crates/swc/tests/tsc-references/ModuleWithExportedAndNonExportedVariables.1.normal.js @@ -1,5 +1,4 @@ //// [ModuleWithExportedAndNonExportedVariables.ts] -var A; (function(A) { A.x = 'hello world'; var y = 12; @@ -8,3 +7,4 @@ var x; var x = A.x; // Error, since y is not exported var y = A.y; +var A; diff --git a/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.1.normal.js b/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.1.normal.js index 10a58c8fe0259..f215d80affd16 100644 --- a/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.1.normal.js +++ b/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.1.normal.js @@ -1,6 +1,5 @@ //// [TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { var Point = function Point() { "use strict"; @@ -27,7 +26,6 @@ var A; // ensure merges as expected var p; var p; -var X; (function(X) { (function(Y) { (function(Z) { @@ -40,17 +38,16 @@ var X; })(X.Y || (X.Y = {})); })(X || (X = {})); (function(X) { - var Y; (function(Y) { - var Z; (function(Z) { var Line = function Line() { "use strict"; _class_call_check(this, Line); }; - })(Z = Y.Z || (Y.Z = {})); - })(Y = X.Y || (X.Y = {})); + })(Y.Z || (Y.Z = {})); + })(X.Y || (X.Y = {})); })(X || (X = {})); // ensure merges as expected var l; var l; +var A, X; diff --git a/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.1.normal.js b/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.1.normal.js index 7fc298acfeb9c..00c853942cf32 100644 --- a/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.1.normal.js +++ b/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.1.normal.js @@ -1,7 +1,5 @@ //// [part1.ts] -var A; (function(A) { - var Utils; (function(Utils) { function mirror(p) { return { @@ -10,19 +8,18 @@ var A; }; } Utils.mirror = mirror; - })(Utils = A.Utils || (A.Utils = {})); + })(A.Utils || (A.Utils = {})); A.Origin = { x: 0, y: 0 }; })(A || (A = {})); +var A; //// [part2.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { // not a collision, since we don't export var Origin = "0,0"; - var Utils; (function(Utils) { var Plane = function Plane(tl, br) { "use strict"; @@ -31,8 +28,9 @@ var A; this.br = br; }; Utils.Plane = Plane; - })(Utils = A.Utils || (A.Utils = {})); + })(A.Utils || (A.Utils = {})); })(A || (A = {})); +var A; //// [part3.ts] // test the merging actually worked var o; diff --git a/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.1.normal.js b/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.1.normal.js index b1668967dadc3..31d8e0ce815aa 100644 --- a/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.1.normal.js +++ b/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.1.normal.js @@ -1,6 +1,5 @@ //// [TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { var Point = function Point() { "use strict"; @@ -13,10 +12,8 @@ var A; "use strict"; _class_call_check(this, Point); }; - // expected error A.Point = Point; })(A || (A = {})); -var X; (function(X) { (function(Y) { (function(Z) { @@ -29,16 +26,14 @@ var X; })(X.Y || (X.Y = {})); })(X || (X = {})); (function(X) { - var Y; (function(Y) { - var Z; (function(Z) { var Line = function Line() { "use strict"; _class_call_check(this, Line); }; - // expected error Z.Line = Line; - })(Z = Y.Z || (Y.Z = {})); - })(Y = X.Y || (X.Y = {})); + })(Y.Z || (Y.Z = {})); + })(X.Y || (X.Y = {})); })(X || (X = {})); +var A, X; diff --git a/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.1.normal.js b/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.1.normal.js index 8d6cf4b7ac7df..0f6476d5fe163 100644 --- a/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.1.normal.js +++ b/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.1.normal.js @@ -1,7 +1,5 @@ //// [part1.ts] -export var A; (function(A) { - var Utils; (function(Utils) { function mirror(p) { return { @@ -10,22 +8,20 @@ export var A; }; } Utils.mirror = mirror; - })(Utils = A.Utils || (A.Utils = {})); + })(A.Utils || (A.Utils = {})); A.Origin = { x: 0, y: 0 }; })(A || (A = {})); +export var A; //// [part2.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -export var A; (function(A) { - // collision with 'Origin' var in other part of merged module A.Origin = { x: 0, y: 0 }; - var Utils; (function(Utils) { var Plane = function Plane(tl, br) { "use strict"; @@ -34,5 +30,6 @@ export var A; this.br = br; }; Utils.Plane = Plane; - })(Utils = A.Utils || (A.Utils = {})); + })(A.Utils || (A.Utils = {})); })(A || (A = {})); +export var A; diff --git a/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.2.minified.js b/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.2.minified.js index f9ce03b67751d..99f8f87b52a8d 100644 --- a/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.2.minified.js +++ b/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.2.minified.js @@ -1,7 +1,5 @@ //// [part1.ts] var A; -var A1; -export { A1 as A }; ((A = A1 || (A1 = {})).Utils || (A.Utils = {})).mirror = function(p) { return { x: p.y, @@ -11,14 +9,16 @@ export { A1 as A }; x: 0, y: 0 }; +var A1; +export { A1 as A }; //// [part2.ts] var A; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A1; -export { A1 as A }; (A = A1 || (A1 = {})).Origin = { x: 0, y: 0 }, (A.Utils || (A.Utils = {})).Plane = function Plane(tl, br) { _class_call_check(this, Plane), this.tl = tl, this.br = br; }; +var A1; +export { A1 as A }; diff --git a/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.1.normal.js b/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.1.normal.js index 0d3368596f73e..f81e7e5c65e2a 100644 --- a/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.1.normal.js +++ b/crates/swc/tests/tsc-references/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.1.normal.js @@ -1,17 +1,15 @@ //// [TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { (function(B) {})(A.B || (A.B = {})); })(A || (A = {})); (function(A) { - var B; (function(B) {})(B || (B = {})); + var B; })(A || (A = {})); // ensure the right var decl is exported var x; var x = A.B.x; -var X; (function(X) { (function(Y) { (function(Z) { @@ -24,9 +22,7 @@ var X; })(X.Y || (X.Y = {})); })(X || (X = {})); (function(X) { - var Y; (function(Y) { - var Z; (function(Z) { var Line = function Line() { "use strict"; @@ -34,8 +30,10 @@ var X; }; Z.Line = Line; })(Z || (Z = {})); - })(Y = X.Y || (X.Y = {})); + var Z; + })(X.Y || (X.Y = {})); })(X || (X = {})); // make sure merging works as expected var l; var l; +var A, X; diff --git a/crates/swc/tests/tsc-references/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.1.normal.js b/crates/swc/tests/tsc-references/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.1.normal.js index 0fd5d446f5071..822c1058037fb 100644 --- a/crates/swc/tests/tsc-references/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.1.normal.js +++ b/crates/swc/tests/tsc-references/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.1.normal.js @@ -1,9 +1,6 @@ //// [part1.ts] -var Root; (function(Root) { - var A; (function(A) { - var Utils; (function(Utils) { function mirror(p) { return { @@ -12,21 +9,18 @@ var Root; }; } Utils.mirror = mirror; - })(Utils = A.Utils || (A.Utils = {})); - })(A = Root.A || (Root.A = {})); + })(A.Utils || (A.Utils = {})); + })(Root.A || (Root.A = {})); })(Root || (Root = {})); +var Root; //// [part2.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var otherRoot; (function(otherRoot) { - var A; (function(A) { - // have to be fully qualified since in different root A.Origin = { x: 0, y: 0 }; - var Utils; (function(Utils) { var Plane = function Plane(tl, br) { "use strict"; @@ -35,6 +29,7 @@ var otherRoot; this.br = br; }; Utils.Plane = Plane; - })(Utils = A.Utils || (A.Utils = {})); - })(A = otherRoot.A || (otherRoot.A = {})); + })(A.Utils || (A.Utils = {})); + })(otherRoot.A || (otherRoot.A = {})); })(otherRoot || (otherRoot = {})); +var otherRoot; diff --git a/crates/swc/tests/tsc-references/TwoInternalModulesWithTheSameNameAndSameCommonRoot.1.normal.js b/crates/swc/tests/tsc-references/TwoInternalModulesWithTheSameNameAndSameCommonRoot.1.normal.js index 0d433f098d35e..4921ee2d58634 100644 --- a/crates/swc/tests/tsc-references/TwoInternalModulesWithTheSameNameAndSameCommonRoot.1.normal.js +++ b/crates/swc/tests/tsc-references/TwoInternalModulesWithTheSameNameAndSameCommonRoot.1.normal.js @@ -1,7 +1,5 @@ //// [part1.ts] -var A; (function(A) { - var Utils; (function(Utils) { function mirror(p) { return { @@ -10,17 +8,16 @@ var A; }; } Utils.mirror = mirror; - })(Utils = A.Utils || (A.Utils = {})); + })(A.Utils || (A.Utils = {})); })(A || (A = {})); +var A; //// [part2.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { A.Origin = { x: 0, y: 0 }; - var Utils; (function(Utils) { var Plane = function Plane(tl, br) { "use strict"; @@ -29,8 +26,9 @@ var A; this.br = br; }; Utils.Plane = Plane; - })(Utils = A.Utils || (A.Utils = {})); + })(A.Utils || (A.Utils = {})); })(A || (A = {})); +var A; //// [part3.ts] // test the merging actually worked var o; diff --git a/crates/swc/tests/tsc-references/TypeGuardWithEnumUnion.1.normal.js b/crates/swc/tests/tsc-references/TypeGuardWithEnumUnion.1.normal.js index 1718b5a421e59..f0aaa95a36c91 100644 --- a/crates/swc/tests/tsc-references/TypeGuardWithEnumUnion.1.normal.js +++ b/crates/swc/tests/tsc-references/TypeGuardWithEnumUnion.1.normal.js @@ -1,11 +1,11 @@ //// [TypeGuardWithEnumUnion.ts] import { _ as _type_of } from "@swc/helpers/_/_type_of"; -var Color; -(function(Color) { +var Color = /*#__PURE__*/ function(Color) { Color[Color["R"] = 0] = "R"; Color[Color["G"] = 1] = "G"; Color[Color["B"] = 2] = "B"; -})(Color || (Color = {})); + return Color; +}(Color || {}); function f1(x) { if (typeof x === "number") { var y = x; diff --git a/crates/swc/tests/tsc-references/TypeGuardWithEnumUnion.2.minified.js b/crates/swc/tests/tsc-references/TypeGuardWithEnumUnion.2.minified.js index d94cc1dcc4cce..d80228eeb29d6 100644 --- a/crates/swc/tests/tsc-references/TypeGuardWithEnumUnion.2.minified.js +++ b/crates/swc/tests/tsc-references/TypeGuardWithEnumUnion.2.minified.js @@ -1,4 +1,3 @@ //// [TypeGuardWithEnumUnion.ts] -var Color, Color1; import "@swc/helpers/_/_type_of"; -(Color1 = Color || (Color = {}))[Color1.R = 0] = "R", Color1[Color1.G = 1] = "G", Color1[Color1.B = 2] = "B"; +var Color, Color1 = ((Color = Color1 || {})[Color.R = 0] = "R", Color[Color.G = 1] = "G", Color[Color.B = 2] = "B", Color); diff --git a/crates/swc/tests/tsc-references/additionOperatorWithAnyAndEveryType.1.normal.js b/crates/swc/tests/tsc-references/additionOperatorWithAnyAndEveryType.1.normal.js index 6daf53e7f4077..382ec25a7ff02 100644 --- a/crates/swc/tests/tsc-references/additionOperatorWithAnyAndEveryType.1.normal.js +++ b/crates/swc/tests/tsc-references/additionOperatorWithAnyAndEveryType.1.normal.js @@ -9,13 +9,12 @@ var C = /*#__PURE__*/ function() { C.foo = function foo() {}; return C; }(); -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; -})(E || (E = {})); -var M; + return E; +}(E || {}); (function(M) {})(M || (M = {})); var a; var b; @@ -49,3 +48,4 @@ var r19 = a + { var r20 = a + function(a) { return a; }; +var M; diff --git a/crates/swc/tests/tsc-references/additionOperatorWithAnyAndEveryType.2.minified.js b/crates/swc/tests/tsc-references/additionOperatorWithAnyAndEveryType.2.minified.js index 6c5527895347d..18e0fc1aae1c3 100644 --- a/crates/swc/tests/tsc-references/additionOperatorWithAnyAndEveryType.2.minified.js +++ b/crates/swc/tests/tsc-references/additionOperatorWithAnyAndEveryType.2.minified.js @@ -1,9 +1,9 @@ //// [additionOperatorWithAnyAndEveryType.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var E, E1, M, C = /*#__PURE__*/ function() { +var E, M, C = /*#__PURE__*/ function() { function C() { _class_call_check(this, C); } return C.foo = function() {}, C; -}(); -(E = E1 || (E1 = {}))[E.a = 0] = "a", E[E.b = 1] = "b", E[E.c = 2] = "c", M || (M = {}), new C(); +}(), E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E[E.c = 2] = "c", E); +M || (M = {}), new C(); diff --git a/crates/swc/tests/tsc-references/additionOperatorWithInvalidOperands.1.normal.js b/crates/swc/tests/tsc-references/additionOperatorWithInvalidOperands.1.normal.js index 4b9458e86b942..28c28b719b8b6 100644 --- a/crates/swc/tests/tsc-references/additionOperatorWithInvalidOperands.1.normal.js +++ b/crates/swc/tests/tsc-references/additionOperatorWithInvalidOperands.1.normal.js @@ -9,13 +9,12 @@ var C = /*#__PURE__*/ function() { C.foo = function foo() {}; return C; }(); -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; -})(E || (E = {})); -var M; + return E; +}(E || {}); (function(M) {})(M || (M = {})); var a; var b; @@ -45,3 +44,4 @@ var r17 = b + C; var r18 = 0 + new C(); var r19 = 0 + C.foo(); var r20 = 0 + M; +var M; diff --git a/crates/swc/tests/tsc-references/additionOperatorWithInvalidOperands.2.minified.js b/crates/swc/tests/tsc-references/additionOperatorWithInvalidOperands.2.minified.js index b71e99345562b..b2d86af4b1a7d 100644 --- a/crates/swc/tests/tsc-references/additionOperatorWithInvalidOperands.2.minified.js +++ b/crates/swc/tests/tsc-references/additionOperatorWithInvalidOperands.2.minified.js @@ -1,9 +1,9 @@ //// [additionOperatorWithInvalidOperands.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var E, E1, M, C = /*#__PURE__*/ function() { +var E, M, C = /*#__PURE__*/ function() { function C() { _class_call_check(this, C); } return C.foo = function() {}, C; -}(); -(E = E1 || (E1 = {}))[E.a = 0] = "a", E[E.b = 1] = "b", E[E.c = 2] = "c", M || (M = {}), new C(), C.foo(); +}(), E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E[E.c = 2] = "c", E); +M || (M = {}), new C(), C.foo(); diff --git a/crates/swc/tests/tsc-references/additionOperatorWithNullValueAndValidOperator.1.normal.js b/crates/swc/tests/tsc-references/additionOperatorWithNullValueAndValidOperator.1.normal.js index fd118fe459eb5..13025c16d64e5 100644 --- a/crates/swc/tests/tsc-references/additionOperatorWithNullValueAndValidOperator.1.normal.js +++ b/crates/swc/tests/tsc-references/additionOperatorWithNullValueAndValidOperator.1.normal.js @@ -1,11 +1,11 @@ //// [additionOperatorWithNullValueAndValidOperator.ts] // If one operand is the null or undefined value, it is treated as having the type of the other operand. -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; -})(E || (E = {})); + return E; +}(E || {}); var a; var b; var c; diff --git a/crates/swc/tests/tsc-references/additionOperatorWithNullValueAndValidOperator.2.minified.js b/crates/swc/tests/tsc-references/additionOperatorWithNullValueAndValidOperator.2.minified.js index f529f9cafce3d..44c42364a4bed 100644 --- a/crates/swc/tests/tsc-references/additionOperatorWithNullValueAndValidOperator.2.minified.js +++ b/crates/swc/tests/tsc-references/additionOperatorWithNullValueAndValidOperator.2.minified.js @@ -1,3 +1,2 @@ //// [additionOperatorWithNullValueAndValidOperator.ts] -var E, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", E1[E1.c = 2] = "c"; +var E, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E[E.c = 2] = "c", E); diff --git a/crates/swc/tests/tsc-references/additionOperatorWithNumberAndEnum.1.normal.js b/crates/swc/tests/tsc-references/additionOperatorWithNumberAndEnum.1.normal.js index b3b3c7ac7dd32..84e682460c978 100644 --- a/crates/swc/tests/tsc-references/additionOperatorWithNumberAndEnum.1.normal.js +++ b/crates/swc/tests/tsc-references/additionOperatorWithNumberAndEnum.1.normal.js @@ -1,14 +1,14 @@ //// [additionOperatorWithNumberAndEnum.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; -})(E || (E = {})); -var F; -(function(F) { + return E; +}(E || {}); +var F = /*#__PURE__*/ function(F) { F[F["c"] = 0] = "c"; F[F["d"] = 1] = "d"; -})(F || (F = {})); + return F; +}(F || {}); var a; var b; var c; diff --git a/crates/swc/tests/tsc-references/additionOperatorWithNumberAndEnum.2.minified.js b/crates/swc/tests/tsc-references/additionOperatorWithNumberAndEnum.2.minified.js index 4ae8f17e89efe..0944015623a9a 100644 --- a/crates/swc/tests/tsc-references/additionOperatorWithNumberAndEnum.2.minified.js +++ b/crates/swc/tests/tsc-references/additionOperatorWithNumberAndEnum.2.minified.js @@ -1,3 +1,2 @@ //// [additionOperatorWithNumberAndEnum.ts] -var E, F, E1, F1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", (F1 = F || (F = {}))[F1.c = 0] = "c", F1[F1.d = 1] = "d"; +var E, F, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E), F1 = ((F = F1 || {})[F.c = 0] = "c", F[F.d = 1] = "d", F); diff --git a/crates/swc/tests/tsc-references/additionOperatorWithStringAndEveryType.1.normal.js b/crates/swc/tests/tsc-references/additionOperatorWithStringAndEveryType.1.normal.js index 03d30688cd0bd..0d8c163e0ea02 100644 --- a/crates/swc/tests/tsc-references/additionOperatorWithStringAndEveryType.1.normal.js +++ b/crates/swc/tests/tsc-references/additionOperatorWithStringAndEveryType.1.normal.js @@ -1,10 +1,10 @@ //// [additionOperatorWithStringAndEveryType.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; -})(E || (E = {})); + return E; +}(E || {}); var a; var b; var c; diff --git a/crates/swc/tests/tsc-references/additionOperatorWithStringAndEveryType.2.minified.js b/crates/swc/tests/tsc-references/additionOperatorWithStringAndEveryType.2.minified.js index 489e001a73fa9..a48e6da6c92d3 100644 --- a/crates/swc/tests/tsc-references/additionOperatorWithStringAndEveryType.2.minified.js +++ b/crates/swc/tests/tsc-references/additionOperatorWithStringAndEveryType.2.minified.js @@ -1,3 +1,2 @@ //// [additionOperatorWithStringAndEveryType.ts] -var E, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", E1[E1.c = 2] = "c"; +var E, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E[E.c = 2] = "c", E); diff --git a/crates/swc/tests/tsc-references/additionOperatorWithTypeParameter.1.normal.js b/crates/swc/tests/tsc-references/additionOperatorWithTypeParameter.1.normal.js index 38be2eaebf299..d99dd4eaf796f 100644 --- a/crates/swc/tests/tsc-references/additionOperatorWithTypeParameter.1.normal.js +++ b/crates/swc/tests/tsc-references/additionOperatorWithTypeParameter.1.normal.js @@ -1,10 +1,10 @@ //// [additionOperatorWithTypeParameter.ts] // type parameter type is not a valid operand of addition operator -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; -})(E || (E = {})); + return E; +}(E || {}); function foo(t, u) { var a; var b; diff --git a/crates/swc/tests/tsc-references/additionOperatorWithTypeParameter.2.minified.js b/crates/swc/tests/tsc-references/additionOperatorWithTypeParameter.2.minified.js index 74d02f97faad6..d5a144be3bb4d 100644 --- a/crates/swc/tests/tsc-references/additionOperatorWithTypeParameter.2.minified.js +++ b/crates/swc/tests/tsc-references/additionOperatorWithTypeParameter.2.minified.js @@ -1,3 +1,2 @@ //// [additionOperatorWithTypeParameter.ts] -var E, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b"; +var E, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E); diff --git a/crates/swc/tests/tsc-references/additionOperatorWithUndefinedValueAndValidOperator.1.normal.js b/crates/swc/tests/tsc-references/additionOperatorWithUndefinedValueAndValidOperator.1.normal.js index 054d6952afac0..e831cf2298776 100644 --- a/crates/swc/tests/tsc-references/additionOperatorWithUndefinedValueAndValidOperator.1.normal.js +++ b/crates/swc/tests/tsc-references/additionOperatorWithUndefinedValueAndValidOperator.1.normal.js @@ -1,11 +1,11 @@ //// [additionOperatorWithUndefinedValueAndValidOperator.ts] // If one operand is the null or undefined value, it is treated as having the type of the other operand. -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; -})(E || (E = {})); + return E; +}(E || {}); var a; var b; var c; diff --git a/crates/swc/tests/tsc-references/additionOperatorWithUndefinedValueAndValidOperator.2.minified.js b/crates/swc/tests/tsc-references/additionOperatorWithUndefinedValueAndValidOperator.2.minified.js index 6d15ae8439670..a24b11dc72df3 100644 --- a/crates/swc/tests/tsc-references/additionOperatorWithUndefinedValueAndValidOperator.2.minified.js +++ b/crates/swc/tests/tsc-references/additionOperatorWithUndefinedValueAndValidOperator.2.minified.js @@ -1,3 +1,2 @@ //// [additionOperatorWithUndefinedValueAndValidOperator.ts] -var E, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", E1[E1.c = 2] = "c"; +var E, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E[E.c = 2] = "c", E); diff --git a/crates/swc/tests/tsc-references/ambientInsideNonAmbient.1.normal.js b/crates/swc/tests/tsc-references/ambientInsideNonAmbient.1.normal.js index 17fc7da7e6cbc..bc4e9ba4e87db 100644 --- a/crates/swc/tests/tsc-references/ambientInsideNonAmbient.1.normal.js +++ b/crates/swc/tests/tsc-references/ambientInsideNonAmbient.1.normal.js @@ -1,5 +1,4 @@ //// [ambientInsideNonAmbient.ts] -var M; (function(M) {})(M || (M = {})); -var M2; (function(M2) {})(M2 || (M2 = {})); +var M, M2; diff --git a/crates/swc/tests/tsc-references/amdImportAsPrimaryExpression.1.normal.js b/crates/swc/tests/tsc-references/amdImportAsPrimaryExpression.1.normal.js index 05effdda3138e..9a59c91222584 100644 --- a/crates/swc/tests/tsc-references/amdImportAsPrimaryExpression.1.normal.js +++ b/crates/swc/tests/tsc-references/amdImportAsPrimaryExpression.1.normal.js @@ -13,12 +13,12 @@ define([ return E1; } }); - var E1; - (function(E1) { + var E1 = /*#__PURE__*/ function(E1) { E1[E1["A"] = 0] = "A"; E1[E1["B"] = 1] = "B"; E1[E1["C"] = 2] = "C"; - })(E1 || (E1 = {})); + return E1; + }({}); }); //// [foo_1.ts] define([ diff --git a/crates/swc/tests/tsc-references/amdImportAsPrimaryExpression.2.minified.js b/crates/swc/tests/tsc-references/amdImportAsPrimaryExpression.2.minified.js index 0f4b82e040162..61a40ed55f5b4 100644 --- a/crates/swc/tests/tsc-references/amdImportAsPrimaryExpression.2.minified.js +++ b/crates/swc/tests/tsc-references/amdImportAsPrimaryExpression.2.minified.js @@ -3,15 +3,15 @@ define([ "require", "exports" ], function(require, exports) { - var E1, E11; Object.defineProperty(exports, "__esModule", { value: !0 }), Object.defineProperty(exports, "E1", { enumerable: !0, get: function() { - return E1; + return E11; } - }), (E11 = E1 || (E1 = {}))[E11.A = 0] = "A", E11[E11.B = 1] = "B", E11[E11.C = 2] = "C"; + }); + var E1, E11 = ((E1 = {})[E1.A = 0] = "A", E1[E1.B = 1] = "B", E1[E1.C = 2] = "C", E1); }); //// [foo_1.ts] define([ diff --git a/crates/swc/tests/tsc-references/amdImportNotAsPrimaryExpression.1.normal.js b/crates/swc/tests/tsc-references/amdImportNotAsPrimaryExpression.1.normal.js index f415aa7c022c6..719958a6eb4d5 100644 --- a/crates/swc/tests/tsc-references/amdImportNotAsPrimaryExpression.1.normal.js +++ b/crates/swc/tests/tsc-references/amdImportNotAsPrimaryExpression.1.normal.js @@ -28,12 +28,12 @@ define([ this.m1 = 42; }; C1.s1 = true; - var E1; - (function(E1) { + var E1 = /*#__PURE__*/ function(E1) { E1[E1["A"] = 0] = "A"; E1[E1["B"] = 1] = "B"; E1[E1["C"] = 2] = "C"; - })(E1 || (E1 = {})); + return E1; + }({}); }); //// [foo_1.ts] define([ diff --git a/crates/swc/tests/tsc-references/amdImportNotAsPrimaryExpression.2.minified.js b/crates/swc/tests/tsc-references/amdImportNotAsPrimaryExpression.2.minified.js index c1d94f1291106..41dfd78eda043 100644 --- a/crates/swc/tests/tsc-references/amdImportNotAsPrimaryExpression.2.minified.js +++ b/crates/swc/tests/tsc-references/amdImportNotAsPrimaryExpression.2.minified.js @@ -19,10 +19,11 @@ define([ return E11; } }); - var E1, E11, C1 = function C1() { + var E1, C1 = function C1() { _class_call_check._(this, C1), this.m1 = 42; }; - C1.s1 = !0, (E1 = E11 || (E11 = {}))[E1.A = 0] = "A", E1[E1.B = 1] = "B", E1[E1.C = 2] = "C"; + C1.s1 = !0; + var E11 = ((E1 = {})[E1.A = 0] = "A", E1[E1.B = 1] = "B", E1[E1.C = 2] = "C", E1); }); //// [foo_1.ts] define([ diff --git a/crates/swc/tests/tsc-references/anyAssignabilityInInheritance.1.normal.js b/crates/swc/tests/tsc-references/anyAssignabilityInInheritance.1.normal.js index 0366883628827..474ca025ad1f8 100644 --- a/crates/swc/tests/tsc-references/anyAssignabilityInInheritance.1.normal.js +++ b/crates/swc/tests/tsc-references/anyAssignabilityInInheritance.1.normal.js @@ -22,10 +22,10 @@ var A2 = function A2() { var r3 = foo3(a); // any var r3 = foo3(a); // any var r3 = foo3(a); // any -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var r3 = foo3(a); // any function f() {} (function(f) { diff --git a/crates/swc/tests/tsc-references/anyAssignabilityInInheritance.2.minified.js b/crates/swc/tests/tsc-references/anyAssignabilityInInheritance.2.minified.js index a8e23114ebf16..ae87a070d318a 100644 --- a/crates/swc/tests/tsc-references/anyAssignabilityInInheritance.2.minified.js +++ b/crates/swc/tests/tsc-references/anyAssignabilityInInheritance.2.minified.js @@ -1,8 +1,10 @@ //// [anyAssignabilityInInheritance.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; +foo2(a), foo3(a), foo3(a), foo3(a), foo3(a), foo3(a), foo3(a), foo3(a), foo3(a), foo3(a), foo3(a), foo3(a); +var E, a, E1 = ((E = E1 || {})[E.A = 0] = "A", E); function f() {} -foo2(a), foo3(a), foo3(a), foo3(a), foo3(a), foo3(a), foo3(a), foo3(a), foo3(a), foo3(a), foo3(a), foo3(a), (E = E1 || (E1 = {}))[E.A = 0] = "A", foo3(a), (f || (f = {})).bar = 1, foo3(a); -var E, a, E1, CC = function CC() { +foo3(a), (f || (f = {})).bar = 1, foo3(a); +var CC = function CC() { _class_call_check(this, CC); }; (CC || (CC = {})).bar = 1, foo3(a), foo3(a), foo3(a); diff --git a/crates/swc/tests/tsc-references/anyAssignableToEveryType.1.normal.js b/crates/swc/tests/tsc-references/anyAssignableToEveryType.1.normal.js index 650c42cf3876d..ce948ec6d95ad 100644 --- a/crates/swc/tests/tsc-references/anyAssignableToEveryType.1.normal.js +++ b/crates/swc/tests/tsc-references/anyAssignableToEveryType.1.normal.js @@ -7,10 +7,10 @@ var C = function C() { }; var ac; var ai; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var ae; var b = a; var c = a; diff --git a/crates/swc/tests/tsc-references/anyAssignableToEveryType.2.minified.js b/crates/swc/tests/tsc-references/anyAssignableToEveryType.2.minified.js index 440abe140c875..62abc2ac8c096 100644 --- a/crates/swc/tests/tsc-references/anyAssignableToEveryType.2.minified.js +++ b/crates/swc/tests/tsc-references/anyAssignableToEveryType.2.minified.js @@ -1,4 +1,3 @@ //// [anyAssignableToEveryType.ts] -var E, E1; import "@swc/helpers/_/_class_call_check"; -(E1 = E || (E = {}))[E1.A = 0] = "A"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); diff --git a/crates/swc/tests/tsc-references/anyAssignableToEveryType2.1.normal.js b/crates/swc/tests/tsc-references/anyAssignableToEveryType2.1.normal.js index adbba21b081a4..ba7dac5d9430d 100644 --- a/crates/swc/tests/tsc-references/anyAssignableToEveryType2.1.normal.js +++ b/crates/swc/tests/tsc-references/anyAssignableToEveryType2.1.normal.js @@ -9,10 +9,10 @@ var A2 = function A2() { "use strict"; _class_call_check(this, A2); }; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); function f() {} (function(f) { f.bar = 1; diff --git a/crates/swc/tests/tsc-references/anyAssignableToEveryType2.2.minified.js b/crates/swc/tests/tsc-references/anyAssignableToEveryType2.2.minified.js index b25ab2e6f67ba..eb37918ea04eb 100644 --- a/crates/swc/tests/tsc-references/anyAssignableToEveryType2.2.minified.js +++ b/crates/swc/tests/tsc-references/anyAssignableToEveryType2.2.minified.js @@ -1,8 +1,9 @@ //// [anyAssignableToEveryType2.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); function f() {} -(E = E1 || (E1 = {}))[E.A = 0] = "A", (f || (f = {})).bar = 1; -var E, E1, c = function c() { +(f || (f = {})).bar = 1; +var c = function c() { _class_call_check(this, c); }; (c || (c = {})).bar = 1; diff --git a/crates/swc/tests/tsc-references/arithmeticOperatorWithEnum.1.normal.js b/crates/swc/tests/tsc-references/arithmeticOperatorWithEnum.1.normal.js index 07a3c8bc5ecfb..98c5c63aa2f68 100644 --- a/crates/swc/tests/tsc-references/arithmeticOperatorWithEnum.1.normal.js +++ b/crates/swc/tests/tsc-references/arithmeticOperatorWithEnum.1.normal.js @@ -1,10 +1,10 @@ //// [arithmeticOperatorWithEnum.ts] // operands of an enum type are treated as having the primitive type Number. -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; -})(E || (E = {})); + return E; +}(E || {}); var a; var b; var c; diff --git a/crates/swc/tests/tsc-references/arithmeticOperatorWithEnum.2.minified.js b/crates/swc/tests/tsc-references/arithmeticOperatorWithEnum.2.minified.js index 9fb293eb4cfe3..64049e4b7f6c5 100644 --- a/crates/swc/tests/tsc-references/arithmeticOperatorWithEnum.2.minified.js +++ b/crates/swc/tests/tsc-references/arithmeticOperatorWithEnum.2.minified.js @@ -1,3 +1,2 @@ //// [arithmeticOperatorWithEnum.ts] -var E, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b"; +var E, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E); diff --git a/crates/swc/tests/tsc-references/arithmeticOperatorWithEnumUnion.1.normal.js b/crates/swc/tests/tsc-references/arithmeticOperatorWithEnumUnion.1.normal.js index 2c9155bc19aea..9f67540fdf32c 100644 --- a/crates/swc/tests/tsc-references/arithmeticOperatorWithEnumUnion.1.normal.js +++ b/crates/swc/tests/tsc-references/arithmeticOperatorWithEnumUnion.1.normal.js @@ -1,15 +1,15 @@ //// [arithmeticOperatorWithEnumUnion.ts] // operands of an enum type are treated as having the primitive type Number. -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; -})(E || (E = {})); -var F; -(function(F) { + return E; +}(E || {}); +var F = /*#__PURE__*/ function(F) { F[F["c"] = 0] = "c"; F[F["d"] = 1] = "d"; -})(F || (F = {})); + return F; +}(F || {}); var a; var b; var c; diff --git a/crates/swc/tests/tsc-references/arithmeticOperatorWithEnumUnion.2.minified.js b/crates/swc/tests/tsc-references/arithmeticOperatorWithEnumUnion.2.minified.js index fa30ce503a739..8514f6b26dfa4 100644 --- a/crates/swc/tests/tsc-references/arithmeticOperatorWithEnumUnion.2.minified.js +++ b/crates/swc/tests/tsc-references/arithmeticOperatorWithEnumUnion.2.minified.js @@ -1,3 +1,2 @@ //// [arithmeticOperatorWithEnumUnion.ts] -var E, F, E1, F1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", (F1 = F || (F = {}))[F1.c = 0] = "c", F1[F1.d = 1] = "d"; +var E, F, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E), F1 = ((F = F1 || {})[F.c = 0] = "c", F[F.d = 1] = "d", F); diff --git a/crates/swc/tests/tsc-references/arithmeticOperatorWithInvalidOperands.1.normal.js b/crates/swc/tests/tsc-references/arithmeticOperatorWithInvalidOperands.1.normal.js index 8671166257670..1eff5bd654eba 100644 --- a/crates/swc/tests/tsc-references/arithmeticOperatorWithInvalidOperands.1.normal.js +++ b/crates/swc/tests/tsc-references/arithmeticOperatorWithInvalidOperands.1.normal.js @@ -1,12 +1,12 @@ //// [arithmeticOperatorWithInvalidOperands.ts] // these operators require their operands to be of type Any, the Number primitive type, or // an enum type -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; -})(E || (E = {})); + return E; +}(E || {}); var a; var b; var c; diff --git a/crates/swc/tests/tsc-references/arithmeticOperatorWithInvalidOperands.2.minified.js b/crates/swc/tests/tsc-references/arithmeticOperatorWithInvalidOperands.2.minified.js index 02d31a6480313..0f8fbcee06366 100644 --- a/crates/swc/tests/tsc-references/arithmeticOperatorWithInvalidOperands.2.minified.js +++ b/crates/swc/tests/tsc-references/arithmeticOperatorWithInvalidOperands.2.minified.js @@ -1,3 +1,2 @@ //// [arithmeticOperatorWithInvalidOperands.ts] -var E, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", E1[E1.c = 2] = "c"; +var E, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E[E.c = 2] = "c", E); diff --git a/crates/swc/tests/tsc-references/arrayLiteralInference.1.normal.js b/crates/swc/tests/tsc-references/arrayLiteralInference.1.normal.js index e020c6c4a4927..27baf1d4287c3 100644 --- a/crates/swc/tests/tsc-references/arrayLiteralInference.1.normal.js +++ b/crates/swc/tests/tsc-references/arrayLiteralInference.1.normal.js @@ -1,7 +1,6 @@ //// [arrayLiteralInference.ts] // Repro from #31204 -export var AppType; -(function(AppType) { +export let AppType = /*#__PURE__*/ function(AppType) { AppType["HeaderDetail"] = "HeaderDetail"; AppType["HeaderMultiDetail"] = "HeaderMultiDetail"; AppType["AdvancedList"] = "AdvancedList"; @@ -11,15 +10,16 @@ export var AppType; AppType["Composite"] = "Composite"; AppType["ListOnly"] = "ListOnly"; AppType["ModuleSettings"] = "ModuleSettings"; -})(AppType || (AppType = {})); -export var AppStyle; -(function(AppStyle) { + return AppType; +}({}); +export let AppStyle = /*#__PURE__*/ function(AppStyle) { AppStyle[AppStyle["Tree"] = 0] = "Tree"; AppStyle[AppStyle["TreeEntity"] = 1] = "TreeEntity"; AppStyle[AppStyle["Standard"] = 2] = "Standard"; AppStyle[AppStyle["MiniApp"] = 3] = "MiniApp"; AppStyle[AppStyle["PivotTable"] = 4] = "PivotTable"; -})(AppStyle || (AppStyle = {})); + return AppStyle; +}({}); const appTypeStylesWithError = new Map([ [ "Standard", diff --git a/crates/swc/tests/tsc-references/arrayLiteralInference.2.minified.js b/crates/swc/tests/tsc-references/arrayLiteralInference.2.minified.js index 1abcf6232c4f2..7ce7b1359219e 100644 --- a/crates/swc/tests/tsc-references/arrayLiteralInference.2.minified.js +++ b/crates/swc/tests/tsc-references/arrayLiteralInference.2.minified.js @@ -1,11 +1,10 @@ //// [arrayLiteralInference.ts] var AppType, AppStyle; -var AppType1; +let AppType1 = ((AppType = {}).HeaderDetail = "HeaderDetail", AppType.HeaderMultiDetail = "HeaderMultiDetail", AppType.AdvancedList = "AdvancedList", AppType.Standard = "Standard", AppType.Relationship = "Relationship", AppType.Report = "Report", AppType.Composite = "Composite", AppType.ListOnly = "ListOnly", AppType.ModuleSettings = "ModuleSettings", AppType); export { AppType1 as AppType }; -(AppType = AppType1 || (AppType1 = {})).HeaderDetail = "HeaderDetail", AppType.HeaderMultiDetail = "HeaderMultiDetail", AppType.AdvancedList = "AdvancedList", AppType.Standard = "Standard", AppType.Relationship = "Relationship", AppType.Report = "Report", AppType.Composite = "Composite", AppType.ListOnly = "ListOnly", AppType.ModuleSettings = "ModuleSettings"; -var AppStyle1; +let AppStyle1 = ((AppStyle = {})[AppStyle.Tree = 0] = "Tree", AppStyle[AppStyle.TreeEntity = 1] = "TreeEntity", AppStyle[AppStyle.Standard = 2] = "Standard", AppStyle[AppStyle.MiniApp = 3] = "MiniApp", AppStyle[AppStyle.PivotTable = 4] = "PivotTable", AppStyle); export { AppStyle1 as AppStyle }; -(AppStyle = AppStyle1 || (AppStyle1 = {}))[AppStyle.Tree = 0] = "Tree", AppStyle[AppStyle.TreeEntity = 1] = "TreeEntity", AppStyle[AppStyle.Standard = 2] = "Standard", AppStyle[AppStyle.MiniApp = 3] = "MiniApp", AppStyle[AppStyle.PivotTable = 4] = "PivotTable", foo({ +foo({ x: !0 }, { x: !1 diff --git a/crates/swc/tests/tsc-references/asiPreventsParsingAsAmbientExternalModule02.1.normal.js b/crates/swc/tests/tsc-references/asiPreventsParsingAsAmbientExternalModule02.1.normal.js index a9e6c72ed759a..3fde098d1c86f 100644 --- a/crates/swc/tests/tsc-references/asiPreventsParsingAsAmbientExternalModule02.1.normal.js +++ b/crates/swc/tests/tsc-references/asiPreventsParsingAsAmbientExternalModule02.1.normal.js @@ -1,7 +1,6 @@ //// [asiPreventsParsingAsAmbientExternalModule02.ts] var declare; var module; -var container; (function(container) { declare // this is the identifier 'declare' ; @@ -11,3 +10,4 @@ var container; ; {} })(container || (container = {})); +var container; diff --git a/crates/swc/tests/tsc-references/asiPreventsParsingAsNamespace05.1.normal.js b/crates/swc/tests/tsc-references/asiPreventsParsingAsNamespace05.1.normal.js index a8f2cfe4c7359..4b0053308d08b 100644 --- a/crates/swc/tests/tsc-references/asiPreventsParsingAsNamespace05.1.normal.js +++ b/crates/swc/tests/tsc-references/asiPreventsParsingAsNamespace05.1.normal.js @@ -1,8 +1,8 @@ //// [asiPreventsParsingAsNamespace05.ts] var namespace = 10; -var a; (function(a) { (function(b) { b.c = 20; })(a.b || (a.b = {})); })(a || (a = {})); +var a; diff --git a/crates/swc/tests/tsc-references/asiPreventsParsingAsTypeAlias02.1.normal.js b/crates/swc/tests/tsc-references/asiPreventsParsingAsTypeAlias02.1.normal.js index 0991d202f6a5b..4794e9893bcb8 100644 --- a/crates/swc/tests/tsc-references/asiPreventsParsingAsTypeAlias02.1.normal.js +++ b/crates/swc/tests/tsc-references/asiPreventsParsingAsTypeAlias02.1.normal.js @@ -2,8 +2,8 @@ var type; var string; var Foo; -var container; (function(container) { type; Foo = string; })(container || (container = {})); +var container; diff --git a/crates/swc/tests/tsc-references/assignAnyToEveryType.1.normal.js b/crates/swc/tests/tsc-references/assignAnyToEveryType.1.normal.js index 6ed8c69d16a83..178e77952c81c 100644 --- a/crates/swc/tests/tsc-references/assignAnyToEveryType.1.normal.js +++ b/crates/swc/tests/tsc-references/assignAnyToEveryType.1.normal.js @@ -10,10 +10,10 @@ var e = null; e = x; var f = undefined; f = x; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var g = x; var g2 = 0; g2 = x; @@ -25,7 +25,6 @@ var h = x; var i = x; var j = x; var j2 = x; -var M; (function(M) { M.foo = 1; })(M || (M = {})); @@ -33,3 +32,4 @@ M = x; function k(a) { a = x; } +var M; diff --git a/crates/swc/tests/tsc-references/assignAnyToEveryType.2.minified.js b/crates/swc/tests/tsc-references/assignAnyToEveryType.2.minified.js index eebb9a998b873..c3df46602ce20 100644 --- a/crates/swc/tests/tsc-references/assignAnyToEveryType.2.minified.js +++ b/crates/swc/tests/tsc-references/assignAnyToEveryType.2.minified.js @@ -1,4 +1,4 @@ //// [assignAnyToEveryType.ts] -var E, M, E1; import "@swc/helpers/_/_class_call_check"; -(E1 = E || (E = {}))[E1.A = 0] = "A", (M || (M = {})).foo = 1; +var E, M, E1 = ((E = E1 || {})[E.A = 0] = "A", E); +(M || (M = {})).foo = 1; diff --git a/crates/swc/tests/tsc-references/assignEveryTypeToAny.1.normal.js b/crates/swc/tests/tsc-references/assignEveryTypeToAny.1.normal.js index 95a7d6ebfe1e2..42285ee10d6ef 100644 --- a/crates/swc/tests/tsc-references/assignEveryTypeToAny.1.normal.js +++ b/crates/swc/tests/tsc-references/assignEveryTypeToAny.1.normal.js @@ -17,10 +17,10 @@ var e = undefined; x = e; var e2; x = e2; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); x = 0; var f = 0; x = f; diff --git a/crates/swc/tests/tsc-references/assignEveryTypeToAny.2.minified.js b/crates/swc/tests/tsc-references/assignEveryTypeToAny.2.minified.js index 82710f897f3f2..f2a1689ab1d68 100644 --- a/crates/swc/tests/tsc-references/assignEveryTypeToAny.2.minified.js +++ b/crates/swc/tests/tsc-references/assignEveryTypeToAny.2.minified.js @@ -1,4 +1,3 @@ //// [assignEveryTypeToAny.ts] -var E, E1; import "@swc/helpers/_/_class_call_check"; -(E1 = E || (E = {}))[E1.A = 0] = "A"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithCallSignatures4.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithCallSignatures4.1.normal.js index 789052969d623..818ac1def40af 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithCallSignatures4.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithCallSignatures4.1.normal.js @@ -3,7 +3,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var Errors; (function(Errors) { var Base = function Base() { "use strict"; @@ -36,7 +35,6 @@ var Errors; } return OtherDerived; }(Base); - var WithNonGenericSignaturesInBaseType; (function(WithNonGenericSignaturesInBaseType) { // target type with non-generic call signatures var a2; @@ -80,7 +78,6 @@ var Errors; a17 = b17; b17 = a17; })(WithNonGenericSignaturesInBaseType || (WithNonGenericSignaturesInBaseType = {})); - var WithGenericSignaturesInBaseType; (function(WithGenericSignaturesInBaseType) { // target type has generic call signature var a2; @@ -93,4 +90,6 @@ var Errors; a3 = b3; b3 = a3; })(WithGenericSignaturesInBaseType || (WithGenericSignaturesInBaseType = {})); + var WithNonGenericSignaturesInBaseType, WithGenericSignaturesInBaseType; })(Errors || (Errors = {})); +var Errors; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithConstructSignatures4.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithConstructSignatures4.1.normal.js index 2a9aa3e10d227..1bcd28267fab2 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithConstructSignatures4.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithConstructSignatures4.1.normal.js @@ -3,7 +3,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var Errors; (function(Errors) { var Base = function Base() { "use strict"; @@ -36,7 +35,6 @@ var Errors; } return OtherDerived; }(Base); - var WithNonGenericSignaturesInBaseType; (function(WithNonGenericSignaturesInBaseType) { // target type with non-generic call signatures var a2; @@ -80,7 +78,6 @@ var Errors; a17 = b17; // error b17 = a17; // error })(WithNonGenericSignaturesInBaseType || (WithNonGenericSignaturesInBaseType = {})); - var WithGenericSignaturesInBaseType; (function(WithGenericSignaturesInBaseType) { // target type has generic call signature var a2; @@ -93,4 +90,6 @@ var Errors; a3 = b3; // ok b3 = a3; // ok })(WithGenericSignaturesInBaseType || (WithGenericSignaturesInBaseType = {})); + var WithNonGenericSignaturesInBaseType, WithGenericSignaturesInBaseType; })(Errors || (Errors = {})); +var Errors; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithDiscriminatedUnion.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithDiscriminatedUnion.1.normal.js index 4b5a535f7b9c7..bd51407f113d1 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithDiscriminatedUnion.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithDiscriminatedUnion.1.normal.js @@ -1,20 +1,17 @@ //// [assignmentCompatWithDiscriminatedUnion.ts] // see 'typeRelatedToDiscriminatedType' in checker.ts: // IteratorResult -var Example1; (function(Example1) { // S is assignable to T0 when S["done"] is true // S is assignable to T1 when S["done"] is false t = s; })(Example1 || (Example1 = {})); -var Example2; // Dropping constituents of T (function(Example2) { // S is assignable to T0 when S["a"] is 0 // S is assignable to T2 when S["a"] is 2 t = s; })(Example2 || (Example2 = {})); -var Example3; // Unmatched discriminants (function(Example3) { // S is assignable to T0 when S["a"] is 0 @@ -22,21 +19,18 @@ var Example3; // S is *not* assignable to T2 when S["a"] is 2 t = s; })(Example3 || (Example3 = {})); -var Example4; // Unmatched non-discriminants (function(Example4) { // S is assignable to T0 when S["a"] is 0 // S is *not* assignable to T2 when S["a"] is 2 as S is missing "c" t = s; })(Example4 || (Example4 = {})); -var Example5; // Maximum discriminant combinations (function(Example5) { // S *should* be assignable but the number of // combinations is too complex. t = s; })(Example5 || (Example5 = {})); -var GH14865; // https://github.com/Microsoft/TypeScript/issues/14865 (function(GH14865) { var a = { @@ -48,7 +42,6 @@ var GH14865; b1.type; // "A" | "B" b1 = a; // should be assignable })(GH14865 || (GH14865 = {})); -var GH30170; // https://github.com/Microsoft/TypeScript/issues/30170 (function(GH30170) { function draw(val) {} @@ -58,7 +51,6 @@ var GH30170; }); } })(GH30170 || (GH30170 = {})); -var GH12052; // https://github.com/Microsoft/TypeScript/issues/12052 (function(GH12052) { function getAxisType() { @@ -76,7 +68,6 @@ var GH12052; }; good.type = getAxisType(); })(GH12052 || (GH12052 = {})); -var GH18421; // https://github.com/Microsoft/TypeScript/issues/18421 (function(GH18421) { function makeNewThing(thingType) { @@ -85,7 +76,6 @@ var GH18421; }; } })(GH18421 || (GH18421 = {})); -var GH15907; // https://github.com/Microsoft/TypeScript/issues/15907 (function(GH15907) { function dispatchAction(action) {} @@ -94,7 +84,6 @@ var GH15907; type: active ? 'disactivate' : 'activate' }); })(GH15907 || (GH15907 = {})); -var GH20889; // https://github.com/Microsoft/TypeScript/issues/20889 (function(GH20889) { function foo(obj1) { @@ -103,7 +92,6 @@ var GH20889; }; } })(GH20889 || (GH20889 = {})); -var GH39357; // https://github.com/microsoft/TypeScript/issues/39357 (function(GH39357) { var a = b === "a" || b === "b" ? [ @@ -114,3 +102,4 @@ var GH39357; "" ]; })(GH39357 || (GH39357 = {})); +var Example1, Example2, Example3, Example4, Example5, GH14865, GH30170, GH12052, GH18421, GH15907, GH20889, GH39357; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithEnumIndexer.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithEnumIndexer.1.normal.js index df465257eb823..39f9013009923 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithEnumIndexer.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithEnumIndexer.1.normal.js @@ -1,6 +1,6 @@ //// [assignmentCompatWithEnumIndexer.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var foo = {}; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithEnumIndexer.2.minified.js b/crates/swc/tests/tsc-references/assignmentCompatWithEnumIndexer.2.minified.js index d139595fc8cdf..ed5202cacec13 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithEnumIndexer.2.minified.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithEnumIndexer.2.minified.js @@ -1,3 +1,2 @@ //// [assignmentCompatWithEnumIndexer.ts] -var E, E1; -(E1 = E || (E = {}))[E1.A = 0] = "A"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.1.normal.js index ee7c4200dc466..d0ef4ab29c57e 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.1.normal.js @@ -1,7 +1,6 @@ //// [assignmentCompatWithGenericCallSignaturesWithOptionalParameters.ts] // call signatures in derived types must have the same or fewer optional parameters as the target for assignment import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var ClassTypeParam; (function(ClassTypeParam) { var Base = function Base() { "use strict"; @@ -65,7 +64,6 @@ var ClassTypeParam; }; }; })(ClassTypeParam || (ClassTypeParam = {})); -var GenericSignaturesInvalid; (function(GenericSignaturesInvalid) { var Base2 = function Base2() { "use strict"; @@ -106,7 +104,6 @@ var GenericSignaturesInvalid; b.a5 = t.a5; } })(GenericSignaturesInvalid || (GenericSignaturesInvalid = {})); -var GenericSignaturesValid; (function(GenericSignaturesValid) { var Base2 = function Base2() { "use strict"; @@ -170,3 +167,4 @@ var GenericSignaturesValid; }; }; })(GenericSignaturesValid || (GenericSignaturesValid = {})); +var ClassTypeParam, GenericSignaturesInvalid, GenericSignaturesValid; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithNumericIndexer.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithNumericIndexer.1.normal.js index f862d6b58f06e..802f5f0e921c5 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithNumericIndexer.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithNumericIndexer.1.normal.js @@ -14,7 +14,6 @@ b = a; // error var b2; a = b2; b2 = a; // error -var Generics; (function(Generics) { var A = function A() { "use strict"; @@ -42,3 +41,4 @@ var Generics; b3 = a; // ok } })(Generics || (Generics = {})); +var Generics; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithNumericIndexer2.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithNumericIndexer2.1.normal.js index 276c33162251b..16ae938c2c293 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithNumericIndexer2.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithNumericIndexer2.1.normal.js @@ -7,7 +7,6 @@ b = a; // error var b2; a = b2; b2 = a; // error -var Generics; (function(Generics) { function foo() { var a; @@ -22,3 +21,4 @@ var Generics; b3 = a; // ok } })(Generics || (Generics = {})); +var Generics; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithNumericIndexer3.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithNumericIndexer3.1.normal.js index 8b347b9a485e2..3e0ca9e7e91ac 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithNumericIndexer3.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithNumericIndexer3.1.normal.js @@ -23,7 +23,6 @@ var B2 = /*#__PURE__*/ function(A) { var b2; a = b2; // ok b2 = a; // error -var Generics; (function(Generics) { var A = function A() { "use strict"; @@ -39,3 +38,4 @@ var Generics; b2 = a; // ok } })(Generics || (Generics = {})); +var Generics; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembers.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembers.1.normal.js index b35b18cfc3523..6ea58b9dbd0d1 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembers.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembers.1.normal.js @@ -2,7 +2,6 @@ // members N and M of types S and T have the same name, same accessibility, same optionality, and N is assignable M // no errors expected import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var SimpleTypes; (function(SimpleTypes) { var S = function S() { "use strict"; @@ -44,7 +43,6 @@ var SimpleTypes; a2 = t2; a2 = t; })(SimpleTypes || (SimpleTypes = {})); -var ObjectTypes; (function(ObjectTypes) { var S = function S() { "use strict"; @@ -86,3 +84,4 @@ var ObjectTypes; a2 = t2; a2 = t; })(ObjectTypes || (ObjectTypes = {})); +var SimpleTypes, ObjectTypes; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembers4.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembers4.1.normal.js index e335d2fc9d3f9..f4a24ad7d561c 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembers4.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembers4.1.normal.js @@ -3,7 +3,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var OnlyDerived; (function(OnlyDerived) { var Base = function Base() { "use strict"; @@ -67,7 +66,6 @@ var OnlyDerived; a2 = t2; // error a2 = t; // error })(OnlyDerived || (OnlyDerived = {})); -var WithBase; (function(WithBase) { var Base = function Base() { "use strict"; @@ -131,3 +129,4 @@ var WithBase; a2 = t2; // ok a2 = t; // ok })(WithBase || (WithBase = {})); +var OnlyDerived, WithBase; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersAccessibility.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersAccessibility.1.normal.js index 0a0eee13c9027..4dbfd4417f842 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersAccessibility.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersAccessibility.1.normal.js @@ -1,7 +1,6 @@ //// [assignmentCompatWithObjectMembersAccessibility.ts] // members N and M of types S and T have the same name, same accessibility, same optionality, and N is assignable M import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var TargetIsPublic; (function(TargetIsPublic) { // targets var Base = function Base() { @@ -88,3 +87,4 @@ var TargetIsPublic; e = d; // errror e = e; })(TargetIsPublic || (TargetIsPublic = {})); +var TargetIsPublic; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersOptionality.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersOptionality.1.normal.js index aea8bd97970a5..07d6676d88213 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersOptionality.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersOptionality.1.normal.js @@ -25,7 +25,6 @@ var Derived2 = /*#__PURE__*/ function(Derived) { } return Derived2; }(Derived); -var TargetHasOptional; (function(TargetHasOptional) { var c; var a; @@ -50,7 +49,6 @@ var TargetHasOptional; b = a; b = c; })(TargetHasOptional || (TargetHasOptional = {})); -var SourceHasOptional; (function(SourceHasOptional) { var c; var a; @@ -74,3 +72,4 @@ var SourceHasOptional; b = a; // ok b = c; // ok })(SourceHasOptional || (SourceHasOptional = {})); +var TargetHasOptional, SourceHasOptional; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersOptionality2.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersOptionality2.1.normal.js index b8011a2a9ec0f..68f57465b0beb 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersOptionality2.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersOptionality2.1.normal.js @@ -26,7 +26,6 @@ var Derived2 = /*#__PURE__*/ function(Derived) { } return Derived2; }(Derived); -var TargetHasOptional; (function(TargetHasOptional) { var c; var a; @@ -52,7 +51,6 @@ var TargetHasOptional; b = a; b = c; })(TargetHasOptional || (TargetHasOptional = {})); -var SourceHasOptional; (function(SourceHasOptional) { var c; var a; @@ -76,3 +74,4 @@ var SourceHasOptional; b = a; // ok b = c; // ok })(SourceHasOptional || (SourceHasOptional = {})); +var TargetHasOptional, SourceHasOptional; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersStringNumericNames.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersStringNumericNames.1.normal.js index 1b53c63a758a8..c818ef31e84bb 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersStringNumericNames.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithObjectMembersStringNumericNames.1.normal.js @@ -2,7 +2,6 @@ // members N and M of types S and T have the same name, same accessibility, same optionality, and N is assignable M // string named numeric properties work correctly, errors below unless otherwise noted import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var JustStrings; (function(JustStrings) { var S = function S() { "use strict"; @@ -44,7 +43,6 @@ var JustStrings; a2 = t2; // ok a2 = t; })(JustStrings || (JustStrings = {})); -var NumbersAndStrings; (function(NumbersAndStrings) { var S = function S() { "use strict"; @@ -87,3 +85,4 @@ var NumbersAndStrings; a2 = t2; // error a2 = t; // error })(NumbersAndStrings || (NumbersAndStrings = {})); +var JustStrings, NumbersAndStrings; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithStringIndexer.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithStringIndexer.1.normal.js index 4070d13cdba87..a55641a58fa58 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithStringIndexer.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithStringIndexer.1.normal.js @@ -14,7 +14,6 @@ b = a; // error var b2; a = b2; // ok b2 = a; // error -var Generics; (function(Generics) { var A = function A() { "use strict"; @@ -55,3 +54,4 @@ var Generics; b4 = a3; // error } })(Generics || (Generics = {})); +var Generics; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithStringIndexer2.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithStringIndexer2.1.normal.js index 4a2ed217a4089..543e257a78100 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithStringIndexer2.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithStringIndexer2.1.normal.js @@ -7,7 +7,6 @@ b = a; // error var b2; a = b2; // ok b2 = a; // error -var Generics; (function(Generics) { var b1; var a1; @@ -26,3 +25,4 @@ var Generics; b4 = a3; // error } })(Generics || (Generics = {})); +var Generics; diff --git a/crates/swc/tests/tsc-references/assignmentCompatWithStringIndexer3.1.normal.js b/crates/swc/tests/tsc-references/assignmentCompatWithStringIndexer3.1.normal.js index 42d25b9c477b4..b1ea4e691ca1b 100644 --- a/crates/swc/tests/tsc-references/assignmentCompatWithStringIndexer3.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentCompatWithStringIndexer3.1.normal.js @@ -5,7 +5,6 @@ var a; var b1; a = b1; // error b1 = a; // error -var Generics; (function(Generics) { var A = function A() { "use strict"; @@ -18,3 +17,4 @@ var Generics; b = a; // error } })(Generics || (Generics = {})); +var Generics; diff --git a/crates/swc/tests/tsc-references/assignmentToParenthesizedIdentifiers.1.normal.js b/crates/swc/tests/tsc-references/assignmentToParenthesizedIdentifiers.1.normal.js index bfc37054f5ef6..fe3d5a1f16093 100644 --- a/crates/swc/tests/tsc-references/assignmentToParenthesizedIdentifiers.1.normal.js +++ b/crates/swc/tests/tsc-references/assignmentToParenthesizedIdentifiers.1.normal.js @@ -5,7 +5,6 @@ x = 3; // OK x = 3; // OK x = ''; // Error x = ''; // Error -var M; (function(M) {})(M || (M = {})); M.y = 3; // OK M.y = 3; // OK @@ -19,11 +18,9 @@ M = { M = { y: 3 }; // Error -var M2; (function(M2) { - var M3; - (function(M3) {})(M3 = M2.M3 || (M2.M3 = {})); - M3 = { + (function(M3) {})(M2.M3 || (M2.M3 = {})); + M2.M3 = { x: 3 }; // Error })(M2 || (M2 = {})); @@ -68,10 +65,10 @@ function fn2(x, y) { y['t'] = ''; // Error y['t'] = ''; // Error } -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); E = undefined; // Error E = undefined; // Error var C = function C() { @@ -80,3 +77,4 @@ var C = function C() { }; C = undefined; // Error C = undefined; // Error +var M, M2; diff --git a/crates/swc/tests/tsc-references/assignmentToParenthesizedIdentifiers.2.minified.js b/crates/swc/tests/tsc-references/assignmentToParenthesizedIdentifiers.2.minified.js index 8c72491cd01bc..8a8c386cfe9d0 100644 --- a/crates/swc/tests/tsc-references/assignmentToParenthesizedIdentifiers.2.minified.js +++ b/crates/swc/tests/tsc-references/assignmentToParenthesizedIdentifiers.2.minified.js @@ -1,20 +1,22 @@ //// [assignmentToParenthesizedIdentifiers.ts] -var M, M2, E, M21, E1; import "@swc/helpers/_/_class_call_check"; M || (M = {}), M.y = 3, M.y = 3, M.y = 3, M.y = '', M.y = '', M.y = '', M = { y: 3 }, M = { y: 3 -}, (M21 = M2 || (M2 = {})).M3 || (M21.M3 = {}), M2.M3 = { +}, (M2 = M21 || (M21 = {})).M3 || (M2.M3 = {}), M2.M3 = { x: 3 -}, M2.M3 = { +}, M21.M3 = { x: 3 -}, M2.M3 = { +}, M21.M3 = { x: 3 -}, M2.M3 = { +}, M21.M3 = { + x: 3 +}, M21.M3 = { x: '' -}, M2.M3 = { +}, M21.M3 = { x: '' -}, M2.M3 = { +}, M21.M3 = { x: '' -}, (E1 = E || (E = {}))[E1.A = 0] = "A"; +}; +var M2, E, M, M21, E1 = ((E = E1 || {})[E.A = 0] = "A", E); diff --git a/crates/swc/tests/tsc-references/assignments.1.normal.js b/crates/swc/tests/tsc-references/assignments.1.normal.js index 907c54e298fdb..8dfefb0c66138 100644 --- a/crates/swc/tests/tsc-references/assignments.1.normal.js +++ b/crates/swc/tests/tsc-references/assignments.1.normal.js @@ -14,10 +14,10 @@ var C = function C() { _class_call_check(this, C); }; C = null; // Error -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); E = null; // Error E.A = null; // OK per spec, Error per implementation (509581) function fn() {} diff --git a/crates/swc/tests/tsc-references/assignments.2.minified.js b/crates/swc/tests/tsc-references/assignments.2.minified.js index 90424c59b51fd..b054dc57dca23 100644 --- a/crates/swc/tests/tsc-references/assignments.2.minified.js +++ b/crates/swc/tests/tsc-references/assignments.2.minified.js @@ -1,4 +1,5 @@ //// [assignments.ts] -var E, E1; import "@swc/helpers/_/_class_call_check"; -M = null, (E1 = E || (E = {}))[E1.A = 0] = "A", (E = null).A = null, I = null; +M = null; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); +(E1 = null).A = null, I = null; diff --git a/crates/swc/tests/tsc-references/asyncAwaitIsolatedModules_es2017.1.normal.js b/crates/swc/tests/tsc-references/asyncAwaitIsolatedModules_es2017.1.normal.js index 1912ff066f99b..720f30f816fef 100644 --- a/crates/swc/tests/tsc-references/asyncAwaitIsolatedModules_es2017.1.normal.js +++ b/crates/swc/tests/tsc-references/asyncAwaitIsolatedModules_es2017.1.normal.js @@ -25,9 +25,9 @@ class C { static async m5() {} static async m6() {} } -var M; (function(M) { async function f1() {} M.f1 = f1; })(M || (M = {})); +var M; export { }; diff --git a/crates/swc/tests/tsc-references/asyncAwaitIsolatedModules_es5.1.normal.js b/crates/swc/tests/tsc-references/asyncAwaitIsolatedModules_es5.1.normal.js index 4417bd857d8d3..b92c77d7d8296 100644 --- a/crates/swc/tests/tsc-references/asyncAwaitIsolatedModules_es5.1.normal.js +++ b/crates/swc/tests/tsc-references/asyncAwaitIsolatedModules_es5.1.normal.js @@ -256,7 +256,6 @@ var C = /*#__PURE__*/ function() { }; return C; }(); -var M; (function(M) { function f1() { return _f1.apply(this, arguments); @@ -273,4 +272,5 @@ var M; } M.f1 = f1; })(M || (M = {})); +var M; export { }; diff --git a/crates/swc/tests/tsc-references/asyncAwaitIsolatedModules_es6.1.normal.js b/crates/swc/tests/tsc-references/asyncAwaitIsolatedModules_es6.1.normal.js index fc891b4d26ffc..cdff48a8b01d2 100644 --- a/crates/swc/tests/tsc-references/asyncAwaitIsolatedModules_es6.1.normal.js +++ b/crates/swc/tests/tsc-references/asyncAwaitIsolatedModules_es6.1.normal.js @@ -120,7 +120,6 @@ class C { return _async_to_generator(function*() {})(); } } -var M; (function(M) { function f1() { return _f1.apply(this, arguments); @@ -131,4 +130,5 @@ var M; } M.f1 = f1; })(M || (M = {})); +var M; export { }; diff --git a/crates/swc/tests/tsc-references/asyncAwait_es2017.1.normal.js b/crates/swc/tests/tsc-references/asyncAwait_es2017.1.normal.js index 11fa809410043..39ffaed71b974 100644 --- a/crates/swc/tests/tsc-references/asyncAwait_es2017.1.normal.js +++ b/crates/swc/tests/tsc-references/asyncAwait_es2017.1.normal.js @@ -25,7 +25,6 @@ class C { static async m5() {} static async m6() {} } -var M; (function(M) { async function f1() {} M.f1 = f1; @@ -36,3 +35,4 @@ async function f14() { break block; } } +var M; diff --git a/crates/swc/tests/tsc-references/asyncAwait_es5.1.normal.js b/crates/swc/tests/tsc-references/asyncAwait_es5.1.normal.js index 7328157a45cec..1ec1f795ceaad 100644 --- a/crates/swc/tests/tsc-references/asyncAwait_es5.1.normal.js +++ b/crates/swc/tests/tsc-references/asyncAwait_es5.1.normal.js @@ -256,7 +256,6 @@ var C = /*#__PURE__*/ function() { }; return C; }(); -var M; (function(M) { function f1() { return _f1.apply(this, arguments); @@ -300,3 +299,4 @@ function _f14() { }); return _f14.apply(this, arguments); } +var M; diff --git a/crates/swc/tests/tsc-references/asyncAwait_es6.1.normal.js b/crates/swc/tests/tsc-references/asyncAwait_es6.1.normal.js index 8c5726d4287d0..85f51b6d0c217 100644 --- a/crates/swc/tests/tsc-references/asyncAwait_es6.1.normal.js +++ b/crates/swc/tests/tsc-references/asyncAwait_es6.1.normal.js @@ -120,7 +120,6 @@ class C { return _async_to_generator(function*() {})(); } } -var M; (function(M) { function f1() { return _f1.apply(this, arguments); @@ -143,3 +142,4 @@ function _f14() { }); return _f14.apply(this, arguments); } +var M; diff --git a/crates/swc/tests/tsc-references/bestCommonTypeOfTuple.1.normal.js b/crates/swc/tests/tsc-references/bestCommonTypeOfTuple.1.normal.js index 8c7e0d3001520..53a124e9d0f2b 100644 --- a/crates/swc/tests/tsc-references/bestCommonTypeOfTuple.1.normal.js +++ b/crates/swc/tests/tsc-references/bestCommonTypeOfTuple.1.normal.js @@ -8,14 +8,14 @@ function f2(x) { function f3(x) { return true; } -var E1; -(function(E1) { +var E1 = /*#__PURE__*/ function(E1) { E1[E1["one"] = 0] = "one"; -})(E1 || (E1 = {})); -var E2; -(function(E2) { + return E1; +}(E1 || {}); +var E2 = /*#__PURE__*/ function(E2) { E2[E2["two"] = 0] = "two"; -})(E2 || (E2 = {})); + return E2; +}(E2 || {}); var t1; var t2; var t3; diff --git a/crates/swc/tests/tsc-references/bestCommonTypeOfTuple.2.minified.js b/crates/swc/tests/tsc-references/bestCommonTypeOfTuple.2.minified.js index e35b172960535..41b887b54e0b9 100644 --- a/crates/swc/tests/tsc-references/bestCommonTypeOfTuple.2.minified.js +++ b/crates/swc/tests/tsc-references/bestCommonTypeOfTuple.2.minified.js @@ -1,3 +1,2 @@ //// [bestCommonTypeOfTuple.ts] -var E1, E2, E11, E21; -(E11 = E1 || (E1 = {}))[E11.one = 0] = "one", (E21 = E2 || (E2 = {}))[E21.two = 0] = "two"; +var E1, E2, E11 = ((E1 = E11 || {})[E1.one = 0] = "one", E1), E21 = ((E2 = E21 || {})[E2.two = 0] = "two", E2); diff --git a/crates/swc/tests/tsc-references/bitwiseNotOperatorWithBooleanType.1.normal.js b/crates/swc/tests/tsc-references/bitwiseNotOperatorWithBooleanType.1.normal.js index e9f09d8d0bb63..d7496e69e54a5 100644 --- a/crates/swc/tests/tsc-references/bitwiseNotOperatorWithBooleanType.1.normal.js +++ b/crates/swc/tests/tsc-references/bitwiseNotOperatorWithBooleanType.1.normal.js @@ -15,7 +15,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // boolean type var @@ -40,3 +39,4 @@ var ResultIsNumber8 = ~~BOOLEAN; ~true, false; ~objA.a; ~M.n; +var M; diff --git a/crates/swc/tests/tsc-references/bitwiseNotOperatorWithEnumType.1.normal.js b/crates/swc/tests/tsc-references/bitwiseNotOperatorWithEnumType.1.normal.js index 6c0e7d17fb0c6..a9e0747c52031 100644 --- a/crates/swc/tests/tsc-references/bitwiseNotOperatorWithEnumType.1.normal.js +++ b/crates/swc/tests/tsc-references/bitwiseNotOperatorWithEnumType.1.normal.js @@ -1,11 +1,11 @@ //// [bitwiseNotOperatorWithEnumType.ts] // ~ operator on enum type -var ENUM1; -(function(ENUM1) { +var ENUM1 = /*#__PURE__*/ function(ENUM1) { ENUM1[ENUM1["A"] = 0] = "A"; ENUM1[ENUM1["B"] = 1] = "B"; ENUM1[ENUM1[""] = 2] = ""; -})(ENUM1 || (ENUM1 = {})); + return ENUM1; +}(ENUM1 || {}); // enum type var var ResultIsNumber1 = ~ENUM1; // enum type expressions diff --git a/crates/swc/tests/tsc-references/bitwiseNotOperatorWithEnumType.2.minified.js b/crates/swc/tests/tsc-references/bitwiseNotOperatorWithEnumType.2.minified.js index fd3ca88bf3177..fa7adb67aa917 100644 --- a/crates/swc/tests/tsc-references/bitwiseNotOperatorWithEnumType.2.minified.js +++ b/crates/swc/tests/tsc-references/bitwiseNotOperatorWithEnumType.2.minified.js @@ -1,3 +1,2 @@ //// [bitwiseNotOperatorWithEnumType.ts] -var ENUM1, ENUM11; -(ENUM11 = ENUM1 || (ENUM1 = {}))[ENUM11.A = 0] = "A", ENUM11[ENUM11.B = 1] = "B", ENUM11[ENUM11[""] = 2] = ""; +var ENUM1, ENUM11 = ((ENUM1 = ENUM11 || {})[ENUM1.A = 0] = "A", ENUM1[ENUM1.B = 1] = "B", ENUM1[ENUM1[""] = 2] = "", ENUM1); diff --git a/crates/swc/tests/tsc-references/bitwiseNotOperatorWithNumberType.1.normal.js b/crates/swc/tests/tsc-references/bitwiseNotOperatorWithNumberType.1.normal.js index 7f48a8772e33a..2dc31f8304c80 100644 --- a/crates/swc/tests/tsc-references/bitwiseNotOperatorWithNumberType.1.normal.js +++ b/crates/swc/tests/tsc-references/bitwiseNotOperatorWithNumberType.1.normal.js @@ -19,7 +19,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // number type var @@ -54,3 +53,4 @@ var ResultIsNumber13 = ~~~(NUMBER + NUMBER); ~objA.a; ~M.n; ~objA.a, M.n; +var M; diff --git a/crates/swc/tests/tsc-references/bitwiseNotOperatorWithStringType.1.normal.js b/crates/swc/tests/tsc-references/bitwiseNotOperatorWithStringType.1.normal.js index 7f4d2bc038b25..8a65ae1eb446d 100644 --- a/crates/swc/tests/tsc-references/bitwiseNotOperatorWithStringType.1.normal.js +++ b/crates/swc/tests/tsc-references/bitwiseNotOperatorWithStringType.1.normal.js @@ -19,7 +19,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // string type var @@ -53,3 +52,4 @@ var ResultIsNumber14 = ~~~(STRING + STRING); ~STRING1; ~foo(); ~objA.a, M.n; +var M; diff --git a/crates/swc/tests/tsc-references/callSignatureAssignabilityInInheritance3.1.normal.js b/crates/swc/tests/tsc-references/callSignatureAssignabilityInInheritance3.1.normal.js index 436445729ac72..51497dd3baa97 100644 --- a/crates/swc/tests/tsc-references/callSignatureAssignabilityInInheritance3.1.normal.js +++ b/crates/swc/tests/tsc-references/callSignatureAssignabilityInInheritance3.1.normal.js @@ -4,7 +4,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var Errors; (function(Errors) { var Base = function Base() { "use strict"; @@ -38,3 +37,4 @@ var Errors; return OtherDerived; }(Base); })(Errors || (Errors = {})); +var Errors; diff --git a/crates/swc/tests/tsc-references/callSignatureWithoutReturnTypeAnnotationInference.1.normal.js b/crates/swc/tests/tsc-references/callSignatureWithoutReturnTypeAnnotationInference.1.normal.js index 107024e28740c..5376140bfba6a 100644 --- a/crates/swc/tests/tsc-references/callSignatureWithoutReturnTypeAnnotationInference.1.normal.js +++ b/crates/swc/tests/tsc-references/callSignatureWithoutReturnTypeAnnotationInference.1.normal.js @@ -60,7 +60,6 @@ function foo10(x) { return c; } var r10 = foo10(1); -var M; (function(M) { M.x = 1; var C = function C() { @@ -99,10 +98,10 @@ function foo14() { return c1; } var r14 = foo14(); -var e1; -(function(e1) { +var e1 = /*#__PURE__*/ function(e1) { e1[e1["A"] = 0] = "A"; -})(e1 || (e1 = {})); + return e1; +}(e1 || {}); (function(e1) { e1.y = 1; })(e1 || (e1 = {})); @@ -110,3 +109,4 @@ function foo15() { return e1; } var r15 = foo15(); +var M; diff --git a/crates/swc/tests/tsc-references/callSignatureWithoutReturnTypeAnnotationInference.2.minified.js b/crates/swc/tests/tsc-references/callSignatureWithoutReturnTypeAnnotationInference.2.minified.js index f7abb1637091a..a0768656cc3b4 100644 --- a/crates/swc/tests/tsc-references/callSignatureWithoutReturnTypeAnnotationInference.2.minified.js +++ b/crates/swc/tests/tsc-references/callSignatureWithoutReturnTypeAnnotationInference.2.minified.js @@ -9,7 +9,9 @@ function m1() { }(), _type_of(1), (M = M1 || (M1 = {})).x = 1, M.C = function C() { _class_call_check(this, C); }, (m1 || (m1 = {})).y = 2; -var e1, M, M1, e11, c1 = function c1(x) { +var e1, M, M1, c1 = function c1(x) { _class_call_check(this, c1); }; -(c1 || (c1 = {})).x = 1, (e1 = e11 || (e11 = {}))[e1.A = 0] = "A", (e11 || (e11 = {})).y = 1; +(c1 || (c1 = {})).x = 1; +var e11 = ((e1 = e11 || {})[e1.A = 0] = "A", e1); +(e11 || (e11 = {})).y = 1; diff --git a/crates/swc/tests/tsc-references/castingTuple.1.normal.js b/crates/swc/tests/tsc-references/castingTuple.1.normal.js index b117a27abf363..ef350f0bb6104 100644 --- a/crates/swc/tests/tsc-references/castingTuple.1.normal.js +++ b/crates/swc/tests/tsc-references/castingTuple.1.normal.js @@ -33,14 +33,14 @@ var F = /*#__PURE__*/ function(A) { } return F; }(A); -var E1; -(function(E1) { +var E1 = /*#__PURE__*/ function(E1) { E1[E1["one"] = 0] = "one"; -})(E1 || (E1 = {})); -var E2; -(function(E2) { + return E1; +}(E1 || {}); +var E2 = /*#__PURE__*/ function(E2) { E2[E2["one"] = 0] = "one"; -})(E2 || (E2 = {})); + return E2; +}(E2 || {}); // no error var numStrTuple = [ 5, diff --git a/crates/swc/tests/tsc-references/castingTuple.2.minified.js b/crates/swc/tests/tsc-references/castingTuple.2.minified.js index 504ad2f01f565..30f378afc076c 100644 --- a/crates/swc/tests/tsc-references/castingTuple.2.minified.js +++ b/crates/swc/tests/tsc-references/castingTuple.2.minified.js @@ -2,13 +2,11 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var E1, E2, E11, E21, C = function C() { +var E1, E2, C = function C() { _class_call_check(this, C); }, D = function D() { _class_call_check(this, D); -}; -(E11 = E1 || (E1 = {}))[E11.one = 0] = "one", (E21 = E2 || (E2 = {}))[E21.one = 0] = "one"; -var classCDTuple = [ +}, E11 = ((E1 = E11 || {})[E1.one = 0] = "one", E1), E21 = ((E2 = E21 || {})[E2.one = 0] = "one", E2), classCDTuple = [ new C(), new D() ]; diff --git a/crates/swc/tests/tsc-references/circularImportAlias.1.normal.js b/crates/swc/tests/tsc-references/circularImportAlias.1.normal.js index a11a9cbc39129..edd79fab1b3d5 100644 --- a/crates/swc/tests/tsc-references/circularImportAlias.1.normal.js +++ b/crates/swc/tests/tsc-references/circularImportAlias.1.normal.js @@ -3,7 +3,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var B; (function(B) { B.a = A; var D = /*#__PURE__*/ function(_B_a_C) { @@ -17,7 +16,6 @@ var B; }(B.a.C); B.D = D; })(B || (B = {})); -var A; (function(A) { var C = function C() { "use strict"; @@ -28,3 +26,4 @@ var A; })(A || (A = {})); var c; var c = new B.a.C(); +var B, A; diff --git a/crates/swc/tests/tsc-references/classAbstractImportInstantiation.1.normal.js b/crates/swc/tests/tsc-references/classAbstractImportInstantiation.1.normal.js index b255b3491c821..03f220d3fec2c 100644 --- a/crates/swc/tests/tsc-references/classAbstractImportInstantiation.1.normal.js +++ b/crates/swc/tests/tsc-references/classAbstractImportInstantiation.1.normal.js @@ -1,6 +1,5 @@ //// [classAbstractImportInstantiation.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var M; (function(M) { var A = function A() { "use strict"; @@ -11,3 +10,4 @@ var M; })(M || (M = {})); var myA = M.A; new myA; +var M; diff --git a/crates/swc/tests/tsc-references/classAbstractInAModule.1.normal.js b/crates/swc/tests/tsc-references/classAbstractInAModule.1.normal.js index c63e248ab1b6c..95f0490e62afb 100644 --- a/crates/swc/tests/tsc-references/classAbstractInAModule.1.normal.js +++ b/crates/swc/tests/tsc-references/classAbstractInAModule.1.normal.js @@ -2,7 +2,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var M; (function(M) { var A = function A() { "use strict"; @@ -22,3 +21,4 @@ var M; })(M || (M = {})); new M.A; new M.B; +var M; diff --git a/crates/swc/tests/tsc-references/classAndInterfaceWithSameName.1.normal.js b/crates/swc/tests/tsc-references/classAndInterfaceWithSameName.1.normal.js index 0f6702247b34e..6e8a8fddff325 100644 --- a/crates/swc/tests/tsc-references/classAndInterfaceWithSameName.1.normal.js +++ b/crates/swc/tests/tsc-references/classAndInterfaceWithSameName.1.normal.js @@ -4,10 +4,10 @@ var C = function C() { "use strict"; _class_call_check(this, C); }; -var M; (function(M) { var D = function D() { "use strict"; _class_call_check(this, D); }; })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/classConstructorAccessibility.1.normal.js b/crates/swc/tests/tsc-references/classConstructorAccessibility.1.normal.js index 37db9ad3251db..db724d0171d35 100644 --- a/crates/swc/tests/tsc-references/classConstructorAccessibility.1.normal.js +++ b/crates/swc/tests/tsc-references/classConstructorAccessibility.1.normal.js @@ -18,7 +18,6 @@ var E = function E(x) { var c = new C(1); var d = new D(1); // error var e = new E(1); // error -var Generic; (function(Generic) { var C = function C(x) { "use strict"; @@ -39,3 +38,4 @@ var Generic; var d = new D(1); // error var e = new E(1); // error })(Generic || (Generic = {})); +var Generic; diff --git a/crates/swc/tests/tsc-references/classDoesNotDependOnPrivateMember.1.normal.js b/crates/swc/tests/tsc-references/classDoesNotDependOnPrivateMember.1.normal.js index bdc1363d49ba8..7c13c7cec1c90 100644 --- a/crates/swc/tests/tsc-references/classDoesNotDependOnPrivateMember.1.normal.js +++ b/crates/swc/tests/tsc-references/classDoesNotDependOnPrivateMember.1.normal.js @@ -1,6 +1,5 @@ //// [classDoesNotDependOnPrivateMember.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var M; (function(M) { var C = function C() { "use strict"; @@ -8,3 +7,4 @@ var M; }; M.C = C; })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/classExpression.1.normal.js b/crates/swc/tests/tsc-references/classExpression.1.normal.js index 482caa24841f7..47a159df50a72 100644 --- a/crates/swc/tests/tsc-references/classExpression.1.normal.js +++ b/crates/swc/tests/tsc-references/classExpression.1.normal.js @@ -10,10 +10,10 @@ var y = { _class_call_check(this, C2); } }; -var M; (function(M) { var z = function C4() { "use strict"; _class_call_check(this, C4); }; })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/classExtendsItselfIndirectly2.1.normal.js b/crates/swc/tests/tsc-references/classExtendsItselfIndirectly2.1.normal.js index 4c0dca86c83c7..f7e3912fca87b 100644 --- a/crates/swc/tests/tsc-references/classExtendsItselfIndirectly2.1.normal.js +++ b/crates/swc/tests/tsc-references/classExtendsItselfIndirectly2.1.normal.js @@ -12,7 +12,6 @@ var C = /*#__PURE__*/ function(_N_E) { return C; } // error (N.E); -var M; (function(M) { var D = /*#__PURE__*/ function(C) { "use strict"; @@ -25,7 +24,6 @@ var M; }(C); M.D = D; })(M || (M = {})); -var N; (function(N) { var E = /*#__PURE__*/ function(_M_D) { "use strict"; @@ -38,7 +36,6 @@ var N; }(M.D); N.E = E; })(N || (N = {})); -var O; (function(O) { var C2 = /*#__PURE__*/ function(_Q_E2) { "use strict"; @@ -50,7 +47,6 @@ var O; return C2; } // error (Q.E2); - var P; (function(P) { var D2 = /*#__PURE__*/ function(C2) { "use strict"; @@ -63,7 +59,6 @@ var O; }(C2); P.D2 = D2; })(P || (P = {})); - var Q; (function(Q) { var E2 = /*#__PURE__*/ function(_P_D2) { "use strict"; @@ -76,4 +71,6 @@ var O; }(P.D2); Q.E2 = E2; })(Q || (Q = {})); + var P, Q; })(O || (O = {})); +var M, N, O; diff --git a/crates/swc/tests/tsc-references/classExtendsShadowedConstructorFunction.1.normal.js b/crates/swc/tests/tsc-references/classExtendsShadowedConstructorFunction.1.normal.js index 278a853deac01..a88ddff5871f2 100644 --- a/crates/swc/tests/tsc-references/classExtendsShadowedConstructorFunction.1.normal.js +++ b/crates/swc/tests/tsc-references/classExtendsShadowedConstructorFunction.1.normal.js @@ -6,7 +6,6 @@ var C = function C() { "use strict"; _class_call_check(this, C); }; -var M; (function(M) { var C = 1; var D = /*#__PURE__*/ function(C) { @@ -19,3 +18,4 @@ var M; return D; }(C); })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/classWithConstructors.1.normal.js b/crates/swc/tests/tsc-references/classWithConstructors.1.normal.js index fe026c67f6282..e662f5349dbc5 100644 --- a/crates/swc/tests/tsc-references/classWithConstructors.1.normal.js +++ b/crates/swc/tests/tsc-references/classWithConstructors.1.normal.js @@ -2,7 +2,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var NonGeneric; (function(NonGeneric) { var C = function C(x) { "use strict"; @@ -30,7 +29,6 @@ var NonGeneric; var d2 = new D(1); // ok var d3 = new D(''); // ok })(NonGeneric || (NonGeneric = {})); -var Generics; (function(Generics) { var C = function C(x) { "use strict"; @@ -58,3 +56,4 @@ var Generics; var d2 = new D(1); // ok var d3 = new D(''); // ok })(Generics || (Generics = {})); +var NonGeneric, Generics; diff --git a/crates/swc/tests/tsc-references/commonJSImportNotAsPrimaryExpression.1.normal.js b/crates/swc/tests/tsc-references/commonJSImportNotAsPrimaryExpression.1.normal.js index aa77fb31ab518..a9c6f66d49c0f 100644 --- a/crates/swc/tests/tsc-references/commonJSImportNotAsPrimaryExpression.1.normal.js +++ b/crates/swc/tests/tsc-references/commonJSImportNotAsPrimaryExpression.1.normal.js @@ -24,12 +24,12 @@ var C1 = function C1() { this.m1 = 42; }; C1.s1 = true; -var E1; -(function(E1) { +var E1 = /*#__PURE__*/ function(E1) { E1[E1["A"] = 0] = "A"; E1[E1["B"] = 1] = "B"; E1[E1["C"] = 2] = "C"; -})(E1 || (E1 = {})); + return E1; +}({}); //// [foo_1.ts] "use strict"; var i; diff --git a/crates/swc/tests/tsc-references/commonJSImportNotAsPrimaryExpression.2.minified.js b/crates/swc/tests/tsc-references/commonJSImportNotAsPrimaryExpression.2.minified.js index c5bc9dfb97a1e..adc02b34aceaa 100644 --- a/crates/swc/tests/tsc-references/commonJSImportNotAsPrimaryExpression.2.minified.js +++ b/crates/swc/tests/tsc-references/commonJSImportNotAsPrimaryExpression.2.minified.js @@ -14,8 +14,9 @@ Object.defineProperty(exports, "__esModule", { return E11; } }); -var E1, E11, _class_call_check = require("@swc/helpers/_/_class_call_check"), C1 = function C1() { +var E1, _class_call_check = require("@swc/helpers/_/_class_call_check"), C1 = function C1() { _class_call_check._(this, C1), this.m1 = 42; }; -C1.s1 = !0, (E1 = E11 || (E11 = {}))[E1.A = 0] = "A", E1[E1.B = 1] = "B", E1[E1.C = 2] = "C"; +C1.s1 = !0; +var E11 = ((E1 = {})[E1.A = 0] = "A", E1[E1.B = 1] = "B", E1[E1.C = 2] = "C", E1); //// [foo_1.ts] diff --git a/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipPrimitiveType.1.normal.js b/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipPrimitiveType.1.normal.js index debf8c3f16b9a..f5e2a4fe7291d 100644 --- a/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipPrimitiveType.1.normal.js +++ b/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipPrimitiveType.1.normal.js @@ -1,10 +1,10 @@ //// [comparisonOperatorWithNoRelationshipPrimitiveType.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; -})(E || (E = {})); + return E; +}(E || {}); var a; var b; var c; diff --git a/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipPrimitiveType.2.minified.js b/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipPrimitiveType.2.minified.js index aa63e51eda85d..85da87dfb36e8 100644 --- a/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipPrimitiveType.2.minified.js +++ b/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipPrimitiveType.2.minified.js @@ -1,3 +1,2 @@ //// [comparisonOperatorWithNoRelationshipPrimitiveType.ts] -var E, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", E1[E1.c = 2] = "c"; +var E, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E[E.c = 2] = "c", E); diff --git a/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipTypeParameter.1.normal.js b/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipTypeParameter.1.normal.js index 018a7fcc4ee7b..586fa4062bf2c 100644 --- a/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipTypeParameter.1.normal.js +++ b/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipTypeParameter.1.normal.js @@ -1,10 +1,10 @@ //// [comparisonOperatorWithNoRelationshipTypeParameter.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; -})(E || (E = {})); + return E; +}(E || {}); var a; var b; var c; diff --git a/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipTypeParameter.2.minified.js b/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipTypeParameter.2.minified.js index 17c17241fa662..0be5fcb47af16 100644 --- a/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipTypeParameter.2.minified.js +++ b/crates/swc/tests/tsc-references/comparisonOperatorWithNoRelationshipTypeParameter.2.minified.js @@ -1,3 +1,2 @@ //// [comparisonOperatorWithNoRelationshipTypeParameter.ts] -var E, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", E1[E1.c = 2] = "c"; +var E, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E[E.c = 2] = "c", E); diff --git a/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsAny.1.normal.js b/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsAny.1.normal.js index d90f973f7c019..2b888712ecc9e 100644 --- a/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsAny.1.normal.js +++ b/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsAny.1.normal.js @@ -1,11 +1,11 @@ //// [comparisonOperatorWithOneOperandIsAny.ts] var x; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; -})(E || (E = {})); + return E; +}(E || {}); function foo(t) { var foo_r1 = t < x; var foo_r2 = t > x; diff --git a/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsAny.2.minified.js b/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsAny.2.minified.js index 67b4264648670..4281f6f91bba2 100644 --- a/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsAny.2.minified.js +++ b/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsAny.2.minified.js @@ -1,3 +1,2 @@ //// [comparisonOperatorWithOneOperandIsAny.ts] -var E, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", E1[E1.c = 2] = "c"; +var E, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E[E.c = 2] = "c", E); diff --git a/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsUndefined.1.normal.js b/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsUndefined.1.normal.js index cb59145598b17..eba07004a7918 100644 --- a/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsUndefined.1.normal.js +++ b/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsUndefined.1.normal.js @@ -1,11 +1,11 @@ //// [comparisonOperatorWithOneOperandIsUndefined.ts] var x; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; -})(E || (E = {})); + return E; +}(E || {}); function foo(t) { var foo_r1 = t < x; var foo_r2 = t > x; diff --git a/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsUndefined.2.minified.js b/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsUndefined.2.minified.js index 4112127cf6140..a0ab044ccdb5c 100644 --- a/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsUndefined.2.minified.js +++ b/crates/swc/tests/tsc-references/comparisonOperatorWithOneOperandIsUndefined.2.minified.js @@ -1,3 +1,2 @@ //// [comparisonOperatorWithOneOperandIsUndefined.ts] -var E, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", E1[E1.c = 2] = "c"; +var E, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E[E.c = 2] = "c", E); diff --git a/crates/swc/tests/tsc-references/comparisonOperatorWithSubtypeEnumAndNumber.1.normal.js b/crates/swc/tests/tsc-references/comparisonOperatorWithSubtypeEnumAndNumber.1.normal.js index dadbd751ffefb..2768ae8fadd86 100644 --- a/crates/swc/tests/tsc-references/comparisonOperatorWithSubtypeEnumAndNumber.1.normal.js +++ b/crates/swc/tests/tsc-references/comparisonOperatorWithSubtypeEnumAndNumber.1.normal.js @@ -1,10 +1,10 @@ //// [comparisonOperatorWithSubtypeEnumAndNumber.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; -})(E || (E = {})); + return E; +}(E || {}); var a; var b; // operator < diff --git a/crates/swc/tests/tsc-references/comparisonOperatorWithSubtypeEnumAndNumber.2.minified.js b/crates/swc/tests/tsc-references/comparisonOperatorWithSubtypeEnumAndNumber.2.minified.js index 7794dd7f9aecb..c693270dfee06 100644 --- a/crates/swc/tests/tsc-references/comparisonOperatorWithSubtypeEnumAndNumber.2.minified.js +++ b/crates/swc/tests/tsc-references/comparisonOperatorWithSubtypeEnumAndNumber.2.minified.js @@ -1,3 +1,2 @@ //// [comparisonOperatorWithSubtypeEnumAndNumber.ts] -var E, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", E1[E1.c = 2] = "c"; +var E, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E[E.c = 2] = "c", E); diff --git a/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCanBeAssigned.1.normal.js b/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCanBeAssigned.1.normal.js index 5d7eb3e950bfb..06b7bdf3061c1 100644 --- a/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCanBeAssigned.1.normal.js +++ b/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCanBeAssigned.1.normal.js @@ -1,9 +1,9 @@ //// [compoundAdditionAssignmentLHSCanBeAssigned.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; -})(E || (E = {})); + return E; +}(E || {}); var a; var b; var x1; diff --git a/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCanBeAssigned.2.minified.js b/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCanBeAssigned.2.minified.js index c44a6780ec427..4e016e020263d 100644 --- a/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCanBeAssigned.2.minified.js +++ b/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCanBeAssigned.2.minified.js @@ -1,3 +1,3 @@ //// [compoundAdditionAssignmentLHSCanBeAssigned.ts] -var E, a, b, x1, x2, x3, x4, x6, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", x1 += a, x1 += b, x1 += !0, x1 += 0, x1 += '', x1 += 0, x1 += {}, x1 += null, x1 += void 0, x2 += a, x2 += b, x2 += !0, x2 += 0, x2 += '', x2 += 0, x2 += {}, x2 += null, x2 += void 0, x3 += a, x3 += 0, x3 += null, x3 += void 0, x4 += a, x4 += 0, x4 += null, x4 += void 0, x6 += a, x6 += ''; +var E, a, b, x1, x2, x3, x4, x6, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E); +x1 += a, x1 += b, x1 += !0, x1 += 0, x1 += '', x1 += 0, x1 += {}, x1 += null, x1 += void 0, x2 += a, x2 += b, x2 += !0, x2 += 0, x2 += '', x2 += 0, x2 += {}, x2 += null, x2 += void 0, x3 += a, x3 += 0, x3 += null, x3 += void 0, x4 += a, x4 += 0, x4 += null, x4 += void 0, x6 += a, x6 += ''; diff --git a/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCannotBeAssigned.1.normal.js b/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCannotBeAssigned.1.normal.js index 8f3cec1c7596e..052cd6cca3418 100644 --- a/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCannotBeAssigned.1.normal.js +++ b/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCannotBeAssigned.1.normal.js @@ -1,11 +1,11 @@ //// [compoundAdditionAssignmentLHSCannotBeAssigned.ts] // string can add every type, and result string cannot be assigned to below types -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; -})(E || (E = {})); + return E; +}(E || {}); var x1; x1 += ''; var x2; diff --git a/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCannotBeAssigned.2.minified.js b/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCannotBeAssigned.2.minified.js index fb2a1b6cdbc5c..7b9c3f659b053 100644 --- a/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCannotBeAssigned.2.minified.js +++ b/crates/swc/tests/tsc-references/compoundAdditionAssignmentLHSCannotBeAssigned.2.minified.js @@ -1,3 +1,2 @@ //// [compoundAdditionAssignmentLHSCannotBeAssigned.ts] -var E, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", E1[E1.c = 2] = "c"; +var E, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E[E.c = 2] = "c", E); diff --git a/crates/swc/tests/tsc-references/compoundAdditionAssignmentWithInvalidOperands.1.normal.js b/crates/swc/tests/tsc-references/compoundAdditionAssignmentWithInvalidOperands.1.normal.js index c8e014d9449bd..7be344919ab41 100644 --- a/crates/swc/tests/tsc-references/compoundAdditionAssignmentWithInvalidOperands.1.normal.js +++ b/crates/swc/tests/tsc-references/compoundAdditionAssignmentWithInvalidOperands.1.normal.js @@ -1,9 +1,9 @@ //// [compoundAdditionAssignmentWithInvalidOperands.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; -})(E || (E = {})); + return E; +}(E || {}); var a; var x1; x1 += a; diff --git a/crates/swc/tests/tsc-references/compoundAdditionAssignmentWithInvalidOperands.2.minified.js b/crates/swc/tests/tsc-references/compoundAdditionAssignmentWithInvalidOperands.2.minified.js index 87401e4089cfd..a7fc39bdaa500 100644 --- a/crates/swc/tests/tsc-references/compoundAdditionAssignmentWithInvalidOperands.2.minified.js +++ b/crates/swc/tests/tsc-references/compoundAdditionAssignmentWithInvalidOperands.2.minified.js @@ -1,3 +1,3 @@ //// [compoundAdditionAssignmentWithInvalidOperands.ts] -var E, a, x1, x2, x3, x4, x5, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", x1 += a, x1 += !0, x1 += 0, x1 += {}, x1 += null, x1 += void 0, x2 += a, x2 += !0, x2 += 0, x2 += {}, x2 += null, x2 += void 0, x3 += a, x3 += !0, x3 += 0, x3 += {}, x3 += null, x3 += void 0, x4 += a, x4 += !0, x4 += {}, x5 += a, x5 += !0; +var E, a, x1, x2, x3, x4, x5, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E); +x1 += a, x1 += !0, x1 += 0, x1 += {}, x1 += null, x1 += void 0, x2 += a, x2 += !0, x2 += 0, x2 += {}, x2 += null, x2 += void 0, x3 += a, x3 += !0, x3 += 0, x3 += {}, x3 += null, x3 += void 0, x4 += a, x4 += !0, x4 += {}, x5 += a, x5 += !0; diff --git a/crates/swc/tests/tsc-references/computedPropertyNames19_ES5.1.normal.js b/crates/swc/tests/tsc-references/computedPropertyNames19_ES5.1.normal.js index 35c5592f31c8d..95cf6f0d4c3f5 100644 --- a/crates/swc/tests/tsc-references/computedPropertyNames19_ES5.1.normal.js +++ b/crates/swc/tests/tsc-references/computedPropertyNames19_ES5.1.normal.js @@ -1,6 +1,6 @@ //// [computedPropertyNames19_ES5.ts] import { _ as _define_property } from "@swc/helpers/_/_define_property"; -var M; (function(M) { var obj = _define_property({}, this.bar, 0); })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/computedPropertyNames19_ES6.1.normal.js b/crates/swc/tests/tsc-references/computedPropertyNames19_ES6.1.normal.js index a3b1a312fd1f9..e5854c1aca144 100644 --- a/crates/swc/tests/tsc-references/computedPropertyNames19_ES6.1.normal.js +++ b/crates/swc/tests/tsc-references/computedPropertyNames19_ES6.1.normal.js @@ -1,7 +1,7 @@ //// [computedPropertyNames19_ES6.ts] -var M; (function(M) { var obj = { [this.bar]: 0 }; })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/computedPropertyNames47_ES5.1.normal.js b/crates/swc/tests/tsc-references/computedPropertyNames47_ES5.1.normal.js index 4484500dc232b..5b023f7cdedc4 100644 --- a/crates/swc/tests/tsc-references/computedPropertyNames47_ES5.1.normal.js +++ b/crates/swc/tests/tsc-references/computedPropertyNames47_ES5.1.normal.js @@ -1,11 +1,11 @@ //// [computedPropertyNames47_ES5.ts] import { _ as _define_property } from "@swc/helpers/_/_define_property"; -var E1; -(function(E1) { +var E1 = /*#__PURE__*/ function(E1) { E1[E1["x"] = 0] = "x"; -})(E1 || (E1 = {})); -var E2; -(function(E2) { + return E1; +}(E1 || {}); +var E2 = /*#__PURE__*/ function(E2) { E2[E2["x"] = 0] = "x"; -})(E2 || (E2 = {})); + return E2; +}(E2 || {}); var o = _define_property({}, 0 || 0, 0); diff --git a/crates/swc/tests/tsc-references/computedPropertyNames47_ES5.2.minified.js b/crates/swc/tests/tsc-references/computedPropertyNames47_ES5.2.minified.js index 04fcbe64ec3f3..928f83a2b74f8 100644 --- a/crates/swc/tests/tsc-references/computedPropertyNames47_ES5.2.minified.js +++ b/crates/swc/tests/tsc-references/computedPropertyNames47_ES5.2.minified.js @@ -1,4 +1,4 @@ //// [computedPropertyNames47_ES5.ts] -var E1, E2, E11, E21; import { _ as _define_property } from "@swc/helpers/_/_define_property"; -(E11 = E1 || (E1 = {}))[E11.x = 0] = "x", (E21 = E2 || (E2 = {}))[E21.x = 0] = "x", _define_property({}, 0, 0); +var E1, E2, E11 = ((E1 = E11 || {})[E1.x = 0] = "x", E1), E21 = ((E2 = E21 || {})[E2.x = 0] = "x", E2); +_define_property({}, 0, 0); diff --git a/crates/swc/tests/tsc-references/computedPropertyNames47_ES6.1.normal.js b/crates/swc/tests/tsc-references/computedPropertyNames47_ES6.1.normal.js index fca8fbec8eecd..8646f7f8a14d2 100644 --- a/crates/swc/tests/tsc-references/computedPropertyNames47_ES6.1.normal.js +++ b/crates/swc/tests/tsc-references/computedPropertyNames47_ES6.1.normal.js @@ -1,12 +1,12 @@ //// [computedPropertyNames47_ES6.ts] -var E1; -(function(E1) { +var E1 = /*#__PURE__*/ function(E1) { E1[E1["x"] = 0] = "x"; -})(E1 || (E1 = {})); -var E2; -(function(E2) { + return E1; +}(E1 || {}); +var E2 = /*#__PURE__*/ function(E2) { E2[E2["x"] = 0] = "x"; -})(E2 || (E2 = {})); + return E2; +}(E2 || {}); var o = { [0 || 0]: 0 }; diff --git a/crates/swc/tests/tsc-references/computedPropertyNames47_ES6.2.minified.js b/crates/swc/tests/tsc-references/computedPropertyNames47_ES6.2.minified.js index 21cd637813742..6a8eec0732ecf 100644 --- a/crates/swc/tests/tsc-references/computedPropertyNames47_ES6.2.minified.js +++ b/crates/swc/tests/tsc-references/computedPropertyNames47_ES6.2.minified.js @@ -1,3 +1,2 @@ //// [computedPropertyNames47_ES6.ts] -var E1, E2, E11, E21; -(E11 = E1 || (E1 = {}))[E11.x = 0] = "x", (E21 = E2 || (E2 = {}))[E21.x = 0] = "x"; +var E1, E2, E11 = ((E1 = E11 || {})[E1.x = 0] = "x", E1), E21 = ((E2 = E21 || {})[E2.x = 0] = "x", E2); diff --git a/crates/swc/tests/tsc-references/computedPropertyNames48_ES5.1.normal.js b/crates/swc/tests/tsc-references/computedPropertyNames48_ES5.1.normal.js index 1931fad1460c3..91a9255e8314c 100644 --- a/crates/swc/tests/tsc-references/computedPropertyNames48_ES5.1.normal.js +++ b/crates/swc/tests/tsc-references/computedPropertyNames48_ES5.1.normal.js @@ -1,9 +1,9 @@ //// [computedPropertyNames48_ES5.ts] import { _ as _define_property } from "@swc/helpers/_/_define_property"; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["x"] = 0] = "x"; -})(E || (E = {})); + return E; +}(E || {}); var a; extractIndexer(_define_property({}, a, "")); // Should return string extractIndexer(_define_property({}, 0, "")); // Should return string diff --git a/crates/swc/tests/tsc-references/computedPropertyNames48_ES5.2.minified.js b/crates/swc/tests/tsc-references/computedPropertyNames48_ES5.2.minified.js index 69a37aa0b49c8..29ae1085e5d54 100644 --- a/crates/swc/tests/tsc-references/computedPropertyNames48_ES5.2.minified.js +++ b/crates/swc/tests/tsc-references/computedPropertyNames48_ES5.2.minified.js @@ -1,4 +1,4 @@ //// [computedPropertyNames48_ES5.ts] -var E, a, E1; import { _ as _define_property } from "@swc/helpers/_/_define_property"; -(E1 = E || (E = {}))[E1.x = 0] = "x", extractIndexer(_define_property({}, a, "")), extractIndexer(_define_property({}, 0, "")), extractIndexer(_define_property({}, 0, "")); +var E, a, E1 = ((E = E1 || {})[E.x = 0] = "x", E); +extractIndexer(_define_property({}, a, "")), extractIndexer(_define_property({}, 0, "")), extractIndexer(_define_property({}, 0, "")); diff --git a/crates/swc/tests/tsc-references/computedPropertyNames48_ES6.1.normal.js b/crates/swc/tests/tsc-references/computedPropertyNames48_ES6.1.normal.js index b10c6205bfaa4..2c0ee20a62f64 100644 --- a/crates/swc/tests/tsc-references/computedPropertyNames48_ES6.1.normal.js +++ b/crates/swc/tests/tsc-references/computedPropertyNames48_ES6.1.normal.js @@ -1,8 +1,8 @@ //// [computedPropertyNames48_ES6.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["x"] = 0] = "x"; -})(E || (E = {})); + return E; +}(E || {}); var a; extractIndexer({ [a]: "" diff --git a/crates/swc/tests/tsc-references/computedPropertyNames48_ES6.2.minified.js b/crates/swc/tests/tsc-references/computedPropertyNames48_ES6.2.minified.js index 1b8ed78fd5a7b..e2bfe7ffbd7cb 100644 --- a/crates/swc/tests/tsc-references/computedPropertyNames48_ES6.2.minified.js +++ b/crates/swc/tests/tsc-references/computedPropertyNames48_ES6.2.minified.js @@ -1,6 +1,6 @@ //// [computedPropertyNames48_ES6.ts] -var E, a, E1; -(E1 = E || (E = {}))[E1.x = 0] = "x", extractIndexer({ +var E, a, E1 = ((E = E1 || {})[E.x = 0] = "x", E); +extractIndexer({ [a]: "" }), extractIndexer({ 0: "" diff --git a/crates/swc/tests/tsc-references/computedPropertyNames7_ES5.1.normal.js b/crates/swc/tests/tsc-references/computedPropertyNames7_ES5.1.normal.js index fb675d5d2a865..dfe5878b994ad 100644 --- a/crates/swc/tests/tsc-references/computedPropertyNames7_ES5.1.normal.js +++ b/crates/swc/tests/tsc-references/computedPropertyNames7_ES5.1.normal.js @@ -1,7 +1,7 @@ //// [computedPropertyNames7_ES5.ts] import { _ as _define_property } from "@swc/helpers/_/_define_property"; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["member"] = 0] = "member"; -})(E || (E = {})); + return E; +}(E || {}); var v = _define_property({}, 0, 0); diff --git a/crates/swc/tests/tsc-references/computedPropertyNames7_ES5.2.minified.js b/crates/swc/tests/tsc-references/computedPropertyNames7_ES5.2.minified.js index ad39adae63618..61270acba40df 100644 --- a/crates/swc/tests/tsc-references/computedPropertyNames7_ES5.2.minified.js +++ b/crates/swc/tests/tsc-references/computedPropertyNames7_ES5.2.minified.js @@ -1,4 +1,4 @@ //// [computedPropertyNames7_ES5.ts] -var E, E1; import { _ as _define_property } from "@swc/helpers/_/_define_property"; -(E1 = E || (E = {}))[E1.member = 0] = "member", _define_property({}, 0, 0); +var E, E1 = ((E = E1 || {})[E.member = 0] = "member", E); +_define_property({}, 0, 0); diff --git a/crates/swc/tests/tsc-references/computedPropertyNames7_ES6.1.normal.js b/crates/swc/tests/tsc-references/computedPropertyNames7_ES6.1.normal.js index 23f5f85339b1c..6fc5da1028506 100644 --- a/crates/swc/tests/tsc-references/computedPropertyNames7_ES6.1.normal.js +++ b/crates/swc/tests/tsc-references/computedPropertyNames7_ES6.1.normal.js @@ -1,8 +1,8 @@ //// [computedPropertyNames7_ES6.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["member"] = 0] = "member"; -})(E || (E = {})); + return E; +}(E || {}); var v = { [0]: 0 }; diff --git a/crates/swc/tests/tsc-references/computedPropertyNames7_ES6.2.minified.js b/crates/swc/tests/tsc-references/computedPropertyNames7_ES6.2.minified.js index 05c4be82d83f1..deb4db858e794 100644 --- a/crates/swc/tests/tsc-references/computedPropertyNames7_ES6.2.minified.js +++ b/crates/swc/tests/tsc-references/computedPropertyNames7_ES6.2.minified.js @@ -1,3 +1,2 @@ //// [computedPropertyNames7_ES6.ts] -var E, E1; -(E1 = E || (E = {}))[E1.member = 0] = "member"; +var E, E1 = ((E = E1 || {})[E.member = 0] = "member", E); diff --git a/crates/swc/tests/tsc-references/constEnum1.1.normal.js b/crates/swc/tests/tsc-references/constEnum1.1.normal.js index 0a10dc161230f..dd5459d80a985 100644 --- a/crates/swc/tests/tsc-references/constEnum1.1.normal.js +++ b/crates/swc/tests/tsc-references/constEnum1.1.normal.js @@ -2,4 +2,4 @@ // An enum declaration that specifies a const modifier is a constant enum declaration. // In a constant enum declaration, all members must have constant values and // it is an error for a member declaration to specify an expression that isn't classified as a constant enum expression. -var E; +; diff --git a/crates/swc/tests/tsc-references/constEnum2.1.normal.js b/crates/swc/tests/tsc-references/constEnum2.1.normal.js index 04c05c2c00f29..5b98ef5c7dceb 100644 --- a/crates/swc/tests/tsc-references/constEnum2.1.normal.js +++ b/crates/swc/tests/tsc-references/constEnum2.1.normal.js @@ -4,9 +4,9 @@ // it is an error for a member declaration to specify an expression that isn't classified as a constant enum expression. // Error : not a constant enum expression var CONST = 9000 % 2; -var D; -(function(D) { +var D = /*#__PURE__*/ function(D) { D[D["e"] = 199 * Math.floor(Math.random() * 1000)] = "e"; D[D["f"] = 10 - 100 * Math.floor(Math.random() % 8)] = "f"; D[D["g"] = CONST] = "g"; -})(D || (D = {})); + return D; +}(D || {}); diff --git a/crates/swc/tests/tsc-references/constEnum2.2.minified.js b/crates/swc/tests/tsc-references/constEnum2.2.minified.js index c0d8d1a529173..01cbd33263683 100644 --- a/crates/swc/tests/tsc-references/constEnum2.2.minified.js +++ b/crates/swc/tests/tsc-references/constEnum2.2.minified.js @@ -1,3 +1,2 @@ //// [constEnum2.ts] -var D, D1; -(D1 = D || (D = {}))[D1.e = 199 * Math.floor(1000 * Math.random())] = "e", D1[D1.f = 10 - 100 * Math.floor(Math.random() % 8)] = "f", D1[D1.g = 0] = "g"; +var D, D1 = ((D = D1 || {})[D.e = 199 * Math.floor(1000 * Math.random())] = "e", D[D.f = 10 - 100 * Math.floor(Math.random() % 8)] = "f", D[D.g = 0] = "g", D); diff --git a/crates/swc/tests/tsc-references/constEnum3.1.normal.js b/crates/swc/tests/tsc-references/constEnum3.1.normal.js index f7746af99e7d3..c9416a46c65bb 100644 --- a/crates/swc/tests/tsc-references/constEnum3.1.normal.js +++ b/crates/swc/tests/tsc-references/constEnum3.1.normal.js @@ -1,5 +1,5 @@ //// [constEnum3.ts] -var TestType; +; function f1(f) {} function f2(f) {} f1(0); diff --git a/crates/swc/tests/tsc-references/constEnum4.1.normal.js b/crates/swc/tests/tsc-references/constEnum4.1.normal.js index 349f18079c380..54e67bea3aaca 100644 --- a/crates/swc/tests/tsc-references/constEnum4.1.normal.js +++ b/crates/swc/tests/tsc-references/constEnum4.1.normal.js @@ -1,8 +1,4 @@ //// [constEnum4.ts] -if (1) { - var A; -} else if (2) { - var B; -} else { - var C; -} +if (1) ; +else if (2) ; +else ; diff --git a/crates/swc/tests/tsc-references/constEnumNoObjectPrototypePropertyAccess.1.normal.js b/crates/swc/tests/tsc-references/constEnumNoObjectPrototypePropertyAccess.1.normal.js index b0b61697e34f3..e582a37fcfea8 100644 --- a/crates/swc/tests/tsc-references/constEnumNoObjectPrototypePropertyAccess.1.normal.js +++ b/crates/swc/tests/tsc-references/constEnumNoObjectPrototypePropertyAccess.1.normal.js @@ -1,6 +1,6 @@ //// [constEnumNoObjectPrototypePropertyAccess.ts] // https://github.com/microsoft/TypeScript/issues/55421 -var Bebra; +; console.log(Bebra.constructor); console.log(Bebra.hasOwnProperty); console.log(Bebra.isPrototypeOf); diff --git a/crates/swc/tests/tsc-references/constEnumNoObjectPrototypePropertyAccess.2.minified.js b/crates/swc/tests/tsc-references/constEnumNoObjectPrototypePropertyAccess.2.minified.js index c4239a3f44248..fd0c51566194f 100644 --- a/crates/swc/tests/tsc-references/constEnumNoObjectPrototypePropertyAccess.2.minified.js +++ b/crates/swc/tests/tsc-references/constEnumNoObjectPrototypePropertyAccess.2.minified.js @@ -1,3 +1,2 @@ //// [constEnumNoObjectPrototypePropertyAccess.ts] -var Bebra; console.log(Bebra.constructor), console.log(Bebra.hasOwnProperty), console.log(Bebra.isPrototypeOf), console.log(Bebra.propertyIsEnumerable), console.log(Bebra.toLocaleString), console.log(Bebra.toString), console.log(Bebra.valueOf); diff --git a/crates/swc/tests/tsc-references/constEnumPropertyAccess1.1.normal.js b/crates/swc/tests/tsc-references/constEnumPropertyAccess1.1.normal.js index 3a18f8637b060..1b3e7c9658490 100644 --- a/crates/swc/tests/tsc-references/constEnumPropertyAccess1.1.normal.js +++ b/crates/swc/tests/tsc-references/constEnumPropertyAccess1.1.normal.js @@ -2,7 +2,7 @@ // constant enum declarations are completely erased in the emitted JavaScript code. // it is an error to reference a constant enum object in any other context // than a property access that selects one of the enum's members -var G; +; var o = { 1: true }; diff --git a/crates/swc/tests/tsc-references/constEnumPropertyAccess2.1.normal.js b/crates/swc/tests/tsc-references/constEnumPropertyAccess2.1.normal.js index 6d22c6b2bb4c4..0e94186334781 100644 --- a/crates/swc/tests/tsc-references/constEnumPropertyAccess2.1.normal.js +++ b/crates/swc/tests/tsc-references/constEnumPropertyAccess2.1.normal.js @@ -2,7 +2,7 @@ // constant enum declarations are completely erased in the emitted JavaScript code. // it is an error to reference a constant enum object in any other context // than a property access that selects one of the enum's members -var G; +; // Error from referring constant enum in any other context than a property access var z = G; var z1 = G[1]; diff --git a/crates/swc/tests/tsc-references/constEnumPropertyAccess2.2.minified.js b/crates/swc/tests/tsc-references/constEnumPropertyAccess2.2.minified.js index 830f9c296d40d..bd82d7340dc98 100644 --- a/crates/swc/tests/tsc-references/constEnumPropertyAccess2.2.minified.js +++ b/crates/swc/tests/tsc-references/constEnumPropertyAccess2.2.minified.js @@ -1,3 +1,2 @@ //// [constEnumPropertyAccess2.ts] -var G; -G[1], G.B = 3; +G, G[1], G.B = 3; diff --git a/crates/swc/tests/tsc-references/constEnumPropertyAccess3.1.normal.js b/crates/swc/tests/tsc-references/constEnumPropertyAccess3.1.normal.js index d406594a95f05..5695cf2a23481 100644 --- a/crates/swc/tests/tsc-references/constEnumPropertyAccess3.1.normal.js +++ b/crates/swc/tests/tsc-references/constEnumPropertyAccess3.1.normal.js @@ -1,5 +1,5 @@ //// [constEnumPropertyAccess3.ts] -var E; +; (-2).toString(); (-1).toString(); (-3).toString(); diff --git a/crates/swc/tests/tsc-references/constructSignatureAssignabilityInInheritance.1.normal.js b/crates/swc/tests/tsc-references/constructSignatureAssignabilityInInheritance.1.normal.js index 7d9ba7e68039d..41193cb6e649c 100644 --- a/crates/swc/tests/tsc-references/constructSignatureAssignabilityInInheritance.1.normal.js +++ b/crates/swc/tests/tsc-references/constructSignatureAssignabilityInInheritance.1.normal.js @@ -1,7 +1,7 @@ //// [constructSignatureAssignabilityInInheritance.ts] // Checking basic subtype relations with construct signatures -var MemberWithConstructSignature; (function(MemberWithConstructSignature) { var b; var r = new b.a(1); })(MemberWithConstructSignature || (MemberWithConstructSignature = {})); +var MemberWithConstructSignature; diff --git a/crates/swc/tests/tsc-references/constructSignatureAssignabilityInInheritance3.1.normal.js b/crates/swc/tests/tsc-references/constructSignatureAssignabilityInInheritance3.1.normal.js index d45db0e6aad11..ad2c6aae5d64e 100644 --- a/crates/swc/tests/tsc-references/constructSignatureAssignabilityInInheritance3.1.normal.js +++ b/crates/swc/tests/tsc-references/constructSignatureAssignabilityInInheritance3.1.normal.js @@ -4,7 +4,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var Errors; (function(Errors) { var Base = function Base() { "use strict"; @@ -38,3 +37,4 @@ var Errors; return OtherDerived; }(Base); })(Errors || (Errors = {})); +var Errors; diff --git a/crates/swc/tests/tsc-references/constructorHasPrototypeProperty.1.normal.js b/crates/swc/tests/tsc-references/constructorHasPrototypeProperty.1.normal.js index 1746f0255a828..43ca4fc5353e2 100644 --- a/crates/swc/tests/tsc-references/constructorHasPrototypeProperty.1.normal.js +++ b/crates/swc/tests/tsc-references/constructorHasPrototypeProperty.1.normal.js @@ -2,7 +2,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var NonGeneric; (function(NonGeneric) { var C = function C() { "use strict"; @@ -22,7 +21,6 @@ var NonGeneric; var r2 = D.prototype; r2.bar; })(NonGeneric || (NonGeneric = {})); -var Generic; (function(Generic) { var C = function C() { "use strict"; @@ -42,3 +40,4 @@ var Generic; var r2 = D.prototype; // D var rb = r2.baz; // any })(Generic || (Generic = {})); +var NonGeneric, Generic; diff --git a/crates/swc/tests/tsc-references/declarationsAndAssignments.1.normal.js b/crates/swc/tests/tsc-references/declarationsAndAssignments.1.normal.js index 22ef702580efc..08be531e4b4d9 100644 --- a/crates/swc/tests/tsc-references/declarationsAndAssignments.1.normal.js +++ b/crates/swc/tests/tsc-references/declarationsAndAssignments.1.normal.js @@ -200,7 +200,6 @@ f14([ } ] ]); // Error, no x -var M; (function(M) { M.a = 1, M.b = 2; })(M || (M = {})); @@ -324,3 +323,4 @@ function f21(v) { var ref3; ref3 = _to_array(v), x = ref3[0], y = ref3[1], z = ref3[2], a3 = ref3.slice(3), ref3; } +var M; diff --git a/crates/swc/tests/tsc-references/decoratorMetadataWithTypeOnlyImport2.1.normal.js b/crates/swc/tests/tsc-references/decoratorMetadataWithTypeOnlyImport2.1.normal.js index 8a1dd633683d9..e9fe666381d54 100644 --- a/crates/swc/tests/tsc-references/decoratorMetadataWithTypeOnlyImport2.1.normal.js +++ b/crates/swc/tests/tsc-references/decoratorMetadataWithTypeOnlyImport2.1.normal.js @@ -1,7 +1,6 @@ //// [decoratorMetadataWithTypeOnlyImport2.ts] //// [services.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -export var Services; (function(Services) { var Service = function Service() { "use strict"; @@ -9,6 +8,7 @@ export var Services; }; Services.Service = Service; })(Services || (Services = {})); +export var Services; //// [index.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _ts_decorate } from "@swc/helpers/_/_ts_decorate"; diff --git a/crates/swc/tests/tsc-references/decoratorMetadataWithTypeOnlyImport2.2.minified.js b/crates/swc/tests/tsc-references/decoratorMetadataWithTypeOnlyImport2.2.minified.js index 43516bf3d3c9b..f4422179a1c89 100644 --- a/crates/swc/tests/tsc-references/decoratorMetadataWithTypeOnlyImport2.2.minified.js +++ b/crates/swc/tests/tsc-references/decoratorMetadataWithTypeOnlyImport2.2.minified.js @@ -1,10 +1,10 @@ //// [decoratorMetadataWithTypeOnlyImport2.ts] //// [services.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -export var Services; (Services || (Services = {})).Service = function Service() { _class_call_check(this, Service); }; +export var Services; //// [index.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _ts_decorate } from "@swc/helpers/_/_ts_decorate"; diff --git a/crates/swc/tests/tsc-references/decoratorOnClassMethod11.1.normal.js b/crates/swc/tests/tsc-references/decoratorOnClassMethod11.1.normal.js index c58da50c3b297..c3e8acf1f3aaf 100644 --- a/crates/swc/tests/tsc-references/decoratorOnClassMethod11.1.normal.js +++ b/crates/swc/tests/tsc-references/decoratorOnClassMethod11.1.normal.js @@ -1,7 +1,6 @@ //// [decoratorOnClassMethod11.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _ts_decorate } from "@swc/helpers/_/_ts_decorate"; -var M; (function(M) { var C = /*#__PURE__*/ function() { "use strict"; @@ -17,3 +16,4 @@ var M; this.decorator ], C.prototype, "method", null); })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/decoratorOnClassMethod12.1.normal.js b/crates/swc/tests/tsc-references/decoratorOnClassMethod12.1.normal.js index d095e8aa5a0ad..b4393f7827feb 100644 --- a/crates/swc/tests/tsc-references/decoratorOnClassMethod12.1.normal.js +++ b/crates/swc/tests/tsc-references/decoratorOnClassMethod12.1.normal.js @@ -3,7 +3,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; import { _ as _ts_decorate } from "@swc/helpers/_/_ts_decorate"; -var M; (function(M) { var S = /*#__PURE__*/ function() { "use strict"; @@ -29,3 +28,4 @@ var M; super.decorator ], C.prototype, "method", null); })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/decrementOperatorWithAnyOtherType.1.normal.js b/crates/swc/tests/tsc-references/decrementOperatorWithAnyOtherType.1.normal.js index ac64fcac27c94..9bc2c4986e125 100644 --- a/crates/swc/tests/tsc-references/decrementOperatorWithAnyOtherType.1.normal.js +++ b/crates/swc/tests/tsc-references/decrementOperatorWithAnyOtherType.1.normal.js @@ -15,7 +15,6 @@ var A = function A() { "use strict"; _class_call_check(this, A); }; -var M; (function(M) {})(M || (M = {})); var objA = new A(); // any type var @@ -47,3 +46,4 @@ ANY2[0]--; ANY--, ANY1--; objA.a--; M.n--; +var M; diff --git a/crates/swc/tests/tsc-references/decrementOperatorWithEnumType.1.normal.js b/crates/swc/tests/tsc-references/decrementOperatorWithEnumType.1.normal.js index c42c720070e9b..4670fbff9b299 100644 --- a/crates/swc/tests/tsc-references/decrementOperatorWithEnumType.1.normal.js +++ b/crates/swc/tests/tsc-references/decrementOperatorWithEnumType.1.normal.js @@ -1,11 +1,11 @@ //// [decrementOperatorWithEnumType.ts] // -- operator on enum type -var ENUM1; -(function(ENUM1) { +var ENUM1 = /*#__PURE__*/ function(ENUM1) { ENUM1[ENUM1["A"] = 0] = "A"; ENUM1[ENUM1["B"] = 1] = "B"; ENUM1[ENUM1[""] = 2] = ""; -})(ENUM1 || (ENUM1 = {})); + return ENUM1; +}(ENUM1 || {}); // expression var ResultIsNumber1 = --ENUM1["A"]; var ResultIsNumber2 = ENUM1.A--; diff --git a/crates/swc/tests/tsc-references/decrementOperatorWithEnumType.2.minified.js b/crates/swc/tests/tsc-references/decrementOperatorWithEnumType.2.minified.js index 5946247a8de71..bc9384808d116 100644 --- a/crates/swc/tests/tsc-references/decrementOperatorWithEnumType.2.minified.js +++ b/crates/swc/tests/tsc-references/decrementOperatorWithEnumType.2.minified.js @@ -1,3 +1,3 @@ //// [decrementOperatorWithEnumType.ts] -var ENUM1, ENUM11; -(ENUM11 = ENUM1 || (ENUM1 = {}))[ENUM11.A = 0] = "A", ENUM11[ENUM11.B = 1] = "B", ENUM11[ENUM11[""] = 2] = "", --ENUM1.A, ENUM1.A--, --ENUM1.A, ENUM1[A]--; +var ENUM1, ENUM11 = ((ENUM1 = ENUM11 || {})[ENUM1.A = 0] = "A", ENUM1[ENUM1.B = 1] = "B", ENUM1[ENUM1[""] = 2] = "", ENUM1); +--ENUM11.A, ENUM11.A--, --ENUM11.A, ENUM11[A]--; diff --git a/crates/swc/tests/tsc-references/decrementOperatorWithNumberType.1.normal.js b/crates/swc/tests/tsc-references/decrementOperatorWithNumberType.1.normal.js index 0cde860b2176c..89dcb453ff783 100644 --- a/crates/swc/tests/tsc-references/decrementOperatorWithNumberType.1.normal.js +++ b/crates/swc/tests/tsc-references/decrementOperatorWithNumberType.1.normal.js @@ -10,7 +10,6 @@ var A = function A() { "use strict"; _class_call_check(this, A); }; -var M; (function(M) {})(M || (M = {})); var objA = new A(); // number type var @@ -33,3 +32,4 @@ NUMBER1[0]--; objA.a--; M.n--; objA.a--, M.n--; +var M; diff --git a/crates/swc/tests/tsc-references/defaultExportsCannotMerge01.1.normal.js b/crates/swc/tests/tsc-references/defaultExportsCannotMerge01.1.normal.js index a94519510bd49..3de044b83024c 100644 --- a/crates/swc/tests/tsc-references/defaultExportsCannotMerge01.1.normal.js +++ b/crates/swc/tests/tsc-references/defaultExportsCannotMerge01.1.normal.js @@ -5,9 +5,17 @@ Object.defineProperty(exports, "__esModule", { value: true }); -Object.defineProperty(exports, "default", { - enumerable: true, - get: function() { +function _export(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: true, + get: all[name] + }); +} +_export(exports, { + Decl: function() { + return Decl; + }, + default: function() { return Decl; } }); @@ -18,6 +26,7 @@ function Decl() { Decl.x = 10; Decl.y = 20; })(Decl || (Decl = {})); +var Decl; //// [m2.ts] "use strict"; Object.defineProperty(exports, "__esModule", { diff --git a/crates/swc/tests/tsc-references/defaultExportsCannotMerge01.2.minified.js b/crates/swc/tests/tsc-references/defaultExportsCannotMerge01.2.minified.js index 2dec8c869ddfd..878039687cace 100644 --- a/crates/swc/tests/tsc-references/defaultExportsCannotMerge01.2.minified.js +++ b/crates/swc/tests/tsc-references/defaultExportsCannotMerge01.2.minified.js @@ -1,17 +1,24 @@ //// [defaultExportsCannotMerge01.ts] //// [m1.ts] -var Decl; -function Decl1() { +var Decl, Decl1; +function Decl() { return 0; } Object.defineProperty(exports, "__esModule", { value: !0 -}), Object.defineProperty(exports, "default", { - enumerable: !0, - get: function() { - return Decl1; +}), function(target, all) { + for(var name in all)Object.defineProperty(target, name, { + enumerable: !0, + get: all[name] + }); +}(exports, { + Decl: function() { + return Decl; + }, + default: function() { + return Decl; } -}), (Decl = Decl1 || (Decl1 = {})).x = 10, Decl.y = 20; +}), (Decl1 = Decl || (Decl = {})).x = 10, Decl1.y = 20; //// [m2.ts] Object.defineProperty(exports, "__esModule", { value: !0 diff --git a/crates/swc/tests/tsc-references/defaultExportsCannotMerge04.1.normal.js b/crates/swc/tests/tsc-references/defaultExportsCannotMerge04.1.normal.js index 68a3ddc69209d..522f146f5a498 100644 --- a/crates/swc/tests/tsc-references/defaultExportsCannotMerge04.1.normal.js +++ b/crates/swc/tests/tsc-references/defaultExportsCannotMerge04.1.normal.js @@ -11,3 +11,4 @@ Object.defineProperty(exports, "default", { }); function Foo() {} (function(Foo) {})(Foo || (Foo = {})); +var Foo; diff --git a/crates/swc/tests/tsc-references/defaultExportsCannotMerge04.2.minified.js b/crates/swc/tests/tsc-references/defaultExportsCannotMerge04.2.minified.js index 38144e4f27176..800b0608f9068 100644 --- a/crates/swc/tests/tsc-references/defaultExportsCannotMerge04.2.minified.js +++ b/crates/swc/tests/tsc-references/defaultExportsCannotMerge04.2.minified.js @@ -1,4 +1,5 @@ //// [defaultExportsCannotMerge04.ts] +var Foo; function Foo() {} Object.defineProperty(exports, "__esModule", { value: !0 diff --git a/crates/swc/tests/tsc-references/defineProperty(target=es5).1.normal.js b/crates/swc/tests/tsc-references/defineProperty(target=es5).1.normal.js index 502551c2d6ee4..a27d7ada625a6 100644 --- a/crates/swc/tests/tsc-references/defineProperty(target=es5).1.normal.js +++ b/crates/swc/tests/tsc-references/defineProperty(target=es5).1.normal.js @@ -5,8 +5,7 @@ import { _ as _create_class } from "@swc/helpers/_/_create_class"; import { _ as _define_property } from "@swc/helpers/_/_define_property"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; var x = "p"; -var _x = x; -var _x1 = _x; +var _ref = _x = x; var A = /*#__PURE__*/ function() { "use strict"; function A(y) { @@ -16,7 +15,7 @@ var A = /*#__PURE__*/ function() { _define_property(this, "b", void 0); _define_property(this, "c", void 0); _define_property(this, "computed", void 0); - _define_property(this, _x1, void 0); + _define_property(this, _ref, void 0); _define_property(this, "z", void 0); this.y = y; this.a = this.y; @@ -48,3 +47,4 @@ var C = /*#__PURE__*/ function(B) { } return C; }(B); +var _x; diff --git a/crates/swc/tests/tsc-references/defineProperty(target=esnext).1.normal.js b/crates/swc/tests/tsc-references/defineProperty(target=esnext).1.normal.js index 4f9b22882e151..f1938acbf3493 100644 --- a/crates/swc/tests/tsc-references/defineProperty(target=esnext).1.normal.js +++ b/crates/swc/tests/tsc-references/defineProperty(target=esnext).1.normal.js @@ -1,13 +1,12 @@ //// [defineProperty.ts] var x = "p"; -let _x = x; class A { y; a; b; c; ["computed"]; - [_x]; + [_x = x]; m() {} constructor(y){ this.y = y; @@ -29,3 +28,4 @@ class C extends B { } ki; } +var _x; diff --git a/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=es5).1.normal.js b/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=es5).1.normal.js index 5b60210c62108..758735e2fc105 100644 --- a/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=es5).1.normal.js +++ b/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=es5).1.normal.js @@ -1,10 +1,10 @@ //// [destructuringObjectBindingPatternAndAssignment7.ts] import { _ as _define_property } from "@swc/helpers/_/_define_property"; -var K; -(function(K) { +var K = /*#__PURE__*/ function(K) { K["a"] = "a"; K["b"] = "b"; -})(K || (K = {})); + return K; +}(K || {}); var _ref = function() { var _obj; return _obj = {}, _define_property(_obj, "a", 1), _define_property(_obj, "b", 1), _obj; diff --git a/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=es5).2.minified.js b/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=es5).2.minified.js index 4e9eeb790eeef..31ae791806cdf 100644 --- a/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=es5).2.minified.js +++ b/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=es5).2.minified.js @@ -1,5 +1,4 @@ //// [destructuringObjectBindingPatternAndAssignment7.ts] import { _ as _define_property } from "@swc/helpers/_/_define_property"; -(K = K1 || (K1 = {})).a = "a", K.b = "b"; -var K, _obj, K1, _ref = (_define_property(_obj = {}, "a", 1), _define_property(_obj, "b", 1), _obj); +var K, _obj, K1 = ((K = K1 || {}).a = "a", K.b = "b", K), _ref = (_define_property(_obj = {}, "a", 1), _define_property(_obj, "b", 1), _obj); console.log(_ref.a, _ref.b); diff --git a/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=esnext).1.normal.js b/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=esnext).1.normal.js index 32f87e1602e20..3944107b958fe 100644 --- a/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=esnext).1.normal.js +++ b/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=esnext).1.normal.js @@ -1,9 +1,9 @@ //// [destructuringObjectBindingPatternAndAssignment7.ts] -var K; -(function(K) { +var K = /*#__PURE__*/ function(K) { K["a"] = "a"; K["b"] = "b"; -})(K || (K = {})); + return K; +}(K || {}); const { ["a"]: aVal, ["b"]: bVal } = (()=>{ return { ["a"]: 1, diff --git a/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=esnext).2.minified.js b/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=esnext).2.minified.js index 70138587b5746..7a23f6ff87c38 100644 --- a/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=esnext).2.minified.js +++ b/crates/swc/tests/tsc-references/destructuringObjectBindingPatternAndAssignment7(target=esnext).2.minified.js @@ -1,6 +1,5 @@ //// [destructuringObjectBindingPatternAndAssignment7.ts] -var K, K1; -(K1 = K || (K = {})).a = "a", K1.b = "b"; +var K, K1 = ((K = K1 || {}).a = "a", K.b = "b", K); const { a: aVal, b: bVal } = { a: 1, b: 1 diff --git a/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5.1.normal.js b/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5.1.normal.js index 39f58510e69a2..ac3f7ebb3058a 100644 --- a/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5.1.normal.js +++ b/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5.1.normal.js @@ -66,12 +66,12 @@ a11([ function foo(...a) {} foo("hello", 1, 2); foo("hello", "world"); -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; -})(E || (E = {})); -var E1; + return E; +}(E || {}); +; function foo1(...a) {} foo1(1, 2, 3, 0); foo1(1, 2, 3, 0, 1); diff --git a/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5.2.minified.js b/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5.2.minified.js index c535e0778345a..071ef8f25f671 100644 --- a/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5.2.minified.js +++ b/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5.2.minified.js @@ -1,5 +1,5 @@ //// [destructuringParameterDeclaration3ES5.ts] -var E, E1, array = [ +var E, array = [ 1, 2, 3 @@ -19,4 +19,5 @@ var E, E1, array = [ ]), function([a, b, c, ...x]) {}([ 1, 2 -]), (E = E1 || (E1 = {}))[E.a = 0] = "a", E[E.b = 1] = "b"; +]); +var E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E); diff --git a/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5iterable.1.normal.js b/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5iterable.1.normal.js index 06ce927caf49c..2df03ccc1c64c 100644 --- a/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5iterable.1.normal.js +++ b/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5iterable.1.normal.js @@ -97,12 +97,12 @@ function foo() { } foo("hello", 1, 2); foo("hello", "world"); -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; -})(E || (E = {})); -var E1; + return E; +}(E || {}); +; function foo1() { for(var _len = arguments.length, a = new Array(_len), _key = 0; _key < _len; _key++){ a[_key] = arguments[_key]; diff --git a/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5iterable.2.minified.js b/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5iterable.2.minified.js index fd3f62c158786..28df88bc36551 100644 --- a/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5iterable.2.minified.js +++ b/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES5iterable.2.minified.js @@ -6,7 +6,7 @@ function a10(param) { var _param = _to_array(param), _param_ = (_param[0], _param[1], _sliced_to_array(_param[2], 1)); _sliced_to_array(_param_[0], 1)[0], _param.slice(3); } -var _param, _param_, _param1, E, E1, array = [ +var _param, _param_, _param1, E, array = [ 1, 2, 3 @@ -14,9 +14,6 @@ var _param, _param_, _param1, E, E1, array = [ function foo() { for(var _len = arguments.length, a = Array(_len), _key = 0; _key < _len; _key++)a[_key] = arguments[_key]; } -function foo1() { - for(var _len = arguments.length, a = Array(_len), _key = 0; _key < _len; _key++)a[_key] = arguments[_key]; -} !function() { for(var _len = arguments.length, a = Array(_len), _key = 0; _key < _len; _key++)a[_key] = arguments[_key]; }(_to_consumable_array(array)), (function() { @@ -53,4 +50,9 @@ function foo1() { ]), (_param1 = _to_array([ 1, 2 -]))[0], _param1[1], _param1[2], _param1.slice(3), foo("hello", 1, 2), foo("hello", "world"), (E = E1 || (E1 = {}))[E.a = 0] = "a", E[E.b = 1] = "b", foo1(1, 2, 3, 0), foo1(1, 2, 3, 0, 1); +]))[0], _param1[1], _param1[2], _param1.slice(3), foo("hello", 1, 2), foo("hello", "world"); +var E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E); +function foo1() { + for(var _len = arguments.length, a = Array(_len), _key = 0; _key < _len; _key++)a[_key] = arguments[_key]; +} +foo1(1, 2, 3, 0), foo1(1, 2, 3, 0, 1); diff --git a/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES6.1.normal.js b/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES6.1.normal.js index c3cdc055e0ef5..5dd67455ff69d 100644 --- a/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES6.1.normal.js +++ b/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES6.1.normal.js @@ -66,12 +66,12 @@ a11([ function foo(...a) {} foo("hello", 1, 2); foo("hello", "world"); -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; -})(E || (E = {})); -var E1; + return E; +}(E || {}); +; function foo1(...a) {} foo1(1, 2, 3, 0); foo1(1, 2, 3, 0, 1); diff --git a/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES6.2.minified.js b/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES6.2.minified.js index b95d9e1d8b753..b69300b4be567 100644 --- a/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES6.2.minified.js +++ b/crates/swc/tests/tsc-references/destructuringParameterDeclaration3ES6.2.minified.js @@ -1,5 +1,5 @@ //// [destructuringParameterDeclaration3ES6.ts] -var E, E1, array = [ +var E, array = [ 1, 2, 3 @@ -19,4 +19,5 @@ var E, E1, array = [ ]), function([a, b, c, ...x]) {}([ 1, 2 -]), (E = E1 || (E1 = {}))[E.a = 0] = "a", E[E.b = 1] = "b"; +]); +var E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E); diff --git a/crates/swc/tests/tsc-references/duplicateStringIndexers.1.normal.js b/crates/swc/tests/tsc-references/duplicateStringIndexers.1.normal.js index 289f218348dad..14df111931953 100644 --- a/crates/swc/tests/tsc-references/duplicateStringIndexers.1.normal.js +++ b/crates/swc/tests/tsc-references/duplicateStringIndexers.1.normal.js @@ -1,7 +1,6 @@ //// [duplicateStringIndexers.ts] // it is an error to have duplicate index signatures of the same kind in a type import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var test; (function(test) { var C = function C() { "use strict"; @@ -9,3 +8,4 @@ var test; }; var a; })(test || (test = {})); +var test; diff --git a/crates/swc/tests/tsc-references/enumAssignability.1.normal.js b/crates/swc/tests/tsc-references/enumAssignability.1.normal.js index 8e22288d08be9..64c760107ab6b 100644 --- a/crates/swc/tests/tsc-references/enumAssignability.1.normal.js +++ b/crates/swc/tests/tsc-references/enumAssignability.1.normal.js @@ -1,14 +1,14 @@ //// [enumAssignability.ts] // enums assignable to number, any, Object, errors unless otherwise noted import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); -var F; -(function(F) { + return E; +}(E || {}); +var F = /*#__PURE__*/ function(F) { F[F["B"] = 0] = "B"; -})(F || (F = {})); + return F; +}(F || {}); var e = 0; var f = 0; e = f; @@ -17,7 +17,6 @@ e = 1; // ok f = 1; // ok var x = e; // ok x = f; // ok -var Others; (function(Others) { var a = e; // ok var C = function C() { @@ -52,3 +51,4 @@ var Others; var b = e; } })(Others || (Others = {})); +var Others; diff --git a/crates/swc/tests/tsc-references/enumAssignability.2.minified.js b/crates/swc/tests/tsc-references/enumAssignability.2.minified.js index 819663176ecc7..72321cdac0c87 100644 --- a/crates/swc/tests/tsc-references/enumAssignability.2.minified.js +++ b/crates/swc/tests/tsc-references/enumAssignability.2.minified.js @@ -1,4 +1,4 @@ //// [enumAssignability.ts] -var E, F, E1, F1, Others; import "@swc/helpers/_/_class_call_check"; -(E = E1 || (E1 = {}))[E.A = 0] = "A", (F = F1 || (F1 = {}))[F.B = 0] = "B", Others || (Others = {}); +var F, E, Others, E1 = ((E = E1 || {})[E.A = 0] = "A", E), F1 = ((F = F1 || {})[F.B = 0] = "B", F); +Others || (Others = {}); diff --git a/crates/swc/tests/tsc-references/enumAssignabilityInInheritance.1.normal.js b/crates/swc/tests/tsc-references/enumAssignabilityInInheritance.1.normal.js index fa6ebbbc79149..812a646079055 100644 --- a/crates/swc/tests/tsc-references/enumAssignabilityInInheritance.1.normal.js +++ b/crates/swc/tests/tsc-references/enumAssignabilityInInheritance.1.normal.js @@ -1,10 +1,10 @@ //// [enumAssignabilityInInheritance.ts] // enum is only a subtype of number, no types are subtypes of enum, all of these except the first are errors import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var r = foo(0); // E var r2 = foo(1); // number var r3 = foo(null); // any @@ -27,10 +27,10 @@ var A2 = function A2() { var r4 = foo10(0); var r4 = foo11(0); var r4 = foo12(0); -var E2; -(function(E2) { +var E2 = /*#__PURE__*/ function(E2) { E2[E2["A"] = 0] = "A"; -})(E2 || (E2 = {})); + return E2; +}(E2 || {}); var r4 = foo13(0); function f() {} (function(f) { diff --git a/crates/swc/tests/tsc-references/enumAssignabilityInInheritance.2.minified.js b/crates/swc/tests/tsc-references/enumAssignabilityInInheritance.2.minified.js index 0ea39c8e77fcf..27ba8b1bad0cc 100644 --- a/crates/swc/tests/tsc-references/enumAssignabilityInInheritance.2.minified.js +++ b/crates/swc/tests/tsc-references/enumAssignabilityInInheritance.2.minified.js @@ -1,8 +1,11 @@ //// [enumAssignabilityInInheritance.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; +var E, E2, E1 = ((E = E1 || {})[E.A = 0] = "A", E); +foo(0), foo(1), foo(null), foo2(0), foo3(0), foo4(0), foo5(0), foo6(0), foo7(0), foo8(0), foo9(0), foo10(0), foo11(0), foo12(0); +var E21 = ((E2 = E21 || {})[E2.A = 0] = "A", E2); function f() {} -(E = E1 || (E1 = {}))[E.A = 0] = "A", foo(0), foo(1), foo(null), foo2(0), foo3(0), foo4(0), foo5(0), foo6(0), foo7(0), foo8(0), foo9(0), foo10(0), foo11(0), foo12(0), (E2 = E21 || (E21 = {}))[E2.A = 0] = "A", foo13(0), (f || (f = {})).bar = 1, foo14(0); -var E, E2, E1, E21, CC = function CC() { +foo13(0), (f || (f = {})).bar = 1, foo14(0); +var CC = function CC() { _class_call_check(this, CC); }; (CC || (CC = {})).bar = 1, foo15(0), foo16(0), foo16(0); diff --git a/crates/swc/tests/tsc-references/enumBasics.1.normal.js b/crates/swc/tests/tsc-references/enumBasics.1.normal.js index 4554c063577ae..f6619faf17db0 100644 --- a/crates/swc/tests/tsc-references/enumBasics.1.normal.js +++ b/crates/swc/tests/tsc-references/enumBasics.1.normal.js @@ -1,11 +1,11 @@ //// [enumBasics.ts] // Enum without initializers have first member = 0 and successive members = N + 1 -var E1; -(function(E1) { +var E1 = /*#__PURE__*/ function(E1) { E1[E1["A"] = 0] = "A"; E1[E1["B"] = 1] = "B"; E1[E1["C"] = 2] = "C"; -})(E1 || (E1 = {})); + return E1; +}(E1 || {}); // Enum type is a subtype of Number var x = 0; // Enum object type is anonymous with properties of the enum type and numeric indexer @@ -15,56 +15,56 @@ var e; // Reverse mapping of enum returns string name of property var s = E1[e.A]; var s; -var E2; -// Enum with only constant members -(function(E2) { +var // Enum with only constant members +E2 = /*#__PURE__*/ function(E2) { E2[E2["A"] = 1] = "A"; E2[E2["B"] = 2] = "B"; E2[E2["C"] = 3] = "C"; -})(E2 || (E2 = {})); -var E3; -// Enum with only computed members -(function(E3) { + return E2; +}(E2 || {}); +var // Enum with only computed members +E3 = /*#__PURE__*/ function(E3) { E3[E3["X"] = 'foo'.length] = "X"; E3[E3["Y"] = 7] = "Y"; E3[E3["Z"] = +"foo"] = "Z"; -})(E3 || (E3 = {})); -var E4; -// Enum with constant members followed by computed members -(function(E4) { + return E3; +}(E3 || {}); +var // Enum with constant members followed by computed members +E4 = /*#__PURE__*/ function(E4) { E4[E4["X"] = 0] = "X"; E4[E4["Y"] = 1] = "Y"; E4[E4["Z"] = 'foo'.length] = "Z"; -})(E4 || (E4 = {})); -var E5; -// Enum with > 2 constant members with no initializer for first member, non zero initializer for second element -(function(E5) { + return E4; +}(E4 || {}); +var // Enum with > 2 constant members with no initializer for first member, non zero initializer for second element +E5 = /*#__PURE__*/ function(E5) { E5[E5["A"] = 0] = "A"; E5[E5["B"] = 3] = "B"; E5[E5["C"] = 4] = "C"; // 4 -})(E5 || (E5 = {})); -var E6; -(function(E6) { + return E5; +}(E5 || {}); +var E6 = /*#__PURE__*/ function(E6) { E6[E6["A"] = 0] = "A"; E6[E6["B"] = 0] = "B"; E6[E6["C"] = 1] = "C"; // 1 -})(E6 || (E6 = {})); -var E7; -// Enum with computed member initializer of type 'any' -(function(E7) { + return E6; +}(E6 || {}); +var // Enum with computed member initializer of type 'any' +E7 = /*#__PURE__*/ function(E7) { E7[E7["A"] = 'foo'['foo']] = "A"; -})(E7 || (E7 = {})); -var E8; -// Enum with computed member initializer of type number -(function(E8) { + return E7; +}(E7 || {}); +var // Enum with computed member initializer of type number +E8 = /*#__PURE__*/ function(E8) { E8[E8["B"] = 'foo'['foo']] = "B"; -})(E8 || (E8 = {})); -var E9; -//Enum with computed member intializer of same enum type -(function(E9) { + return E8; +}(E8 || {}); +var //Enum with computed member intializer of same enum type +E9 = /*#__PURE__*/ function(E9) { E9[E9["A"] = 0] = "A"; E9[E9["B"] = 0] = "B"; -})(E9 || (E9 = {})); + return E9; +}(E9 || {}); // (refer to .js to validate) // Enum constant members are propagated var doNotPropagate = [ diff --git a/crates/swc/tests/tsc-references/enumBasics.2.minified.js b/crates/swc/tests/tsc-references/enumBasics.2.minified.js index c8e0e8e104e95..fd18dc8c290eb 100644 --- a/crates/swc/tests/tsc-references/enumBasics.2.minified.js +++ b/crates/swc/tests/tsc-references/enumBasics.2.minified.js @@ -1,4 +1,5 @@ //// [enumBasics.ts] -(E1 = E11 || (E11 = {}))[E1.A = 0] = "A", E1[E1.B = 1] = "B", E1[E1.C = 2] = "C"; -var E2, E3, E4, E5, E6, E7, E8, E9, E1, E11, E21, E31, E41, E51, E61, E71, E81, E91, e = E11; -E11[e.A], (E2 = E21 || (E21 = {}))[E2.A = 1] = "A", E2[E2.B = 2] = "B", E2[E2.C = 3] = "C", (E3 = E31 || (E31 = {}))[E3.X = 3] = "X", E3[E3.Y = 7] = "Y", E3[E3.Z = NaN] = "Z", (E4 = E41 || (E41 = {}))[E4.X = 0] = "X", E4[E4.Y = 1] = "Y", E4[E4.Z = 3] = "Z", (E5 = E51 || (E51 = {}))[E5.A = 0] = "A", E5[E5.B = 3] = "B", E5[E5.C = 4] = "C", (E6 = E61 || (E61 = {}))[E6.A = 0] = "A", E6[E6.B = 0] = "B", E6[E6.C = 1] = "C", (E7 = E71 || (E71 = {}))[E7.A = 'foo'.foo] = "A", (E8 = E81 || (E81 = {}))[E8.B = 'foo'.foo] = "B", (E9 = E91 || (E91 = {}))[E9.A = 0] = "A", E9[E9.B = 0] = "B", E81.B, E71.A, E41.Z, E31.X, E31.Z; +var E2, E3, E4, E5, E6, E7, E8, E9, E1, e, E11 = ((E1 = E11 || {})[E1.A = 0] = "A", E1[E1.B = 1] = "B", E1[E1.C = 2] = "C", E1), e = E11; +E11[e.A]; +var E21 = ((E2 = E21 || {})[E2.A = 1] = "A", E2[E2.B = 2] = "B", E2[E2.C = 3] = "C", E2), E31 = ((E3 = E31 || {})[E3.X = 3] = "X", E3[E3.Y = 7] = "Y", E3[E3.Z = NaN] = "Z", E3), E41 = ((E4 = E41 || {})[E4.X = 0] = "X", E4[E4.Y = 1] = "Y", E4[E4.Z = 3] = "Z", E4), E51 = ((E5 = E51 || {})[E5.A = 0] = "A", E5[E5.B = 3] = "B", E5[E5.C = 4] = "C", E5), E61 = ((E6 = E61 || {})[E6.A = 0] = "A", E6[E6.B = 0] = "B", E6[E6.C = 1] = "C", E6), E71 = ((E7 = E71 || {})[E7.A = 'foo'.foo] = "A", E7), E81 = ((E8 = E81 || {})[E8.B = 'foo'.foo] = "B", E8), E91 = ((E9 = E91 || {})[E9.A = 0] = "A", E9[E9.B = 0] = "B", E9); +E81.B, E71.A, E41.Z, E31.X, E31.Z; diff --git a/crates/swc/tests/tsc-references/enumClassification.1.normal.js b/crates/swc/tests/tsc-references/enumClassification.1.normal.js index a1be527f9f14e..add86ee3a37e6 100644 --- a/crates/swc/tests/tsc-references/enumClassification.1.normal.js +++ b/crates/swc/tests/tsc-references/enumClassification.1.normal.js @@ -4,73 +4,74 @@ // the enum type is classified as a literal enum type. An enum type that doesn't adhere // to this pattern is classified as a numeric enum type. // Examples of literal enum types -var E01; -(function(E01) { +var E01 = /*#__PURE__*/ function(E01) { E01[E01["A"] = 0] = "A"; -})(E01 || (E01 = {})); -var E02; -(function(E02) { + return E01; +}(E01 || {}); +var E02 = /*#__PURE__*/ function(E02) { E02[E02["A"] = 123] = "A"; -})(E02 || (E02 = {})); -var E03; -(function(E03) { + return E02; +}(E02 || {}); +var E03 = /*#__PURE__*/ function(E03) { E03["A"] = "hello"; -})(E03 || (E03 = {})); -var E04; -(function(E04) { + return E03; +}(E03 || {}); +var E04 = /*#__PURE__*/ function(E04) { E04[E04["A"] = 0] = "A"; E04[E04["B"] = 1] = "B"; E04[E04["C"] = 2] = "C"; -})(E04 || (E04 = {})); -var E05; -(function(E05) { + return E04; +}(E04 || {}); +var E05 = /*#__PURE__*/ function(E05) { E05[E05["A"] = 0] = "A"; E05[E05["B"] = 10] = "B"; E05[E05["C"] = 11] = "C"; -})(E05 || (E05 = {})); -var E06; -(function(E06) { + return E05; +}(E05 || {}); +var E06 = /*#__PURE__*/ function(E06) { E06["A"] = "one"; E06["B"] = "two"; E06["C"] = "three"; -})(E06 || (E06 = {})); -var E07; -(function(E07) { + return E06; +}(E06 || {}); +var E07 = /*#__PURE__*/ function(E07) { E07[E07["A"] = 0] = "A"; E07[E07["B"] = 1] = "B"; E07["C"] = "hi"; E07[E07["D"] = 10] = "D"; E07[E07["E"] = 11] = "E"; E07["F"] = "bye"; -})(E07 || (E07 = {})); -var E08; -(function(E08) { + return E07; +}(E07 || {}); +var E08 = /*#__PURE__*/ function(E08) { E08[E08["A"] = 10] = "A"; E08["B"] = "hello"; E08[E08["C"] = 10] = "C"; E08["D"] = "hello"; E08[E08["E"] = 10] = "E"; -})(E08 || (E08 = {})); -var E10; -// Examples of numeric enum types with only constant members -(function(E10) {})(E10 || (E10 = {})); -var E11; -(function(E11) { + return E08; +}(E08 || {}); +var // Examples of numeric enum types with only constant members +E10 = /*#__PURE__*/ function(E10) { + return E10; +}(E10 || {}); +var E11 = /*#__PURE__*/ function(E11) { E11[E11["A"] = 0] = "A"; E11[E11["B"] = 1] = "B"; E11[E11["C"] = 2] = "C"; -})(E11 || (E11 = {})); -var E12; -(function(E12) { + return E11; +}(E11 || {}); +var E12 = /*#__PURE__*/ function(E12) { E12[E12["A"] = 1] = "A"; E12[E12["B"] = 2] = "B"; E12[E12["C"] = 4] = "C"; -})(E12 || (E12 = {})); -var E20; -// Examples of numeric enum types with constant and computed members -(function(E20) { + return E12; +}(E12 || {}); +var // Examples of numeric enum types with constant and computed members +E20 = /*#__PURE__*/ function(E20) { E20[E20["A"] = "foo".length] = "A"; E20[E20["B"] = E20.A + 1] = "B"; E20[E20["C"] = +"123"] = "C"; E20[E20["D"] = Math.sin(1)] = "D"; -})(E20 || (E20 = {})); + return E20; +}(E20 || {}); diff --git a/crates/swc/tests/tsc-references/enumClassification.2.minified.js b/crates/swc/tests/tsc-references/enumClassification.2.minified.js index c503e75ba5761..629687a41564f 100644 --- a/crates/swc/tests/tsc-references/enumClassification.2.minified.js +++ b/crates/swc/tests/tsc-references/enumClassification.2.minified.js @@ -1,3 +1,2 @@ //// [enumClassification.ts] -var E01, E02, E03, E04, E05, E06, E07, E08, E10, E11, E12, E20, E011, E021, E041, E051, E061, E071, E081, E111, E121, E201; -(E011 = E01 || (E01 = {}))[E011.A = 0] = "A", (E021 = E02 || (E02 = {}))[E021.A = 123] = "A", (E03 || (E03 = {})).A = "hello", (E041 = E04 || (E04 = {}))[E041.A = 0] = "A", E041[E041.B = 1] = "B", E041[E041.C = 2] = "C", (E051 = E05 || (E05 = {}))[E051.A = 0] = "A", E051[E051.B = 10] = "B", E051[E051.C = 11] = "C", (E061 = E06 || (E06 = {})).A = "one", E061.B = "two", E061.C = "three", (E071 = E07 || (E07 = {}))[E071.A = 0] = "A", E071[E071.B = 1] = "B", E071.C = "hi", E071[E071.D = 10] = "D", E071[E071.E = 11] = "E", E071.F = "bye", (E081 = E08 || (E08 = {}))[E081.A = 10] = "A", E081.B = "hello", E081[E081.C = 10] = "C", E081.D = "hello", E081[E081.E = 10] = "E", E10 || (E10 = {}), (E111 = E11 || (E11 = {}))[E111.A = 0] = "A", E111[E111.B = 1] = "B", E111[E111.C = 2] = "C", (E121 = E12 || (E12 = {}))[E121.A = 1] = "A", E121[E121.B = 2] = "B", E121[E121.C = 4] = "C", (E201 = E20 || (E20 = {}))[E201.A = 3] = "A", E201[E201.B = E201.A + 1] = "B", E201[E201.C = 123] = "C", E201[E201.D = 0.8414709848078965] = "D"; +var E01, E02, E03, E04, E05, E06, E07, E08, E11, E12, E20, E011 = ((E01 = E011 || {})[E01.A = 0] = "A", E01), E021 = ((E02 = E021 || {})[E02.A = 123] = "A", E02), E031 = ((E03 = E031 || {}).A = "hello", E03), E041 = ((E04 = E041 || {})[E04.A = 0] = "A", E04[E04.B = 1] = "B", E04[E04.C = 2] = "C", E04), E051 = ((E05 = E051 || {})[E05.A = 0] = "A", E05[E05.B = 10] = "B", E05[E05.C = 11] = "C", E05), E061 = ((E06 = E061 || {}).A = "one", E06.B = "two", E06.C = "three", E06), E071 = ((E07 = E071 || {})[E07.A = 0] = "A", E07[E07.B = 1] = "B", E07.C = "hi", E07[E07.D = 10] = "D", E07[E07.E = 11] = "E", E07.F = "bye", E07), E081 = ((E08 = E081 || {})[E08.A = 10] = "A", E08.B = "hello", E08[E08.C = 10] = "C", E08.D = "hello", E08[E08.E = 10] = "E", E08), E111 = ((E11 = E111 || {})[E11.A = 0] = "A", E11[E11.B = 1] = "B", E11[E11.C = 2] = "C", E11), E121 = ((E12 = E121 || {})[E12.A = 1] = "A", E12[E12.B = 2] = "B", E12[E12.C = 4] = "C", E12), E201 = ((E20 = E201 || {})[E20.A = 3] = "A", E20[E20.B = E20.A + 1] = "B", E20[E20.C = 123] = "C", E20[E20.D = 0.8414709848078965] = "D", E20); diff --git a/crates/swc/tests/tsc-references/enumConstantMemberWithString.1.normal.js b/crates/swc/tests/tsc-references/enumConstantMemberWithString.1.normal.js index 54ac56786b823..b48a505605ac5 100644 --- a/crates/swc/tests/tsc-references/enumConstantMemberWithString.1.normal.js +++ b/crates/swc/tests/tsc-references/enumConstantMemberWithString.1.normal.js @@ -1,29 +1,29 @@ //// [enumConstantMemberWithString.ts] -var T1; -(function(T1) { +var T1 = /*#__PURE__*/ function(T1) { T1["a"] = "1"; T1["b"] = "12"; T1["c"] = "123"; T1[T1["d"] = "a" - "a"] = "d"; T1["e"] = "a1"; -})(T1 || (T1 = {})); -var T2; -(function(T2) { + return T1; +}(T1 || {}); +var T2 = /*#__PURE__*/ function(T2) { T2["a"] = "1"; T2["b"] = "12"; -})(T2 || (T2 = {})); -var T3; -(function(T3) { + return T2; +}(T2 || {}); +var T3 = /*#__PURE__*/ function(T3) { T3["a"] = "1"; T3["b"] = "12"; T3[T3["c"] = 1] = "c"; T3[T3["d"] = 3] = "d"; -})(T3 || (T3 = {})); -var T4; -(function(T4) { + return T3; +}(T3 || {}); +var T4 = /*#__PURE__*/ function(T4) { T4["a"] = "1"; -})(T4 || (T4 = {})); -var T5; -(function(T5) { + return T4; +}(T4 || {}); +var T5 = /*#__PURE__*/ function(T5) { T5["a"] = "12"; -})(T5 || (T5 = {})); + return T5; +}(T5 || {}); diff --git a/crates/swc/tests/tsc-references/enumConstantMemberWithString.2.minified.js b/crates/swc/tests/tsc-references/enumConstantMemberWithString.2.minified.js index 79e3fbf55c300..e3b90cd3a3f5d 100644 --- a/crates/swc/tests/tsc-references/enumConstantMemberWithString.2.minified.js +++ b/crates/swc/tests/tsc-references/enumConstantMemberWithString.2.minified.js @@ -1,3 +1,2 @@ //// [enumConstantMemberWithString.ts] -var T1, T2, T3, T4, T5, T11, T21, T31; -(T11 = T1 || (T1 = {})).a = "1", T11.b = "12", T11.c = "123", T11[T11.d = NaN] = "d", T11.e = "a1", (T21 = T2 || (T2 = {})).a = "1", T21.b = "12", (T31 = T3 || (T3 = {})).a = "1", T31.b = "12", T31[T31.c = 1] = "c", T31[T31.d = 3] = "d", (T4 || (T4 = {})).a = "1", (T5 || (T5 = {})).a = "12"; +var T1, T2, T3, T4, T5, T11 = ((T1 = T11 || {}).a = "1", T1.b = "12", T1.c = "123", T1[T1.d = NaN] = "d", T1.e = "a1", T1), T21 = ((T2 = T21 || {}).a = "1", T2.b = "12", T2), T31 = ((T3 = T31 || {}).a = "1", T3.b = "12", T3[T3.c = 1] = "c", T3[T3.d = 3] = "d", T3), T41 = ((T4 = T41 || {}).a = "1", T4), T51 = ((T5 = T51 || {}).a = "12", T5); diff --git a/crates/swc/tests/tsc-references/enumConstantMemberWithStringEmitDeclaration.1.normal.js b/crates/swc/tests/tsc-references/enumConstantMemberWithStringEmitDeclaration.1.normal.js index 5ab10491ec1d6..872df8c68410f 100644 --- a/crates/swc/tests/tsc-references/enumConstantMemberWithStringEmitDeclaration.1.normal.js +++ b/crates/swc/tests/tsc-references/enumConstantMemberWithStringEmitDeclaration.1.normal.js @@ -1,25 +1,25 @@ //// [enumConstantMemberWithStringEmitDeclaration.ts] -var T1; -(function(T1) { +var T1 = /*#__PURE__*/ function(T1) { T1["a"] = "1"; T1["b"] = "12"; T1["c"] = "123"; -})(T1 || (T1 = {})); -var T2; -(function(T2) { + return T1; +}(T1 || {}); +var T2 = /*#__PURE__*/ function(T2) { T2["a"] = "1"; T2["b"] = "12"; -})(T2 || (T2 = {})); -var T3; -(function(T3) { + return T2; +}(T2 || {}); +var T3 = /*#__PURE__*/ function(T3) { T3["a"] = "1"; T3["b"] = "12"; -})(T3 || (T3 = {})); -var T4; -(function(T4) { + return T3; +}(T3 || {}); +var T4 = /*#__PURE__*/ function(T4) { T4["a"] = "1"; -})(T4 || (T4 = {})); -var T5; -(function(T5) { + return T4; +}(T4 || {}); +var T5 = /*#__PURE__*/ function(T5) { T5["a"] = "12"; -})(T5 || (T5 = {})); + return T5; +}(T5 || {}); diff --git a/crates/swc/tests/tsc-references/enumConstantMemberWithStringEmitDeclaration.2.minified.js b/crates/swc/tests/tsc-references/enumConstantMemberWithStringEmitDeclaration.2.minified.js index 3faa6e625d4e0..23a2ba5c572d6 100644 --- a/crates/swc/tests/tsc-references/enumConstantMemberWithStringEmitDeclaration.2.minified.js +++ b/crates/swc/tests/tsc-references/enumConstantMemberWithStringEmitDeclaration.2.minified.js @@ -1,3 +1,2 @@ //// [enumConstantMemberWithStringEmitDeclaration.ts] -var T1, T2, T3, T4, T5, T11, T21, T31; -(T11 = T1 || (T1 = {})).a = "1", T11.b = "12", T11.c = "123", (T21 = T2 || (T2 = {})).a = "1", T21.b = "12", (T31 = T3 || (T3 = {})).a = "1", T31.b = "12", (T4 || (T4 = {})).a = "1", (T5 || (T5 = {})).a = "12"; +var T1, T2, T3, T4, T5, T11 = ((T1 = T11 || {}).a = "1", T1.b = "12", T1.c = "123", T1), T21 = ((T2 = T21 || {}).a = "1", T2.b = "12", T2), T31 = ((T3 = T31 || {}).a = "1", T3.b = "12", T3), T41 = ((T4 = T41 || {}).a = "1", T4), T51 = ((T5 = T51 || {}).a = "12", T5); diff --git a/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiterals.1.normal.js b/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiterals.1.normal.js index 617a225040ea3..dd48f9d6b9120 100644 --- a/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiterals.1.normal.js +++ b/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiterals.1.normal.js @@ -1,28 +1,27 @@ //// [enumConstantMemberWithTemplateLiterals.ts] -var T1; -(function(T1) { +var T1 = /*#__PURE__*/ function(T1) { T1["a"] = "1"; -})(T1 || (T1 = {})); -var T2; -(function(T2) { + return T1; +}(T1 || {}); +var T2 = /*#__PURE__*/ function(T2) { T2["a"] = "1"; T2["b"] = "2"; T2[T2["c"] = 3] = "c"; -})(T2 || (T2 = {})); -var T3; -(function(T3) { + return T2; +}(T2 || {}); +var T3 = /*#__PURE__*/ function(T3) { T3["a"] = "11"; -})(T3 || (T3 = {})); -var T4; -(function(T4) { + return T3; +}(T3 || {}); +var T4 = /*#__PURE__*/ function(T4) { T4["a"] = "1"; T4["b"] = "11"; T4["c"] = "12"; T4["d"] = "21"; T4["e"] = "211"; -})(T4 || (T4 = {})); -var T5; -(function(T5) { + return T4; +}(T4 || {}); +var T5 = /*#__PURE__*/ function(T5) { T5["a"] = "1"; T5["b"] = "12"; T5["c"] = "123"; @@ -31,9 +30,10 @@ var T5; T5["f"] = "11"; T5["g"] = "123"; T5[T5["h"] = "1".length] = "h"; -})(T5 || (T5 = {})); -var T6; -(function(T6) { + return T5; +}(T5 || {}); +var T6 = /*#__PURE__*/ function(T6) { T6[T6["a"] = 1] = "a"; T6[T6["b"] = "12".length] = "b"; -})(T6 || (T6 = {})); + return T6; +}(T6 || {}); diff --git a/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiterals.2.minified.js b/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiterals.2.minified.js index ce6ef711efa99..e6b15fdfc3a71 100644 --- a/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiterals.2.minified.js +++ b/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiterals.2.minified.js @@ -1,3 +1,2 @@ //// [enumConstantMemberWithTemplateLiterals.ts] -var T1, T2, T3, T4, T5, T6, T21, T41, T51, T61; -(T1 || (T1 = {})).a = "1", (T21 = T2 || (T2 = {})).a = "1", T21.b = "2", T21[T21.c = 3] = "c", (T3 || (T3 = {})).a = "11", (T41 = T4 || (T4 = {})).a = "1", T41.b = "11", T41.c = "12", T41.d = "21", T41.e = "211", (T51 = T5 || (T5 = {})).a = "1", T51.b = "12", T51.c = "123", T51[T51.d = 1] = "d", T51[T51.e = 0] = "e", T51.f = "11", T51.g = "123", T51[T51.h = 1] = "h", (T61 = T6 || (T6 = {}))[T61.a = 1] = "a", T61[T61.b = 2] = "b"; +var T1, T2, T3, T4, T5, T6, T11 = ((T1 = T11 || {}).a = "1", T1), T21 = ((T2 = T21 || {}).a = "1", T2.b = "2", T2[T2.c = 3] = "c", T2), T31 = ((T3 = T31 || {}).a = "11", T3), T41 = ((T4 = T41 || {}).a = "1", T4.b = "11", T4.c = "12", T4.d = "21", T4.e = "211", T4), T51 = ((T5 = T51 || {}).a = "1", T5.b = "12", T5.c = "123", T5[T5.d = 1] = "d", T5[T5.e = 0] = "e", T5.f = "11", T5.g = "123", T5[T5.h = 1] = "h", T5), T61 = ((T6 = T61 || {})[T6.a = 1] = "a", T6[T6.b = 2] = "b", T6); diff --git a/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiteralsEmitDeclaration.1.normal.js b/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiteralsEmitDeclaration.1.normal.js index e6c55239c8a7d..051ab83b055f2 100644 --- a/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiteralsEmitDeclaration.1.normal.js +++ b/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiteralsEmitDeclaration.1.normal.js @@ -1,35 +1,35 @@ //// [enumConstantMemberWithTemplateLiteralsEmitDeclaration.ts] -var T1; -(function(T1) { +var T1 = /*#__PURE__*/ function(T1) { T1["a"] = "1"; -})(T1 || (T1 = {})); -var T2; -(function(T2) { + return T1; +}(T1 || {}); +var T2 = /*#__PURE__*/ function(T2) { T2["a"] = "1"; T2["b"] = "2"; T2[T2["c"] = 3] = "c"; -})(T2 || (T2 = {})); -var T3; -(function(T3) { + return T2; +}(T2 || {}); +var T3 = /*#__PURE__*/ function(T3) { T3["a"] = "11"; -})(T3 || (T3 = {})); -var T4; -(function(T4) { + return T3; +}(T3 || {}); +var T4 = /*#__PURE__*/ function(T4) { T4["a"] = "1"; T4["b"] = "11"; T4["c"] = "12"; T4["d"] = "21"; T4["e"] = "211"; -})(T4 || (T4 = {})); -var T5; -(function(T5) { + return T4; +}(T4 || {}); +var T5 = /*#__PURE__*/ function(T5) { T5["a"] = "1"; T5["b"] = "12"; T5["c"] = "123"; T5[T5["d"] = 1] = "d"; -})(T5 || (T5 = {})); -var T6; -(function(T6) { + return T5; +}(T5 || {}); +var T6 = /*#__PURE__*/ function(T6) { T6[T6["a"] = 1] = "a"; T6[T6["b"] = "12".length] = "b"; -})(T6 || (T6 = {})); + return T6; +}(T6 || {}); diff --git a/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiteralsEmitDeclaration.2.minified.js b/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiteralsEmitDeclaration.2.minified.js index 01de87abdd5d4..7c0c7bbb13f6f 100644 --- a/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiteralsEmitDeclaration.2.minified.js +++ b/crates/swc/tests/tsc-references/enumConstantMemberWithTemplateLiteralsEmitDeclaration.2.minified.js @@ -1,3 +1,2 @@ //// [enumConstantMemberWithTemplateLiteralsEmitDeclaration.ts] -var T1, T2, T3, T4, T5, T6, T21, T41, T51, T61; -(T1 || (T1 = {})).a = "1", (T21 = T2 || (T2 = {})).a = "1", T21.b = "2", T21[T21.c = 3] = "c", (T3 || (T3 = {})).a = "11", (T41 = T4 || (T4 = {})).a = "1", T41.b = "11", T41.c = "12", T41.d = "21", T41.e = "211", (T51 = T5 || (T5 = {})).a = "1", T51.b = "12", T51.c = "123", T51[T51.d = 1] = "d", (T61 = T6 || (T6 = {}))[T61.a = 1] = "a", T61[T61.b = 2] = "b"; +var T1, T2, T3, T4, T5, T6, T11 = ((T1 = T11 || {}).a = "1", T1), T21 = ((T2 = T21 || {}).a = "1", T2.b = "2", T2[T2.c = 3] = "c", T2), T31 = ((T3 = T31 || {}).a = "11", T3), T41 = ((T4 = T41 || {}).a = "1", T4.b = "11", T4.c = "12", T4.d = "21", T4.e = "211", T4), T51 = ((T5 = T51 || {}).a = "1", T5.b = "12", T5.c = "123", T5[T5.d = 1] = "d", T5), T61 = ((T6 = T61 || {})[T6.a = 1] = "a", T6[T6.b = 2] = "b", T6); diff --git a/crates/swc/tests/tsc-references/enumExportMergingES6.1.normal.js b/crates/swc/tests/tsc-references/enumExportMergingES6.1.normal.js index ee18fb9de6759..c2fa0239975e3 100644 --- a/crates/swc/tests/tsc-references/enumExportMergingES6.1.normal.js +++ b/crates/swc/tests/tsc-references/enumExportMergingES6.1.normal.js @@ -1,11 +1,11 @@ //// [enumExportMergingES6.ts] -export var Animals; -(function(Animals) { +export let Animals = /*#__PURE__*/ function(Animals) { Animals[Animals["Cat"] = 1] = "Cat"; -})(Animals || (Animals = {})); + return Animals; +}({}); (function(Animals) { Animals[Animals["Dog"] = 2] = "Dog"; -})(Animals || (Animals = {})); +})(Animals); (function(Animals) { Animals[Animals["CatDog"] = 3] = "CatDog"; -})(Animals || (Animals = {})); +})(Animals); diff --git a/crates/swc/tests/tsc-references/enumExportMergingES6.2.minified.js b/crates/swc/tests/tsc-references/enumExportMergingES6.2.minified.js index 48cd6fdf95e92..1a8c02d57c5be 100644 --- a/crates/swc/tests/tsc-references/enumExportMergingES6.2.minified.js +++ b/crates/swc/tests/tsc-references/enumExportMergingES6.2.minified.js @@ -1,5 +1,5 @@ //// [enumExportMergingES6.ts] -var Animals, Animals1, Animals2; -var Animals3; -export { Animals3 as Animals }; -(Animals = Animals3 || (Animals3 = {}))[Animals.Cat = 1] = "Cat", (Animals1 = Animals3 || (Animals3 = {}))[Animals1.Dog = 2] = "Dog", (Animals2 = Animals3 || (Animals3 = {}))[Animals2.CatDog = 3] = "CatDog"; +var Animals; +let Animals1 = ((Animals = {})[Animals.Cat = 1] = "Cat", Animals); +export { Animals1 as Animals }; +Animals1[Animals1.Dog = 2] = "Dog", Animals1[Animals1.CatDog = 3] = "CatDog"; diff --git a/crates/swc/tests/tsc-references/enumIsNotASubtypeOfAnythingButNumber.1.normal.js b/crates/swc/tests/tsc-references/enumIsNotASubtypeOfAnythingButNumber.1.normal.js index bf85996850cd7..5465d602de8fe 100644 --- a/crates/swc/tests/tsc-references/enumIsNotASubtypeOfAnythingButNumber.1.normal.js +++ b/crates/swc/tests/tsc-references/enumIsNotASubtypeOfAnythingButNumber.1.normal.js @@ -1,10 +1,10 @@ //// [enumIsNotASubtypeOfAnythingButNumber.ts] // enums are only subtypes of number, any and no other types import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var A = function A() { "use strict"; _class_call_check(this, A); @@ -13,10 +13,10 @@ var A2 = function A2() { "use strict"; _class_call_check(this, A2); }; -var E2; -(function(E2) { +var E2 = /*#__PURE__*/ function(E2) { E2[E2["A"] = 0] = "A"; -})(E2 || (E2 = {})); + return E2; +}(E2 || {}); function f() {} (function(f) { f.bar = 1; diff --git a/crates/swc/tests/tsc-references/enumIsNotASubtypeOfAnythingButNumber.2.minified.js b/crates/swc/tests/tsc-references/enumIsNotASubtypeOfAnythingButNumber.2.minified.js index 8bcec1ecd9847..3706d1517793b 100644 --- a/crates/swc/tests/tsc-references/enumIsNotASubtypeOfAnythingButNumber.2.minified.js +++ b/crates/swc/tests/tsc-references/enumIsNotASubtypeOfAnythingButNumber.2.minified.js @@ -1,8 +1,9 @@ //// [enumIsNotASubtypeOfAnythingButNumber.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; +var E, E2, E1 = ((E = E1 || {})[E.A = 0] = "A", E), E21 = ((E2 = E21 || {})[E2.A = 0] = "A", E2); function f() {} -(E = E1 || (E1 = {}))[E.A = 0] = "A", (E2 = E21 || (E21 = {}))[E2.A = 0] = "A", (f || (f = {})).bar = 1; -var E, E2, E1, E21, c = function c() { +(f || (f = {})).bar = 1; +var c = function c() { _class_call_check(this, c); }; (c || (c = {})).bar = 1; diff --git a/crates/swc/tests/tsc-references/enumLiteralTypes1.1.normal.js b/crates/swc/tests/tsc-references/enumLiteralTypes1.1.normal.js index 38d0fc858d428..48bf4ca471eea 100644 --- a/crates/swc/tests/tsc-references/enumLiteralTypes1.1.normal.js +++ b/crates/swc/tests/tsc-references/enumLiteralTypes1.1.normal.js @@ -1,5 +1,5 @@ //// [enumLiteralTypes1.ts] -var Choice; +; function f1() { var a; var a; diff --git a/crates/swc/tests/tsc-references/enumLiteralTypes2.1.normal.js b/crates/swc/tests/tsc-references/enumLiteralTypes2.1.normal.js index d8f691275bac6..c95ef9eccba3f 100644 --- a/crates/swc/tests/tsc-references/enumLiteralTypes2.1.normal.js +++ b/crates/swc/tests/tsc-references/enumLiteralTypes2.1.normal.js @@ -1,5 +1,5 @@ //// [enumLiteralTypes2.ts] -var Choice; +; function f1() { var a; var a; diff --git a/crates/swc/tests/tsc-references/enumLiteralTypes3.1.normal.js b/crates/swc/tests/tsc-references/enumLiteralTypes3.1.normal.js index c7606641f8403..5df15728beed6 100644 --- a/crates/swc/tests/tsc-references/enumLiteralTypes3.1.normal.js +++ b/crates/swc/tests/tsc-references/enumLiteralTypes3.1.normal.js @@ -1,5 +1,5 @@ //// [enumLiteralTypes3.ts] -var Choice; +; function f1(a, b, c, d) { a = a; a = b; diff --git a/crates/swc/tests/tsc-references/enumMerging.1.normal.js b/crates/swc/tests/tsc-references/enumMerging.1.normal.js index 35241b80924ea..cd95e4e7ac2b4 100644 --- a/crates/swc/tests/tsc-references/enumMerging.1.normal.js +++ b/crates/swc/tests/tsc-references/enumMerging.1.normal.js @@ -1,30 +1,28 @@ //// [enumMerging.ts] // Enum with only constant members across 2 declarations with the same root module // Enum with initializer in all declarations with constant members with the same root module -var M1; (function(M1) { - var EImpl1; - (function(EImpl1) { + var EImpl1 = /*#__PURE__*/ function(EImpl1) { EImpl1[EImpl1["A"] = 0] = "A"; EImpl1[EImpl1["B"] = 1] = "B"; EImpl1[EImpl1["C"] = 2] = "C"; - })(EImpl1 || (EImpl1 = {})); + return EImpl1; + }({}); (function(EImpl1) { EImpl1[EImpl1["D"] = 1] = "D"; EImpl1[EImpl1["E"] = 2] = "E"; EImpl1[EImpl1["F"] = 3] = "F"; - })(EImpl1 || (EImpl1 = {})); - var EConst1; + })(EImpl1); (function(EConst1) { EConst1[EConst1["A"] = 3] = "A"; EConst1[EConst1["B"] = 2] = "B"; EConst1[EConst1["C"] = 1] = "C"; - })(EConst1 = M1.EConst1 || (M1.EConst1 = {})); + })(M1.EConst1 || (M1.EConst1 = {})); (function(EConst1) { EConst1[EConst1["D"] = 7] = "D"; EConst1[EConst1["E"] = 9] = "E"; EConst1[EConst1["F"] = 8] = "F"; - })(EConst1 = M1.EConst1 || (M1.EConst1 = {})); + })(M1.EConst1); var x = [ 3, 2, @@ -34,81 +32,71 @@ var M1; 8 ]; })(M1 || (M1 = {})); -var M2; // Enum with only computed members across 2 declarations with the same root module (function(M2) { - var EComp2; (function(EComp2) { EComp2[EComp2["A"] = 'foo'.length] = "A"; EComp2[EComp2["B"] = 'foo'.length] = "B"; EComp2[EComp2["C"] = 'foo'.length] = "C"; - })(EComp2 = M2.EComp2 || (M2.EComp2 = {})); + })(M2.EComp2 || (M2.EComp2 = {})); (function(EComp2) { EComp2[EComp2["D"] = 'foo'.length] = "D"; EComp2[EComp2["E"] = 'foo'.length] = "E"; EComp2[EComp2["F"] = 'foo'.length] = "F"; - })(EComp2 = M2.EComp2 || (M2.EComp2 = {})); + })(M2.EComp2); var x = [ - EComp2.A, - EComp2.B, - EComp2.C, - EComp2.D, - EComp2.E, - EComp2.F + M2.EComp2.A, + M2.EComp2.B, + M2.EComp2.C, + M2.EComp2.D, + M2.EComp2.E, + M2.EComp2.F ]; })(M2 || (M2 = {})); -var M3; // Enum with initializer in only one of two declarations with constant members with the same root module (function(M3) { - var EInit; - (function(EInit) { + var EInit = /*#__PURE__*/ function(EInit) { EInit[EInit["A"] = 0] = "A"; EInit[EInit["B"] = 1] = "B"; - })(EInit || (EInit = {})); + return EInit; + }({}); (function(EInit) { EInit[EInit["C"] = 1] = "C"; EInit[EInit["D"] = 2] = "D"; EInit[EInit["E"] = 3] = "E"; - })(EInit || (EInit = {})); + })(EInit); })(M3 || (M3 = {})); -var M4; // Enums with same name but different root module (function(M4) { - var Color; (function(Color) { Color[Color["Red"] = 0] = "Red"; Color[Color["Green"] = 1] = "Green"; Color[Color["Blue"] = 2] = "Blue"; - })(Color = M4.Color || (M4.Color = {})); + })(M4.Color || (M4.Color = {})); })(M4 || (M4 = {})); -var M5; (function(M5) { - var Color; (function(Color) { Color[Color["Red"] = 0] = "Red"; Color[Color["Green"] = 1] = "Green"; Color[Color["Blue"] = 2] = "Blue"; - })(Color = M5.Color || (M5.Color = {})); + })(M5.Color || (M5.Color = {})); })(M5 || (M5 = {})); -var M6; (function(M6) { (function(A) { - var Color; (function(Color) { Color[Color["Red"] = 0] = "Red"; Color[Color["Green"] = 1] = "Green"; Color[Color["Blue"] = 2] = "Blue"; - })(Color = A.Color || (A.Color = {})); + })(A.Color || (A.Color = {})); })(M6.A || (M6.A = {})); })(M6 || (M6 = {})); (function(M6) { - var A; (function(A) { - var Color; (function(Color) { Color[Color["Yellow"] = 1] = "Yellow"; - })(Color = A.Color || (A.Color = {})); - })(A = M6.A || (M6.A = {})); - var t = A.Color.Yellow; - t = A.Color.Red; + })(A.Color || (A.Color = {})); + })(M6.A || (M6.A = {})); + var t = M6.A.Color.Yellow; + t = M6.A.Color.Red; })(M6 || (M6 = {})); +var M1, M2, M3, M4, M5, M6; diff --git a/crates/swc/tests/tsc-references/enumMerging.2.minified.js b/crates/swc/tests/tsc-references/enumMerging.2.minified.js index e389fba8c45e3..c53111d7cccd9 100644 --- a/crates/swc/tests/tsc-references/enumMerging.2.minified.js +++ b/crates/swc/tests/tsc-references/enumMerging.2.minified.js @@ -1,3 +1,3 @@ //// [enumMerging.ts] -var M1, M2, M3, M4, M5, M6, M11, EImpl1, EImpl11, EImpl12, EConst1, EConst11, M21, EComp2, EComp21, EComp22, EInit, EInit1, EInit2, M41, Color, M51, Color1, M61, A, Color2, M62, A1, Color3, A2; -M11 = M1 || (M1 = {}), (EImpl11 = EImpl1 || (EImpl1 = {}))[EImpl11.A = 0] = "A", EImpl11[EImpl11.B = 1] = "B", EImpl11[EImpl11.C = 2] = "C", (EImpl12 = EImpl1 || (EImpl1 = {}))[EImpl12.D = 1] = "D", EImpl12[EImpl12.E = 2] = "E", EImpl12[EImpl12.F = 3] = "F", (EConst1 = M11.EConst1 || (M11.EConst1 = {}))[EConst1.A = 3] = "A", EConst1[EConst1.B = 2] = "B", EConst1[EConst1.C = 1] = "C", (EConst11 = M11.EConst1 || (M11.EConst1 = {}))[EConst11.D = 7] = "D", EConst11[EConst11.E = 9] = "E", EConst11[EConst11.F = 8] = "F", (EComp21 = EComp2 = (M21 = M2 || (M2 = {})).EComp2 || (M21.EComp2 = {}))[EComp21.A = 3] = "A", EComp21[EComp21.B = 3] = "B", EComp21[EComp21.C = 3] = "C", (EComp22 = EComp2 = M21.EComp2 || (M21.EComp2 = {}))[EComp22.D = 3] = "D", EComp22[EComp22.E = 3] = "E", EComp22[EComp22.F = 3] = "F", EComp2.A, EComp2.B, EComp2.C, EComp2.D, EComp2.E, EComp2.F, M3 || (M3 = {}), (EInit1 = EInit || (EInit = {}))[EInit1.A = 0] = "A", EInit1[EInit1.B = 1] = "B", (EInit2 = EInit || (EInit = {}))[EInit2.C = 1] = "C", EInit2[EInit2.D = 2] = "D", EInit2[EInit2.E = 3] = "E", (Color = (M41 = M4 || (M4 = {})).Color || (M41.Color = {}))[Color.Red = 0] = "Red", Color[Color.Green = 1] = "Green", Color[Color.Blue = 2] = "Blue", (Color1 = (M51 = M5 || (M5 = {})).Color || (M51.Color = {}))[Color1.Red = 0] = "Red", Color1[Color1.Green = 1] = "Green", Color1[Color1.Blue = 2] = "Blue", (Color2 = (A = (M61 = M6 || (M6 = {})).A || (M61.A = {})).Color || (A.Color = {}))[Color2.Red = 0] = "Red", Color2[Color2.Green = 1] = "Green", Color2[Color2.Blue = 2] = "Blue", (Color3 = (A1 = A2 = (M62 = M6 || (M6 = {})).A || (M62.A = {})).Color || (A1.Color = {}))[Color3.Yellow = 1] = "Yellow", A2.Color.Yellow, A2.Color.Red; +var M1, M2, M3, M4, M5, M6, M11, EImpl1, EConst1, EConst11, M21, EComp2, EComp21, EInit, M41, Color, M51, Color1, M61, A, Color2, M62, A1, Color3; +M11 = M1 || (M1 = {}), ((EImpl1 = {})[EImpl1.A = 0] = "A", EImpl1[EImpl1.B = 1] = "B", EImpl1[EImpl1.C = 2] = "C", EImpl1)[EImpl1.D = 1] = "D", EImpl1[EImpl1.E = 2] = "E", EImpl1[EImpl1.F = 3] = "F", (EConst1 = M11.EConst1 || (M11.EConst1 = {}))[EConst1.A = 3] = "A", EConst1[EConst1.B = 2] = "B", EConst1[EConst1.C = 1] = "C", (EConst11 = M11.EConst1)[EConst11.D = 7] = "D", EConst11[EConst11.E = 9] = "E", EConst11[EConst11.F = 8] = "F", (EComp2 = (M21 = M2 || (M2 = {})).EComp2 || (M21.EComp2 = {}))[EComp2.A = 3] = "A", EComp2[EComp2.B = 3] = "B", EComp2[EComp2.C = 3] = "C", (EComp21 = M21.EComp2)[EComp21.D = 3] = "D", EComp21[EComp21.E = 3] = "E", EComp21[EComp21.F = 3] = "F", M21.EComp2.A, M21.EComp2.B, M21.EComp2.C, M21.EComp2.D, M21.EComp2.E, M21.EComp2.F, M3 || (M3 = {}), ((EInit = {})[EInit.A = 0] = "A", EInit[EInit.B = 1] = "B", EInit)[EInit.C = 1] = "C", EInit[EInit.D = 2] = "D", EInit[EInit.E = 3] = "E", (Color = (M41 = M4 || (M4 = {})).Color || (M41.Color = {}))[Color.Red = 0] = "Red", Color[Color.Green = 1] = "Green", Color[Color.Blue = 2] = "Blue", (Color1 = (M51 = M5 || (M5 = {})).Color || (M51.Color = {}))[Color1.Red = 0] = "Red", Color1[Color1.Green = 1] = "Green", Color1[Color1.Blue = 2] = "Blue", (Color2 = (A = (M61 = M6 || (M6 = {})).A || (M61.A = {})).Color || (A.Color = {}))[Color2.Red = 0] = "Red", Color2[Color2.Green = 1] = "Green", Color2[Color2.Blue = 2] = "Blue", (Color3 = (A1 = (M62 = M6 || (M6 = {})).A || (M62.A = {})).Color || (A1.Color = {}))[Color3.Yellow = 1] = "Yellow", M62.A.Color.Yellow, M62.A.Color.Red; diff --git a/crates/swc/tests/tsc-references/enumMergingErrors.1.normal.js b/crates/swc/tests/tsc-references/enumMergingErrors.1.normal.js index 805fe2d5f4103..5fc005f359f47 100644 --- a/crates/swc/tests/tsc-references/enumMergingErrors.1.normal.js +++ b/crates/swc/tests/tsc-references/enumMergingErrors.1.normal.js @@ -1,85 +1,68 @@ //// [enumMergingErrors.ts] // Enum with constant, computed, constant members split across 3 declarations with the same root module -var M; (function(M) { - var E1; (function(E1) { E1[E1["A"] = 0] = "A"; - })(E1 = M.E1 || (M.E1 = {})); - var E2; + })(M.E1 || (M.E1 = {})); (function(E2) { E2[E2["C"] = 0] = "C"; - })(E2 = M.E2 || (M.E2 = {})); - var E3; + })(M.E2 || (M.E2 = {})); (function(E3) { E3[E3["A"] = 0] = "A"; - })(E3 = M.E3 || (M.E3 = {})); + })(M.E3 || (M.E3 = {})); })(M || (M = {})); (function(M) { - var E1; (function(E1) { E1[E1["B"] = 'foo'.length] = "B"; - })(E1 = M.E1 || (M.E1 = {})); - var E2; + })(M.E1 || (M.E1 = {})); (function(E2) { E2[E2["B"] = 'foo'.length] = "B"; - })(E2 = M.E2 || (M.E2 = {})); - var E3; + })(M.E2 || (M.E2 = {})); (function(E3) { E3[E3["C"] = 0] = "C"; - })(E3 = M.E3 || (M.E3 = {})); + })(M.E3 || (M.E3 = {})); })(M || (M = {})); (function(M) { - var E1; (function(E1) { E1[E1["C"] = 0] = "C"; - })(E1 = M.E1 || (M.E1 = {})); - var E2; + })(M.E1 || (M.E1 = {})); (function(E2) { E2[E2["A"] = 0] = "A"; - })(E2 = M.E2 || (M.E2 = {})); - var E3; + })(M.E2 || (M.E2 = {})); (function(E3) { E3[E3["B"] = 'foo'.length] = "B"; - })(E3 = M.E3 || (M.E3 = {})); + })(M.E3 || (M.E3 = {})); })(M || (M = {})); -var M1; // Enum with no initializer in either declaration with constant members with the same root module (function(M1) { - var E1; (function(E1) { E1[E1["A"] = 0] = "A"; - })(E1 = M1.E1 || (M1.E1 = {})); + })(M1.E1 || (M1.E1 = {})); })(M1 || (M1 = {})); (function(M1) { - var E1; (function(E1) { E1[E1["B"] = 0] = "B"; - })(E1 = M1.E1 || (M1.E1 = {})); + })(M1.E1 || (M1.E1 = {})); })(M1 || (M1 = {})); (function(M1) { - var E1; (function(E1) { E1[E1["C"] = 0] = "C"; - })(E1 = M1.E1 || (M1.E1 = {})); + })(M1.E1 || (M1.E1 = {})); })(M1 || (M1 = {})); -var M2; // Enum with initializer in only one of three declarations with constant members with the same root module (function(M2) { - var E1; (function(E1) { E1[E1["A"] = 0] = "A"; - })(E1 = M2.E1 || (M2.E1 = {})); + })(M2.E1 || (M2.E1 = {})); })(M2 || (M2 = {})); (function(M2) { - var E1; (function(E1) { E1[E1["B"] = 0] = "B"; - })(E1 = M2.E1 || (M2.E1 = {})); + })(M2.E1 || (M2.E1 = {})); })(M2 || (M2 = {})); (function(M2) { - var E1; (function(E1) { E1[E1["C"] = 0] = "C"; - })(E1 = M2.E1 || (M2.E1 = {})); + })(M2.E1 || (M2.E1 = {})); })(M2 || (M2 = {})); +var M, M1, M2; diff --git a/crates/swc/tests/tsc-references/enums.1.normal.js b/crates/swc/tests/tsc-references/enums.1.normal.js index 375a4e2d7ccad..107d8996c23b4 100644 --- a/crates/swc/tests/tsc-references/enums.1.normal.js +++ b/crates/swc/tests/tsc-references/enums.1.normal.js @@ -1,14 +1,14 @@ //// [/a.ts] -var SyntaxKind; -(function(SyntaxKind) { +var SyntaxKind = /*#__PURE__*/ function(SyntaxKind) { SyntaxKind[SyntaxKind["ImportClause"] = 0] = "ImportClause"; SyntaxKind[SyntaxKind["ExportDeclaration"] = 1] = "ExportDeclaration"; -})(SyntaxKind || (SyntaxKind = {})); -var SymbolFlags; -(function(SymbolFlags) { + return SyntaxKind; +}(SyntaxKind || {}); +var SymbolFlags = /*#__PURE__*/ function(SymbolFlags) { SymbolFlags["Type"] = "Type"; SymbolFlags["Value"] = "Value"; -})(SymbolFlags || (SymbolFlags = {})); + return SymbolFlags; +}(SymbolFlags || {}); export { SymbolFlags }; //// [/b.ts] SyntaxKind.ImportClause; diff --git a/crates/swc/tests/tsc-references/enums.2.minified.js b/crates/swc/tests/tsc-references/enums.2.minified.js index 55b616c852286..1684f5d4a0f1e 100644 --- a/crates/swc/tests/tsc-references/enums.2.minified.js +++ b/crates/swc/tests/tsc-references/enums.2.minified.js @@ -1,7 +1,6 @@ //// [/a.ts] -var SyntaxKind, SymbolFlags, SyntaxKind1, SymbolFlags1; -(SyntaxKind1 = SyntaxKind || (SyntaxKind = {}))[SyntaxKind1.ImportClause = 0] = "ImportClause", SyntaxKind1[SyntaxKind1.ExportDeclaration = 1] = "ExportDeclaration", (SymbolFlags1 = SymbolFlags || (SymbolFlags = {})).Type = "Type", SymbolFlags1.Value = "Value"; -export { SymbolFlags }; +var SyntaxKind, SymbolFlags, SyntaxKind1 = ((SyntaxKind = SyntaxKind1 || {})[SyntaxKind.ImportClause = 0] = "ImportClause", SyntaxKind[SyntaxKind.ExportDeclaration = 1] = "ExportDeclaration", SyntaxKind), SymbolFlags1 = ((SymbolFlags = SymbolFlags1 || {}).Type = "Type", SymbolFlags.Value = "Value", SymbolFlags); +export { SymbolFlags1 as SymbolFlags }; //// [/b.ts] SyntaxKind.ImportClause, SymbolFlags.Type; export { }; diff --git a/crates/swc/tests/tsc-references/equalityWithEnumTypes.1.normal.js b/crates/swc/tests/tsc-references/equalityWithEnumTypes.1.normal.js index 61817baced749..0f14212e807a6 100644 --- a/crates/swc/tests/tsc-references/equalityWithEnumTypes.1.normal.js +++ b/crates/swc/tests/tsc-references/equalityWithEnumTypes.1.normal.js @@ -1,16 +1,16 @@ //// [equalityWithEnumTypes.ts] // Literal enum type -var E1; -(function(E1) { +var E1 = /*#__PURE__*/ function(E1) { E1[E1["a"] = 1] = "a"; E1[E1["b"] = 2] = "b"; -})(E1 || (E1 = {})); -var E2; -// Numeric enum type -(function(E2) { + return E1; +}(E1 || {}); +var // Numeric enum type +E2 = /*#__PURE__*/ function(E2) { E2[E2["a"] = 1] = "a"; E2[E2["b"] = 2] = "b"; -})(E2 || (E2 = {})); + return E2; +}(E2 || {}); function f1(v) { if (v !== 0) { v; diff --git a/crates/swc/tests/tsc-references/equalityWithEnumTypes.2.minified.js b/crates/swc/tests/tsc-references/equalityWithEnumTypes.2.minified.js index 08857fc806b67..372e7aa4560c2 100644 --- a/crates/swc/tests/tsc-references/equalityWithEnumTypes.2.minified.js +++ b/crates/swc/tests/tsc-references/equalityWithEnumTypes.2.minified.js @@ -1,3 +1,2 @@ //// [equalityWithEnumTypes.ts] -var E1, E2, E11, E21; -(E11 = E1 || (E1 = {}))[E11.a = 1] = "a", E11[E11.b = 2] = "b", (E21 = E2 || (E2 = {}))[E21.a = 1] = "a", E21[E21.b = 2] = "b"; +var E1, E2, E11 = ((E1 = E11 || {})[E1.a = 1] = "a", E1[E1.b = 2] = "b", E1), E21 = ((E2 = E21 || {})[E2.a = 1] = "a", E2[E2.b = 2] = "b", E2); diff --git a/crates/swc/tests/tsc-references/es6modulekindWithES5Target12.1.normal.js b/crates/swc/tests/tsc-references/es6modulekindWithES5Target12.1.normal.js index a805fe65979f1..498bf233df6cc 100644 --- a/crates/swc/tests/tsc-references/es6modulekindWithES5Target12.1.normal.js +++ b/crates/swc/tests/tsc-references/es6modulekindWithES5Target12.1.normal.js @@ -7,20 +7,19 @@ export var C = function C() { (function(C) { C.x = 1; })(C || (C = {})); -export var E; -(function(E) { +export var E = /*#__PURE__*/ function(E) { E[E["w"] = 1] = "w"; -})(E || (E = {})); + return E; +}({}); (function(E) { E[E["x"] = 2] = "x"; -})(E || (E = {})); +})(E); (function(E) { E.y = 1; })(E || (E = {})); (function(E) { E.z = 1; })(E || (E = {})); -export var N; (function(N) { N.x = 1; })(N || (N = {})); @@ -28,3 +27,4 @@ export function F() {} (function(F) { F.x = 1; })(F || (F = {})); +export var N; diff --git a/crates/swc/tests/tsc-references/es6modulekindWithES5Target12.2.minified.js b/crates/swc/tests/tsc-references/es6modulekindWithES5Target12.2.minified.js index 8c84adecef858..9f1cce5a2c6ed 100644 --- a/crates/swc/tests/tsc-references/es6modulekindWithES5Target12.2.minified.js +++ b/crates/swc/tests/tsc-references/es6modulekindWithES5Target12.2.minified.js @@ -5,10 +5,9 @@ export var C = function C() { _class_call_check(this, C); }; (C || (C = {})).x = 1; -var E2; +var E2 = ((E = {})[E.w = 1] = "w", E); export { E2 as E }; -(E = E2 || (E2 = {}))[E.w = 1] = "w", (E1 = E2 || (E2 = {}))[E1.x = 2] = "x", (E2 || (E2 = {})).y = 1, (E2 || (E2 = {})).z = 1; -export var N; -(N || (N = {})).x = 1; +(E1 = E2)[E1.x = 2] = "x", (E2 || (E2 = {})).y = 1, (E2 || (E2 = {})).z = 1, (N || (N = {})).x = 1; export function F() {} (F || (F = {})).x = 1; +export var N; diff --git a/crates/swc/tests/tsc-references/es6modulekindWithES5Target5.1.normal.js b/crates/swc/tests/tsc-references/es6modulekindWithES5Target5.1.normal.js index eabb3dd4a87a8..51cb7aad26029 100644 --- a/crates/swc/tests/tsc-references/es6modulekindWithES5Target5.1.normal.js +++ b/crates/swc/tests/tsc-references/es6modulekindWithES5Target5.1.normal.js @@ -1,9 +1,9 @@ //// [es6modulekindWithES5Target5.ts] -export var E1; -(function(E1) { +export var E1 = /*#__PURE__*/ function(E1) { E1[E1["value1"] = 0] = "value1"; -})(E1 || (E1 = {})); -export var E2; -(function(E2) { + return E1; +}({}); +export var E2 = /*#__PURE__*/ function(E2) { E2[E2["value1"] = 0] = "value1"; -})(E2 || (E2 = {})); + return E2; +}({}); diff --git a/crates/swc/tests/tsc-references/es6modulekindWithES5Target5.2.minified.js b/crates/swc/tests/tsc-references/es6modulekindWithES5Target5.2.minified.js index b88c874987828..7e05f5f1b04dd 100644 --- a/crates/swc/tests/tsc-references/es6modulekindWithES5Target5.2.minified.js +++ b/crates/swc/tests/tsc-references/es6modulekindWithES5Target5.2.minified.js @@ -1,8 +1,6 @@ //// [es6modulekindWithES5Target5.ts] var E1, E2; -var E11; +var E11 = ((E1 = {})[E1.value1 = 0] = "value1", E1); export { E11 as E1 }; -(E1 = E11 || (E11 = {}))[E1.value1 = 0] = "value1"; -var E21; +var E21 = ((E2 = {})[E2.value1 = 0] = "value1", E2); export { E21 as E2 }; -(E2 = E21 || (E21 = {}))[E2.value1 = 0] = "value1"; diff --git a/crates/swc/tests/tsc-references/es6modulekindWithES5Target7.1.normal.js b/crates/swc/tests/tsc-references/es6modulekindWithES5Target7.1.normal.js index bbea0e38dc64c..e4ab62aef67e3 100644 --- a/crates/swc/tests/tsc-references/es6modulekindWithES5Target7.1.normal.js +++ b/crates/swc/tests/tsc-references/es6modulekindWithES5Target7.1.normal.js @@ -1,5 +1,5 @@ //// [es6modulekindWithES5Target7.ts] -export var N; (function(N) { var x = 0; })(N || (N = {})); +export var N; diff --git a/crates/swc/tests/tsc-references/es6modulekindWithES5Target7.2.minified.js b/crates/swc/tests/tsc-references/es6modulekindWithES5Target7.2.minified.js index c4713cf464c93..3f8559a97659e 100644 --- a/crates/swc/tests/tsc-references/es6modulekindWithES5Target7.2.minified.js +++ b/crates/swc/tests/tsc-references/es6modulekindWithES5Target7.2.minified.js @@ -1,3 +1,3 @@ //// [es6modulekindWithES5Target7.ts] -export var N; N || (N = {}); +export var N; diff --git a/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target12.1.normal.js b/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target12.1.normal.js index a5f03d9f98fef..788492604ab2f 100644 --- a/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target12.1.normal.js +++ b/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target12.1.normal.js @@ -7,20 +7,19 @@ export var C = function C() { (function(C) { C.x = 1; })(C || (C = {})); -export var E; -(function(E) { +export var E = /*#__PURE__*/ function(E) { E[E["w"] = 1] = "w"; -})(E || (E = {})); + return E; +}({}); (function(E) { E[E["x"] = 2] = "x"; -})(E || (E = {})); +})(E); (function(E) { E.y = 1; })(E || (E = {})); (function(E) { E.z = 1; })(E || (E = {})); -export var N; (function(N) { N.x = 1; })(N || (N = {})); @@ -28,3 +27,4 @@ export function F() {} (function(F) { F.x = 1; })(F || (F = {})); +export var N; diff --git a/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target12.2.minified.js b/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target12.2.minified.js index a6328a0b27ecc..9e681b2b6ae6c 100644 --- a/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target12.2.minified.js +++ b/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target12.2.minified.js @@ -5,10 +5,9 @@ export var C = function C() { _class_call_check(this, C); }; (C || (C = {})).x = 1; -var E2; +var E2 = ((E = {})[E.w = 1] = "w", E); export { E2 as E }; -(E = E2 || (E2 = {}))[E.w = 1] = "w", (E1 = E2 || (E2 = {}))[E1.x = 2] = "x", (E2 || (E2 = {})).y = 1, (E2 || (E2 = {})).z = 1; -export var N; -(N || (N = {})).x = 1; +(E1 = E2)[E1.x = 2] = "x", (E2 || (E2 = {})).y = 1, (E2 || (E2 = {})).z = 1, (N || (N = {})).x = 1; export function F() {} (F || (F = {})).x = 1; +export var N; diff --git a/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target5.1.normal.js b/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target5.1.normal.js index 87f90deab9eb4..15c534f3f5e9d 100644 --- a/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target5.1.normal.js +++ b/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target5.1.normal.js @@ -1,9 +1,9 @@ //// [esnextmodulekindWithES5Target5.ts] -export var E1; -(function(E1) { +export var E1 = /*#__PURE__*/ function(E1) { E1[E1["value1"] = 0] = "value1"; -})(E1 || (E1 = {})); -export var E2; -(function(E2) { + return E1; +}({}); +export var E2 = /*#__PURE__*/ function(E2) { E2[E2["value1"] = 0] = "value1"; -})(E2 || (E2 = {})); + return E2; +}({}); diff --git a/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target5.2.minified.js b/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target5.2.minified.js index 49a750afec659..1e5be60cf6d43 100644 --- a/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target5.2.minified.js +++ b/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target5.2.minified.js @@ -1,8 +1,6 @@ //// [esnextmodulekindWithES5Target5.ts] var E1, E2; -var E11; +var E11 = ((E1 = {})[E1.value1 = 0] = "value1", E1); export { E11 as E1 }; -(E1 = E11 || (E11 = {}))[E1.value1 = 0] = "value1"; -var E21; +var E21 = ((E2 = {})[E2.value1 = 0] = "value1", E2); export { E21 as E2 }; -(E2 = E21 || (E21 = {}))[E2.value1 = 0] = "value1"; diff --git a/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target7.1.normal.js b/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target7.1.normal.js index 004fa6f61d652..70a810a9071de 100644 --- a/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target7.1.normal.js +++ b/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target7.1.normal.js @@ -1,5 +1,5 @@ //// [esnextmodulekindWithES5Target7.ts] -export var N; (function(N) { var x = 0; })(N || (N = {})); +export var N; diff --git a/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target7.2.minified.js b/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target7.2.minified.js index daef48a755d9f..af8de4870bccf 100644 --- a/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target7.2.minified.js +++ b/crates/swc/tests/tsc-references/esnextmodulekindWithES5Target7.2.minified.js @@ -1,3 +1,3 @@ //// [esnextmodulekindWithES5Target7.ts] -export var N; N || (N = {}); +export var N; diff --git a/crates/swc/tests/tsc-references/everyTypeAssignableToAny.1.normal.js b/crates/swc/tests/tsc-references/everyTypeAssignableToAny.1.normal.js index e61204ef03b6f..329e949c72d6a 100644 --- a/crates/swc/tests/tsc-references/everyTypeAssignableToAny.1.normal.js +++ b/crates/swc/tests/tsc-references/everyTypeAssignableToAny.1.normal.js @@ -7,10 +7,10 @@ var C = function C() { }; var ac; var ai; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var ae; var b; var c; diff --git a/crates/swc/tests/tsc-references/everyTypeAssignableToAny.2.minified.js b/crates/swc/tests/tsc-references/everyTypeAssignableToAny.2.minified.js index 698b1ee53aa46..a605da2441839 100644 --- a/crates/swc/tests/tsc-references/everyTypeAssignableToAny.2.minified.js +++ b/crates/swc/tests/tsc-references/everyTypeAssignableToAny.2.minified.js @@ -1,4 +1,3 @@ //// [everyTypeAssignableToAny.ts] -var E, E1; import "@swc/helpers/_/_class_call_check"; -(E1 = E || (E = {}))[E1.A = 0] = "A"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); diff --git a/crates/swc/tests/tsc-references/everyTypeWithAnnotationAndInitializer.1.normal.js b/crates/swc/tests/tsc-references/everyTypeWithAnnotationAndInitializer.1.normal.js index 1dc9287521760..e817d722899dd 100644 --- a/crates/swc/tests/tsc-references/everyTypeWithAnnotationAndInitializer.1.normal.js +++ b/crates/swc/tests/tsc-references/everyTypeWithAnnotationAndInitializer.1.normal.js @@ -11,7 +11,6 @@ var D = function D() { function F(x) { return 42; } -var M; (function(M) { var A = function A() { "use strict"; @@ -47,3 +46,4 @@ var aClassInModule = new M.A(); var aFunctionInModule = function(x) { return 'this is a string'; }; +var M; diff --git a/crates/swc/tests/tsc-references/everyTypeWithAnnotationAndInvalidInitializer.1.normal.js b/crates/swc/tests/tsc-references/everyTypeWithAnnotationAndInvalidInitializer.1.normal.js index b3982a947a4ad..ceb8771902e5d 100644 --- a/crates/swc/tests/tsc-references/everyTypeWithAnnotationAndInvalidInitializer.1.normal.js +++ b/crates/swc/tests/tsc-references/everyTypeWithAnnotationAndInvalidInitializer.1.normal.js @@ -14,7 +14,6 @@ function F(x) { function F2(x) { return x < 42; } -var M; (function(M) { var A = function A() { "use strict"; @@ -26,7 +25,6 @@ var M; } M.F2 = F2; })(M || (M = {})); -var N; (function(N) { var A = function A() { "use strict"; @@ -57,3 +55,4 @@ var aLambda = function(x) { var aModule = N; var aClassInModule = new N.A(); var aFunctionInModule = F2; +var M, N; diff --git a/crates/swc/tests/tsc-references/everyTypeWithInitializer.1.normal.js b/crates/swc/tests/tsc-references/everyTypeWithInitializer.1.normal.js index 8bf7714770231..076caf125d47d 100644 --- a/crates/swc/tests/tsc-references/everyTypeWithInitializer.1.normal.js +++ b/crates/swc/tests/tsc-references/everyTypeWithInitializer.1.normal.js @@ -11,7 +11,6 @@ var D = function D() { function F(x) { return 42; } -var M; (function(M) { var A = function A() { "use strict"; @@ -44,3 +43,4 @@ var aClassInModule = new M.A(); var aFunctionInModule = M.F2; // no initializer or annotation, so this is an 'any' var x; +var M; diff --git a/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.1.normal.js b/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.1.normal.js index fe0ec581caaa8..2be590437d397 100644 --- a/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.1.normal.js +++ b/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.1.normal.js @@ -35,12 +35,12 @@ function f3(x) { throw new Error("Bad input"); } } -var E; -// Repro from #11572 -(function(E) { +var // Repro from #11572 +E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; -})(E || (E = {})); + return E; +}(E || {}); function f(e) { switch(e){ case 0: @@ -92,12 +92,12 @@ function areaWrapped(s) { }(); return area; } -var MyEnum; -// Repro from #13241 -(function(MyEnum) { +var // Repro from #13241 +MyEnum = /*#__PURE__*/ function(MyEnum) { MyEnum[MyEnum["A"] = 0] = "A"; MyEnum[MyEnum["B"] = 1] = "B"; -})(MyEnum || (MyEnum = {})); + return MyEnum; +}(MyEnum || {}); function thisGivesError(e) { var s; switch(e){ @@ -133,12 +133,12 @@ function good2(e) { return "it was B"; } } -var Level; -// Repro from #18362 -(function(Level) { +var // Repro from #18362 +Level = /*#__PURE__*/ function(Level) { Level[Level["One"] = 0] = "One"; Level[Level["Two"] = 1] = "Two"; -})(Level || (Level = {})); + return Level; +}(Level || {}); var doSomethingWithLevel = function(level) { var next; switch(level){ @@ -192,12 +192,12 @@ function test4(value) { } return x; } -var Animal; -// Repro from #34661 -(function(Animal) { +var // Repro from #34661 +Animal = /*#__PURE__*/ function(Animal) { Animal[Animal["DOG"] = 0] = "DOG"; Animal[Animal["CAT"] = 1] = "CAT"; -})(Animal || (Animal = {})); + return Animal; +}(Animal || {}); function expression() { var _zoo_animal; switch((_zoo_animal = zoo === null || zoo === void 0 ? void 0 : zoo.animal) !== null && _zoo_animal !== void 0 ? _zoo_animal : 0){ diff --git a/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.2.minified.js b/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.2.minified.js index b64d0c2ef2206..aae46c491b7c7 100644 --- a/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.2.minified.js +++ b/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.2.minified.js @@ -1,3 +1,2 @@ //// [exhaustiveSwitchStatements1.ts] -var E, MyEnum, Level, Animal, E1, MyEnum1, Level1, Animal1; -(E1 = E || (E = {}))[E1.A = 0] = "A", E1[E1.B = 1] = "B", (MyEnum1 = MyEnum || (MyEnum = {}))[MyEnum1.A = 0] = "A", MyEnum1[MyEnum1.B = 1] = "B", (Level1 = Level || (Level = {}))[Level1.One = 0] = "One", Level1[Level1.Two = 1] = "Two", (Animal1 = Animal || (Animal = {}))[Animal1.DOG = 0] = "DOG", Animal1[Animal1.CAT = 1] = "CAT"; +var E, MyEnum, Level, Animal, E1 = ((E = E1 || {})[E.A = 0] = "A", E[E.B = 1] = "B", E), MyEnum1 = ((MyEnum = MyEnum1 || {})[MyEnum.A = 0] = "A", MyEnum[MyEnum.B = 1] = "B", MyEnum), Level1 = ((Level = Level1 || {})[Level.One = 0] = "One", Level[Level.Two = 1] = "Two", Level), Animal1 = ((Animal = Animal1 || {})[Animal.DOG = 0] = "DOG", Animal[Animal.CAT = 1] = "CAT", Animal); diff --git a/crates/swc/tests/tsc-references/exponentiationOperatorWithEnum.1.normal.js b/crates/swc/tests/tsc-references/exponentiationOperatorWithEnum.1.normal.js index c3827e401e4ba..df9cd9f0042fd 100644 --- a/crates/swc/tests/tsc-references/exponentiationOperatorWithEnum.1.normal.js +++ b/crates/swc/tests/tsc-references/exponentiationOperatorWithEnum.1.normal.js @@ -1,10 +1,10 @@ //// [exponentiationOperatorWithEnum.ts] // operands of an enum type are treated as having the primitive type Number. -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; -})(E || (E = {})); + return E; +}(E || {}); var a; var b; var c; diff --git a/crates/swc/tests/tsc-references/exponentiationOperatorWithEnum.2.minified.js b/crates/swc/tests/tsc-references/exponentiationOperatorWithEnum.2.minified.js index cab6919535c62..3d207048d1cf3 100644 --- a/crates/swc/tests/tsc-references/exponentiationOperatorWithEnum.2.minified.js +++ b/crates/swc/tests/tsc-references/exponentiationOperatorWithEnum.2.minified.js @@ -1,3 +1,2 @@ //// [exponentiationOperatorWithEnum.ts] -var E, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b"; +var E, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E); diff --git a/crates/swc/tests/tsc-references/exponentiationOperatorWithEnumUnion.1.normal.js b/crates/swc/tests/tsc-references/exponentiationOperatorWithEnumUnion.1.normal.js index f73c6930f54e7..3601741968a2c 100644 --- a/crates/swc/tests/tsc-references/exponentiationOperatorWithEnumUnion.1.normal.js +++ b/crates/swc/tests/tsc-references/exponentiationOperatorWithEnumUnion.1.normal.js @@ -1,15 +1,15 @@ //// [exponentiationOperatorWithEnumUnion.ts] // operands of an enum type are treated as having the primitive type Number. -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; -})(E || (E = {})); -var F; -(function(F) { + return E; +}(E || {}); +var F = /*#__PURE__*/ function(F) { F[F["c"] = 0] = "c"; F[F["d"] = 1] = "d"; -})(F || (F = {})); + return F; +}(F || {}); var a; var b; var c; diff --git a/crates/swc/tests/tsc-references/exponentiationOperatorWithEnumUnion.2.minified.js b/crates/swc/tests/tsc-references/exponentiationOperatorWithEnumUnion.2.minified.js index d045847b56148..11503fa39d813 100644 --- a/crates/swc/tests/tsc-references/exponentiationOperatorWithEnumUnion.2.minified.js +++ b/crates/swc/tests/tsc-references/exponentiationOperatorWithEnumUnion.2.minified.js @@ -1,3 +1,2 @@ //// [exponentiationOperatorWithEnumUnion.ts] -var E, F, E1, F1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", (F1 = F || (F = {}))[F1.c = 0] = "c", F1[F1.d = 1] = "d"; +var E, F, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E), F1 = ((F = F1 || {})[F.c = 0] = "c", F[F.d = 1] = "d", F); diff --git a/crates/swc/tests/tsc-references/exponentiationOperatorWithInvalidOperands.1.normal.js b/crates/swc/tests/tsc-references/exponentiationOperatorWithInvalidOperands.1.normal.js index 453680ebcf447..f9bd2dc1a936d 100644 --- a/crates/swc/tests/tsc-references/exponentiationOperatorWithInvalidOperands.1.normal.js +++ b/crates/swc/tests/tsc-references/exponentiationOperatorWithInvalidOperands.1.normal.js @@ -1,12 +1,12 @@ //// [exponentiationOperatorWithInvalidOperands.ts] // these operators require their operands to be of type Any, the Number primitive type, or // an enum type -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["a"] = 0] = "a"; E[E["b"] = 1] = "b"; E[E["c"] = 2] = "c"; -})(E || (E = {})); + return E; +}(E || {}); var a; var b; var c; diff --git a/crates/swc/tests/tsc-references/exponentiationOperatorWithInvalidOperands.2.minified.js b/crates/swc/tests/tsc-references/exponentiationOperatorWithInvalidOperands.2.minified.js index 6f86587ee6e2d..5e5ae10ad4253 100644 --- a/crates/swc/tests/tsc-references/exponentiationOperatorWithInvalidOperands.2.minified.js +++ b/crates/swc/tests/tsc-references/exponentiationOperatorWithInvalidOperands.2.minified.js @@ -1,3 +1,2 @@ //// [exponentiationOperatorWithInvalidOperands.ts] -var E, E1; -(E1 = E || (E = {}))[E1.a = 0] = "a", E1[E1.b = 1] = "b", E1[E1.c = 2] = "c"; +var E, E1 = ((E = E1 || {})[E.a = 0] = "a", E[E.b = 1] = "b", E[E.c = 2] = "c", E); diff --git a/crates/swc/tests/tsc-references/exportAssignmentAndDeclaration.1.normal.js b/crates/swc/tests/tsc-references/exportAssignmentAndDeclaration.1.normal.js index 147ea2b9e26aa..7d58d6edeea44 100644 --- a/crates/swc/tests/tsc-references/exportAssignmentAndDeclaration.1.normal.js +++ b/crates/swc/tests/tsc-references/exportAssignmentAndDeclaration.1.normal.js @@ -4,12 +4,12 @@ define([ "@swc/helpers/_/_class_call_check" ], function(require, _class_call_check) { "use strict"; - var E1; - (function(E1) { + var E1 = /*#__PURE__*/ function(E1) { E1[E1["A"] = 0] = "A"; E1[E1["B"] = 1] = "B"; E1[E1["C"] = 2] = "C"; - })(E1 || (E1 = {})); + return E1; + }({}); var C1 = function C1() { "use strict"; _class_call_check._(this, C1); diff --git a/crates/swc/tests/tsc-references/exportAssignmentAndDeclaration.2.minified.js b/crates/swc/tests/tsc-references/exportAssignmentAndDeclaration.2.minified.js index 57ebe9dfe0d81..5614b73fc92df 100644 --- a/crates/swc/tests/tsc-references/exportAssignmentAndDeclaration.2.minified.js +++ b/crates/swc/tests/tsc-references/exportAssignmentAndDeclaration.2.minified.js @@ -3,8 +3,7 @@ define([ "require", "@swc/helpers/_/_class_call_check" ], function(require, _class_call_check) { - var E1, E11; - return (E1 = E11 || (E11 = {}))[E1.A = 0] = "A", E1[E1.B = 1] = "B", E1[E1.C = 2] = "C", function C1() { + return function C1() { _class_call_check._(this, C1); }; }); diff --git a/crates/swc/tests/tsc-references/exportAssignmentCircularModules.1.normal.js b/crates/swc/tests/tsc-references/exportAssignmentCircularModules.1.normal.js index acb594f87c683..a35392284a07d 100644 --- a/crates/swc/tests/tsc-references/exportAssignmentCircularModules.1.normal.js +++ b/crates/swc/tests/tsc-references/exportAssignmentCircularModules.1.normal.js @@ -4,10 +4,10 @@ define([ "./foo_1" ], function(require, _foo_1) { "use strict"; - var Foo; (function(Foo) { Foo.x = _foo_1.x; })(Foo || (Foo = {})); + var Foo; return Foo; }); //// [foo_1.ts] @@ -16,10 +16,10 @@ define([ "./foo_2" ], function(require, _foo_2) { "use strict"; - var Foo; (function(Foo) { Foo.x = _foo_2.x; })(Foo || (Foo = {})); + var Foo; return Foo; }); //// [foo_2.ts] @@ -28,9 +28,9 @@ define([ "./foo_0" ], function(require, _foo_0) { "use strict"; - var Foo; (function(Foo) { Foo.x = _foo_0.x; })(Foo || (Foo = {})); + var Foo; return Foo; }); diff --git a/crates/swc/tests/tsc-references/exportAssignmentMergedModule.1.normal.js b/crates/swc/tests/tsc-references/exportAssignmentMergedModule.1.normal.js index 5bb09b8e55798..7fb2429342ce1 100644 --- a/crates/swc/tests/tsc-references/exportAssignmentMergedModule.1.normal.js +++ b/crates/swc/tests/tsc-references/exportAssignmentMergedModule.1.normal.js @@ -1,6 +1,5 @@ //// [foo_0.ts] "use strict"; -var Foo; (function(Foo) { function a() { return 5; @@ -13,11 +12,11 @@ var Foo; return a; } Foo.c = c; - var Test; (function(Test) { Test.answer = 42; - })(Test = Foo.Test || (Foo.Test = {})); + })(Foo.Test || (Foo.Test = {})); })(Foo || (Foo = {})); +var Foo; module.exports = Foo; //// [foo_1.ts] "use strict"; diff --git a/crates/swc/tests/tsc-references/exportAssignmentTopLevelEnumdule.1.normal.js b/crates/swc/tests/tsc-references/exportAssignmentTopLevelEnumdule.1.normal.js index 31f168c45d226..6fa87f86e7b50 100644 --- a/crates/swc/tests/tsc-references/exportAssignmentTopLevelEnumdule.1.normal.js +++ b/crates/swc/tests/tsc-references/exportAssignmentTopLevelEnumdule.1.normal.js @@ -3,12 +3,12 @@ define([ "require" ], function(require) { "use strict"; - var foo; - (function(foo) { + var foo = /*#__PURE__*/ function(foo) { foo[foo["red"] = 0] = "red"; foo[foo["green"] = 1] = "green"; foo[foo["blue"] = 2] = "blue"; - })(foo || (foo = {})); + return foo; + }(foo || {}); (function(foo) { foo.answer = 42; })(foo || (foo = {})); diff --git a/crates/swc/tests/tsc-references/exportAssignmentTopLevelEnumdule.2.minified.js b/crates/swc/tests/tsc-references/exportAssignmentTopLevelEnumdule.2.minified.js index 785376eb596f9..2996a9093bfcd 100644 --- a/crates/swc/tests/tsc-references/exportAssignmentTopLevelEnumdule.2.minified.js +++ b/crates/swc/tests/tsc-references/exportAssignmentTopLevelEnumdule.2.minified.js @@ -2,8 +2,8 @@ define([ "require" ], function(require) { - var foo, foo1; - return (foo1 = foo || (foo = {}))[foo1.red = 0] = "red", foo1[foo1.green = 1] = "green", foo1[foo1.blue = 2] = "blue", (foo || (foo = {})).answer = 42, foo; + var foo, foo1 = ((foo = foo1 || {})[foo.red = 0] = "red", foo[foo.green = 1] = "green", foo[foo.blue = 2] = "blue", foo); + return (foo1 || (foo1 = {})).answer = 42, foo1; }); //// [foo_1.ts] define([ diff --git a/crates/swc/tests/tsc-references/exportAssignmentTopLevelIdentifier.1.normal.js b/crates/swc/tests/tsc-references/exportAssignmentTopLevelIdentifier.1.normal.js index 82ac2e25d50ed..c61fe07d4e69a 100644 --- a/crates/swc/tests/tsc-references/exportAssignmentTopLevelIdentifier.1.normal.js +++ b/crates/swc/tests/tsc-references/exportAssignmentTopLevelIdentifier.1.normal.js @@ -3,10 +3,10 @@ define([ "require" ], function(require) { "use strict"; - var Foo; (function(Foo) { Foo.answer = 42; })(Foo || (Foo = {})); + var Foo; return Foo; }); //// [foo_1.ts] diff --git a/crates/swc/tests/tsc-references/exportCodeGen.1.normal.js b/crates/swc/tests/tsc-references/exportCodeGen.1.normal.js index 63da83c724828..fc5c62da00445 100644 --- a/crates/swc/tests/tsc-references/exportCodeGen.1.normal.js +++ b/crates/swc/tests/tsc-references/exportCodeGen.1.normal.js @@ -2,14 +2,12 @@ // should replace all refs to 'x' in the body, // with fully qualified import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { A.x = 12; function lt12() { return A.x < 12; } })(A || (A = {})); -var B; // should not fully qualify 'x' (function(B) { var x = 12; @@ -17,14 +15,12 @@ var B; return x < 12; } })(B || (B = {})); -var C; // not copied, since not exported (function(C) { function no() { return false; } })(C || (C = {})); -var D; // copies, since exported (function(D) { function yes() { @@ -32,13 +28,11 @@ var D; } D.yes = yes; })(D || (D = {})); -var E; // validate all exportable statements (function(E) { - var Color; (function(Color) { Color[Color["Red"] = 0] = "Red"; - })(Color = E.Color || (E.Color = {})); + })(E.Color || (E.Color = {})); function fn() {} E.fn = fn; var C = function C() { @@ -46,26 +40,25 @@ var E; _class_call_check(this, C); }; E.C = C; - var M; (function(M) { M.x = 42; - })(M = E.M || (E.M = {})); + })(E.M || (E.M = {})); })(E || (E = {})); -var F; // validate all exportable statements, // which are not exported (function(F) { - var Color; - (function(Color) { + var Color = /*#__PURE__*/ function(Color) { Color[Color["Red"] = 0] = "Red"; - })(Color || (Color = {})); + return Color; + }({}); function fn() {} var C = function C() { "use strict"; _class_call_check(this, C); }; - var M; (function(M) { var x = 42; })(M || (M = {})); + var M; })(F || (F = {})); +var A, B, C, D, E, F; diff --git a/crates/swc/tests/tsc-references/exportCodeGen.2.minified.js b/crates/swc/tests/tsc-references/exportCodeGen.2.minified.js index fe1dbb74193da..f7916f8d9c3b7 100644 --- a/crates/swc/tests/tsc-references/exportCodeGen.2.minified.js +++ b/crates/swc/tests/tsc-references/exportCodeGen.2.minified.js @@ -1,8 +1,8 @@ //// [exportCodeGen.ts] -var A, B, C, D, E, F, E1, Color, Color1, M, Color2; +var A, B, C, D, E, F, E1, Color, M; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; (A || (A = {})).x = 12, B || (B = {}), C || (C = {}), (D || (D = {})).yes = function() { return !0; }, (Color = (E1 = E || (E = {})).Color || (E1.Color = {}))[Color.Red = 0] = "Red", E1.fn = function() {}, E1.C = function C() { _class_call_check(this, C); -}, (E1.M || (E1.M = {})).x = 42, F || (F = {}), (Color2 = Color1 || (Color1 = {}))[Color2.Red = 0] = "Red", M || (M = {}); +}, (E1.M || (E1.M = {})).x = 42, F || (F = {}), M || (M = {}); diff --git a/crates/swc/tests/tsc-references/exportImportAlias.1.normal.js b/crates/swc/tests/tsc-references/exportImportAlias.1.normal.js index 0b20ad3676d13..119c80ebbd497 100644 --- a/crates/swc/tests/tsc-references/exportImportAlias.1.normal.js +++ b/crates/swc/tests/tsc-references/exportImportAlias.1.normal.js @@ -1,7 +1,6 @@ //// [exportImportAlias.ts] // expect no errors here import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { A.x = 'hello world'; var Point = function Point(x, y) { @@ -12,7 +11,6 @@ var A; }; A.Point = Point; })(A || (A = {})); -var C; (function(C) { C.a = A; })(C || (C = {})); @@ -20,7 +18,6 @@ var a = C.a.x; var b = new C.a.Point(0, 0); var c; var c; -var X; (function(X) { function Y() { return 42; @@ -34,16 +31,14 @@ var X; this.y = y; }; Y.Point = Point; - })(Y = X.Y || (X.Y = {})); + })(X.Y || (X.Y = {})); })(X || (X = {})); -var Z; (function(Z) { // 'y' should be a fundule here Z.y = X.Y; })(Z || (Z = {})); var m = Z.y(); var n = new Z.y.Point(0, 0); -var K; (function(K) { var L = function L(name) { "use strict"; @@ -53,9 +48,8 @@ var K; K.L = L; (function(L) { L.y = 12; - })(L = K.L || (K.L = {})); + })(K.L || (K.L = {})); })(K || (K = {})); -var M; (function(M) { M.D = K.L; })(M || (M = {})); @@ -63,3 +57,4 @@ var o; var o = new M.D('Hello'); var p; var p; +var A, C, X, Z, K, M; diff --git a/crates/swc/tests/tsc-references/exportImportAlias.2.minified.js b/crates/swc/tests/tsc-references/exportImportAlias.2.minified.js index 045e06badb65a..2943f04e25e9a 100644 --- a/crates/swc/tests/tsc-references/exportImportAlias.2.minified.js +++ b/crates/swc/tests/tsc-references/exportImportAlias.2.minified.js @@ -1,15 +1,12 @@ //// [exportImportAlias.ts] -var A, C, X, Z, K, M, A1, K1, L; +var A, C, X, Z, K, M, A1, X1, K1; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; (A1 = A || (A = {})).x = 'hello world', A1.Point = function Point(x, y) { _class_call_check(this, Point), this.x = x, this.y = y; -}, (C || (C = {})).a = A, C.a.x, new C.a.Point(0, 0), function(X) { - function Y() { - return 42; - } - X.Y = Y, (Y = X.Y || (X.Y = {})).Point = function Point(x, y) { - _class_call_check(this, Point), this.x = x, this.y = y; - }; -}(X || (X = {})), (Z || (Z = {})).y = X.Y, Z.y(), new Z.y.Point(0, 0), K1 = K || (K = {}), L = function L(name) { +}, (C || (C = {})).a = A, C.a.x, new C.a.Point(0, 0), (X1 = X || (X = {})).Y = function() { + return 42; +}, (X1.Y || (X1.Y = {})).Point = function Point(x, y) { + _class_call_check(this, Point), this.x = x, this.y = y; +}, (Z || (Z = {})).y = X.Y, Z.y(), new Z.y.Point(0, 0), (K1 = K || (K = {})).L = function L(name) { _class_call_check(this, L), this.name = name; -}, K1.L = L, (L = K1.L || (K1.L = {})).y = 12, (M || (M = {})).D = K.L, new M.D('Hello'); +}, (K1.L || (K1.L = {})).y = 12, (M || (M = {})).D = K.L, new M.D('Hello'); diff --git a/crates/swc/tests/tsc-references/exportsAndImports1-amd.1.normal.js b/crates/swc/tests/tsc-references/exportsAndImports1-amd.1.normal.js index a144c9417a433..3f6af120da487 100644 --- a/crates/swc/tests/tsc-references/exportsAndImports1-amd.1.normal.js +++ b/crates/swc/tests/tsc-references/exportsAndImports1-amd.1.normal.js @@ -49,21 +49,21 @@ define([ "use strict"; _class_call_check._(this, C); }; - var E; - (function(E) { + var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; - })(E || (E = {})); - var D; - (function(D) { + return E; + }(E || {}); + var D = /*#__PURE__*/ function(D) { D[D["A"] = 0] = "A"; D[D["B"] = 1] = "B"; D[D["C"] = 2] = "C"; - })(D || (D = {})); - var M; + return D; + }(D || {}); (function(M) {})(M || (M = {})); var a = M.x; + var M; }); //// [t2.ts] define([ diff --git a/crates/swc/tests/tsc-references/exportsAndImports1-amd.2.minified.js b/crates/swc/tests/tsc-references/exportsAndImports1-amd.2.minified.js index 923f31346f937..253a8ef2df03f 100644 --- a/crates/swc/tests/tsc-references/exportsAndImports1-amd.2.minified.js +++ b/crates/swc/tests/tsc-references/exportsAndImports1-amd.2.minified.js @@ -38,12 +38,12 @@ define([ return v; } }); - var E, D, E1, D1, M, v = 1; + var E, D, M, v = 1; function f() {} var C = function C() { _class_call_check._(this, C); - }; - (E = E1 || (E1 = {}))[E.A = 0] = "A", E[E.B = 1] = "B", E[E.C = 2] = "C", (D = D1 || (D1 = {}))[D.A = 0] = "A", D[D.B = 1] = "B", D[D.C = 2] = "C", M || (M = {}); + }, E1 = ((E = E1 || {})[E.A = 0] = "A", E[E.B = 1] = "B", E[E.C = 2] = "C", E), D1 = ((D = D1 || {})[D.A = 0] = "A", D[D.B = 1] = "B", D[D.C = 2] = "C", D); + M || (M = {}); var a = M.x; }); //// [t2.ts] diff --git a/crates/swc/tests/tsc-references/exportsAndImports1-es6.1.normal.js b/crates/swc/tests/tsc-references/exportsAndImports1-es6.1.normal.js index 3aa31e9498764..6432aa56f93df 100644 --- a/crates/swc/tests/tsc-references/exportsAndImports1-es6.1.normal.js +++ b/crates/swc/tests/tsc-references/exportsAndImports1-es6.1.normal.js @@ -38,21 +38,21 @@ var v = 1; function f() {} class C { } -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; -})(E || (E = {})); -var D; -(function(D) { + return E; +}(E || {}); +var D = /*#__PURE__*/ function(D) { D[D["A"] = 0] = "A"; D[D["B"] = 1] = "B"; D[D["C"] = 2] = "C"; -})(D || (D = {})); -var M; + return D; +}(D || {}); (function(M) {})(M || (M = {})); const a = M.x; +var M; //// [t2.ts] "use strict"; Object.defineProperty(exports, "__esModule", { diff --git a/crates/swc/tests/tsc-references/exportsAndImports1-es6.2.minified.js b/crates/swc/tests/tsc-references/exportsAndImports1-es6.2.minified.js index 4de842a67260c..539f8f40b0061 100644 --- a/crates/swc/tests/tsc-references/exportsAndImports1-es6.2.minified.js +++ b/crates/swc/tests/tsc-references/exportsAndImports1-es6.2.minified.js @@ -30,11 +30,12 @@ Object.defineProperty(exports, "__esModule", { return v; } }); -var E, D, E1, D1, M, v = 1; +var E, D, M, v = 1; function f() {} class C { } -(E = E1 || (E1 = {}))[E.A = 0] = "A", E[E.B = 1] = "B", E[E.C = 2] = "C", (D = D1 || (D1 = {}))[D.A = 0] = "A", D[D.B = 1] = "B", D[D.C = 2] = "C", M || (M = {}); +var E1 = ((E = E1 || {})[E.A = 0] = "A", E[E.B = 1] = "B", E[E.C = 2] = "C", E), D1 = ((D = D1 || {})[D.A = 0] = "A", D[D.B = 1] = "B", D[D.C = 2] = "C", D); +M || (M = {}); const a = M.x; //// [t2.ts] Object.defineProperty(exports, "__esModule", { diff --git a/crates/swc/tests/tsc-references/exportsAndImports1.1.normal.js b/crates/swc/tests/tsc-references/exportsAndImports1.1.normal.js index a4d1ab288a337..0b2fd4e299632 100644 --- a/crates/swc/tests/tsc-references/exportsAndImports1.1.normal.js +++ b/crates/swc/tests/tsc-references/exportsAndImports1.1.normal.js @@ -41,21 +41,21 @@ var C = function C() { "use strict"; _class_call_check._(this, C); }; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; -})(E || (E = {})); -var D; -(function(D) { + return E; +}(E || {}); +var D = /*#__PURE__*/ function(D) { D[D["A"] = 0] = "A"; D[D["B"] = 1] = "B"; D[D["C"] = 2] = "C"; -})(D || (D = {})); -var M; + return D; +}(D || {}); (function(M) {})(M || (M = {})); var a = M.x; +var M; //// [t2.ts] "use strict"; Object.defineProperty(exports, "__esModule", { diff --git a/crates/swc/tests/tsc-references/exportsAndImports1.2.minified.js b/crates/swc/tests/tsc-references/exportsAndImports1.2.minified.js index 59f99317d1f00..04c9c4f1f6966 100644 --- a/crates/swc/tests/tsc-references/exportsAndImports1.2.minified.js +++ b/crates/swc/tests/tsc-references/exportsAndImports1.2.minified.js @@ -30,12 +30,12 @@ Object.defineProperty(exports, "__esModule", { return v; } }); -var E, D, E1, D1, M, _class_call_check = require("@swc/helpers/_/_class_call_check"), v = 1; +var E, D, M, _class_call_check = require("@swc/helpers/_/_class_call_check"), v = 1; function f() {} var C = function C() { _class_call_check._(this, C); -}; -(E = E1 || (E1 = {}))[E.A = 0] = "A", E[E.B = 1] = "B", E[E.C = 2] = "C", (D = D1 || (D1 = {}))[D.A = 0] = "A", D[D.B = 1] = "B", D[D.C = 2] = "C", M || (M = {}); +}, E1 = ((E = E1 || {})[E.A = 0] = "A", E[E.B = 1] = "B", E[E.C = 2] = "C", E), D1 = ((D = D1 || {})[D.A = 0] = "A", D[D.B = 1] = "B", D[D.C = 2] = "C", D); +M || (M = {}); var a = M.x; //// [t2.ts] Object.defineProperty(exports, "__esModule", { diff --git a/crates/swc/tests/tsc-references/exportsAndImports3-amd.1.normal.js b/crates/swc/tests/tsc-references/exportsAndImports3-amd.1.normal.js index 9932be44ff4c3..7cc9ac9724b00 100644 --- a/crates/swc/tests/tsc-references/exportsAndImports3-amd.1.normal.js +++ b/crates/swc/tests/tsc-references/exportsAndImports3-amd.1.normal.js @@ -70,21 +70,21 @@ define([ "use strict"; _class_call_check._(this, C); }; - var E; - (function(E) { + var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; - })(E || (E = {})); - var D; - (function(D) { + return E; + }({}); + var D = /*#__PURE__*/ function(D) { D[D["A"] = 0] = "A"; D[D["B"] = 1] = "B"; D[D["C"] = 2] = "C"; - })(D || (D = {})); - var M; + return D; + }({}); (function(M) {})(M || (M = {})); var a = M.x; + var M; }); //// [t2.ts] define([ diff --git a/crates/swc/tests/tsc-references/exportsAndImports3-amd.2.minified.js b/crates/swc/tests/tsc-references/exportsAndImports3-amd.2.minified.js index c249b4faba14c..660e4333e8467 100644 --- a/crates/swc/tests/tsc-references/exportsAndImports3-amd.2.minified.js +++ b/crates/swc/tests/tsc-references/exportsAndImports3-amd.2.minified.js @@ -59,12 +59,12 @@ define([ return v; } }); - var E, D, E1, D1, M, v = 1; + var E, D, M, v = 1; function f() {} var C = function C() { _class_call_check._(this, C); - }; - (E = E1 || (E1 = {}))[E.A = 0] = "A", E[E.B = 1] = "B", E[E.C = 2] = "C", (D = D1 || (D1 = {}))[D.A = 0] = "A", D[D.B = 1] = "B", D[D.C = 2] = "C", M || (M = {}); + }, E1 = ((E = {})[E.A = 0] = "A", E[E.B = 1] = "B", E[E.C = 2] = "C", E), D1 = ((D = {})[D.A = 0] = "A", D[D.B = 1] = "B", D[D.C = 2] = "C", D); + M || (M = {}); var a = M.x; }); //// [t2.ts] diff --git a/crates/swc/tests/tsc-references/exportsAndImports3-es6.1.normal.js b/crates/swc/tests/tsc-references/exportsAndImports3-es6.1.normal.js index 710d9e00d378f..6b55d1c3cda60 100644 --- a/crates/swc/tests/tsc-references/exportsAndImports3-es6.1.normal.js +++ b/crates/swc/tests/tsc-references/exportsAndImports3-es6.1.normal.js @@ -59,21 +59,21 @@ var v = 1; function f() {} class C { } -var E; -(function(E) { +let E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; -})(E || (E = {})); -var D; -(function(D) { + return E; +}({}); +let D = /*#__PURE__*/ function(D) { D[D["A"] = 0] = "A"; D[D["B"] = 1] = "B"; D[D["C"] = 2] = "C"; -})(D || (D = {})); -var M; + return D; +}({}); (function(M) {})(M || (M = {})); const a = M.x; +var M; //// [t2.ts] "use strict"; Object.defineProperty(exports, "__esModule", { diff --git a/crates/swc/tests/tsc-references/exportsAndImports3-es6.2.minified.js b/crates/swc/tests/tsc-references/exportsAndImports3-es6.2.minified.js index 7882bcc4b5940..6e3c4ebf70af5 100644 --- a/crates/swc/tests/tsc-references/exportsAndImports3-es6.2.minified.js +++ b/crates/swc/tests/tsc-references/exportsAndImports3-es6.2.minified.js @@ -51,11 +51,12 @@ Object.defineProperty(exports, "__esModule", { return v; } }); -var E, D, E1, D1, M, v = 1; +var E, D, M, v = 1; function f() {} class C { } -(E = E1 || (E1 = {}))[E.A = 0] = "A", E[E.B = 1] = "B", E[E.C = 2] = "C", (D = D1 || (D1 = {}))[D.A = 0] = "A", D[D.B = 1] = "B", D[D.C = 2] = "C", M || (M = {}); +let E1 = ((E = {})[E.A = 0] = "A", E[E.B = 1] = "B", E[E.C = 2] = "C", E), D1 = ((D = {})[D.A = 0] = "A", D[D.B = 1] = "B", D[D.C = 2] = "C", D); +M || (M = {}); const a = M.x; //// [t2.ts] Object.defineProperty(exports, "__esModule", { diff --git a/crates/swc/tests/tsc-references/exportsAndImports3.1.normal.js b/crates/swc/tests/tsc-references/exportsAndImports3.1.normal.js index b6ca1d7610f81..0d1e2e397e06e 100644 --- a/crates/swc/tests/tsc-references/exportsAndImports3.1.normal.js +++ b/crates/swc/tests/tsc-references/exportsAndImports3.1.normal.js @@ -62,21 +62,21 @@ var C = function C() { "use strict"; _class_call_check._(this, C); }; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; -})(E || (E = {})); -var D; -(function(D) { + return E; +}({}); +var D = /*#__PURE__*/ function(D) { D[D["A"] = 0] = "A"; D[D["B"] = 1] = "B"; D[D["C"] = 2] = "C"; -})(D || (D = {})); -var M; + return D; +}({}); (function(M) {})(M || (M = {})); var a = M.x; +var M; //// [t2.ts] "use strict"; Object.defineProperty(exports, "__esModule", { diff --git a/crates/swc/tests/tsc-references/exportsAndImports3.2.minified.js b/crates/swc/tests/tsc-references/exportsAndImports3.2.minified.js index 4baf9b58acc2d..a708dd757a406 100644 --- a/crates/swc/tests/tsc-references/exportsAndImports3.2.minified.js +++ b/crates/swc/tests/tsc-references/exportsAndImports3.2.minified.js @@ -51,12 +51,12 @@ Object.defineProperty(exports, "__esModule", { return v; } }); -var E, D, E1, D1, M, _class_call_check = require("@swc/helpers/_/_class_call_check"), v = 1; +var E, D, M, _class_call_check = require("@swc/helpers/_/_class_call_check"), v = 1; function f() {} var C = function C() { _class_call_check._(this, C); -}; -(E = E1 || (E1 = {}))[E.A = 0] = "A", E[E.B = 1] = "B", E[E.C = 2] = "C", (D = D1 || (D1 = {}))[D.A = 0] = "A", D[D.B = 1] = "B", D[D.C = 2] = "C", M || (M = {}); +}, E1 = ((E = {})[E.A = 0] = "A", E[E.B = 1] = "B", E[E.C = 2] = "C", E), D1 = ((D = {})[D.A = 0] = "A", D[D.B = 1] = "B", D[D.C = 2] = "C", D); +M || (M = {}); var a = M.x; //// [t2.ts] Object.defineProperty(exports, "__esModule", { diff --git a/crates/swc/tests/tsc-references/filterNamespace_import.1.normal.js b/crates/swc/tests/tsc-references/filterNamespace_import.1.normal.js index 0080bd1d75dd1..6efe723963ce6 100644 --- a/crates/swc/tests/tsc-references/filterNamespace_import.1.normal.js +++ b/crates/swc/tests/tsc-references/filterNamespace_import.1.normal.js @@ -1,6 +1,5 @@ //// [/ns.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var ns; (function(ns) { var Class = function Class() { "use strict"; @@ -8,16 +7,16 @@ var ns; }; ns.Class = Class; ns.Value = ""; - var nested; (function(nested) { var NestedClass = function NestedClass() { "use strict"; _class_call_check(this, NestedClass); }; nested.NestedClass = NestedClass; - })(nested = ns.nested || (ns.nested = {})); + })(ns.nested || (ns.nested = {})); })(ns || (ns = {})); export default ns; +var ns; //// [/a.ts] ns.Class; // Error ns.Value; // Error diff --git a/crates/swc/tests/tsc-references/for-inStatements.1.normal.js b/crates/swc/tests/tsc-references/for-inStatements.1.normal.js index 9dedc051b6879..2a962427bb221 100644 --- a/crates/swc/tests/tsc-references/for-inStatements.1.normal.js +++ b/crates/swc/tests/tsc-references/for-inStatements.1.normal.js @@ -74,7 +74,6 @@ var B = /*#__PURE__*/ function(A) { }(A); var i; for(var x in i[42]){} -var M; (function(M) { var X = function X() { "use strict"; @@ -84,10 +83,11 @@ var M; })(M || (M = {})); for(var x in M){} for(var x in M.X){} -var Color; -(function(Color) { +var Color = /*#__PURE__*/ function(Color) { Color[Color["Red"] = 0] = "Red"; Color[Color["Blue"] = 1] = "Blue"; -})(Color || (Color = {})); + return Color; +}(Color || {}); for(var x in Color){} for(var x in 1){} +var M; diff --git a/crates/swc/tests/tsc-references/for-inStatements.2.minified.js b/crates/swc/tests/tsc-references/for-inStatements.2.minified.js index 8696c45c76aea..f599d1c6b0408 100644 --- a/crates/swc/tests/tsc-references/for-inStatements.2.minified.js +++ b/crates/swc/tests/tsc-references/for-inStatements.2.minified.js @@ -1,5 +1,4 @@ //// [for-inStatements.ts] -var aString, anAny, c, d, e, i, M, Color, Color1; import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _get } from "@swc/helpers/_/_get"; @@ -37,5 +36,6 @@ for(var x in (M || (M = {})).X = function X() { _class_call_check(this, X); }, M); for(var x in M.X); -for(var x in (Color1 = Color || (Color = {}))[Color1.Red = 0] = "Red", Color1[Color1.Blue = 1] = "Blue", Color); +var aString, anAny, c, d, e, i, M, Color, Color1 = ((Color = Color1 || {})[Color.Red = 0] = "Red", Color[Color.Blue = 1] = "Blue", Color); +for(var x in Color1); for(var x in 1); diff --git a/crates/swc/tests/tsc-references/for-of47.1.normal.js b/crates/swc/tests/tsc-references/for-of47.1.normal.js index 1cdee4d9be7a5..18f3e45c8a6dd 100644 --- a/crates/swc/tests/tsc-references/for-of47.1.normal.js +++ b/crates/swc/tests/tsc-references/for-of47.1.normal.js @@ -6,10 +6,10 @@ var array = [ y: true } ]; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["x"] = 0] = "x"; -})(E || (E = {})); + return E; +}(E || {}); for ({ x, y: y = 0 } of array){ x; y; diff --git a/crates/swc/tests/tsc-references/for-of47.2.minified.js b/crates/swc/tests/tsc-references/for-of47.2.minified.js index 3e8b5bbe94a19..b915ed5c536f9 100644 --- a/crates/swc/tests/tsc-references/for-of47.2.minified.js +++ b/crates/swc/tests/tsc-references/for-of47.2.minified.js @@ -1,8 +1,8 @@ //// [for-of47.ts] -var x, y, E, E1; -for ({ x, y: y = 0 } of ((E1 = E || (E = {}))[E1.x = 0] = "x", [ +var x, y, E, E1 = ((E = E1 || {})[E.x = 0] = "x", E); +for ({ x, y: y = 0 } of [ { x: "", y: !0 } -])); +]); diff --git a/crates/swc/tests/tsc-references/for-of48.1.normal.js b/crates/swc/tests/tsc-references/for-of48.1.normal.js index 71b4be624bcd6..c98b08be6a6d1 100644 --- a/crates/swc/tests/tsc-references/for-of48.1.normal.js +++ b/crates/swc/tests/tsc-references/for-of48.1.normal.js @@ -6,10 +6,10 @@ var array = [ y: true } ]; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["x"] = 0] = "x"; -})(E || (E = {})); + return E; +}(E || {}); for ({ x, y = 0 } of array){ x; y; diff --git a/crates/swc/tests/tsc-references/for-of48.2.minified.js b/crates/swc/tests/tsc-references/for-of48.2.minified.js index 29816636c65f5..4d51c92daaf30 100644 --- a/crates/swc/tests/tsc-references/for-of48.2.minified.js +++ b/crates/swc/tests/tsc-references/for-of48.2.minified.js @@ -1,8 +1,8 @@ //// [for-of48.ts] -var x, y, E, E1; -for ({ x, y = 0 } of ((E1 = E || (E = {}))[E1.x = 0] = "x", [ +var x, y, E, E1 = ((E = E1 || {})[E.x = 0] = "x", E); +for ({ x, y = 0 } of [ { x: "", y: !0 } -])); +]); diff --git a/crates/swc/tests/tsc-references/forStatements.1.normal.js b/crates/swc/tests/tsc-references/forStatements.1.normal.js index 60a6f0e53271c..351ad27945ff7 100644 --- a/crates/swc/tests/tsc-references/forStatements.1.normal.js +++ b/crates/swc/tests/tsc-references/forStatements.1.normal.js @@ -11,7 +11,6 @@ var D = function D() { function F(x) { return 42; } -var M; (function(M) { var A = function A() { "use strict"; @@ -47,3 +46,4 @@ for(var aClassInModule = new M.A();;){} for(var aFunctionInModule = function(x) { return 'this is a string'; };;){} +var M; diff --git a/crates/swc/tests/tsc-references/forStatementsMultipleInvalidDecl.1.normal.js b/crates/swc/tests/tsc-references/forStatementsMultipleInvalidDecl.1.normal.js index 487ac6812c367..b0d1e8087e9a4 100644 --- a/crates/swc/tests/tsc-references/forStatementsMultipleInvalidDecl.1.normal.js +++ b/crates/swc/tests/tsc-references/forStatementsMultipleInvalidDecl.1.normal.js @@ -22,7 +22,6 @@ var D = function D() { function F(x) { return 42; } -var M; (function(M) { var A = function A() { "use strict"; @@ -66,3 +65,4 @@ for(var arr2 = [ for(var arr2 = new Array();;){} for(var m;;){} for(var m = M.A;;){} +var M; diff --git a/crates/swc/tests/tsc-references/forStatementsMultipleInvalidDecl.2.minified.js b/crates/swc/tests/tsc-references/forStatementsMultipleInvalidDecl.2.minified.js index 8977be722a78f..268d7478eb6af 100644 --- a/crates/swc/tests/tsc-references/forStatementsMultipleInvalidDecl.2.minified.js +++ b/crates/swc/tests/tsc-references/forStatementsMultipleInvalidDecl.2.minified.js @@ -2,7 +2,7 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var M, M1, a, b, arr, m, C = function C() { +var M, a, b, arr, m, M1, C = function C() { _class_call_check(this, C); }, C2 = /*#__PURE__*/ function(C) { function C2() { diff --git a/crates/swc/tests/tsc-references/forgottenNew.1.normal.js b/crates/swc/tests/tsc-references/forgottenNew.1.normal.js index 60a9cc4438ddb..2af4b97b6194b 100644 --- a/crates/swc/tests/tsc-references/forgottenNew.1.normal.js +++ b/crates/swc/tests/tsc-references/forgottenNew.1.normal.js @@ -1,6 +1,5 @@ //// [forgottenNew.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var Tools; (function(Tools) { var NullLogger = function NullLogger() { "use strict"; @@ -9,3 +8,4 @@ var Tools; Tools.NullLogger = NullLogger; })(Tools || (Tools = {})); var logger = Tools.NullLogger(); +var Tools; diff --git a/crates/swc/tests/tsc-references/functionExpressionContextualTyping1.1.normal.js b/crates/swc/tests/tsc-references/functionExpressionContextualTyping1.1.normal.js index b43332605a606..1c905a3555cd7 100644 --- a/crates/swc/tests/tsc-references/functionExpressionContextualTyping1.1.normal.js +++ b/crates/swc/tests/tsc-references/functionExpressionContextualTyping1.1.normal.js @@ -2,11 +2,11 @@ // When a function expression with no type parameters and no parameter type annotations // is contextually typed (section 4.19) by a type T and a contextual signature S can be extracted from T import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["red"] = 0] = "red"; E[E["blue"] = 1] = "blue"; -})(E || (E = {})); + return E; +}(E || {}); // A contextual signature S is extracted from a function type T as follows: // If T is a function type with exactly one call signature, and if that call signature is non- generic, S is that signature. var a0 = function(num, str) { diff --git a/crates/swc/tests/tsc-references/functionExpressionContextualTyping1.2.minified.js b/crates/swc/tests/tsc-references/functionExpressionContextualTyping1.2.minified.js index 9179e7a3dd59a..efbee3ef80cb9 100644 --- a/crates/swc/tests/tsc-references/functionExpressionContextualTyping1.2.minified.js +++ b/crates/swc/tests/tsc-references/functionExpressionContextualTyping1.2.minified.js @@ -1,4 +1,3 @@ //// [functionExpressionContextualTyping1.ts] -var E, E1; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -(E1 = E || (E = {}))[E1.red = 0] = "red", E1[E1.blue = 1] = "blue"; +var E, E1 = ((E = E1 || {})[E.red = 0] = "red", E[E.blue = 1] = "blue", E); diff --git a/crates/swc/tests/tsc-references/generatedContextualTyping.1.normal.js b/crates/swc/tests/tsc-references/generatedContextualTyping.1.normal.js index bf0fbb30098c4..120b89295fc53 100644 --- a/crates/swc/tests/tsc-references/generatedContextualTyping.1.normal.js +++ b/crates/swc/tests/tsc-references/generatedContextualTyping.1.normal.js @@ -1657,7 +1657,6 @@ var x180 = function x180() { } }; }; -var x181; (function(x181) { var t = function() { return [ @@ -1666,7 +1665,6 @@ var x181; ]; }; })(x181 || (x181 = {})); -var x182; (function(x182) { var t = function t() { return [ @@ -1675,7 +1673,6 @@ var x182; ]; }; })(x182 || (x182 = {})); -var x183; (function(x183) { var t = function named() { return [ @@ -1684,7 +1681,6 @@ var x183; ]; }; })(x183 || (x183 = {})); -var x184; (function(x184) { var t = function() { return [ @@ -1693,7 +1689,6 @@ var x184; ]; }; })(x184 || (x184 = {})); -var x185; (function(x185) { var t = function t() { return [ @@ -1702,7 +1697,6 @@ var x185; ]; }; })(x185 || (x185 = {})); -var x186; (function(x186) { var t = function named() { return [ @@ -1711,28 +1705,24 @@ var x186; ]; }; })(x186 || (x186 = {})); -var x187; (function(x187) { var t = [ d1, d2 ]; })(x187 || (x187 = {})); -var x188; (function(x188) { var t = [ d1, d2 ]; })(x188 || (x188 = {})); -var x189; (function(x189) { var t = [ d1, d2 ]; })(x189 || (x189 = {})); -var x190; (function(x190) { var t = { n: [ @@ -1741,14 +1731,12 @@ var x190; ] }; })(x190 || (x190 = {})); -var x191; (function(x191) { var t = function(n) { var n; return null; }; })(x191 || (x191 = {})); -var x192; (function(x192) { var t = { func: function(n) { @@ -1759,7 +1747,6 @@ var x192; } }; })(x192 || (x192 = {})); -var x193; (function(x193) { x193.t = function() { return [ @@ -1768,7 +1755,6 @@ var x193; ]; }; })(x193 || (x193 = {})); -var x194; (function(x194) { x194.t = function() { return [ @@ -1777,7 +1763,6 @@ var x194; ]; }; })(x194 || (x194 = {})); -var x195; (function(x195) { x195.t = function named() { return [ @@ -1786,7 +1771,6 @@ var x195; ]; }; })(x195 || (x195 = {})); -var x196; (function(x196) { x196.t = function() { return [ @@ -1795,7 +1779,6 @@ var x196; ]; }; })(x196 || (x196 = {})); -var x197; (function(x197) { x197.t = function() { return [ @@ -1804,7 +1787,6 @@ var x197; ]; }; })(x197 || (x197 = {})); -var x198; (function(x198) { x198.t = function named() { return [ @@ -1813,28 +1795,24 @@ var x198; ]; }; })(x198 || (x198 = {})); -var x199; (function(x199) { x199.t = [ d1, d2 ]; })(x199 || (x199 = {})); -var x200; (function(x200) { x200.t = [ d1, d2 ]; })(x200 || (x200 = {})); -var x201; (function(x201) { x201.t = [ d1, d2 ]; })(x201 || (x201 = {})); -var x202; (function(x202) { x202.t = { n: [ @@ -1843,14 +1821,12 @@ var x202; ] }; })(x202 || (x202 = {})); -var x203; (function(x203) { x203.t = function(n) { var n; return null; }; })(x203 || (x203 = {})); -var x204; (function(x204) { x204.t = { func: function(n) { @@ -2851,3 +2827,4 @@ x356({ ]; } }); +var x181, x182, x183, x184, x185, x186, x187, x188, x189, x190, x191, x192, x193, x194, x195, x196, x197, x198, x199, x200, x201, x202, x203, x204; diff --git a/crates/swc/tests/tsc-references/generatorInAmbientContext6.1.normal.js b/crates/swc/tests/tsc-references/generatorInAmbientContext6.1.normal.js index f61769f6eedcf..08edff8ef79ea 100644 --- a/crates/swc/tests/tsc-references/generatorInAmbientContext6.1.normal.js +++ b/crates/swc/tests/tsc-references/generatorInAmbientContext6.1.normal.js @@ -1,6 +1,6 @@ //// [generatorInAmbientContext6.ts] -var M; (function(M) { function* generator() {} M.generator = generator; })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/generatorOverloads5.1.normal.js b/crates/swc/tests/tsc-references/generatorOverloads5.1.normal.js index 98e37cce4545d..a2ae2e5f82a60 100644 --- a/crates/swc/tests/tsc-references/generatorOverloads5.1.normal.js +++ b/crates/swc/tests/tsc-references/generatorOverloads5.1.normal.js @@ -1,5 +1,5 @@ //// [generatorOverloads5.ts] -var M; (function(M) { function* f(s) {} })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/generatorYieldContextualType.1.normal.js b/crates/swc/tests/tsc-references/generatorYieldContextualType.1.normal.js index 4f738b4c086a6..3992e99b59285 100644 --- a/crates/swc/tests/tsc-references/generatorYieldContextualType.1.normal.js +++ b/crates/swc/tests/tsc-references/generatorYieldContextualType.1.normal.js @@ -7,21 +7,20 @@ f2(async function*() { const a = yield 0; return 0; }); -var Directive; -// repro from #41428 -(function(Directive) { +var // repro from #41428 +Directive = /*#__PURE__*/ function(Directive) { Directive[Directive["Back"] = 0] = "Back"; Directive[Directive["Cancel"] = 1] = "Cancel"; Directive[Directive["LoadMore"] = 2] = "LoadMore"; Directive[Directive["Noop"] = 3] = "Noop"; -})(Directive || (Directive = {})); + return Directive; +}(Directive || {}); (function(Directive) { function is(value) { return typeof value === "number" && Directive[value] != null; } Directive.is = is; })(Directive || (Directive = {})); -var StepResult; (function(StepResult) { StepResult.Break = Symbol("BreakStep"); })(StepResult || (StepResult = {})); @@ -39,3 +38,4 @@ function* showStep(state, _context) { const selection = yield step; return canPickStepContinue(step, state, selection) ? selection[0] : StepResult.Break; } +var StepResult; diff --git a/crates/swc/tests/tsc-references/generatorYieldContextualType.2.minified.js b/crates/swc/tests/tsc-references/generatorYieldContextualType.2.minified.js index c0b276873a859..afaac03afa20f 100644 --- a/crates/swc/tests/tsc-references/generatorYieldContextualType.2.minified.js +++ b/crates/swc/tests/tsc-references/generatorYieldContextualType.2.minified.js @@ -1,9 +1,10 @@ //// [generatorYieldContextualType.ts] -var Directive, StepResult, Directive1, Directive2; f1(function*() { return yield 0, 0; }), f2(async function*() { return yield 0, 0; -}), (Directive1 = Directive || (Directive = {}))[Directive1.Back = 0] = "Back", Directive1[Directive1.Cancel = 1] = "Cancel", Directive1[Directive1.LoadMore = 2] = "LoadMore", Directive1[Directive1.Noop = 3] = "Noop", (Directive2 = Directive || (Directive = {})).is = function(value) { - return "number" == typeof value && null != Directive2[value]; +}); +var Directive, Directive1, StepResult, Directive2 = ((Directive1 = Directive2 || {})[Directive1.Back = 0] = "Back", Directive1[Directive1.Cancel = 1] = "Cancel", Directive1[Directive1.LoadMore = 2] = "LoadMore", Directive1[Directive1.Noop = 3] = "Noop", Directive1); +(Directive = Directive2 || (Directive2 = {})).is = function(value) { + return "number" == typeof value && null != Directive[value]; }, (StepResult || (StepResult = {})).Break = Symbol("BreakStep"); diff --git a/crates/swc/tests/tsc-references/genericCallToOverloadedMethodWithOverloadedArguments.1.normal.js b/crates/swc/tests/tsc-references/genericCallToOverloadedMethodWithOverloadedArguments.1.normal.js index 7a652cc7aa569..e962fcee9535b 100644 --- a/crates/swc/tests/tsc-references/genericCallToOverloadedMethodWithOverloadedArguments.1.normal.js +++ b/crates/swc/tests/tsc-references/genericCallToOverloadedMethodWithOverloadedArguments.1.normal.js @@ -1,36 +1,31 @@ //// [genericCallToOverloadedMethodWithOverloadedArguments.ts] -var m1; (function(m1) { var numPromise; var newPromise = numPromise.then(testFunction); })(m1 || (m1 = {})); -var m2; ////////////////////////////////////// (function(m2) { var numPromise; var newPromise = numPromise.then(testFunction); })(m2 || (m2 = {})); -var m3; ////////////////////////////////////// (function(m3) { var numPromise; var newPromise = numPromise.then(testFunction); })(m3 || (m3 = {})); -var m4; ////////////////////////////////////// (function(m4) { var numPromise; var newPromise = numPromise.then(testFunction); })(m4 || (m4 = {})); -var m5; ////////////////////////////////////// (function(m5) { var numPromise; var newPromise = numPromise.then(testFunction); })(m5 || (m5 = {})); -var m6; ////////////////////////////////////// (function(m6) { var numPromise; var newPromise = numPromise.then(testFunction); })(m6 || (m6 = {})); +var m1, m2, m3, m4, m5, m6; diff --git a/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments2.1.normal.js b/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments2.1.normal.js index f2966cc587ee1..dad7f19027127 100644 --- a/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments2.1.normal.js +++ b/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments2.1.normal.js @@ -1,7 +1,6 @@ //// [genericCallWithGenericSignatureArguments2.ts] // When a function expression is inferentially typed (section 4.9.3) and a type assigned to a parameter in that expression references type parameters for which inferences are being made, // the corresponding inferred type arguments to become fixed and no further candidate inferences are made for them. -var onlyT; (function(onlyT) { function foo(a, b) { var r; @@ -38,14 +37,14 @@ var onlyT; return b; }); // valid, T is inferred to be Date } - var E; - (function(E) { + var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; - })(E || (E = {})); - var F; - (function(F) { + return E; + }({}); + var F = /*#__PURE__*/ function(F) { F[F["A"] = 0] = "A"; - })(F || (F = {})); + return F; + }({}); function foo3(x, a, b) { var r; return r; @@ -56,7 +55,6 @@ var onlyT; return 0; }); // error })(onlyT || (onlyT = {})); -var TU; (function(TU) { function foo(a, b) { var r; @@ -92,14 +90,14 @@ var TU; return b; }); } - var E; - (function(E) { + var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; - })(E || (E = {})); - var F; - (function(F) { + return E; + }({}); + var F = /*#__PURE__*/ function(F) { F[F["A"] = 0] = "A"; - })(F || (F = {})); + return F; + }({}); function foo3(x, a, b) { var r; return r; @@ -110,3 +108,4 @@ var TU; return 0; }); })(TU || (TU = {})); +var onlyT, TU; diff --git a/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments2.2.minified.js b/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments2.2.minified.js index de11c4acaf935..52565f5690190 100644 --- a/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments2.2.minified.js +++ b/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments2.2.minified.js @@ -1,3 +1,3 @@ //// [genericCallWithGenericSignatureArguments2.ts] -var onlyT, TU, E, F, E1, F1, E2, F2, E3, F3; -onlyT || (onlyT = {}), (E1 = E || (E = {}))[E1.A = 0] = "A", (F1 = F || (F = {}))[F1.A = 0] = "A", TU || (TU = {}), (E3 = E2 || (E2 = {}))[E3.A = 0] = "A", (F3 = F2 || (F2 = {}))[F3.A = 0] = "A"; +var onlyT, TU; +onlyT || (onlyT = {}), TU || (TU = {}); diff --git a/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments3.1.normal.js b/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments3.1.normal.js index eaee357e982f8..66ecf2cb8de04 100644 --- a/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments3.1.normal.js +++ b/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments3.1.normal.js @@ -35,14 +35,14 @@ var r5 = foo(new Object(), function(x) { }, function(x) { return ''; }); // Object => Object -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); -var F; -(function(F) { + return E; +}(E || {}); +var F = /*#__PURE__*/ function(F) { F[F["A"] = 0] = "A"; -})(F || (F = {})); + return F; +}(F || {}); var r6 = foo(0, function(x) { return 0; }, function(x) { diff --git a/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments3.2.minified.js b/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments3.2.minified.js index 36dc546b07a36..940261dc082ea 100644 --- a/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments3.2.minified.js +++ b/crates/swc/tests/tsc-references/genericCallWithGenericSignatureArguments3.2.minified.js @@ -1,3 +1,2 @@ //// [genericCallWithGenericSignatureArguments3.ts] -var E, F, E1, F1; -(E1 = E || (E = {}))[E1.A = 0] = "A", (F1 = F || (F = {}))[F1.A = 0] = "A"; +var F, E, E1 = ((E = E1 || {})[E.A = 0] = "A", E), F1 = ((F = F1 || {})[F.A = 0] = "A", F); diff --git a/crates/swc/tests/tsc-references/genericCallWithOverloadedConstructorTypedArguments.1.normal.js b/crates/swc/tests/tsc-references/genericCallWithOverloadedConstructorTypedArguments.1.normal.js index 1fc1441693737..130668a64aea3 100644 --- a/crates/swc/tests/tsc-references/genericCallWithOverloadedConstructorTypedArguments.1.normal.js +++ b/crates/swc/tests/tsc-references/genericCallWithOverloadedConstructorTypedArguments.1.normal.js @@ -1,7 +1,6 @@ //// [genericCallWithOverloadedConstructorTypedArguments.ts] // Function typed arguments with multiple signatures must be passed an implementation that matches all of them // Inferences are made quadratic-pairwise to and from these overload sets -var NonGenericParameter; (function(NonGenericParameter) { var a; function foo4(cb) { @@ -11,7 +10,6 @@ var NonGenericParameter; var b; var r2 = foo4(b); })(NonGenericParameter || (NonGenericParameter = {})); -var GenericParameter; (function(GenericParameter) { function foo5(cb) { return cb; @@ -34,3 +32,4 @@ var GenericParameter; var r14 = foo7(1, c); // new any => string; new(x:any, y?:any) => string var r15 = foo7(1, c2); // new any => string; new(x:any, y?:any) => string })(GenericParameter || (GenericParameter = {})); +var NonGenericParameter, GenericParameter; diff --git a/crates/swc/tests/tsc-references/genericCallWithOverloadedConstructorTypedArguments2.1.normal.js b/crates/swc/tests/tsc-references/genericCallWithOverloadedConstructorTypedArguments2.1.normal.js index 5209b190bd2c6..f4ce2307607be 100644 --- a/crates/swc/tests/tsc-references/genericCallWithOverloadedConstructorTypedArguments2.1.normal.js +++ b/crates/swc/tests/tsc-references/genericCallWithOverloadedConstructorTypedArguments2.1.normal.js @@ -1,7 +1,6 @@ //// [genericCallWithOverloadedConstructorTypedArguments2.ts] // Function typed arguments with multiple signatures must be passed an implementation that matches all of them // Inferences are made quadratic-pairwise to and from these overload sets -var NonGenericParameter; (function(NonGenericParameter) { var a; function foo4(cb) { @@ -10,7 +9,6 @@ var NonGenericParameter; var b; var r3 = foo4(b); // ok })(NonGenericParameter || (NonGenericParameter = {})); -var GenericParameter; (function(GenericParameter) { function foo5(cb) { return cb; @@ -29,3 +27,4 @@ var GenericParameter; var c; var r14 = foo7(1, c); // ok })(GenericParameter || (GenericParameter = {})); +var NonGenericParameter, GenericParameter; diff --git a/crates/swc/tests/tsc-references/genericCallWithOverloadedFunctionTypedArguments.1.normal.js b/crates/swc/tests/tsc-references/genericCallWithOverloadedFunctionTypedArguments.1.normal.js index cdb2d190bdd77..8dc2e7c791ab3 100644 --- a/crates/swc/tests/tsc-references/genericCallWithOverloadedFunctionTypedArguments.1.normal.js +++ b/crates/swc/tests/tsc-references/genericCallWithOverloadedFunctionTypedArguments.1.normal.js @@ -1,7 +1,6 @@ //// [genericCallWithOverloadedFunctionTypedArguments.ts] // Function typed arguments with multiple signatures must be passed an implementation that matches all of them // Inferences are made quadratic-pairwise to and from these overload sets -var NonGenericParameter; (function(NonGenericParameter) { var a; function foo4(cb) { @@ -15,7 +14,6 @@ var NonGenericParameter; return x; }); })(NonGenericParameter || (NonGenericParameter = {})); -var GenericParameter; (function(GenericParameter) { function foo5(cb) { return cb; @@ -49,3 +47,4 @@ var GenericParameter; var a; var r14 = foo7(1, a); // any => string (+1 overload) [inferences are made for T, but lambda not contextually typed] })(GenericParameter || (GenericParameter = {})); +var NonGenericParameter, GenericParameter; diff --git a/crates/swc/tests/tsc-references/genericCallWithOverloadedFunctionTypedArguments2.1.normal.js b/crates/swc/tests/tsc-references/genericCallWithOverloadedFunctionTypedArguments2.1.normal.js index fa5308a99ada4..b4d5c7fe2831f 100644 --- a/crates/swc/tests/tsc-references/genericCallWithOverloadedFunctionTypedArguments2.1.normal.js +++ b/crates/swc/tests/tsc-references/genericCallWithOverloadedFunctionTypedArguments2.1.normal.js @@ -1,7 +1,6 @@ //// [genericCallWithOverloadedFunctionTypedArguments2.ts] // Function typed arguments with multiple signatures must be passed an implementation that matches all of them // Inferences are made quadratic-pairwise to and from these overload sets -var NonGenericParameter; (function(NonGenericParameter) { var a; function foo4(cb) { @@ -12,7 +11,6 @@ var NonGenericParameter; return r; }); // ok })(NonGenericParameter || (NonGenericParameter = {})); -var GenericParameter; (function(GenericParameter) { function foo5(cb) { return cb; @@ -35,3 +33,4 @@ var GenericParameter; var a; var r14 = foo7(1, a); // ok })(GenericParameter || (GenericParameter = {})); +var NonGenericParameter, GenericParameter; diff --git a/crates/swc/tests/tsc-references/genericClassWithFunctionTypedMemberArguments.1.normal.js b/crates/swc/tests/tsc-references/genericClassWithFunctionTypedMemberArguments.1.normal.js index 2d5e8591aa315..3a61ab1a47ef1 100644 --- a/crates/swc/tests/tsc-references/genericClassWithFunctionTypedMemberArguments.1.normal.js +++ b/crates/swc/tests/tsc-references/genericClassWithFunctionTypedMemberArguments.1.normal.js @@ -2,7 +2,6 @@ // Generic functions used as arguments for function typed parameters are not used to make inferences from // Using function arguments, no errors expected import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var ImmediatelyFix; (function(ImmediatelyFix) { var C = /*#__PURE__*/ function() { "use strict"; @@ -44,7 +43,6 @@ var ImmediatelyFix; return 1; }); // number })(ImmediatelyFix || (ImmediatelyFix = {})); -var WithCandidates; (function(WithCandidates) { var C = /*#__PURE__*/ function() { "use strict"; @@ -115,3 +113,4 @@ var WithCandidates; }, 1); // error } })(WithCandidates || (WithCandidates = {})); +var ImmediatelyFix, WithCandidates; diff --git a/crates/swc/tests/tsc-references/genericClassWithObjectTypeArgsAndConstraints.1.normal.js b/crates/swc/tests/tsc-references/genericClassWithObjectTypeArgsAndConstraints.1.normal.js index 02ebc3cecc730..dd30ddb257ff1 100644 --- a/crates/swc/tests/tsc-references/genericClassWithObjectTypeArgsAndConstraints.1.normal.js +++ b/crates/swc/tests/tsc-references/genericClassWithObjectTypeArgsAndConstraints.1.normal.js @@ -14,7 +14,6 @@ var X = function X() { "use strict"; _class_call_check(this, X); }; -var Class; (function(Class) { var G = /*#__PURE__*/ function() { "use strict"; @@ -49,7 +48,6 @@ var Class; var r = g2.foo2(c1, d1); var r2 = g2.foo2(c1, c1); })(Class || (Class = {})); -var Interface; (function(Interface) { var c1 = new X(); var d1 = new X(); @@ -60,3 +58,4 @@ var Interface; var r = g2.foo2(c1, d1); var r2 = g2.foo2(c1, c1); })(Interface || (Interface = {})); +var Class, Interface; diff --git a/crates/swc/tests/tsc-references/genericSetterInClassType.1.normal.js b/crates/swc/tests/tsc-references/genericSetterInClassType.1.normal.js index 8e153bf8cb959..fea9451e46cdd 100644 --- a/crates/swc/tests/tsc-references/genericSetterInClassType.1.normal.js +++ b/crates/swc/tests/tsc-references/genericSetterInClassType.1.normal.js @@ -1,5 +1,4 @@ //// [genericSetterInClassType.ts] -var Generic; (function(Generic) { class C { get y() { @@ -20,3 +19,4 @@ var Generic; } new Box().value = 3; })(Generic || (Generic = {})); +var Generic; diff --git a/crates/swc/tests/tsc-references/globalThisAmbientModules.1.normal.js b/crates/swc/tests/tsc-references/globalThisAmbientModules.1.normal.js index 7e5f5c7d53b19..307e2862b2d98 100644 --- a/crates/swc/tests/tsc-references/globalThisAmbientModules.1.normal.js +++ b/crates/swc/tests/tsc-references/globalThisAmbientModules.1.normal.js @@ -1,6 +1,6 @@ //// [globalThisAmbientModules.ts] -var valueModule; (function(valueModule) { valueModule.val = 1; })(valueModule || (valueModule = {})); var bad1 = 'ambientModule'; +var valueModule; diff --git a/crates/swc/tests/tsc-references/heterogeneousArrayLiterals.1.normal.js b/crates/swc/tests/tsc-references/heterogeneousArrayLiterals.1.normal.js index edefd284c9404..fe0bc8d10b16c 100644 --- a/crates/swc/tests/tsc-references/heterogeneousArrayLiterals.1.normal.js +++ b/crates/swc/tests/tsc-references/heterogeneousArrayLiterals.1.normal.js @@ -216,7 +216,6 @@ var derived2; ] ]; // {}[] })(Derived || (Derived = {})); -var WithContextualType; (function(WithContextualType) { // no errors var a = [ @@ -460,3 +459,4 @@ function foo4(t, u) { // var j = [u, derived]; // Derived[] // var k: Base[] = [t, u]; //} +var WithContextualType; diff --git a/crates/swc/tests/tsc-references/ifDoWhileStatements.1.normal.js b/crates/swc/tests/tsc-references/ifDoWhileStatements.1.normal.js index 9efbff590a5cb..fee3f2c82d479 100644 --- a/crates/swc/tests/tsc-references/ifDoWhileStatements.1.normal.js +++ b/crates/swc/tests/tsc-references/ifDoWhileStatements.1.normal.js @@ -25,7 +25,6 @@ function F(x) { function F2(x) { return x < 42; } -var M; (function(M) { var A = function A() { "use strict"; @@ -37,7 +36,6 @@ var M; } M.F2 = F2; })(M || (M = {})); -var N; (function(N) { var A = function A() { "use strict"; @@ -176,3 +174,4 @@ do {}while (fn()); if (fn) {} while(fn){} do {}while (fn); +var M, N; diff --git a/crates/swc/tests/tsc-references/implementingAnInterfaceExtendingClassWithPrivates2.1.normal.js b/crates/swc/tests/tsc-references/implementingAnInterfaceExtendingClassWithPrivates2.1.normal.js index 6a0fbdeef8643..9479dc30b2af3 100644 --- a/crates/swc/tests/tsc-references/implementingAnInterfaceExtendingClassWithPrivates2.1.normal.js +++ b/crates/swc/tests/tsc-references/implementingAnInterfaceExtendingClassWithPrivates2.1.normal.js @@ -33,7 +33,6 @@ var Bar3 = /*#__PURE__*/ function(Foo) { } return Bar3; }(Foo); -var M; // another level of indirection (function(M) { var Foo = function Foo() { @@ -77,7 +76,6 @@ var M; return Bar3; }(Foo); })(M || (M = {})); -var M2; // two levels of privates (function(M2) { var Foo = function Foo() { @@ -125,3 +123,4 @@ var M2; return Bar3; }(Foo); })(M2 || (M2 = {})); +var M, M2; diff --git a/crates/swc/tests/tsc-references/importAliasIdentifiers.1.normal.js b/crates/swc/tests/tsc-references/importAliasIdentifiers.1.normal.js index cd96aa70f443b..dd604a8a4a636 100644 --- a/crates/swc/tests/tsc-references/importAliasIdentifiers.1.normal.js +++ b/crates/swc/tests/tsc-references/importAliasIdentifiers.1.normal.js @@ -1,6 +1,5 @@ //// [importAliasIdentifiers.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var moduleA; (function(moduleA) { var Point = function Point(x, y) { "use strict"; @@ -41,3 +40,4 @@ function fundule() { var p; var p; var p; +var moduleA; diff --git a/crates/swc/tests/tsc-references/importElisionConstEnumMerge1.1.normal.js b/crates/swc/tests/tsc-references/importElisionConstEnumMerge1.1.normal.js index 62d2890826028..9d9364fc1a526 100644 --- a/crates/swc/tests/tsc-references/importElisionConstEnumMerge1.1.normal.js +++ b/crates/swc/tests/tsc-references/importElisionConstEnumMerge1.1.normal.js @@ -1,8 +1,8 @@ //// [enum.ts] -export var Enum; -(function(Enum) { +export var Enum = /*#__PURE__*/ function(Enum) { Enum[Enum["One"] = 1] = "One"; -})(Enum || (Enum = {})); + return Enum; +}({}); //// [merge.ts] import { Enum } from "./enum"; //// [index.ts] diff --git a/crates/swc/tests/tsc-references/importElisionConstEnumMerge1.2.minified.js b/crates/swc/tests/tsc-references/importElisionConstEnumMerge1.2.minified.js index ff883636ea49b..002fec4c5d5cb 100644 --- a/crates/swc/tests/tsc-references/importElisionConstEnumMerge1.2.minified.js +++ b/crates/swc/tests/tsc-references/importElisionConstEnumMerge1.2.minified.js @@ -1,8 +1,7 @@ //// [enum.ts] var Enum; -var Enum1; -export { Enum1 as Enum }; -(Enum = Enum1 || (Enum1 = {}))[Enum.One = 1] = "One"; +var Enum1 = ((Enum = {})[Enum.One = 1] = "One", Enum); +export { Enum1 as Enum, }; //// [merge.ts] import "./enum"; //// [index.ts] diff --git a/crates/swc/tests/tsc-references/importNonExternalModule.1.normal.js b/crates/swc/tests/tsc-references/importNonExternalModule.1.normal.js index bdd9d6d24d141..21b87d4789e0b 100644 --- a/crates/swc/tests/tsc-references/importNonExternalModule.1.normal.js +++ b/crates/swc/tests/tsc-references/importNonExternalModule.1.normal.js @@ -3,10 +3,10 @@ define([ "require" ], function(require) { "use strict"; - var foo; (function(foo) { foo.answer = 42; })(foo || (foo = {})); + var foo; }); //// [foo_1.ts] define([ diff --git a/crates/swc/tests/tsc-references/importStatements.1.normal.js b/crates/swc/tests/tsc-references/importStatements.1.normal.js index b691e0ed2bfd6..84850452666f4 100644 --- a/crates/swc/tests/tsc-references/importStatements.1.normal.js +++ b/crates/swc/tests/tsc-references/importStatements.1.normal.js @@ -1,6 +1,5 @@ //// [importStatements.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { var Point = function Point(x, y) { "use strict"; @@ -11,7 +10,6 @@ var A; A.Point = Point; A.Origin = new Point(0, 0); })(A || (A = {})); -var C; // no code gen expected (function(C) { var m; @@ -21,13 +19,11 @@ var C; y: 0 }; })(C || (C = {})); -var D; // code gen expected (function(D) { var a = A; var p = new a.Point(1, 1); })(D || (D = {})); -var E; (function(E) { var a = A; function xDist(x) { @@ -35,3 +31,4 @@ var E; } E.xDist = xDist; })(E || (E = {})); +var A, C, D, E; diff --git a/crates/swc/tests/tsc-references/importStatementsInterfaces.1.normal.js b/crates/swc/tests/tsc-references/importStatementsInterfaces.1.normal.js index 99284a9839d29..b0a2e9cb904a2 100644 --- a/crates/swc/tests/tsc-references/importStatementsInterfaces.1.normal.js +++ b/crates/swc/tests/tsc-references/importStatementsInterfaces.1.normal.js @@ -1,5 +1,4 @@ //// [importStatementsInterfaces.ts] -var C; // no code gen expected (function(C) { var m; @@ -10,12 +9,10 @@ var C; z: 0 }; })(C || (C = {})); -var D; // no code gen expected (function(D) { var p; })(D || (D = {})); -var E; // no code gen expected (function(E) { function xDist(x) { @@ -23,3 +20,4 @@ var E; } E.xDist = xDist; })(E || (E = {})); +var C, D, E; diff --git a/crates/swc/tests/tsc-references/importsNotUsedAsValues_error.1.normal.js b/crates/swc/tests/tsc-references/importsNotUsedAsValues_error.1.normal.js index 094cc9c460bc6..b2e7cdab4a1f1 100644 --- a/crates/swc/tests/tsc-references/importsNotUsedAsValues_error.1.normal.js +++ b/crates/swc/tests/tsc-references/importsNotUsedAsValues_error.1.normal.js @@ -10,11 +10,11 @@ export var A = function A() { "use strict"; _class_call_check(this, A); }; -export var C; -(function(C) { +export var C = /*#__PURE__*/ function(C) { C[C["One"] = 0] = "One"; C[C["Two"] = 1] = "Two"; -})(C || (C = {})); + return C; +}({}); //// [/b.ts] var a; var b; diff --git a/crates/swc/tests/tsc-references/importsNotUsedAsValues_error.2.minified.js b/crates/swc/tests/tsc-references/importsNotUsedAsValues_error.2.minified.js index 513cd1f2a7987..237a14bdf302b 100644 --- a/crates/swc/tests/tsc-references/importsNotUsedAsValues_error.2.minified.js +++ b/crates/swc/tests/tsc-references/importsNotUsedAsValues_error.2.minified.js @@ -7,9 +7,8 @@ var C, _default = function _default() { export var A = function A() { _class_call_check(this, A); }; -var C1; +var C1 = ((C = {})[C.One = 0] = "One", C[C.Two = 1] = "Two", C); export { C1 as C }; -(C = C1 || (C1 = {}))[C.One = 0] = "One", C[C.Two = 1] = "Two"; export { _default as default }; //// [/b.ts] console.log(void 0, void 0); diff --git a/crates/swc/tests/tsc-references/incrementOperatorWithAnyOtherType.1.normal.js b/crates/swc/tests/tsc-references/incrementOperatorWithAnyOtherType.1.normal.js index 3111a7d3c74e3..fcdf63c773cb3 100644 --- a/crates/swc/tests/tsc-references/incrementOperatorWithAnyOtherType.1.normal.js +++ b/crates/swc/tests/tsc-references/incrementOperatorWithAnyOtherType.1.normal.js @@ -15,7 +15,6 @@ var A = function A() { "use strict"; _class_call_check(this, A); }; -var M; (function(M) {})(M || (M = {})); var objA = new A(); // any type var @@ -47,3 +46,4 @@ ANY2[0]++; ANY++, ANY1++; objA.a++; M.n++; +var M; diff --git a/crates/swc/tests/tsc-references/incrementOperatorWithEnumType.1.normal.js b/crates/swc/tests/tsc-references/incrementOperatorWithEnumType.1.normal.js index a830e8bc32cea..bcb1b8beb030b 100644 --- a/crates/swc/tests/tsc-references/incrementOperatorWithEnumType.1.normal.js +++ b/crates/swc/tests/tsc-references/incrementOperatorWithEnumType.1.normal.js @@ -1,11 +1,11 @@ //// [incrementOperatorWithEnumType.ts] // ++ operator on enum type -var ENUM1; -(function(ENUM1) { +var ENUM1 = /*#__PURE__*/ function(ENUM1) { ENUM1[ENUM1["A"] = 0] = "A"; ENUM1[ENUM1["B"] = 1] = "B"; ENUM1[ENUM1[""] = 2] = ""; -})(ENUM1 || (ENUM1 = {})); + return ENUM1; +}(ENUM1 || {}); // expression var ResultIsNumber1 = ++ENUM1["B"]; var ResultIsNumber2 = ENUM1.B++; diff --git a/crates/swc/tests/tsc-references/incrementOperatorWithEnumType.2.minified.js b/crates/swc/tests/tsc-references/incrementOperatorWithEnumType.2.minified.js index 273c41d74842f..9abd07d18eaf1 100644 --- a/crates/swc/tests/tsc-references/incrementOperatorWithEnumType.2.minified.js +++ b/crates/swc/tests/tsc-references/incrementOperatorWithEnumType.2.minified.js @@ -1,3 +1,3 @@ //// [incrementOperatorWithEnumType.ts] -var ENUM1, ENUM11; -(ENUM11 = ENUM1 || (ENUM1 = {}))[ENUM11.A = 0] = "A", ENUM11[ENUM11.B = 1] = "B", ENUM11[ENUM11[""] = 2] = "", ++ENUM1.B, ENUM1.B++, ++ENUM1.B, ENUM1.B++; +var ENUM1, ENUM11 = ((ENUM1 = ENUM11 || {})[ENUM1.A = 0] = "A", ENUM1[ENUM1.B = 1] = "B", ENUM1[ENUM1[""] = 2] = "", ENUM1); +++ENUM11.B, ENUM11.B++, ++ENUM11.B, ENUM11.B++; diff --git a/crates/swc/tests/tsc-references/incrementOperatorWithNumberType.1.normal.js b/crates/swc/tests/tsc-references/incrementOperatorWithNumberType.1.normal.js index 55b9b1a82bb6b..711f576d69f1d 100644 --- a/crates/swc/tests/tsc-references/incrementOperatorWithNumberType.1.normal.js +++ b/crates/swc/tests/tsc-references/incrementOperatorWithNumberType.1.normal.js @@ -10,7 +10,6 @@ var A = function A() { "use strict"; _class_call_check(this, A); }; -var M; (function(M) {})(M || (M = {})); var objA = new A(); // number type var @@ -33,3 +32,4 @@ NUMBER1[0]++; objA.a++; M.n++; objA.a++, M.n++; +var M; diff --git a/crates/swc/tests/tsc-references/instancePropertiesInheritedIntoClassType.1.normal.js b/crates/swc/tests/tsc-references/instancePropertiesInheritedIntoClassType.1.normal.js index 7c8cfc829189f..6c06ab6366d2a 100644 --- a/crates/swc/tests/tsc-references/instancePropertiesInheritedIntoClassType.1.normal.js +++ b/crates/swc/tests/tsc-references/instancePropertiesInheritedIntoClassType.1.normal.js @@ -3,7 +3,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _create_class } from "@swc/helpers/_/_create_class"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var NonGeneric; (function(NonGeneric) { var C = /*#__PURE__*/ function() { "use strict"; @@ -43,7 +42,6 @@ var NonGeneric; r.y = 4; var r6 = d.y(); // error })(NonGeneric || (NonGeneric = {})); -var Generic; (function(Generic) { var C = /*#__PURE__*/ function() { "use strict"; @@ -83,3 +81,4 @@ var Generic; r.y = ''; var r6 = d.y(); // error })(Generic || (Generic = {})); +var NonGeneric, Generic; diff --git a/crates/swc/tests/tsc-references/instancePropertyInClassType.1.normal.js b/crates/swc/tests/tsc-references/instancePropertyInClassType.1.normal.js index 147833ae37aa0..ccef144d4da05 100644 --- a/crates/swc/tests/tsc-references/instancePropertyInClassType.1.normal.js +++ b/crates/swc/tests/tsc-references/instancePropertyInClassType.1.normal.js @@ -1,7 +1,6 @@ //// [instancePropertyInClassType.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _create_class } from "@swc/helpers/_/_create_class"; -var NonGeneric; (function(NonGeneric) { var C = /*#__PURE__*/ function() { "use strict"; @@ -32,7 +31,6 @@ var NonGeneric; r.y = 4; var r6 = c.y(); // error })(NonGeneric || (NonGeneric = {})); -var Generic; (function(Generic) { var C = /*#__PURE__*/ function() { "use strict"; @@ -63,3 +61,4 @@ var Generic; r.y = ''; var r6 = c.y(); // error })(Generic || (Generic = {})); +var NonGeneric, Generic; diff --git a/crates/swc/tests/tsc-references/instantiatedModule.1.normal.js b/crates/swc/tests/tsc-references/instantiatedModule.1.normal.js index 58d64b3b58cbe..2aee6961f696e 100644 --- a/crates/swc/tests/tsc-references/instantiatedModule.1.normal.js +++ b/crates/swc/tests/tsc-references/instantiatedModule.1.normal.js @@ -1,7 +1,6 @@ //// [instantiatedModule.ts] // adding the var makes this an instantiated module import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var M; (function(M) { M.Point = 1; })(M || (M = {})); @@ -13,7 +12,6 @@ var a1 = M.Point; var a1 = m.Point; var p1; var p1; -var M2; // making the point a class instead of an interface // makes this an instantiated mmodule (function(M2) { @@ -43,13 +41,11 @@ var p2; var p2; var p2 = new m2.Point(); var p2 = new M2.Point(); -var M3; (function(M3) { - var Color; (function(Color) { Color[Color["Blue"] = 0] = "Blue"; Color[Color["Red"] = 1] = "Red"; - })(Color = M3.Color || (M3.Color = {})); + })(M3.Color || (M3.Color = {})); })(M3 || (M3 = {})); var m3; var m3 = M3; @@ -60,3 +56,4 @@ var blue = a3.Blue; var p3; var p3 = M3.Color.Red; var p3 = m3.Color.Blue; +var M, M2, M3; diff --git a/crates/swc/tests/tsc-references/instantiatedModule.2.minified.js b/crates/swc/tests/tsc-references/instantiatedModule.2.minified.js index b5a1091ca4423..607bbe6a0b5af 100644 --- a/crates/swc/tests/tsc-references/instantiatedModule.2.minified.js +++ b/crates/swc/tests/tsc-references/instantiatedModule.2.minified.js @@ -1,7 +1,7 @@ //// [instantiatedModule.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; (M || (M = {})).Point = 1; -var M2, Point, M3, Color, M, M21, m2, a2, M31, m3, a3, m = M; +var M2, Point, M3, Color, m2, a2, m3, a3, M, M21, M31, m = M; M.Point, m.Point, M2 = M21 || (M21 = {}), Point = /*#__PURE__*/ function() { function Point() { _class_call_check(this, Point); diff --git a/crates/swc/tests/tsc-references/interfaceWithPropertyOfEveryType.1.normal.js b/crates/swc/tests/tsc-references/interfaceWithPropertyOfEveryType.1.normal.js index 115a9906c006a..96d522fe67022 100644 --- a/crates/swc/tests/tsc-references/interfaceWithPropertyOfEveryType.1.normal.js +++ b/crates/swc/tests/tsc-references/interfaceWithPropertyOfEveryType.1.normal.js @@ -5,14 +5,13 @@ var C = function C() { _class_call_check(this, C); }; function f1() {} -var M; (function(M) { M.y = 1; })(M || (M = {})); -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var a = { a: 1, b: '', @@ -36,3 +35,4 @@ var a = { n: {}, o: 0 }; +var M; diff --git a/crates/swc/tests/tsc-references/interfaceWithPropertyOfEveryType.2.minified.js b/crates/swc/tests/tsc-references/interfaceWithPropertyOfEveryType.2.minified.js index b59e7fdff519e..94bb6d881ec9f 100644 --- a/crates/swc/tests/tsc-references/interfaceWithPropertyOfEveryType.2.minified.js +++ b/crates/swc/tests/tsc-references/interfaceWithPropertyOfEveryType.2.minified.js @@ -1,6 +1,7 @@ //// [interfaceWithPropertyOfEveryType.ts] -var M, E, E1; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -(M || (M = {})).y = 1, (E1 = E || (E = {}))[E1.A = 0] = "A", new function C() { +(M || (M = {})).y = 1; +var M, E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); +new function C() { _class_call_check(this, C); }(); diff --git a/crates/swc/tests/tsc-references/intersectionOfUnionOfUnitTypes.1.normal.js b/crates/swc/tests/tsc-references/intersectionOfUnionOfUnitTypes.1.normal.js index 9a7092b9d7b19..443e718edbe1e 100644 --- a/crates/swc/tests/tsc-references/intersectionOfUnionOfUnitTypes.1.normal.js +++ b/crates/swc/tests/tsc-references/intersectionOfUnionOfUnitTypes.1.normal.js @@ -1,6 +1,6 @@ //// [intersectionOfUnionOfUnitTypes.ts] // @strict -var E; +; var x0; // 'a' | 'b' | 'c' var x1; // 'b' | 'c' var x2; // 'c' diff --git a/crates/swc/tests/tsc-references/intersectionReduction.1.normal.js b/crates/swc/tests/tsc-references/intersectionReduction.1.normal.js index 26501081a8311..084f47a3a02fb 100644 --- a/crates/swc/tests/tsc-references/intersectionReduction.1.normal.js +++ b/crates/swc/tests/tsc-references/intersectionReduction.1.normal.js @@ -14,8 +14,8 @@ var x2 = { }; x1[k] = 'bar'; // Error x2[k] = 'bar'; // Error -var Tag1; -var Tag2; +; +; s1 = s2; s2 = s1; t1 = t2; diff --git a/crates/swc/tests/tsc-references/intersectionReductionStrict.1.normal.js b/crates/swc/tests/tsc-references/intersectionReductionStrict.1.normal.js index fab5c57d6ec7f..7986015b49801 100644 --- a/crates/swc/tests/tsc-references/intersectionReductionStrict.1.normal.js +++ b/crates/swc/tests/tsc-references/intersectionReductionStrict.1.normal.js @@ -12,8 +12,8 @@ var x2 = { }; x1[k] = 'bar'; // Error x2[k] = 'bar'; // Error -var Tag1; -var Tag2; +; +; s1 = s2; s2 = s1; t1 = t2; diff --git a/crates/swc/tests/tsc-references/invalidAssignmentsToVoid.1.normal.js b/crates/swc/tests/tsc-references/invalidAssignmentsToVoid.1.normal.js index c2ad61a4cb733..31ffa4215dcd9 100644 --- a/crates/swc/tests/tsc-references/invalidAssignmentsToVoid.1.normal.js +++ b/crates/swc/tests/tsc-references/invalidAssignmentsToVoid.1.normal.js @@ -14,7 +14,6 @@ x = C; x = c; var i; x = i; -var M; (function(M) { M.x = 1; })(M || (M = {})); @@ -23,3 +22,4 @@ function f(a) { x = a; } x = f; +var M; diff --git a/crates/swc/tests/tsc-references/invalidBooleanAssignments.1.normal.js b/crates/swc/tests/tsc-references/invalidBooleanAssignments.1.normal.js index c56f3142aaffa..d02f6452e3a6e 100644 --- a/crates/swc/tests/tsc-references/invalidBooleanAssignments.1.normal.js +++ b/crates/swc/tests/tsc-references/invalidBooleanAssignments.1.normal.js @@ -5,10 +5,10 @@ var a = x; var b = x; var c = x; var d = x; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var e = x; var C = function C() { "use strict"; @@ -18,7 +18,6 @@ var f = x; var g = x; var h = x; var h2 = x; // no error -var M; (function(M) { M.a = 1; })(M || (M = {})); @@ -27,3 +26,4 @@ function i(a) { a = x; } i = x; +var M; diff --git a/crates/swc/tests/tsc-references/invalidBooleanAssignments.2.minified.js b/crates/swc/tests/tsc-references/invalidBooleanAssignments.2.minified.js index 8068d7d74b21c..437de53c2d8b2 100644 --- a/crates/swc/tests/tsc-references/invalidBooleanAssignments.2.minified.js +++ b/crates/swc/tests/tsc-references/invalidBooleanAssignments.2.minified.js @@ -1,4 +1,4 @@ //// [invalidBooleanAssignments.ts] -var E, M, E1; import "@swc/helpers/_/_class_call_check"; -(E1 = E || (E = {}))[E1.A = 0] = "A", (M || (M = {})).a = 1; +var M, E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); +(M || (M = {})).a = 1; diff --git a/crates/swc/tests/tsc-references/invalidEnumAssignments.1.normal.js b/crates/swc/tests/tsc-references/invalidEnumAssignments.1.normal.js index 24dfff162264c..354fdd3576e21 100644 --- a/crates/swc/tests/tsc-references/invalidEnumAssignments.1.normal.js +++ b/crates/swc/tests/tsc-references/invalidEnumAssignments.1.normal.js @@ -1,14 +1,14 @@ //// [invalidEnumAssignments.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; -})(E || (E = {})); -var E2; -(function(E2) { + return E; +}(E || {}); +var E2 = /*#__PURE__*/ function(E2) { E2[E2["A"] = 0] = "A"; E2[E2["B"] = 1] = "B"; -})(E2 || (E2 = {})); + return E2; +}(E2 || {}); var e; var e2; e = 0; diff --git a/crates/swc/tests/tsc-references/invalidEnumAssignments.2.minified.js b/crates/swc/tests/tsc-references/invalidEnumAssignments.2.minified.js index b609812f2af59..f621dc49a3742 100644 --- a/crates/swc/tests/tsc-references/invalidEnumAssignments.2.minified.js +++ b/crates/swc/tests/tsc-references/invalidEnumAssignments.2.minified.js @@ -1,3 +1,2 @@ //// [invalidEnumAssignments.ts] -var E, E2, E1, E21; -(E1 = E || (E = {}))[E1.A = 0] = "A", E1[E1.B = 1] = "B", (E21 = E2 || (E2 = {}))[E21.A = 0] = "A", E21[E21.B = 1] = "B"; +var E, E2, E1 = ((E = E1 || {})[E.A = 0] = "A", E[E.B = 1] = "B", E), E21 = ((E2 = E21 || {})[E2.A = 0] = "A", E2[E2.B = 1] = "B", E2); diff --git a/crates/swc/tests/tsc-references/invalidImportAliasIdentifiers.1.normal.js b/crates/swc/tests/tsc-references/invalidImportAliasIdentifiers.1.normal.js index b8cfb52f23cf5..047cc3c2cbaf5 100644 --- a/crates/swc/tests/tsc-references/invalidImportAliasIdentifiers.1.normal.js +++ b/crates/swc/tests/tsc-references/invalidImportAliasIdentifiers.1.normal.js @@ -6,8 +6,8 @@ var C = function C() { "use strict"; _class_call_check(this, C); }; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["Red"] = 0] = "Red"; E[E["Blue"] = 1] = "Blue"; -})(E || (E = {})); + return E; +}(E || {}); diff --git a/crates/swc/tests/tsc-references/invalidImportAliasIdentifiers.2.minified.js b/crates/swc/tests/tsc-references/invalidImportAliasIdentifiers.2.minified.js index ef780c44540e9..196bc0fa46c89 100644 --- a/crates/swc/tests/tsc-references/invalidImportAliasIdentifiers.2.minified.js +++ b/crates/swc/tests/tsc-references/invalidImportAliasIdentifiers.2.minified.js @@ -1,4 +1,3 @@ //// [invalidImportAliasIdentifiers.ts] -var E, E1; import "@swc/helpers/_/_class_call_check"; -(E1 = E || (E = {}))[E1.Red = 0] = "Red", E1[E1.Blue = 1] = "Blue"; +var E, E1 = ((E = E1 || {})[E.Red = 0] = "Red", E[E.Blue = 1] = "Blue", E); diff --git a/crates/swc/tests/tsc-references/invalidMultipleVariableDeclarations.1.normal.js b/crates/swc/tests/tsc-references/invalidMultipleVariableDeclarations.1.normal.js index 2947240ed1c5d..7c75c994b993c 100644 --- a/crates/swc/tests/tsc-references/invalidMultipleVariableDeclarations.1.normal.js +++ b/crates/swc/tests/tsc-references/invalidMultipleVariableDeclarations.1.normal.js @@ -22,7 +22,6 @@ var D = function D() { function F(x) { return 42; } -var M; (function(M) { var A = function A() { "use strict"; @@ -66,3 +65,4 @@ var arr2 = [ var arr2 = new Array(); var m; var m = M.A; +var M; diff --git a/crates/swc/tests/tsc-references/invalidNestedModules.1.normal.js b/crates/swc/tests/tsc-references/invalidNestedModules.1.normal.js index ae064563800dc..db38b254d2c3b 100644 --- a/crates/swc/tests/tsc-references/invalidNestedModules.1.normal.js +++ b/crates/swc/tests/tsc-references/invalidNestedModules.1.normal.js @@ -1,6 +1,5 @@ //// [invalidNestedModules.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { (function(B) { (function(C) { @@ -13,16 +12,14 @@ var A; })(A.B || (A.B = {})); })(A || (A = {})); (function(A) { - var B; (function(B) { var C = function C() { "use strict"; _class_call_check(this, C); }; B.C = C; - })(B = A.B || (A.B = {})); + })(A.B || (A.B = {})); })(A || (A = {})); -var M2; (function(M2) { (function(X) { var Point = function Point() { @@ -33,6 +30,6 @@ var M2; })(M2.X || (M2.X = {})); })(M2 || (M2 = {})); (function(M2) { - var X; - (function(X) {})(X = M2.X || (M2.X = {})); + (function(X) {})(M2.X || (M2.X = {})); })(M2 || (M2 = {})); +var A, M2; diff --git a/crates/swc/tests/tsc-references/invalidNumberAssignments.1.normal.js b/crates/swc/tests/tsc-references/invalidNumberAssignments.1.normal.js index 3ad22049abb21..3ed470fbe52e4 100644 --- a/crates/swc/tests/tsc-references/invalidNumberAssignments.1.normal.js +++ b/crates/swc/tests/tsc-references/invalidNumberAssignments.1.normal.js @@ -13,7 +13,6 @@ var e = x; var f = x; var g = 1; var g2 = 1; -var M; (function(M) { M.x = 1; })(M || (M = {})); @@ -22,3 +21,4 @@ function i(a) { a = x; } i = x; +var M; diff --git a/crates/swc/tests/tsc-references/invalidStringAssignments.1.normal.js b/crates/swc/tests/tsc-references/invalidStringAssignments.1.normal.js index e7021b043e295..63b1ca74e731d 100644 --- a/crates/swc/tests/tsc-references/invalidStringAssignments.1.normal.js +++ b/crates/swc/tests/tsc-references/invalidStringAssignments.1.normal.js @@ -13,7 +13,6 @@ var e = x; var f = x; var g = 1; var g2 = 1; -var M; (function(M) { M.x = 1; })(M || (M = {})); @@ -22,8 +21,9 @@ function i(a) { a = x; } i = x; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var j = x; +var M; diff --git a/crates/swc/tests/tsc-references/invalidStringAssignments.2.minified.js b/crates/swc/tests/tsc-references/invalidStringAssignments.2.minified.js index 6600aaf3c18d8..e1f957781b054 100644 --- a/crates/swc/tests/tsc-references/invalidStringAssignments.2.minified.js +++ b/crates/swc/tests/tsc-references/invalidStringAssignments.2.minified.js @@ -1,4 +1,4 @@ //// [invalidStringAssignments.ts] -var M, E, E1; import "@swc/helpers/_/_class_call_check"; -(M || (M = {})).x = 1, M = '', (E1 = E || (E = {}))[E1.A = 0] = "A"; +(M || (M = {})).x = 1, M = ''; +var M, E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); diff --git a/crates/swc/tests/tsc-references/invalidUndefinedAssignments.1.normal.js b/crates/swc/tests/tsc-references/invalidUndefinedAssignments.1.normal.js index f9385c9f832d4..56339f80f46fa 100644 --- a/crates/swc/tests/tsc-references/invalidUndefinedAssignments.1.normal.js +++ b/crates/swc/tests/tsc-references/invalidUndefinedAssignments.1.normal.js @@ -1,10 +1,10 @@ //// [invalidUndefinedAssignments.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; var x; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); E = x; E.A = x; var C = function C() { @@ -16,7 +16,6 @@ C = x; var g; g = x; I = x; -var M; (function(M) { M.x = 1; })(M || (M = {})); @@ -24,3 +23,4 @@ M = x; function i(a) {} // BUG 767030 i = x; +var M; diff --git a/crates/swc/tests/tsc-references/invalidUndefinedAssignments.2.minified.js b/crates/swc/tests/tsc-references/invalidUndefinedAssignments.2.minified.js index 4d9a881b167cf..f31f336f0b465 100644 --- a/crates/swc/tests/tsc-references/invalidUndefinedAssignments.2.minified.js +++ b/crates/swc/tests/tsc-references/invalidUndefinedAssignments.2.minified.js @@ -1,4 +1,4 @@ //// [invalidUndefinedAssignments.ts] -var x, E, M, E1; import "@swc/helpers/_/_class_call_check"; -(E1 = E || (E = {}))[E1.A = 0] = "A", (E = x).A = x, I = x, (M || (M = {})).x = 1; +var E, x, M, E1 = ((E = E1 || {})[E.A = 0] = "A", E); +(E1 = x).A = x, I = x, (M || (M = {})).x = 1; diff --git a/crates/swc/tests/tsc-references/invalidUndefinedValues.1.normal.js b/crates/swc/tests/tsc-references/invalidUndefinedValues.1.normal.js index e369763e0927f..c1abed7b37e4b 100644 --- a/crates/swc/tests/tsc-references/invalidUndefinedValues.1.normal.js +++ b/crates/swc/tests/tsc-references/invalidUndefinedValues.1.normal.js @@ -16,7 +16,6 @@ x = C; x = b; var c; x = c; -var M; (function(M) { M.x = 1; })(M || (M = {})); @@ -28,9 +27,10 @@ function f(a) { x = a; } x = f; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); x = E; x = 0; +var M; diff --git a/crates/swc/tests/tsc-references/invalidUndefinedValues.2.minified.js b/crates/swc/tests/tsc-references/invalidUndefinedValues.2.minified.js index 41e2b4008711f..86b7d5742f5d9 100644 --- a/crates/swc/tests/tsc-references/invalidUndefinedValues.2.minified.js +++ b/crates/swc/tests/tsc-references/invalidUndefinedValues.2.minified.js @@ -1,4 +1,4 @@ //// [invalidUndefinedValues.ts] -var M, E, E1; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -(M || (M = {})).x = 1, (E1 = E || (E = {}))[E1.A = 0] = "A"; +(M || (M = {})).x = 1; +var M, E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); diff --git a/crates/swc/tests/tsc-references/invalidVoidAssignments.1.normal.js b/crates/swc/tests/tsc-references/invalidVoidAssignments.1.normal.js index 196b3298e3703..540756879e430 100644 --- a/crates/swc/tests/tsc-references/invalidVoidAssignments.1.normal.js +++ b/crates/swc/tests/tsc-references/invalidVoidAssignments.1.normal.js @@ -13,7 +13,6 @@ var e = x; var f = x; var g = 1; var g2 = 1; -var M; (function(M) { M.x = 1; })(M || (M = {})); @@ -22,12 +21,13 @@ function i(a) { a = x; } i = x; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); x = E; x = 0; x = { f: function f() {} }; +var M; diff --git a/crates/swc/tests/tsc-references/invalidVoidAssignments.2.minified.js b/crates/swc/tests/tsc-references/invalidVoidAssignments.2.minified.js index 5056f2a5f73ec..9cfdcd3afd538 100644 --- a/crates/swc/tests/tsc-references/invalidVoidAssignments.2.minified.js +++ b/crates/swc/tests/tsc-references/invalidVoidAssignments.2.minified.js @@ -1,4 +1,4 @@ //// [invalidVoidAssignments.ts] -var x, M, E, E1; import "@swc/helpers/_/_class_call_check"; -(M || (M = {})).x = 1, M = x, (E1 = E || (E = {}))[E1.A = 0] = "A"; +(M || (M = {})).x = 1, M = x; +var E, x, M, E1 = ((E = E1 || {})[E.A = 0] = "A", E); diff --git a/crates/swc/tests/tsc-references/invalidVoidValues.1.normal.js b/crates/swc/tests/tsc-references/invalidVoidValues.1.normal.js index 720c9436f8714..b2bc44593705a 100644 --- a/crates/swc/tests/tsc-references/invalidVoidValues.1.normal.js +++ b/crates/swc/tests/tsc-references/invalidVoidValues.1.normal.js @@ -4,10 +4,10 @@ var x; x = 1; x = ''; x = true; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); x = E; x = 0; var C = function C() { @@ -21,7 +21,6 @@ x = b; x = { f: function f() {} }; -var M; (function(M) { M.x = 1; })(M || (M = {})); @@ -30,3 +29,4 @@ function f(a) { x = a; } x = f; +var M; diff --git a/crates/swc/tests/tsc-references/invalidVoidValues.2.minified.js b/crates/swc/tests/tsc-references/invalidVoidValues.2.minified.js index 4db853f97eb4a..7c48cbfef7773 100644 --- a/crates/swc/tests/tsc-references/invalidVoidValues.2.minified.js +++ b/crates/swc/tests/tsc-references/invalidVoidValues.2.minified.js @@ -1,4 +1,4 @@ //// [invalidVoidValues.ts] -var E, M, E1; import "@swc/helpers/_/_class_call_check"; -(E1 = E || (E = {}))[E1.A = 0] = "A", (M || (M = {})).x = 1; +var E, M, E1 = ((E = E1 || {})[E.A = 0] = "A", E); +(M || (M = {})).x = 1; diff --git a/crates/swc/tests/tsc-references/keyofAndIndexedAccess.1.normal.js b/crates/swc/tests/tsc-references/keyofAndIndexedAccess.1.normal.js index 4cf3451ee7782..3ada1b9a44e7a 100644 --- a/crates/swc/tests/tsc-references/keyofAndIndexedAccess.1.normal.js +++ b/crates/swc/tests/tsc-references/keyofAndIndexedAccess.1.normal.js @@ -23,7 +23,7 @@ var Options = function Options() { "use strict"; _class_call_check(this, Options); }; -var E; +; function getProperty(obj, key) { return obj[key]; } @@ -520,11 +520,11 @@ function f3(t, k, tk) { t[key] = tk; // ok, T[K] ==> T[keyof T] } } -var Flag; -(function(Flag) { +var Flag = /*#__PURE__*/ function(Flag) { Flag["FLAG_1"] = "flag_1"; Flag["FLAG_2"] = "flag_2"; -})(Flag || (Flag = {})); + return Flag; +}(Flag || {}); function getFlagsFromSimpleRecord(record, flags) { return record[flags[0]]; } diff --git a/crates/swc/tests/tsc-references/keyofAndIndexedAccess.2.minified.js b/crates/swc/tests/tsc-references/keyofAndIndexedAccess.2.minified.js index ad6732b4a3fbe..9b2ff9aec83b1 100644 --- a/crates/swc/tests/tsc-references/keyofAndIndexedAccess.2.minified.js +++ b/crates/swc/tests/tsc-references/keyofAndIndexedAccess.2.minified.js @@ -1,5 +1,4 @@ //// [keyofAndIndexedAccess.ts] -var Flag, Flag1; import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; @@ -27,4 +26,5 @@ one(function() {}), on({ }, AnotherSampleClass; }(function SampleClass(props) { _class_call_check(this, SampleClass), this.props = Object.freeze(props); -}))({}), (Flag1 = Flag || (Flag = {})).FLAG_1 = "flag_1", Flag1.FLAG_2 = "flag_2"; +}))({}); +var Flag, Flag1 = ((Flag = Flag1 || {}).FLAG_1 = "flag_1", Flag.FLAG_2 = "flag_2", Flag); diff --git a/crates/swc/tests/tsc-references/literalTypeWidening.1.normal.js b/crates/swc/tests/tsc-references/literalTypeWidening.1.normal.js index 964bef9fd0732..06323ad5364af 100644 --- a/crates/swc/tests/tsc-references/literalTypeWidening.1.normal.js +++ b/crates/swc/tests/tsc-references/literalTypeWidening.1.normal.js @@ -115,10 +115,10 @@ function test(obj) { a: 'hello' }, rest); } -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; -})(E || (E = {})); + return E; +}(E || {}); var a = f(0); var b = a; diff --git a/crates/swc/tests/tsc-references/literalTypeWidening.2.minified.js b/crates/swc/tests/tsc-references/literalTypeWidening.2.minified.js index cb7b3d3195064..0bc7e27fe09ae 100644 --- a/crates/swc/tests/tsc-references/literalTypeWidening.2.minified.js +++ b/crates/swc/tests/tsc-references/literalTypeWidening.2.minified.js @@ -11,10 +11,12 @@ export function Set() { export function keys(obj) { return Object.keys(obj); } -var E, E1, langCodeSet = Set('fr', 'en', 'es', 'it', 'nl'); +var E, langCodeSet = Set('fr', 'en', 'es', 'it', 'nl'); export var langCodes = keys(langCodeSet); langCodes.map(function(code) { return { code: code }; -}), (E = E1 || (E1 = {}))[E.A = 0] = "A", E[E.B = 1] = "B", f(0); +}); +var E1 = ((E = E1 || {})[E.A = 0] = "A", E[E.B = 1] = "B", E); +f(0); diff --git a/crates/swc/tests/tsc-references/literalTypes2.1.normal.js b/crates/swc/tests/tsc-references/literalTypes2.1.normal.js index ee36f1ba75a4a..01e53d08cf39b 100644 --- a/crates/swc/tests/tsc-references/literalTypes2.1.normal.js +++ b/crates/swc/tests/tsc-references/literalTypes2.1.normal.js @@ -1,11 +1,11 @@ //// [literalTypes2.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; -})(E || (E = {})); + return E; +}(E || {}); var cond; function f1() { var p1 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 1, p2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "abc", p3 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true, p4 = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0; diff --git a/crates/swc/tests/tsc-references/literalTypes2.2.minified.js b/crates/swc/tests/tsc-references/literalTypes2.2.minified.js index 14b4941fcf530..0c4b180e7a477 100644 --- a/crates/swc/tests/tsc-references/literalTypes2.2.minified.js +++ b/crates/swc/tests/tsc-references/literalTypes2.2.minified.js @@ -1,7 +1,6 @@ //// [literalTypes2.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -(E = E1 || (E1 = {}))[E.A = 0] = "A", E[E.B = 1] = "B", E[E.C = 2] = "C"; -var result, E, E1, a = [ +var E, result, E1 = ((E = E1 || {})[E.A = 0] = "A", E[E.B = 1] = "B", E[E.C = 2] = "C", E), a = [ 1, 2 ]; diff --git a/crates/swc/tests/tsc-references/localTypes1.1.normal.js b/crates/swc/tests/tsc-references/localTypes1.1.normal.js index 34b3ee831a79f..4c286f68d8e7e 100644 --- a/crates/swc/tests/tsc-references/localTypes1.1.normal.js +++ b/crates/swc/tests/tsc-references/localTypes1.1.normal.js @@ -4,12 +4,12 @@ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _create_class } from "@swc/helpers/_/_create_class"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; function f1() { - var E; - (function(E) { + var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; - })(E || (E = {})); + return E; + }({}); var C = function C() { "use strict"; _class_call_check(this, C); @@ -22,12 +22,12 @@ function f1() { } function f2() { function g() { - var E; - (function(E) { + var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; - })(E || (E = {})); + return E; + }({}); var C = function C() { "use strict"; _class_call_check(this, C); @@ -42,12 +42,12 @@ function f2() { } function f3(b) { if (true) { - var E; - (function(E) { + var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; - })(E || (E = {})); + return E; + }({}); if (b) { var C = function C() { "use strict"; @@ -73,12 +73,12 @@ function f3(b) { } function f5() { var z1 = function z1() { - var E; - (function(E) { + var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; - })(E || (E = {})); + return E; + }({}); var C = function C() { "use strict"; _class_call_check(this, C); @@ -86,12 +86,12 @@ function f5() { return new C(); }; var z2 = function() { - var E; - (function(E) { + var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; - })(E || (E = {})); + return E; + }({}); var C = function C() { "use strict"; _class_call_check(this, C); @@ -103,24 +103,24 @@ var A = /*#__PURE__*/ function() { "use strict"; function A() { _class_call_check(this, A); - var E; - (function(E) { + var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; - })(E || (E = {})); + return E; + }({}); var C = function C() { _class_call_check(this, C); }; } var _proto = A.prototype; _proto.m = function m() { - var E; - (function(E) { + var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; - })(E || (E = {})); + return E; + }({}); var C = function C() { _class_call_check(this, C); }; @@ -130,12 +130,12 @@ var A = /*#__PURE__*/ function() { { key: "p", get: function get() { - var E; - (function(E) { + var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; - })(E || (E = {})); + return E; + }({}); var C = function C() { _class_call_check(this, C); }; diff --git a/crates/swc/tests/tsc-references/logicalNotOperatorWithAnyOtherType.1.normal.js b/crates/swc/tests/tsc-references/logicalNotOperatorWithAnyOtherType.1.normal.js index 7c32430eda702..aaa9c42d9c10e 100644 --- a/crates/swc/tests/tsc-references/logicalNotOperatorWithAnyOtherType.1.normal.js +++ b/crates/swc/tests/tsc-references/logicalNotOperatorWithAnyOtherType.1.normal.js @@ -27,7 +27,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // any type var @@ -62,3 +61,4 @@ var ResultIsBoolean21 = !!!(ANY + ANY1); !ANY, ANY1; !objA.a; !M.n; +var M; diff --git a/crates/swc/tests/tsc-references/logicalNotOperatorWithBooleanType.1.normal.js b/crates/swc/tests/tsc-references/logicalNotOperatorWithBooleanType.1.normal.js index b9be77c0a2057..4e00b81aef6e0 100644 --- a/crates/swc/tests/tsc-references/logicalNotOperatorWithBooleanType.1.normal.js +++ b/crates/swc/tests/tsc-references/logicalNotOperatorWithBooleanType.1.normal.js @@ -15,7 +15,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // boolean type var @@ -40,3 +39,4 @@ var ResultIsBoolean = !!BOOLEAN; !true, false; !objA.a; !M.n; +var M; diff --git a/crates/swc/tests/tsc-references/logicalNotOperatorWithEnumType.1.normal.js b/crates/swc/tests/tsc-references/logicalNotOperatorWithEnumType.1.normal.js index 48ed0aed58a74..24f4dbe12afc2 100644 --- a/crates/swc/tests/tsc-references/logicalNotOperatorWithEnumType.1.normal.js +++ b/crates/swc/tests/tsc-references/logicalNotOperatorWithEnumType.1.normal.js @@ -1,13 +1,14 @@ //// [logicalNotOperatorWithEnumType.ts] // ! operator on enum type -var ENUM; -(function(ENUM) { +var ENUM = /*#__PURE__*/ function(ENUM) { ENUM[ENUM["A"] = 0] = "A"; ENUM[ENUM["B"] = 1] = "B"; ENUM[ENUM["C"] = 2] = "C"; -})(ENUM || (ENUM = {})); -var ENUM1; -(function(ENUM1) {})(ENUM1 || (ENUM1 = {})); + return ENUM; +}(ENUM || {}); +var ENUM1 = /*#__PURE__*/ function(ENUM1) { + return ENUM1; +}(ENUM1 || {}); // enum type var var ResultIsBoolean1 = !ENUM; // enum type expressions diff --git a/crates/swc/tests/tsc-references/logicalNotOperatorWithEnumType.2.minified.js b/crates/swc/tests/tsc-references/logicalNotOperatorWithEnumType.2.minified.js index 8c2e4f670e9c2..ad571a2e2ed89 100644 --- a/crates/swc/tests/tsc-references/logicalNotOperatorWithEnumType.2.minified.js +++ b/crates/swc/tests/tsc-references/logicalNotOperatorWithEnumType.2.minified.js @@ -1,3 +1,2 @@ //// [logicalNotOperatorWithEnumType.ts] -var ENUM, ENUM1, ENUM2; -(ENUM2 = ENUM || (ENUM = {}))[ENUM2.A = 0] = "A", ENUM2[ENUM2.B = 1] = "B", ENUM2[ENUM2.C = 2] = "C", ENUM1 || (ENUM1 = {}); +var ENUM, ENUM1 = ((ENUM = ENUM1 || {})[ENUM.A = 0] = "A", ENUM[ENUM.B = 1] = "B", ENUM[ENUM.C = 2] = "C", ENUM); diff --git a/crates/swc/tests/tsc-references/logicalNotOperatorWithNumberType.1.normal.js b/crates/swc/tests/tsc-references/logicalNotOperatorWithNumberType.1.normal.js index c0eac6c2b4cc9..1a193ed1a9cc4 100644 --- a/crates/swc/tests/tsc-references/logicalNotOperatorWithNumberType.1.normal.js +++ b/crates/swc/tests/tsc-references/logicalNotOperatorWithNumberType.1.normal.js @@ -19,7 +19,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // number type var @@ -55,3 +54,4 @@ var ResultIsBoolean13 = !!!(NUMBER + NUMBER); !objA.a; !M.n; !objA.a, M.n; +var M; diff --git a/crates/swc/tests/tsc-references/logicalNotOperatorWithStringType.1.normal.js b/crates/swc/tests/tsc-references/logicalNotOperatorWithStringType.1.normal.js index 235e9fe6c323f..f990833611dac 100644 --- a/crates/swc/tests/tsc-references/logicalNotOperatorWithStringType.1.normal.js +++ b/crates/swc/tests/tsc-references/logicalNotOperatorWithStringType.1.normal.js @@ -19,7 +19,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // string type var @@ -54,3 +53,4 @@ var ResultIsBoolean14 = !!!(STRING + STRING); !STRING1; !foo(); !objA.a, M.n; +var M; diff --git a/crates/swc/tests/tsc-references/mappedTypeOverlappingStringEnumKeys.1.normal.js b/crates/swc/tests/tsc-references/mappedTypeOverlappingStringEnumKeys.1.normal.js index 64d0a81f37d8f..bb9188d4f6e8a 100644 --- a/crates/swc/tests/tsc-references/mappedTypeOverlappingStringEnumKeys.1.normal.js +++ b/crates/swc/tests/tsc-references/mappedTypeOverlappingStringEnumKeys.1.normal.js @@ -1,14 +1,14 @@ //// [mappedTypeOverlappingStringEnumKeys.ts] // #37859 -var TerrestrialAnimalTypes; -(function(TerrestrialAnimalTypes) { +var TerrestrialAnimalTypes = /*#__PURE__*/ function(TerrestrialAnimalTypes) { TerrestrialAnimalTypes["CAT"] = "cat"; TerrestrialAnimalTypes["DOG"] = "dog"; -})(TerrestrialAnimalTypes || (TerrestrialAnimalTypes = {})); -var AlienAnimalTypes; -(function(AlienAnimalTypes) { + return TerrestrialAnimalTypes; +}(TerrestrialAnimalTypes || {}); +var AlienAnimalTypes = /*#__PURE__*/ function(AlienAnimalTypes) { AlienAnimalTypes["CAT"] = "cat"; -})(AlienAnimalTypes || (AlienAnimalTypes = {})); + return AlienAnimalTypes; +}(AlienAnimalTypes || {}); var catMap = { cat: [ { diff --git a/crates/swc/tests/tsc-references/mappedTypeOverlappingStringEnumKeys.2.minified.js b/crates/swc/tests/tsc-references/mappedTypeOverlappingStringEnumKeys.2.minified.js index 87f4e7c57611e..a1f3575b630ec 100644 --- a/crates/swc/tests/tsc-references/mappedTypeOverlappingStringEnumKeys.2.minified.js +++ b/crates/swc/tests/tsc-references/mappedTypeOverlappingStringEnumKeys.2.minified.js @@ -1,3 +1,2 @@ //// [mappedTypeOverlappingStringEnumKeys.ts] -var TerrestrialAnimalTypes, AlienAnimalTypes, TerrestrialAnimalTypes1; -(TerrestrialAnimalTypes1 = TerrestrialAnimalTypes || (TerrestrialAnimalTypes = {})).CAT = "cat", TerrestrialAnimalTypes1.DOG = "dog", (AlienAnimalTypes || (AlienAnimalTypes = {})).CAT = "cat"; +var TerrestrialAnimalTypes, AlienAnimalTypes, TerrestrialAnimalTypes1 = ((TerrestrialAnimalTypes = TerrestrialAnimalTypes1 || {}).CAT = "cat", TerrestrialAnimalTypes.DOG = "dog", TerrestrialAnimalTypes), AlienAnimalTypes1 = ((AlienAnimalTypes = AlienAnimalTypes1 || {}).CAT = "cat", AlienAnimalTypes); diff --git a/crates/swc/tests/tsc-references/mergeThreeInterfaces.1.normal.js b/crates/swc/tests/tsc-references/mergeThreeInterfaces.1.normal.js index baef7e50fb285..925b25401a6ab 100644 --- a/crates/swc/tests/tsc-references/mergeThreeInterfaces.1.normal.js +++ b/crates/swc/tests/tsc-references/mergeThreeInterfaces.1.normal.js @@ -9,7 +9,6 @@ var b; var r4 = b.foo; var r5 = b.bar; var r6 = b.baz; -var M; // basic non-generic and generic case inside a module (function(M) { var a; @@ -25,3 +24,4 @@ var M; // BUG 856491 var r6 = b.baz; // any, should be boolean })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/mergeThreeInterfaces2.1.normal.js b/crates/swc/tests/tsc-references/mergeThreeInterfaces2.1.normal.js index ebfd40ea67b05..83ead4a255771 100644 --- a/crates/swc/tests/tsc-references/mergeThreeInterfaces2.1.normal.js +++ b/crates/swc/tests/tsc-references/mergeThreeInterfaces2.1.normal.js @@ -1,7 +1,6 @@ //// [mergeThreeInterfaces2.ts] // two interfaces with the same root module should merge // root module now multiple module declarations -var M2; (function(M2) { var a; var r1 = a.foo; @@ -15,28 +14,26 @@ var M2; })(M2 || (M2 = {})); // same as above but with an additional level of nesting and third module declaration (function(M2) { - var M3; (function(M3) { var a; var r1 = a.foo; var r2 = a.bar; - })(M3 = M2.M3 || (M2.M3 = {})); + })(M2.M3 || (M2.M3 = {})); })(M2 || (M2 = {})); (function(M2) { - var M3; (function(M3) { var a; var r1 = a.foo; var r2 = a.bar; var r3 = a.baz; - })(M3 = M2.M3 || (M2.M3 = {})); + })(M2.M3 || (M2.M3 = {})); })(M2 || (M2 = {})); (function(M2) { - var M3; (function(M3) { var a; var r1 = a.foo; var r2 = a.bar; var r3 = a.baz; - })(M3 = M2.M3 || (M2.M3 = {})); + })(M2.M3 || (M2.M3 = {})); })(M2 || (M2 = {})); +var M2; diff --git a/crates/swc/tests/tsc-references/mergeTwoInterfaces.1.normal.js b/crates/swc/tests/tsc-references/mergeTwoInterfaces.1.normal.js index d5912f8fd92a6..44312c8764aa6 100644 --- a/crates/swc/tests/tsc-references/mergeTwoInterfaces.1.normal.js +++ b/crates/swc/tests/tsc-references/mergeTwoInterfaces.1.normal.js @@ -7,7 +7,6 @@ var r2 = a.bar; var b; var r3 = b.foo; var r4 = b.bar; -var M; // basic non-generic and generic case inside a module (function(M) { var a; @@ -19,3 +18,4 @@ var M; // BUG 856491 var r4 = b.bar; // any, should be string })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/mergeTwoInterfaces2.1.normal.js b/crates/swc/tests/tsc-references/mergeTwoInterfaces2.1.normal.js index 91be54f2b89b0..e3fe4dc97dd36 100644 --- a/crates/swc/tests/tsc-references/mergeTwoInterfaces2.1.normal.js +++ b/crates/swc/tests/tsc-references/mergeTwoInterfaces2.1.normal.js @@ -1,7 +1,6 @@ //// [mergeTwoInterfaces2.ts] // two interfaces with the same root module should merge // root module now multiple module declarations -var M2; (function(M2) { var a; var r1 = a.foo; @@ -14,18 +13,17 @@ var M2; })(M2 || (M2 = {})); // same as above but with an additional level of nesting (function(M2) { - var M3; (function(M3) { var a; var r1 = a.foo; var r2 = a.bar; - })(M3 = M2.M3 || (M2.M3 = {})); + })(M2.M3 || (M2.M3 = {})); })(M2 || (M2 = {})); (function(M2) { - var M3; (function(M3) { var a; var r1 = a.foo; var r2 = a.bar; - })(M3 = M2.M3 || (M2.M3 = {})); + })(M2.M3 || (M2.M3 = {})); })(M2 || (M2 = {})); +var M2; diff --git a/crates/swc/tests/tsc-references/mergedInterfacesWithInheritedPrivates3.1.normal.js b/crates/swc/tests/tsc-references/mergedInterfacesWithInheritedPrivates3.1.normal.js index e43b4ae6ef44c..ad2d2327358ad 100644 --- a/crates/swc/tests/tsc-references/mergedInterfacesWithInheritedPrivates3.1.normal.js +++ b/crates/swc/tests/tsc-references/mergedInterfacesWithInheritedPrivates3.1.normal.js @@ -19,7 +19,6 @@ var D = /*#__PURE__*/ function(C) { } return D; }(C); -var M; (function(M) { var C = function C() { "use strict"; @@ -30,3 +29,4 @@ var M; _class_call_check(this, C2); }; })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/mergedInterfacesWithMultipleBases.1.normal.js b/crates/swc/tests/tsc-references/mergedInterfacesWithMultipleBases.1.normal.js index d5b37135cb3b1..6a4a4e4053c5d 100644 --- a/crates/swc/tests/tsc-references/mergedInterfacesWithMultipleBases.1.normal.js +++ b/crates/swc/tests/tsc-references/mergedInterfacesWithMultipleBases.1.normal.js @@ -16,7 +16,6 @@ var D = function D() { }; var a; var r = a.a; -var M; // generic interfaces in a module (function(M) { var C = function C() { @@ -32,3 +31,4 @@ var M; _class_call_check(this, D); }; })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/mergedInterfacesWithMultipleBases2.1.normal.js b/crates/swc/tests/tsc-references/mergedInterfacesWithMultipleBases2.1.normal.js index 82e5f2d325c69..7e01dfc25ec23 100644 --- a/crates/swc/tests/tsc-references/mergedInterfacesWithMultipleBases2.1.normal.js +++ b/crates/swc/tests/tsc-references/mergedInterfacesWithMultipleBases2.1.normal.js @@ -24,7 +24,6 @@ var D = function D() { }; var a; var r = a.a; -var M; // generic interfaces in a module (function(M) { var C = function C() { @@ -48,3 +47,4 @@ var M; _class_call_check(this, D); }; })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/moduleWithStatementsOfEveryKind.1.normal.js b/crates/swc/tests/tsc-references/moduleWithStatementsOfEveryKind.1.normal.js index 0e828f7a184a6..922b7464104b5 100644 --- a/crates/swc/tests/tsc-references/moduleWithStatementsOfEveryKind.1.normal.js +++ b/crates/swc/tests/tsc-references/moduleWithStatementsOfEveryKind.1.normal.js @@ -2,7 +2,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var A; (function(A) { var A1 = function A() { "use strict"; @@ -30,18 +29,17 @@ var A; } return BB; }(A1); - var Module; (function(Module) { var A = function A() { "use strict"; _class_call_check(this, A); }; })(Module || (Module = {})); - var Color; - (function(Color) { + var Color = /*#__PURE__*/ function(Color) { Color[Color["Blue"] = 0] = "Blue"; Color[Color["Red"] = 1] = "Red"; - })(Color || (Color = {})); + return Color; + }({}); var x = 12; function F(s) { return 2; @@ -55,8 +53,8 @@ var A; id: 2, isvalid: true }; + var Module; })(A || (A = {})); -var Y; (function(Y) { var A = function A() { "use strict"; @@ -88,18 +86,16 @@ var Y; return BB; }(A); Y.BB = BB; - var Module; (function(Module) { var A = function A() { "use strict"; _class_call_check(this, A); }; - })(Module = Y.Module || (Y.Module = {})); - var Color; + })(Y.Module || (Y.Module = {})); (function(Color) { Color[Color["Blue"] = 0] = "Blue"; Color[Color["Red"] = 1] = "Red"; - })(Color = Y.Color || (Y.Color = {})); + })(Y.Color || (Y.Color = {})); Y.x = 12; function F(s) { return 2; @@ -115,3 +111,4 @@ var Y; isvalid: true }; })(Y || (Y = {})); +var A, Y; diff --git a/crates/swc/tests/tsc-references/moduleWithStatementsOfEveryKind.2.minified.js b/crates/swc/tests/tsc-references/moduleWithStatementsOfEveryKind.2.minified.js index 74c0a88447223..9031628b1d0f7 100644 --- a/crates/swc/tests/tsc-references/moduleWithStatementsOfEveryKind.2.minified.js +++ b/crates/swc/tests/tsc-references/moduleWithStatementsOfEveryKind.2.minified.js @@ -1,9 +1,9 @@ //// [moduleWithStatementsOfEveryKind.ts] -var A, Y, Module, Color, Color1, Y1, A1, AA, B, BB, Color2; +var A, Y, Module, Y1, A1, AA, B, BB, Color; import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -A || (A = {}), Module || (Module = {}), (Color1 = Color || (Color = {}))[Color1.Blue = 0] = "Blue", Color1[Color1.Red = 1] = "Red", Y1 = Y || (Y = {}), A1 = function A() { +A || (A = {}), Module || (Module = {}), Y1 = Y || (Y = {}), A1 = function A() { _class_call_check(this, A); }, Y1.A = A1, AA = function AA() { _class_call_check(this, AA); @@ -17,7 +17,7 @@ A || (A = {}), Module || (Module = {}), (Color1 = Color || (Color = {}))[Color1. return _class_call_check(this, BB), _call_super(this, BB, arguments); } return _inherits(BB, A), BB; -}(A1), Y1.BB = BB, Y1.Module || (Y1.Module = {}), (Color2 = Y1.Color || (Y1.Color = {}))[Color2.Blue = 0] = "Blue", Color2[Color2.Red = 1] = "Red", Y1.x = 12, Y1.F = function(s) { +}(A1), Y1.BB = BB, Y1.Module || (Y1.Module = {}), (Color = Y1.Color || (Y1.Color = {}))[Color.Blue = 0] = "Blue", Color[Color.Red = 1] = "Red", Y1.x = 12, Y1.F = function(s) { return 2; }, Y1.array = null, Y1.fn = function(s) { return 'hello ' + s; diff --git a/crates/swc/tests/tsc-references/nameCollision.1.normal.js b/crates/swc/tests/tsc-references/nameCollision.1.normal.js index 86ba8834e43eb..bc40ddf14606e 100644 --- a/crates/swc/tests/tsc-references/nameCollision.1.normal.js +++ b/crates/swc/tests/tsc-references/nameCollision.1.normal.js @@ -1,13 +1,11 @@ //// [nameCollision.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var A; (function(A) { // these 2 statements force an underscore before the 'A' // in the generated function call. var A1 = 12; var _A = ''; })(A || (A = {})); -var B; (function(B) { var A = 12; })(B || (B = {})); @@ -19,33 +17,28 @@ var B; _class_call_check(this, B); }; })(B || (B = {})); -var X; (function(X) { var X1 = 13; - var Y; (function(Y) { - var Y1 = 13; - var Z; + var _$Y = 13; (function(Z) { var X = 12; - var Y = 12; + var _$Y = 12; var Z1 = 12; - })(Z = Y.Z || (Y.Z = {})); - })(Y = X.Y || (X.Y = {})); + })(Y.Z || (Y.Z = {})); + })(X.Y || (X.Y = {})); })(X || (X = {})); -var Y; (function(Y) { (function(Y) { - var Y; (function(Y) { Y[Y["Red"] = 0] = "Red"; Y[Y["Blue"] = 1] = "Blue"; - })(Y = Y.Y || (Y.Y = {})); + })(Y.Y || (Y.Y = {})); })(Y.Y || (Y.Y = {})); })(Y || (Y = {})); -var D; // no collision, since interface doesn't // generate code. (function(D) { D.E = 'hello'; })(D || (D = {})); +var A, B, X, Y, D; diff --git a/crates/swc/tests/tsc-references/nameCollision.2.minified.js b/crates/swc/tests/tsc-references/nameCollision.2.minified.js index 68db21fccdea5..4b6938cbdfdc0 100644 --- a/crates/swc/tests/tsc-references/nameCollision.2.minified.js +++ b/crates/swc/tests/tsc-references/nameCollision.2.minified.js @@ -1,4 +1,4 @@ //// [nameCollision.ts] var A, B, X, Y, D, X1, Y1, Y2, Y3, Y4; import "@swc/helpers/_/_class_call_check"; -A || (A = {}), B || (B = {}), B || (B = {}), (Y1 = (X1 = X || (X = {})).Y || (X1.Y = {})).Z || (Y1.Z = {}), (Y4 = Y3 = (Y3 = (Y2 = Y || (Y = {})).Y || (Y2.Y = {})).Y || (Y3.Y = {}))[Y4.Red = 0] = "Red", Y4[Y4.Blue = 1] = "Blue", (D || (D = {})).E = 'hello'; +A || (A = {}), B || (B = {}), B || (B = {}), (Y1 = (X1 = X || (X = {})).Y || (X1.Y = {})).Z || (Y1.Z = {}), (Y4 = (Y3 = (Y2 = Y || (Y = {})).Y || (Y2.Y = {})).Y || (Y3.Y = {}))[Y4.Red = 0] = "Red", Y4[Y4.Blue = 1] = "Blue", (D || (D = {})).E = 'hello'; diff --git a/crates/swc/tests/tsc-references/nameWithRelativePaths.1.normal.js b/crates/swc/tests/tsc-references/nameWithRelativePaths.1.normal.js index 10f69947425b4..b248116d28304 100644 --- a/crates/swc/tests/tsc-references/nameWithRelativePaths.1.normal.js +++ b/crates/swc/tests/tsc-references/nameWithRelativePaths.1.normal.js @@ -35,10 +35,10 @@ Object.defineProperty(exports, "M2", { return M2; } }); -var M2; (function(M2) { M2.x = true; })(M2 || (M2 = {})); +var M2; //// [test/foo_3.ts] "use strict"; Object.defineProperty(exports, "__esModule", { diff --git a/crates/swc/tests/tsc-references/negateOperatorWithBooleanType.1.normal.js b/crates/swc/tests/tsc-references/negateOperatorWithBooleanType.1.normal.js index 8b7c4e1967b4c..5132a0dec33b2 100644 --- a/crates/swc/tests/tsc-references/negateOperatorWithBooleanType.1.normal.js +++ b/crates/swc/tests/tsc-references/negateOperatorWithBooleanType.1.normal.js @@ -15,7 +15,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // boolean type var @@ -38,3 +37,4 @@ var ResultIsNumber7 = -A.foo(); -true, false; -objA.a; -M.n; +var M; diff --git a/crates/swc/tests/tsc-references/negateOperatorWithEnumType.1.normal.js b/crates/swc/tests/tsc-references/negateOperatorWithEnumType.1.normal.js index a2f831818a659..abc7151402ac7 100644 --- a/crates/swc/tests/tsc-references/negateOperatorWithEnumType.1.normal.js +++ b/crates/swc/tests/tsc-references/negateOperatorWithEnumType.1.normal.js @@ -1,13 +1,14 @@ //// [negateOperatorWithEnumType.ts] // - operator on enum type -var ENUM; -(function(ENUM) {})(ENUM || (ENUM = {})); -var ENUM1; -(function(ENUM1) { +var ENUM = /*#__PURE__*/ function(ENUM) { + return ENUM; +}(ENUM || {}); +var ENUM1 = /*#__PURE__*/ function(ENUM1) { ENUM1[ENUM1["A"] = 0] = "A"; ENUM1[ENUM1["B"] = 1] = "B"; ENUM1[ENUM1[""] = 2] = ""; -})(ENUM1 || (ENUM1 = {})); + return ENUM1; +}(ENUM1 || {}); // enum type var var ResultIsNumber1 = -ENUM; // expressions diff --git a/crates/swc/tests/tsc-references/negateOperatorWithEnumType.2.minified.js b/crates/swc/tests/tsc-references/negateOperatorWithEnumType.2.minified.js index e15662bc2868d..0911c134fe579 100644 --- a/crates/swc/tests/tsc-references/negateOperatorWithEnumType.2.minified.js +++ b/crates/swc/tests/tsc-references/negateOperatorWithEnumType.2.minified.js @@ -1,3 +1,2 @@ //// [negateOperatorWithEnumType.ts] -var ENUM, ENUM1, ENUM11; -ENUM || (ENUM = {}), (ENUM11 = ENUM1 || (ENUM1 = {}))[ENUM11.A = 0] = "A", ENUM11[ENUM11.B = 1] = "B", ENUM11[ENUM11[""] = 2] = ""; +var ENUM1, ENUM11 = ((ENUM1 = ENUM11 || {})[ENUM1.A = 0] = "A", ENUM1[ENUM1.B = 1] = "B", ENUM1[ENUM1[""] = 2] = "", ENUM1); diff --git a/crates/swc/tests/tsc-references/negateOperatorWithNumberType.1.normal.js b/crates/swc/tests/tsc-references/negateOperatorWithNumberType.1.normal.js index 2ce8d65c97927..bd30d7b9b19e2 100644 --- a/crates/swc/tests/tsc-references/negateOperatorWithNumberType.1.normal.js +++ b/crates/swc/tests/tsc-references/negateOperatorWithNumberType.1.normal.js @@ -19,7 +19,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // number type var @@ -52,3 +51,4 @@ var ResultIsNumber11 = -(NUMBER - NUMBER); -objA.a; -M.n; -objA.a, M.n; +var M; diff --git a/crates/swc/tests/tsc-references/negateOperatorWithStringType.1.normal.js b/crates/swc/tests/tsc-references/negateOperatorWithStringType.1.normal.js index c76d23c376db7..5d51e8c0c2fd0 100644 --- a/crates/swc/tests/tsc-references/negateOperatorWithStringType.1.normal.js +++ b/crates/swc/tests/tsc-references/negateOperatorWithStringType.1.normal.js @@ -19,7 +19,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // string type var @@ -51,3 +50,4 @@ var ResultIsNumber12 = -STRING.charAt(0); -STRING1; -foo(); -objA.a, M.n; +var M; diff --git a/crates/swc/tests/tsc-references/nestedModules.1.normal.js b/crates/swc/tests/tsc-references/nestedModules.1.normal.js index d43151f364fd9..9da26bb1743f2 100644 --- a/crates/swc/tests/tsc-references/nestedModules.1.normal.js +++ b/crates/swc/tests/tsc-references/nestedModules.1.normal.js @@ -1,21 +1,18 @@ //// [nestedModules.ts] -var A; (function(A) { - var B; (function(B) { var Point = { x: 0, y: 0 }; // bug 832088: could not find module 'C' - })(B = A.B || (A.B = {})); + })(A.B || (A.B = {})); })(A || (A = {})); -var M2; (function(M2) { - var X; - (function(X) {})(X = M2.X || (M2.X = {})); + (function(X) {})(M2.X || (M2.X = {})); })(M2 || (M2 = {})); var m = M2.X; var point; var point = m.Point; var p; var p; +var A, M2; diff --git a/crates/swc/tests/tsc-references/nestedNamespace.1.normal.js b/crates/swc/tests/tsc-references/nestedNamespace.1.normal.js index 797e6c502e62c..0a307833a816a 100644 --- a/crates/swc/tests/tsc-references/nestedNamespace.1.normal.js +++ b/crates/swc/tests/tsc-references/nestedNamespace.1.normal.js @@ -1,6 +1,5 @@ //// [a.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -export var types; (function(types) { var A = function A() { "use strict"; @@ -8,5 +7,6 @@ export var types; }; types.A = A; })(types || (types = {})); +export var types; //// [b.ts] export { }; diff --git a/crates/swc/tests/tsc-references/nestedNamespace.2.minified.js b/crates/swc/tests/tsc-references/nestedNamespace.2.minified.js index cdb617a836776..d5c3c897d4e9c 100644 --- a/crates/swc/tests/tsc-references/nestedNamespace.2.minified.js +++ b/crates/swc/tests/tsc-references/nestedNamespace.2.minified.js @@ -1,8 +1,8 @@ //// [a.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -export var types; (types || (types = {})).A = function A() { _class_call_check(this, A); }; +export var types; //// [b.ts] export { }; diff --git a/crates/swc/tests/tsc-references/noUncheckedIndexedAccess.1.normal.js b/crates/swc/tests/tsc-references/noUncheckedIndexedAccess.1.normal.js index 802673a6e5c33..b3aef8eac9d32 100644 --- a/crates/swc/tests/tsc-references/noUncheckedIndexedAccess.1.normal.js +++ b/crates/swc/tests/tsc-references/noUncheckedIndexedAccess.1.normal.js @@ -1,21 +1,21 @@ //// [noUncheckedIndexedAccess.ts] -var NumericEnum1; -(function(NumericEnum1) { +var NumericEnum1 = /*#__PURE__*/ function(NumericEnum1) { NumericEnum1[NumericEnum1["A"] = 0] = "A"; NumericEnum1[NumericEnum1["B"] = 1] = "B"; NumericEnum1[NumericEnum1["C"] = 2] = "C"; -})(NumericEnum1 || (NumericEnum1 = {})); -var NumericEnum2; -(function(NumericEnum2) { + return NumericEnum1; +}(NumericEnum1 || {}); +var NumericEnum2 = /*#__PURE__*/ function(NumericEnum2) { NumericEnum2[NumericEnum2["A"] = 0] = "A"; NumericEnum2[NumericEnum2["B"] = 1] = "B"; NumericEnum2[NumericEnum2["C"] = 2] = "C"; -})(NumericEnum2 || (NumericEnum2 = {})); -var StringEnum1; -(function(StringEnum1) { + return NumericEnum2; +}(NumericEnum2 || {}); +var StringEnum1 = /*#__PURE__*/ function(StringEnum1) { StringEnum1["A"] = "Alpha"; StringEnum1["B"] = "Beta"; -})(StringEnum1 || (StringEnum1 = {})); + return StringEnum1; +}(StringEnum1 || {}); // All of these should be errors var e1 = strMap["foo"]; var e2 = strMap.bar; diff --git a/crates/swc/tests/tsc-references/noUncheckedIndexedAccess.2.minified.js b/crates/swc/tests/tsc-references/noUncheckedIndexedAccess.2.minified.js index 9a53a070afdc2..c6d936ea4a124 100644 --- a/crates/swc/tests/tsc-references/noUncheckedIndexedAccess.2.minified.js +++ b/crates/swc/tests/tsc-references/noUncheckedIndexedAccess.2.minified.js @@ -1,3 +1,3 @@ //// [noUncheckedIndexedAccess.ts] -var NumericEnum1, NumericEnum2, StringEnum1, NumericEnum11, NumericEnum21, StringEnum11; -(NumericEnum1 = NumericEnum11 || (NumericEnum11 = {}))[NumericEnum1.A = 0] = "A", NumericEnum1[NumericEnum1.B = 1] = "B", NumericEnum1[NumericEnum1.C = 2] = "C", (NumericEnum2 = NumericEnum21 || (NumericEnum21 = {}))[NumericEnum2.A = 0] = "A", NumericEnum2[NumericEnum2.B = 1] = "B", NumericEnum2[NumericEnum2.C = 2] = "C", (StringEnum1 = StringEnum11 || (StringEnum11 = {})).A = "Alpha", StringEnum1.B = "Beta", strMap.foo, strMap.bar, strMap[0], strMap[0], strMap[0], strMap[0], strMap.foo, strMap[0], strMap[0], strMap.Alpha, strMap.Alpha, strMap[0], strMap[0], strMap[null], strMap.foo, strMap.bar, strMap.baz = void 0, strMap.qua = void 0, strMap[0] = void 0, strMap[null] = void 0, numMap[0], numMap[0], numMap[0], numMap[0], numMap[0], obj1.x, obj1.y, obj1.y, obj1.z, strMapUnion.foo, symbolMap[s], symbolMap[s] = void 0, nonEmptyStringArray[0], nonEmptyStringArray[1]; +var NumericEnum1, NumericEnum2, StringEnum1, NumericEnum11 = ((NumericEnum1 = NumericEnum11 || {})[NumericEnum1.A = 0] = "A", NumericEnum1[NumericEnum1.B = 1] = "B", NumericEnum1[NumericEnum1.C = 2] = "C", NumericEnum1), NumericEnum21 = ((NumericEnum2 = NumericEnum21 || {})[NumericEnum2.A = 0] = "A", NumericEnum2[NumericEnum2.B = 1] = "B", NumericEnum2[NumericEnum2.C = 2] = "C", NumericEnum2), StringEnum11 = ((StringEnum1 = StringEnum11 || {}).A = "Alpha", StringEnum1.B = "Beta", StringEnum1); +strMap.foo, strMap.bar, strMap[0], strMap[0], strMap[0], strMap[0], strMap.foo, strMap[0], strMap[0], strMap.Alpha, strMap.Alpha, strMap[0], strMap[0], strMap[null], strMap.foo, strMap.bar, strMap.baz = void 0, strMap.qua = void 0, strMap[0] = void 0, strMap[null] = void 0, numMap[0], numMap[0], numMap[0], numMap[0], numMap[0], obj1.x, obj1.y, obj1.y, obj1.z, strMapUnion.foo, symbolMap[s], symbolMap[s] = void 0, nonEmptyStringArray[0], nonEmptyStringArray[1]; diff --git a/crates/swc/tests/tsc-references/nonGenericTypeReferenceWithTypeArguments.1.normal.js b/crates/swc/tests/tsc-references/nonGenericTypeReferenceWithTypeArguments.1.normal.js index 6c436f9863077..b7bc9d4798400 100644 --- a/crates/swc/tests/tsc-references/nonGenericTypeReferenceWithTypeArguments.1.normal.js +++ b/crates/swc/tests/tsc-references/nonGenericTypeReferenceWithTypeArguments.1.normal.js @@ -5,8 +5,9 @@ var C = function C() { "use strict"; _class_call_check(this, C); }; -var E; -(function(E) {})(E || (E = {})); +var E = /*#__PURE__*/ function(E) { + return E; +}(E || {}); var v1; var v2; var v3; @@ -16,8 +17,9 @@ function f() { "use strict"; _class_call_check(this, C); }; - var E; - (function(E) {})(E || (E = {})); + var E = /*#__PURE__*/ function(E) { + return E; + }({}); var v1; var v2; var v3; diff --git a/crates/swc/tests/tsc-references/nonGenericTypeReferenceWithTypeArguments.2.minified.js b/crates/swc/tests/tsc-references/nonGenericTypeReferenceWithTypeArguments.2.minified.js index 2c646bec85ec8..d81fa66ef8fec 100644 --- a/crates/swc/tests/tsc-references/nonGenericTypeReferenceWithTypeArguments.2.minified.js +++ b/crates/swc/tests/tsc-references/nonGenericTypeReferenceWithTypeArguments.2.minified.js @@ -1,4 +1,2 @@ //// [nonGenericTypeReferenceWithTypeArguments.ts] -var E; import "@swc/helpers/_/_class_call_check"; -E || (E = {}); diff --git a/crates/swc/tests/tsc-references/nonInstantiatedModule.1.normal.js b/crates/swc/tests/tsc-references/nonInstantiatedModule.1.normal.js index be32408692014..8287d4d933e90 100644 --- a/crates/swc/tests/tsc-references/nonInstantiatedModule.1.normal.js +++ b/crates/swc/tests/tsc-references/nonInstantiatedModule.1.normal.js @@ -1,6 +1,5 @@ //// [nonInstantiatedModule.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var M; (function(M) { M.a = 1; })(M || (M = {})); @@ -11,9 +10,7 @@ var a1; var a1 = M.a; var a2; var a2 = m.a; -var M2; (function(M2) { - var Point; (function(Point) { function Origin() { return { @@ -22,13 +19,12 @@ var M2; }; } Point.Origin = Origin; - })(Point = M2.Point || (M2.Point = {})); + })(M2.Point || (M2.Point = {})); })(M2 || (M2 = {})); var p; var p; var p2; var p2; -var M3; (function(M3) { var Utils = function Utils() { "use strict"; @@ -36,3 +32,4 @@ var M3; }; M3.Utils = Utils; })(M3 || (M3 = {})); +var M, M2, M3; diff --git a/crates/swc/tests/tsc-references/nullAssignableToEveryType.1.normal.js b/crates/swc/tests/tsc-references/nullAssignableToEveryType.1.normal.js index 898a5dd2dd98a..93e85eb4a1e9a 100644 --- a/crates/swc/tests/tsc-references/nullAssignableToEveryType.1.normal.js +++ b/crates/swc/tests/tsc-references/nullAssignableToEveryType.1.normal.js @@ -6,10 +6,10 @@ var C = function C() { }; var ac; var ai; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var ae; var b = null; var c = null; diff --git a/crates/swc/tests/tsc-references/nullAssignableToEveryType.2.minified.js b/crates/swc/tests/tsc-references/nullAssignableToEveryType.2.minified.js index 4e87139e96a58..262b4829e1d72 100644 --- a/crates/swc/tests/tsc-references/nullAssignableToEveryType.2.minified.js +++ b/crates/swc/tests/tsc-references/nullAssignableToEveryType.2.minified.js @@ -1,4 +1,3 @@ //// [nullAssignableToEveryType.ts] -var E, E1; import "@swc/helpers/_/_class_call_check"; -(E1 = E || (E = {}))[E1.A = 0] = "A"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); diff --git a/crates/swc/tests/tsc-references/nullIsSubtypeOfEverythingButUndefined.1.normal.js b/crates/swc/tests/tsc-references/nullIsSubtypeOfEverythingButUndefined.1.normal.js index e0da3ce16be39..0ee1c0a49f2de 100644 --- a/crates/swc/tests/tsc-references/nullIsSubtypeOfEverythingButUndefined.1.normal.js +++ b/crates/swc/tests/tsc-references/nullIsSubtypeOfEverythingButUndefined.1.normal.js @@ -47,10 +47,10 @@ var C2 = function C2() { var c2; var r12 = true ? c2 : null; var r12 = true ? null : c2; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var r13 = true ? E : null; var r13 = true ? null : E; var r14 = true ? 0 : null; diff --git a/crates/swc/tests/tsc-references/nullIsSubtypeOfEverythingButUndefined.2.minified.js b/crates/swc/tests/tsc-references/nullIsSubtypeOfEverythingButUndefined.2.minified.js index fd825e89f08cb..c2161d4c6d496 100644 --- a/crates/swc/tests/tsc-references/nullIsSubtypeOfEverythingButUndefined.2.minified.js +++ b/crates/swc/tests/tsc-references/nullIsSubtypeOfEverythingButUndefined.2.minified.js @@ -1,8 +1,9 @@ //// [nullIsSubtypeOfEverythingButUndefined.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); function f() {} -(E = E1 || (E1 = {}))[E.A = 0] = "A", (f || (f = {})).bar = 1; -var E, E1, c = function c() { +(f || (f = {})).bar = 1; +var c = function c() { _class_call_check(this, c); }; (c || (c = {})).bar = 1; diff --git a/crates/swc/tests/tsc-references/numberAssignableToEnum.1.normal.js b/crates/swc/tests/tsc-references/numberAssignableToEnum.1.normal.js index b64ce27a45ddf..1a537a310811c 100644 --- a/crates/swc/tests/tsc-references/numberAssignableToEnum.1.normal.js +++ b/crates/swc/tests/tsc-references/numberAssignableToEnum.1.normal.js @@ -1,8 +1,8 @@ //// [numberAssignableToEnum.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var n; var e; e = n; diff --git a/crates/swc/tests/tsc-references/numberAssignableToEnum.2.minified.js b/crates/swc/tests/tsc-references/numberAssignableToEnum.2.minified.js index 117581f0d3f3a..dee694d58ce5b 100644 --- a/crates/swc/tests/tsc-references/numberAssignableToEnum.2.minified.js +++ b/crates/swc/tests/tsc-references/numberAssignableToEnum.2.minified.js @@ -1,3 +1,2 @@ //// [numberAssignableToEnum.ts] -var E, E1; -(E1 = E || (E = {}))[E1.A = 0] = "A"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); diff --git a/crates/swc/tests/tsc-references/objectLiteralShorthandPropertiesWithModule.1.normal.js b/crates/swc/tests/tsc-references/objectLiteralShorthandPropertiesWithModule.1.normal.js index 8ee7a02c1c985..eeaad3ee15943 100644 --- a/crates/swc/tests/tsc-references/objectLiteralShorthandPropertiesWithModule.1.normal.js +++ b/crates/swc/tests/tsc-references/objectLiteralShorthandPropertiesWithModule.1.normal.js @@ -1,6 +1,5 @@ //// [objectLiteralShorthandPropertiesWithModule.ts] // module export -var m; (function(m) {})(m || (m = {})); (function(m) { var z = x; @@ -9,3 +8,4 @@ var m; x: x }; })(m || (m = {})); +var m; diff --git a/crates/swc/tests/tsc-references/objectLiteralShorthandPropertiesWithModuleES6.1.normal.js b/crates/swc/tests/tsc-references/objectLiteralShorthandPropertiesWithModuleES6.1.normal.js index 9e0ca5334521d..1c56499944516 100644 --- a/crates/swc/tests/tsc-references/objectLiteralShorthandPropertiesWithModuleES6.1.normal.js +++ b/crates/swc/tests/tsc-references/objectLiteralShorthandPropertiesWithModuleES6.1.normal.js @@ -1,5 +1,4 @@ //// [objectLiteralShorthandPropertiesWithModuleES6.ts] -var m; (function(m) {})(m || (m = {})); (function(m) { var z = x; @@ -8,3 +7,4 @@ var m; x }; })(m || (m = {})); +var m; diff --git a/crates/swc/tests/tsc-references/objectTypesIdentity2.1.normal.js b/crates/swc/tests/tsc-references/objectTypesIdentity2.1.normal.js index 794fb6c051142..c139451383332 100644 --- a/crates/swc/tests/tsc-references/objectTypesIdentity2.1.normal.js +++ b/crates/swc/tests/tsc-references/objectTypesIdentity2.1.normal.js @@ -14,10 +14,10 @@ var C = function C() { _class_call_check(this, C); }; var a; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var b = { foo: 0 }; diff --git a/crates/swc/tests/tsc-references/objectTypesIdentity2.2.minified.js b/crates/swc/tests/tsc-references/objectTypesIdentity2.2.minified.js index e55971c431061..8d1a3e5a19961 100644 --- a/crates/swc/tests/tsc-references/objectTypesIdentity2.2.minified.js +++ b/crates/swc/tests/tsc-references/objectTypesIdentity2.2.minified.js @@ -1,4 +1,3 @@ //// [objectTypesIdentity2.ts] -var E, E1; import "@swc/helpers/_/_class_call_check"; -(E1 = E || (E = {}))[E1.A = 0] = "A"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); diff --git a/crates/swc/tests/tsc-references/parserEnum1.1.normal.js b/crates/swc/tests/tsc-references/parserEnum1.1.normal.js index 822399690185b..ad8318219835b 100644 --- a/crates/swc/tests/tsc-references/parserEnum1.1.normal.js +++ b/crates/swc/tests/tsc-references/parserEnum1.1.normal.js @@ -1,8 +1,8 @@ //// [parserEnum1.ts] -export var SignatureFlags; -(function(SignatureFlags) { +export var SignatureFlags = /*#__PURE__*/ function(SignatureFlags) { SignatureFlags[SignatureFlags["None"] = 0] = "None"; SignatureFlags[SignatureFlags["IsIndexer"] = 1] = "IsIndexer"; SignatureFlags[SignatureFlags["IsStringIndexer"] = 2] = "IsStringIndexer"; SignatureFlags[SignatureFlags["IsNumberIndexer"] = 4] = "IsNumberIndexer"; -})(SignatureFlags || (SignatureFlags = {})); + return SignatureFlags; +}({}); diff --git a/crates/swc/tests/tsc-references/parserEnum1.2.minified.js b/crates/swc/tests/tsc-references/parserEnum1.2.minified.js index 8ddf4c4908dae..4ec99d94dfa07 100644 --- a/crates/swc/tests/tsc-references/parserEnum1.2.minified.js +++ b/crates/swc/tests/tsc-references/parserEnum1.2.minified.js @@ -1,5 +1,4 @@ //// [parserEnum1.ts] var SignatureFlags; -var SignatureFlags1; -export { SignatureFlags1 as SignatureFlags }; -(SignatureFlags = SignatureFlags1 || (SignatureFlags1 = {}))[SignatureFlags.None = 0] = "None", SignatureFlags[SignatureFlags.IsIndexer = 1] = "IsIndexer", SignatureFlags[SignatureFlags.IsStringIndexer = 2] = "IsStringIndexer", SignatureFlags[SignatureFlags.IsNumberIndexer = 4] = "IsNumberIndexer"; +var SignatureFlags1 = ((SignatureFlags = {})[SignatureFlags.None = 0] = "None", SignatureFlags[SignatureFlags.IsIndexer = 1] = "IsIndexer", SignatureFlags[SignatureFlags.IsStringIndexer = 2] = "IsStringIndexer", SignatureFlags[SignatureFlags.IsNumberIndexer = 4] = "IsNumberIndexer", SignatureFlags); +export { SignatureFlags1 as SignatureFlags, }; diff --git a/crates/swc/tests/tsc-references/parserEnum2.1.normal.js b/crates/swc/tests/tsc-references/parserEnum2.1.normal.js index fe1f816a2445a..ccd0789bccd63 100644 --- a/crates/swc/tests/tsc-references/parserEnum2.1.normal.js +++ b/crates/swc/tests/tsc-references/parserEnum2.1.normal.js @@ -1,8 +1,8 @@ //// [parserEnum2.ts] -export var SignatureFlags; -(function(SignatureFlags) { +export var SignatureFlags = /*#__PURE__*/ function(SignatureFlags) { SignatureFlags[SignatureFlags["None"] = 0] = "None"; SignatureFlags[SignatureFlags["IsIndexer"] = 1] = "IsIndexer"; SignatureFlags[SignatureFlags["IsStringIndexer"] = 2] = "IsStringIndexer"; SignatureFlags[SignatureFlags["IsNumberIndexer"] = 4] = "IsNumberIndexer"; -})(SignatureFlags || (SignatureFlags = {})); + return SignatureFlags; +}({}); diff --git a/crates/swc/tests/tsc-references/parserEnum2.2.minified.js b/crates/swc/tests/tsc-references/parserEnum2.2.minified.js index 6e90c77a0b934..fc3f97c64904d 100644 --- a/crates/swc/tests/tsc-references/parserEnum2.2.minified.js +++ b/crates/swc/tests/tsc-references/parserEnum2.2.minified.js @@ -1,5 +1,4 @@ //// [parserEnum2.ts] var SignatureFlags; -var SignatureFlags1; +var SignatureFlags1 = ((SignatureFlags = {})[SignatureFlags.None = 0] = "None", SignatureFlags[SignatureFlags.IsIndexer = 1] = "IsIndexer", SignatureFlags[SignatureFlags.IsStringIndexer = 2] = "IsStringIndexer", SignatureFlags[SignatureFlags.IsNumberIndexer = 4] = "IsNumberIndexer", SignatureFlags); export { SignatureFlags1 as SignatureFlags }; -(SignatureFlags = SignatureFlags1 || (SignatureFlags1 = {}))[SignatureFlags.None = 0] = "None", SignatureFlags[SignatureFlags.IsIndexer = 1] = "IsIndexer", SignatureFlags[SignatureFlags.IsStringIndexer = 2] = "IsStringIndexer", SignatureFlags[SignatureFlags.IsNumberIndexer = 4] = "IsNumberIndexer"; diff --git a/crates/swc/tests/tsc-references/parserEnum3.1.normal.js b/crates/swc/tests/tsc-references/parserEnum3.1.normal.js index 465249311d724..362d3edbb1218 100644 --- a/crates/swc/tests/tsc-references/parserEnum3.1.normal.js +++ b/crates/swc/tests/tsc-references/parserEnum3.1.normal.js @@ -1,3 +1,4 @@ //// [parserEnum3.ts] -export var SignatureFlags; -(function(SignatureFlags) {})(SignatureFlags || (SignatureFlags = {})); +export var SignatureFlags = /*#__PURE__*/ function(SignatureFlags) { + return SignatureFlags; +}({}); diff --git a/crates/swc/tests/tsc-references/parserEnum3.2.minified.js b/crates/swc/tests/tsc-references/parserEnum3.2.minified.js index 62a20948678a7..db2c464916231 100644 --- a/crates/swc/tests/tsc-references/parserEnum3.2.minified.js +++ b/crates/swc/tests/tsc-references/parserEnum3.2.minified.js @@ -1,3 +1,2 @@ //// [parserEnum3.ts] -export var SignatureFlags; -SignatureFlags || (SignatureFlags = {}); +export var SignatureFlags = {}; diff --git a/crates/swc/tests/tsc-references/parserEnum6.1.normal.js b/crates/swc/tests/tsc-references/parserEnum6.1.normal.js index 3a108f2782c13..0b8263372b418 100644 --- a/crates/swc/tests/tsc-references/parserEnum6.1.normal.js +++ b/crates/swc/tests/tsc-references/parserEnum6.1.normal.js @@ -1,7 +1,7 @@ //// [parserEnum6.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; E[E["C"] = 2] = "C"; -})(E || (E = {})); + return E; +}(E || {}); diff --git a/crates/swc/tests/tsc-references/parserEnum6.2.minified.js b/crates/swc/tests/tsc-references/parserEnum6.2.minified.js index ff0e32b007011..f5e71df4d1852 100644 --- a/crates/swc/tests/tsc-references/parserEnum6.2.minified.js +++ b/crates/swc/tests/tsc-references/parserEnum6.2.minified.js @@ -1,3 +1,2 @@ //// [parserEnum6.ts] -var E, E1; -(E1 = E || (E = {}))[E1.A = 0] = "A", E1[E1.B = 1] = "B", E1[E1.C = 2] = "C"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E[E.B = 1] = "B", E[E.C = 2] = "C", E); diff --git a/crates/swc/tests/tsc-references/parserEnumDeclaration1.1.normal.js b/crates/swc/tests/tsc-references/parserEnumDeclaration1.1.normal.js index a01f689e941cf..085b837b8b398 100644 --- a/crates/swc/tests/tsc-references/parserEnumDeclaration1.1.normal.js +++ b/crates/swc/tests/tsc-references/parserEnumDeclaration1.1.normal.js @@ -1,6 +1,6 @@ //// [parserEnumDeclaration1.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["Foo"] = 1] = "Foo"; E[E["Bar"] = 2] = "Bar"; -})(E || (E = {})); + return E; +}(E || {}); diff --git a/crates/swc/tests/tsc-references/parserEnumDeclaration1.2.minified.js b/crates/swc/tests/tsc-references/parserEnumDeclaration1.2.minified.js index 221eff2f4e913..06f4aeffd80c3 100644 --- a/crates/swc/tests/tsc-references/parserEnumDeclaration1.2.minified.js +++ b/crates/swc/tests/tsc-references/parserEnumDeclaration1.2.minified.js @@ -1,3 +1,2 @@ //// [parserEnumDeclaration1.ts] -var E, E1; -(E1 = E || (E = {}))[E1.Foo = 1] = "Foo", E1[E1.Bar = 2] = "Bar"; +var E, E1 = ((E = E1 || {})[E.Foo = 1] = "Foo", E[E.Bar = 2] = "Bar", E); diff --git a/crates/swc/tests/tsc-references/parserEnumDeclaration5.1.normal.js b/crates/swc/tests/tsc-references/parserEnumDeclaration5.1.normal.js index 5ba4a0ac8c52b..18819a49ddc11 100644 --- a/crates/swc/tests/tsc-references/parserEnumDeclaration5.1.normal.js +++ b/crates/swc/tests/tsc-references/parserEnumDeclaration5.1.normal.js @@ -1,8 +1,8 @@ //// [parserEnumDeclaration5.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 1] = "A"; E[E["B"] = 2] = "B"; E[E["C"] = 2] = "C"; E[E["D"] = 3] = "D"; -})(E || (E = {})); + return E; +}(E || {}); diff --git a/crates/swc/tests/tsc-references/parserEnumDeclaration5.2.minified.js b/crates/swc/tests/tsc-references/parserEnumDeclaration5.2.minified.js index d7a9368a160f5..ea089848aa42f 100644 --- a/crates/swc/tests/tsc-references/parserEnumDeclaration5.2.minified.js +++ b/crates/swc/tests/tsc-references/parserEnumDeclaration5.2.minified.js @@ -1,3 +1,2 @@ //// [parserEnumDeclaration5.ts] -var E, E1; -(E1 = E || (E = {}))[E1.A = 1] = "A", E1[E1.B = 2] = "B", E1[E1.C = 2] = "C", E1[E1.D = 3] = "D"; +var E, E1 = ((E = E1 || {})[E.A = 1] = "A", E[E.B = 2] = "B", E[E.C = 2] = "C", E[E.D = 3] = "D", E); diff --git a/crates/swc/tests/tsc-references/parserEnumDeclaration6.1.normal.js b/crates/swc/tests/tsc-references/parserEnumDeclaration6.1.normal.js index 25cdcda7a2358..c07e8ba0e5d15 100644 --- a/crates/swc/tests/tsc-references/parserEnumDeclaration6.1.normal.js +++ b/crates/swc/tests/tsc-references/parserEnumDeclaration6.1.normal.js @@ -1,8 +1,8 @@ //// [parserEnumDeclaration6.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 1] = "A"; E[E["B"] = 2] = "B"; E[E["C"] = 2] = "C"; E[E["D"] = 3] = "D"; -})(E || (E = {})); + return E; +}(E || {}); diff --git a/crates/swc/tests/tsc-references/parserEnumDeclaration6.2.minified.js b/crates/swc/tests/tsc-references/parserEnumDeclaration6.2.minified.js index 63b30d07fe35c..3924e57402c9d 100644 --- a/crates/swc/tests/tsc-references/parserEnumDeclaration6.2.minified.js +++ b/crates/swc/tests/tsc-references/parserEnumDeclaration6.2.minified.js @@ -1,3 +1,2 @@ //// [parserEnumDeclaration6.ts] -var E, E1; -(E1 = E || (E = {}))[E1.A = 1] = "A", E1[E1.B = 2] = "B", E1[E1.C = 2] = "C", E1[E1.D = 3] = "D"; +var E, E1 = ((E = E1 || {})[E.A = 1] = "A", E[E.B = 2] = "B", E[E.C = 2] = "C", E[E.D = 3] = "D", E); diff --git a/crates/swc/tests/tsc-references/parserErrorRecovery_IncompleteMemberVariable1.1.normal.js b/crates/swc/tests/tsc-references/parserErrorRecovery_IncompleteMemberVariable1.1.normal.js index e63f18a343f43..dc6a202f29c36 100644 --- a/crates/swc/tests/tsc-references/parserErrorRecovery_IncompleteMemberVariable1.1.normal.js +++ b/crates/swc/tests/tsc-references/parserErrorRecovery_IncompleteMemberVariable1.1.normal.js @@ -1,7 +1,6 @@ //// [parserErrorRecovery_IncompleteMemberVariable1.ts] // Interface import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var Shapes; // Module (function(Shapes) { var Point = /*#__PURE__*/ function() { @@ -20,9 +19,9 @@ var Shapes; }(); // Static member Point.origin = new Point(0, 0); - // Class Shapes.Point = Point; })(Shapes || (Shapes = {})); // Local variables var p = new Shapes.Point(3, 4); var dist = p.getDist(); +var Shapes; diff --git a/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum.1.normal.js b/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum.1.normal.js index 338c2a39866db..3be32db76f6f6 100644 --- a/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum.1.normal.js +++ b/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum.1.normal.js @@ -1,5 +1,5 @@ //// [parserInterfaceKeywordInEnum.ts] -var Bar; -(function(Bar) { +var Bar = /*#__PURE__*/ function(Bar) { Bar[Bar["interface"] = 0] = "interface"; -})(Bar || (Bar = {})); + return Bar; +}(Bar || {}); diff --git a/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum.2.minified.js b/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum.2.minified.js index 1c2ff62d8cfdf..0cf07367d3a7d 100644 --- a/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum.2.minified.js +++ b/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum.2.minified.js @@ -1,3 +1,2 @@ //// [parserInterfaceKeywordInEnum.ts] -var Bar, Bar1; -(Bar1 = Bar || (Bar = {}))[Bar1.interface = 0] = "interface"; +var Bar, Bar1 = ((Bar = Bar1 || {})[Bar.interface = 0] = "interface", Bar); diff --git a/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum1.1.normal.js b/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum1.1.normal.js index 0ac1c2de8d28f..3430df1fd58ca 100644 --- a/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum1.1.normal.js +++ b/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum1.1.normal.js @@ -1,6 +1,6 @@ //// [parserInterfaceKeywordInEnum1.ts] "use strict"; -var Bar; -(function(Bar) { +var Bar = /*#__PURE__*/ function(Bar) { Bar[Bar["interface"] = 0] = "interface"; -})(Bar || (Bar = {})); + return Bar; +}(Bar || {}); diff --git a/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum1.2.minified.js b/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum1.2.minified.js index b8aca4bdd3b79..fce2654ef3bd3 100644 --- a/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum1.2.minified.js +++ b/crates/swc/tests/tsc-references/parserInterfaceKeywordInEnum1.2.minified.js @@ -1,3 +1,2 @@ //// [parserInterfaceKeywordInEnum1.ts] -var Bar, Bar1; -(Bar1 = Bar || (Bar = {}))[Bar1.interface = 0] = "interface"; +var Bar, Bar1 = ((Bar = Bar1 || {})[Bar.interface = 0] = "interface", Bar); diff --git a/crates/swc/tests/tsc-references/parserModule1.1.normal.js b/crates/swc/tests/tsc-references/parserModule1.1.normal.js index 50ae80a27f3e8..632c270376fbb 100644 --- a/crates/swc/tests/tsc-references/parserModule1.1.normal.js +++ b/crates/swc/tests/tsc-references/parserModule1.1.normal.js @@ -1,5 +1,4 @@ //// [parserModule1.ts] -export var CompilerDiagnostics; (function(CompilerDiagnostics) { CompilerDiagnostics.debug = false; CompilerDiagnostics.diagnosticWriter = null; @@ -25,3 +24,4 @@ export var CompilerDiagnostics; } CompilerDiagnostics.assert = assert; })(CompilerDiagnostics || (CompilerDiagnostics = {})); +export var CompilerDiagnostics; diff --git a/crates/swc/tests/tsc-references/parserModule1.2.minified.js b/crates/swc/tests/tsc-references/parserModule1.2.minified.js index 3cfb0451257bf..2b5a88122c62a 100644 --- a/crates/swc/tests/tsc-references/parserModule1.2.minified.js +++ b/crates/swc/tests/tsc-references/parserModule1.2.minified.js @@ -1,5 +1,4 @@ //// [parserModule1.ts] -export var CompilerDiagnostics; !function(CompilerDiagnostics) { function Alert(output) { CompilerDiagnostics.diagnosticWriter && CompilerDiagnostics.diagnosticWriter.Alert(output); @@ -10,3 +9,4 @@ export var CompilerDiagnostics; CompilerDiagnostics.debug && !condition && Alert(s); }; }(CompilerDiagnostics || (CompilerDiagnostics = {})); +export var CompilerDiagnostics; diff --git a/crates/swc/tests/tsc-references/parserRealSource1.1.normal.js b/crates/swc/tests/tsc-references/parserRealSource1.1.normal.js index 580b8cb9a859c..7ba24e612998c 100644 --- a/crates/swc/tests/tsc-references/parserRealSource1.1.normal.js +++ b/crates/swc/tests/tsc-references/parserRealSource1.1.normal.js @@ -3,9 +3,7 @@ // See LICENSE.txt in the project root for complete license information. /// import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var TypeScript; (function(TypeScript) { - var CompilerDiagnostics; (function(CompilerDiagnostics) { CompilerDiagnostics.debug = false; CompilerDiagnostics.diagnosticWriter = null; @@ -30,7 +28,7 @@ var TypeScript; } } CompilerDiagnostics.assert = assert; - })(CompilerDiagnostics = TypeScript.CompilerDiagnostics || (TypeScript.CompilerDiagnostics = {})); + })(TypeScript.CompilerDiagnostics || (TypeScript.CompilerDiagnostics = {})); var NullLogger = /*#__PURE__*/ function() { "use strict"; function NullLogger() { @@ -172,3 +170,4 @@ var TypeScript; } TypeScript.stringToLiteral = stringToLiteral; })(TypeScript || (TypeScript = {})); +var TypeScript; diff --git a/crates/swc/tests/tsc-references/parserRealSource12.1.normal.js b/crates/swc/tests/tsc-references/parserRealSource12.1.normal.js index 1cfa36516e3f9..b73099c7dc2ba 100644 --- a/crates/swc/tests/tsc-references/parserRealSource12.1.normal.js +++ b/crates/swc/tests/tsc-references/parserRealSource12.1.normal.js @@ -3,7 +3,6 @@ // See LICENSE.txt in the project root for complete license information. /// import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var TypeScript; (function(TypeScript) { var AstWalkOptions = /*#__PURE__*/ function() { "use strict"; @@ -207,7 +206,6 @@ var TypeScript; return globalAstWalkerFactory; } TypeScript.getAstWalkerFactory = getAstWalkerFactory; - var ChildrenWalkers; (function(ChildrenWalkers) { function walkNone(preAst, parent, walker) { // Nothing to do @@ -504,4 +502,6 @@ var TypeScript; } ChildrenWalkers.walkLabeledStatementChildren = walkLabeledStatementChildren; })(ChildrenWalkers || (ChildrenWalkers = {})); + var ChildrenWalkers; })(TypeScript || (TypeScript = {})); +var TypeScript; diff --git a/crates/swc/tests/tsc-references/parserRealSource13.1.normal.js b/crates/swc/tests/tsc-references/parserRealSource13.1.normal.js index bb1b798fa813f..88d99670b4f66 100644 --- a/crates/swc/tests/tsc-references/parserRealSource13.1.normal.js +++ b/crates/swc/tests/tsc-references/parserRealSource13.1.normal.js @@ -2,7 +2,6 @@ // Copyright (c) Microsoft. All rights reserved. Licensed under the Apache License, Version 2.0. // See LICENSE.txt in the project root for complete license information. /// -var TypeScript; (function(TypeScript) { (function(AstWalkerWithDetailCallback) { function walk(script, callback) { @@ -32,3 +31,4 @@ var TypeScript; } })(TypeScript.AstWalkerWithDetailCallback || (TypeScript.AstWalkerWithDetailCallback = {})); })(TypeScript || (TypeScript = {})); +var TypeScript; diff --git a/crates/swc/tests/tsc-references/parserRealSource14.1.normal.js b/crates/swc/tests/tsc-references/parserRealSource14.1.normal.js index cfb8e99761e46..4d955c899528e 100644 --- a/crates/swc/tests/tsc-references/parserRealSource14.1.normal.js +++ b/crates/swc/tests/tsc-references/parserRealSource14.1.normal.js @@ -3,7 +3,6 @@ // See LICENSE.txt in the project root for complete license information. /// import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var TypeScript; (function(TypeScript) { function lastOf(items) { return items === null || items.length === 0 ? null : items[items.length - 1]; @@ -236,10 +235,6 @@ var TypeScript; }; return AstPath; }(); - // - // Helper class representing a path from a root ast node to a (grand)child ast node. - // This is helpful as our tree don't have parents. - // TypeScript.AstPath = AstPath; function isValidAstNode(ast) { if (ast === null) return false; @@ -253,7 +248,6 @@ var TypeScript; this.path = new TypeScript.AstPath(); }; TypeScript.AstPathContext = AstPathContext; - var GetAstPathOptions; (function(GetAstPathOptions) { GetAstPathOptions[GetAstPathOptions["Default"] = 0] = "Default"; GetAstPathOptions[GetAstPathOptions["EdgeInclusive"] = 1] = "EdgeInclusive"; @@ -265,7 +259,7 @@ var TypeScript; // we don't find the "precomment" attached to the errorneous empty stmt. //TODO: It would be nice to be able to get rid of this. GetAstPathOptions[GetAstPathOptions["DontPruneSearchBasedOnPosition"] = 2] = "DontPruneSearchBasedOnPosition"; - })(GetAstPathOptions = TypeScript.GetAstPathOptions || (TypeScript.GetAstPathOptions = {})); + })(TypeScript.GetAstPathOptions || (TypeScript.GetAstPathOptions = {})); function getAstPathToPosition(script, pos) { var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0; var lookInComments = function(comments) { @@ -322,9 +316,6 @@ var TypeScript; TypeScript.getAstWalkerFactory().walk(script, pre, null, null, ctx); return ctx.path; } - /// - /// Return the stack of AST nodes containing "position" - /// TypeScript.getAstPathToPosition = getAstPathToPosition; function getTokenizationOffset(script, position) { var bestOffset = 0; @@ -344,10 +335,6 @@ var TypeScript; TypeScript.getAstWalkerFactory().walk(script, pre); return bestOffset; } - // - // Find a source text offset that is safe for lexing tokens at the given position. - // This is used when "position" might be inside a comment or string, etc. - // TypeScript.getTokenizationOffset = getTokenizationOffset; function walkAST(ast, callback) { var pre = function pre(cur, parent, walker) { @@ -364,8 +351,6 @@ var TypeScript; var path = new AstPath(); TypeScript.getAstWalkerFactory().walk(ast, pre, post, null, path); } - /// - /// Simple function to Walk an AST using a simple callback function. - /// TypeScript.walkAST = walkAST; })(TypeScript || (TypeScript = {})); +var TypeScript; diff --git a/crates/swc/tests/tsc-references/parserRealSource2.1.normal.js b/crates/swc/tests/tsc-references/parserRealSource2.1.normal.js index f306d50bf640d..776aa0429a3fe 100644 --- a/crates/swc/tests/tsc-references/parserRealSource2.1.normal.js +++ b/crates/swc/tests/tsc-references/parserRealSource2.1.normal.js @@ -2,13 +2,11 @@ // Copyright (c) Microsoft. All rights reserved. Licensed under the Apache License, Version 2.0. // See LICENSE.txt in the project root for complete license information. /// -var TypeScript; (function(TypeScript) { function hasFlag(val, flag) { return (val & flag) != 0; } TypeScript.hasFlag = hasFlag; - var ErrorRecoverySet; (function(ErrorRecoverySet) { ErrorRecoverySet[ErrorRecoverySet["None"] = 0] = "None"; ErrorRecoverySet[ErrorRecoverySet["Comma"] = 1] = "Comma"; @@ -48,8 +46,7 @@ var TypeScript; ErrorRecoverySet[ErrorRecoverySet["ExprStart"] = 520158210] = "ExprStart"; ErrorRecoverySet[ErrorRecoverySet["StmtStart"] = 1608580098] = "StmtStart"; ErrorRecoverySet[ErrorRecoverySet["Postfix"] = 49280] = "Postfix"; - })(ErrorRecoverySet = TypeScript.ErrorRecoverySet || (TypeScript.ErrorRecoverySet = {})); - var AllowedElements; + })(TypeScript.ErrorRecoverySet || (TypeScript.ErrorRecoverySet = {})); (function(AllowedElements) { AllowedElements[AllowedElements["None"] = 0] = "None"; AllowedElements[AllowedElements["ModuleDeclarations"] = 4] = "ModuleDeclarations"; @@ -59,8 +56,7 @@ var TypeScript; AllowedElements[AllowedElements["Properties"] = 2048] = "Properties"; AllowedElements[AllowedElements["Global"] = 1052] = "Global"; AllowedElements[AllowedElements["QuickParse"] = 3100] = "QuickParse"; - })(AllowedElements = TypeScript.AllowedElements || (TypeScript.AllowedElements = {})); - var Modifiers; + })(TypeScript.AllowedElements || (TypeScript.AllowedElements = {})); (function(Modifiers) { Modifiers[Modifiers["None"] = 0] = "None"; Modifiers[Modifiers["Private"] = 1] = "Private"; @@ -71,8 +67,7 @@ var TypeScript; Modifiers[Modifiers["Getter"] = 32] = "Getter"; Modifiers[Modifiers["Setter"] = 64] = "Setter"; Modifiers[Modifiers["Static"] = 128] = "Static"; - })(Modifiers = TypeScript.Modifiers || (TypeScript.Modifiers = {})); - var ASTFlags; + })(TypeScript.Modifiers || (TypeScript.Modifiers = {})); (function(ASTFlags) { ASTFlags[ASTFlags["None"] = 0] = "None"; ASTFlags[ASTFlags["ExplicitSemicolon"] = 1] = "ExplicitSemicolon"; @@ -90,8 +85,7 @@ var TypeScript; // The flag is used to communicate this piece of information to the calling parseTerm, which intern will remove it. // Once we have a better way to associate information with nodes, this flag should not be used. ASTFlags[ASTFlags["SkipNextRParen"] = 2048] = "SkipNextRParen"; - })(ASTFlags = TypeScript.ASTFlags || (TypeScript.ASTFlags = {})); - var DeclFlags; + })(TypeScript.ASTFlags || (TypeScript.ASTFlags = {})); (function(DeclFlags) { DeclFlags[DeclFlags["None"] = 0] = "None"; DeclFlags[DeclFlags["Exported"] = 1] = "Exported"; @@ -102,8 +96,7 @@ var TypeScript; DeclFlags[DeclFlags["LocalStatic"] = 32] = "LocalStatic"; DeclFlags[DeclFlags["GetAccessor"] = 64] = "GetAccessor"; DeclFlags[DeclFlags["SetAccessor"] = 128] = "SetAccessor"; - })(DeclFlags = TypeScript.DeclFlags || (TypeScript.DeclFlags = {})); - var ModuleFlags; + })(TypeScript.DeclFlags || (TypeScript.DeclFlags = {})); (function(ModuleFlags) { ModuleFlags[ModuleFlags["None"] = 0] = "None"; ModuleFlags[ModuleFlags["Exported"] = 1] = "Exported"; @@ -119,8 +112,7 @@ var TypeScript; ModuleFlags[ModuleFlags["IsWholeFile"] = 1024] = "IsWholeFile"; ModuleFlags[ModuleFlags["IsDynamic"] = 2048] = "IsDynamic"; ModuleFlags[ModuleFlags["MustCaptureThis"] = 4096] = "MustCaptureThis"; - })(ModuleFlags = TypeScript.ModuleFlags || (TypeScript.ModuleFlags = {})); - var SymbolFlags; + })(TypeScript.ModuleFlags || (TypeScript.ModuleFlags = {})); (function(SymbolFlags) { SymbolFlags[SymbolFlags["None"] = 0] = "None"; SymbolFlags[SymbolFlags["Exported"] = 1] = "Exported"; @@ -143,8 +135,7 @@ var TypeScript; SymbolFlags[SymbolFlags["RecursivelyReferenced"] = 131072] = "RecursivelyReferenced"; SymbolFlags[SymbolFlags["Bound"] = 262144] = "Bound"; SymbolFlags[SymbolFlags["CompilerGenerated"] = 524288] = "CompilerGenerated"; - })(SymbolFlags = TypeScript.SymbolFlags || (TypeScript.SymbolFlags = {})); - var VarFlags; + })(TypeScript.SymbolFlags || (TypeScript.SymbolFlags = {})); (function(VarFlags) { VarFlags[VarFlags["None"] = 0] = "None"; VarFlags[VarFlags["Exported"] = 1] = "Exported"; @@ -165,8 +156,7 @@ var TypeScript; VarFlags[VarFlags["ClassSuperMustBeFirstCallInConstructor"] = 32768] = "ClassSuperMustBeFirstCallInConstructor"; VarFlags[VarFlags["Constant"] = 65536] = "Constant"; VarFlags[VarFlags["MustCaptureThis"] = 131072] = "MustCaptureThis"; - })(VarFlags = TypeScript.VarFlags || (TypeScript.VarFlags = {})); - var FncFlags; + })(TypeScript.VarFlags || (TypeScript.VarFlags = {})); (function(FncFlags) { FncFlags[FncFlags["None"] = 0] = "None"; FncFlags[FncFlags["Exported"] = 1] = "Exported"; @@ -189,19 +179,17 @@ var TypeScript; FncFlags[FncFlags["IsFunctionExpression"] = 131072] = "IsFunctionExpression"; FncFlags[FncFlags["ClassMethod"] = 262144] = "ClassMethod"; FncFlags[FncFlags["ClassPropertyMethodExported"] = 524288] = "ClassPropertyMethodExported"; - })(FncFlags = TypeScript.FncFlags || (TypeScript.FncFlags = {})); - var SignatureFlags; + })(TypeScript.FncFlags || (TypeScript.FncFlags = {})); (function(SignatureFlags) { SignatureFlags[SignatureFlags["None"] = 0] = "None"; SignatureFlags[SignatureFlags["IsIndexer"] = 1] = "IsIndexer"; SignatureFlags[SignatureFlags["IsStringIndexer"] = 2] = "IsStringIndexer"; SignatureFlags[SignatureFlags["IsNumberIndexer"] = 4] = "IsNumberIndexer"; - })(SignatureFlags = TypeScript.SignatureFlags || (TypeScript.SignatureFlags = {})); + })(TypeScript.SignatureFlags || (TypeScript.SignatureFlags = {})); function ToDeclFlags(fncOrVarOrSymbolOrModuleFlags) { return fncOrVarOrSymbolOrModuleFlags; } TypeScript.ToDeclFlags = ToDeclFlags; - var TypeFlags; (function(TypeFlags) { TypeFlags[TypeFlags["None"] = 0] = "None"; TypeFlags[TypeFlags["HasImplementation"] = 1] = "HasImplementation"; @@ -212,8 +200,7 @@ var TypeScript; TypeFlags[TypeFlags["HasBaseType"] = 32] = "HasBaseType"; TypeFlags[TypeFlags["HasBaseTypeOfObject"] = 64] = "HasBaseTypeOfObject"; TypeFlags[TypeFlags["IsClass"] = 128] = "IsClass"; - })(TypeFlags = TypeScript.TypeFlags || (TypeScript.TypeFlags = {})); - var TypeRelationshipFlags; + })(TypeScript.TypeFlags || (TypeScript.TypeFlags = {})); (function(TypeRelationshipFlags) { TypeRelationshipFlags[TypeRelationshipFlags["SuccessfulComparison"] = 0] = "SuccessfulComparison"; TypeRelationshipFlags[TypeRelationshipFlags["SourceIsNullTargetIsVoidOrUndefined"] = 1] = "SourceIsNullTargetIsVoidOrUndefined"; @@ -223,20 +210,16 @@ var TypeScript; TypeRelationshipFlags[TypeRelationshipFlags["IncompatibleReturnTypes"] = 16] = "IncompatibleReturnTypes"; TypeRelationshipFlags[TypeRelationshipFlags["IncompatiblePropertyTypes"] = 32] = "IncompatiblePropertyTypes"; TypeRelationshipFlags[TypeRelationshipFlags["IncompatibleParameterTypes"] = 64] = "IncompatibleParameterTypes"; - })(TypeRelationshipFlags = TypeScript.TypeRelationshipFlags || (TypeScript.TypeRelationshipFlags = {})); - var CodeGenTarget; + })(TypeScript.TypeRelationshipFlags || (TypeScript.TypeRelationshipFlags = {})); (function(CodeGenTarget) { CodeGenTarget[CodeGenTarget["ES3"] = 0] = "ES3"; CodeGenTarget[CodeGenTarget["ES5"] = 1] = "ES5"; - })(CodeGenTarget = TypeScript.CodeGenTarget || (TypeScript.CodeGenTarget = {})); - var ModuleGenTarget; + })(TypeScript.CodeGenTarget || (TypeScript.CodeGenTarget = {})); (function(ModuleGenTarget) { ModuleGenTarget[ModuleGenTarget["Synchronous"] = 0] = "Synchronous"; ModuleGenTarget[ModuleGenTarget["Asynchronous"] = 1] = "Asynchronous"; ModuleGenTarget[ModuleGenTarget["Local"] = 2] = "Local"; - })(ModuleGenTarget = TypeScript.ModuleGenTarget || (TypeScript.ModuleGenTarget = {})); - // Compiler defaults to generating ES5-compliant code for - // - getters and setters + })(TypeScript.ModuleGenTarget || (TypeScript.ModuleGenTarget = {})); TypeScript.codeGenTarget = 0; TypeScript.moduleGenTarget = 0; TypeScript.optimizeModuleCodeGen = true; @@ -259,3 +242,4 @@ var TypeScript; } TypeScript.flagsToString = flagsToString; })(TypeScript || (TypeScript = {})); +var TypeScript; diff --git a/crates/swc/tests/tsc-references/parserRealSource3.1.normal.js b/crates/swc/tests/tsc-references/parserRealSource3.1.normal.js index aa5f62405d796..417146bcff310 100644 --- a/crates/swc/tests/tsc-references/parserRealSource3.1.normal.js +++ b/crates/swc/tests/tsc-references/parserRealSource3.1.normal.js @@ -2,9 +2,7 @@ // Copyright (c) Microsoft. All rights reserved. Licensed under the Apache License, Version 2.0. // See LICENSE.txt in the project root for complete license information. /// -var TypeScript; (function(TypeScript) { - var NodeType; (function(NodeType) { NodeType[NodeType["None"] = 0] = "None"; NodeType[NodeType["Empty"] = 1] = "Empty"; @@ -115,5 +113,6 @@ var TypeScript; NodeType[NodeType["Debugger"] = 106] = "Debugger"; NodeType[NodeType["GeneralNode"] = 71] = "GeneralNode"; NodeType[NodeType["LastAsg"] = 41] = "LastAsg"; - })(NodeType = TypeScript.NodeType || (TypeScript.NodeType = {})); + })(TypeScript.NodeType || (TypeScript.NodeType = {})); })(TypeScript || (TypeScript = {})); +var TypeScript; diff --git a/crates/swc/tests/tsc-references/parserRealSource5.1.normal.js b/crates/swc/tests/tsc-references/parserRealSource5.1.normal.js index 30e97e34bff00..2dcbdf762bdd9 100644 --- a/crates/swc/tests/tsc-references/parserRealSource5.1.normal.js +++ b/crates/swc/tests/tsc-references/parserRealSource5.1.normal.js @@ -3,7 +3,6 @@ // See LICENSE.txt in the project root for complete license information. /// import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var TypeScript; (function(TypeScript) { var PrintContext = /*#__PURE__*/ function() { "use strict"; @@ -47,7 +46,6 @@ var TypeScript; }; return PrintContext; }(); - // TODO: refactor indent logic for use in emit TypeScript.PrintContext = PrintContext; function prePrintAST(ast, parent, walker) { var pc = walker.state; @@ -63,3 +61,4 @@ var TypeScript; } TypeScript.postPrintAST = postPrintAST; })(TypeScript || (TypeScript = {})); +var TypeScript; diff --git a/crates/swc/tests/tsc-references/parserRealSource6.1.normal.js b/crates/swc/tests/tsc-references/parserRealSource6.1.normal.js index 86637d661a6e2..24061b7ce349f 100644 --- a/crates/swc/tests/tsc-references/parserRealSource6.1.normal.js +++ b/crates/swc/tests/tsc-references/parserRealSource6.1.normal.js @@ -3,7 +3,6 @@ // See LICENSE.txt in the project root for complete license information. /// import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var TypeScript; (function(TypeScript) { var TypeCollectionContext = function TypeCollectionContext(scopeChain, checker) { "use strict"; @@ -188,10 +187,6 @@ var TypeScript; if (context.scopeStartAST === null) return null; return context; } - // - // Find the enclosing scope context from a position inside a script AST. - // The "scopeStartAST" of the returned scope is always valid. - // Return "null" if the enclosing scope can't be found. - // TypeScript.findEnclosingScopeAt = findEnclosingScopeAt; })(TypeScript || (TypeScript = {})); +var TypeScript; diff --git a/crates/swc/tests/tsc-references/parserRealSource8.1.normal.js b/crates/swc/tests/tsc-references/parserRealSource8.1.normal.js index 71ba010a04af3..3624652fa7242 100644 --- a/crates/swc/tests/tsc-references/parserRealSource8.1.normal.js +++ b/crates/swc/tests/tsc-references/parserRealSource8.1.normal.js @@ -3,7 +3,6 @@ // See LICENSE.txt in the project root for complete license information. /// import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var TypeScript; (function(TypeScript) { var AssignScopeContext = function AssignScopeContext(scopeChain, typeFlow, modDeclChain) { "use strict"; @@ -371,3 +370,4 @@ var TypeScript; } TypeScript.postAssignScopes = postAssignScopes; })(TypeScript || (TypeScript = {})); +var TypeScript; diff --git a/crates/swc/tests/tsc-references/parserSuperExpression1.1.normal.js b/crates/swc/tests/tsc-references/parserSuperExpression1.1.normal.js index b44b484e70b1e..9e4a0b86c7e69 100644 --- a/crates/swc/tests/tsc-references/parserSuperExpression1.1.normal.js +++ b/crates/swc/tests/tsc-references/parserSuperExpression1.1.normal.js @@ -13,7 +13,6 @@ var C = /*#__PURE__*/ function() { }; return C; }(); -var M1; (function(M1) { (function(M2) { var C = /*#__PURE__*/ function() { @@ -29,3 +28,4 @@ var M1; }(); })(M1.M2 || (M1.M2 = {})); })(M1 || (M1 = {})); +var M1; diff --git a/crates/swc/tests/tsc-references/parserSuperExpression4.1.normal.js b/crates/swc/tests/tsc-references/parserSuperExpression4.1.normal.js index 79751b10bf9e9..c90a25cc39e17 100644 --- a/crates/swc/tests/tsc-references/parserSuperExpression4.1.normal.js +++ b/crates/swc/tests/tsc-references/parserSuperExpression4.1.normal.js @@ -13,7 +13,6 @@ var C = /*#__PURE__*/ function() { }; return C; }(); -var M1; (function(M1) { (function(M2) { var C = /*#__PURE__*/ function() { @@ -29,3 +28,4 @@ var M1; }(); })(M1.M2 || (M1.M2 = {})); })(M1 || (M1 = {})); +var M1; diff --git a/crates/swc/tests/tsc-references/parserindenter.1.normal.js b/crates/swc/tests/tsc-references/parserindenter.1.normal.js index 3e7a6e4e4cae1..2f040dd85da0a 100644 --- a/crates/swc/tests/tsc-references/parserindenter.1.normal.js +++ b/crates/swc/tests/tsc-references/parserindenter.1.normal.js @@ -15,7 +15,6 @@ // /// import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var Formatting; (function(Formatting) { var Indenter = /*#__PURE__*/ function() { "use strict"; @@ -564,3 +563,4 @@ var Formatting; }(); Formatting.Indenter = Indenter; })(Formatting || (Formatting = {})); +var Formatting; diff --git a/crates/swc/tests/tsc-references/plusOperatorWithBooleanType.1.normal.js b/crates/swc/tests/tsc-references/plusOperatorWithBooleanType.1.normal.js index 65597adf392b9..12f967f65c09d 100644 --- a/crates/swc/tests/tsc-references/plusOperatorWithBooleanType.1.normal.js +++ b/crates/swc/tests/tsc-references/plusOperatorWithBooleanType.1.normal.js @@ -15,7 +15,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // boolean type var @@ -38,3 +37,4 @@ var ResultIsNumber7 = +A.foo(); +true, false; +objA.a; +M.n; +var M; diff --git a/crates/swc/tests/tsc-references/plusOperatorWithEnumType.1.normal.js b/crates/swc/tests/tsc-references/plusOperatorWithEnumType.1.normal.js index 46ec23feb0e26..e3dc11889b9b1 100644 --- a/crates/swc/tests/tsc-references/plusOperatorWithEnumType.1.normal.js +++ b/crates/swc/tests/tsc-references/plusOperatorWithEnumType.1.normal.js @@ -1,13 +1,14 @@ //// [plusOperatorWithEnumType.ts] // + operator on enum type -var ENUM; -(function(ENUM) {})(ENUM || (ENUM = {})); -var ENUM1; -(function(ENUM1) { +var ENUM = /*#__PURE__*/ function(ENUM) { + return ENUM; +}(ENUM || {}); +var ENUM1 = /*#__PURE__*/ function(ENUM1) { ENUM1[ENUM1["A"] = 0] = "A"; ENUM1[ENUM1["B"] = 1] = "B"; ENUM1[ENUM1[""] = 2] = ""; -})(ENUM1 || (ENUM1 = {})); + return ENUM1; +}(ENUM1 || {}); // enum type var var ResultIsNumber1 = +ENUM; var ResultIsNumber2 = +ENUM1; diff --git a/crates/swc/tests/tsc-references/plusOperatorWithEnumType.2.minified.js b/crates/swc/tests/tsc-references/plusOperatorWithEnumType.2.minified.js index bf49619d56ed4..5a95378e628cf 100644 --- a/crates/swc/tests/tsc-references/plusOperatorWithEnumType.2.minified.js +++ b/crates/swc/tests/tsc-references/plusOperatorWithEnumType.2.minified.js @@ -1,3 +1,3 @@ //// [plusOperatorWithEnumType.ts] -var ENUM, ENUM1, ENUM11; -ENUM || (ENUM = {}), (ENUM11 = ENUM1 || (ENUM1 = {}))[ENUM11.A = 0] = "A", ENUM11[ENUM11.B = 1] = "B", ENUM11[ENUM11[""] = 2] = "", ENUM[0]; +var ENUM1, ENUM = ENUM || {}, ENUM11 = ((ENUM1 = ENUM11 || {})[ENUM1.A = 0] = "A", ENUM1[ENUM1.B = 1] = "B", ENUM1[ENUM1[""] = 2] = "", ENUM1); +ENUM[0]; diff --git a/crates/swc/tests/tsc-references/plusOperatorWithNumberType.1.normal.js b/crates/swc/tests/tsc-references/plusOperatorWithNumberType.1.normal.js index 822366b43ffda..9af13bb201d9f 100644 --- a/crates/swc/tests/tsc-references/plusOperatorWithNumberType.1.normal.js +++ b/crates/swc/tests/tsc-references/plusOperatorWithNumberType.1.normal.js @@ -19,7 +19,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // number type var @@ -52,3 +51,4 @@ var ResultIsNumber11 = +(NUMBER + NUMBER); +objA.a; +M.n; +objA.a, M.n; +var M; diff --git a/crates/swc/tests/tsc-references/plusOperatorWithStringType.1.normal.js b/crates/swc/tests/tsc-references/plusOperatorWithStringType.1.normal.js index 34015e00b3eeb..0cdb7cacb1c53 100644 --- a/crates/swc/tests/tsc-references/plusOperatorWithStringType.1.normal.js +++ b/crates/swc/tests/tsc-references/plusOperatorWithStringType.1.normal.js @@ -19,7 +19,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // string type var @@ -51,3 +50,4 @@ var ResultIsNumber12 = +STRING.charAt(0); +STRING1; +foo(); +objA.a, M.n; +var M; diff --git a/crates/swc/tests/tsc-references/primtiveTypesAreIdentical.1.normal.js b/crates/swc/tests/tsc-references/primtiveTypesAreIdentical.1.normal.js index f220e23d6b1a4..ec46588cb1323 100644 --- a/crates/swc/tests/tsc-references/primtiveTypesAreIdentical.1.normal.js +++ b/crates/swc/tests/tsc-references/primtiveTypesAreIdentical.1.normal.js @@ -5,9 +5,9 @@ function foo2(x) {} function foo3(x) {} function foo4(x) {} function foo5(x) {} -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); function foo6(x) {} function foo7(x) {} diff --git a/crates/swc/tests/tsc-references/primtiveTypesAreIdentical.2.minified.js b/crates/swc/tests/tsc-references/primtiveTypesAreIdentical.2.minified.js index 53901a79c026d..723a690156d27 100644 --- a/crates/swc/tests/tsc-references/primtiveTypesAreIdentical.2.minified.js +++ b/crates/swc/tests/tsc-references/primtiveTypesAreIdentical.2.minified.js @@ -1,3 +1,2 @@ //// [primtiveTypesAreIdentical.ts] -var E, E1; -(E1 = E || (E = {}))[E1.A = 0] = "A"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); diff --git a/crates/swc/tests/tsc-references/propertyAccess.1.normal.js b/crates/swc/tests/tsc-references/propertyAccess.1.normal.js index 540199f56c1ec..5b91845c60853 100644 --- a/crates/swc/tests/tsc-references/propertyAccess.1.normal.js +++ b/crates/swc/tests/tsc-references/propertyAccess.1.normal.js @@ -15,13 +15,13 @@ var B = /*#__PURE__*/ function(A) { } return B; }(A); -var Compass; -(function(Compass) { +var Compass = /*#__PURE__*/ function(Compass) { Compass[Compass["North"] = 0] = "North"; Compass[Compass["South"] = 1] = "South"; Compass[Compass["East"] = 2] = "East"; Compass[Compass["West"] = 3] = "West"; -})(Compass || (Compass = {})); + return Compass; +}(Compass || {}); var numIndex = { 3: 'three', 'three': 'three' diff --git a/crates/swc/tests/tsc-references/propertyAccess.2.minified.js b/crates/swc/tests/tsc-references/propertyAccess.2.minified.js index a904a677712dd..b85aaf89bf658 100644 --- a/crates/swc/tests/tsc-references/propertyAccess.2.minified.js +++ b/crates/swc/tests/tsc-references/propertyAccess.2.minified.js @@ -2,8 +2,7 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -(Compass1 = Compass || (Compass = {}))[Compass1.North = 0] = "North", Compass1[Compass1.South = 1] = "South", Compass1[Compass1.East = 2] = "East", Compass1[Compass1.West = 3] = "West"; -var Compass, bothIndex, stringOrNumber, someObject, Compass1, numIndex = { +var bothIndex, stringOrNumber, someObject, Compass, Compass1 = ((Compass = Compass1 || {})[Compass.North = 0] = "North", Compass[Compass.South = 1] = "South", Compass[Compass.East = 2] = "East", Compass[Compass.West = 3] = "West", Compass), numIndex = { 3: 'three', three: 'three' }, strIndex = { diff --git a/crates/swc/tests/tsc-references/propertyNamesOfReservedWords.1.normal.js b/crates/swc/tests/tsc-references/propertyNamesOfReservedWords.1.normal.js index b06323329ff54..905b6eefb5254 100644 --- a/crates/swc/tests/tsc-references/propertyNamesOfReservedWords.1.normal.js +++ b/crates/swc/tests/tsc-references/propertyNamesOfReservedWords.1.normal.js @@ -13,8 +13,7 @@ var r4 = i.as; var a; var r5 = a.abstract; var r6 = a.as; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["abstract"] = 0] = "abstract"; E[E["as"] = 1] = "as"; E[E["boolean"] = 2] = "boolean"; @@ -78,6 +77,7 @@ var E; E[E["volatile"] = 60] = "volatile"; E[E["while"] = 61] = "while"; E[E["with"] = 62] = "with"; -})(E || (E = {})); + return E; +}(E || {}); var r7 = 0; var r8 = 1; diff --git a/crates/swc/tests/tsc-references/propertyNamesOfReservedWords.2.minified.js b/crates/swc/tests/tsc-references/propertyNamesOfReservedWords.2.minified.js index 803a54ea32eed..a999124833306 100644 --- a/crates/swc/tests/tsc-references/propertyNamesOfReservedWords.2.minified.js +++ b/crates/swc/tests/tsc-references/propertyNamesOfReservedWords.2.minified.js @@ -1,4 +1,4 @@ //// [propertyNamesOfReservedWords.ts] -var c, i, a, E, E1; import "@swc/helpers/_/_class_call_check"; -c.abstract, c.as, i.abstract, i.as, a.abstract, a.as, (E1 = E || (E = {}))[E1.abstract = 0] = "abstract", E1[E1.as = 1] = "as", E1[E1.boolean = 2] = "boolean", E1[E1.break = 3] = "break", E1[E1.byte = 4] = "byte", E1[E1.case = 5] = "case", E1[E1.catch = 6] = "catch", E1[E1.char = 7] = "char", E1[E1.class = 8] = "class", E1[E1.continue = 9] = "continue", E1[E1.const = 10] = "const", E1[E1.debugger = 11] = "debugger", E1[E1.default = 12] = "default", E1[E1.delete = 13] = "delete", E1[E1.do = 14] = "do", E1[E1.double = 15] = "double", E1[E1.else = 16] = "else", E1[E1.enum = 17] = "enum", E1[E1.export = 18] = "export", E1[E1.extends = 19] = "extends", E1[E1.false = 20] = "false", E1[E1.final = 21] = "final", E1[E1.finally = 22] = "finally", E1[E1.float = 23] = "float", E1[E1.for = 24] = "for", E1[E1.function = 25] = "function", E1[E1.goto = 26] = "goto", E1[E1.if = 27] = "if", E1[E1.implements = 28] = "implements", E1[E1.import = 29] = "import", E1[E1.in = 30] = "in", E1[E1.instanceof = 31] = "instanceof", E1[E1.int = 32] = "int", E1[E1.interface = 33] = "interface", E1[E1.is = 34] = "is", E1[E1.long = 35] = "long", E1[E1.namespace = 36] = "namespace", E1[E1.native = 37] = "native", E1[E1.new = 38] = "new", E1[E1.null = 39] = "null", E1[E1.package = 40] = "package", E1[E1.private = 41] = "private", E1[E1.protected = 42] = "protected", E1[E1.public = 43] = "public", E1[E1.return = 44] = "return", E1[E1.short = 45] = "short", E1[E1.static = 46] = "static", E1[E1.super = 47] = "super", E1[E1.switch = 48] = "switch", E1[E1.synchronized = 49] = "synchronized", E1[E1.this = 50] = "this", E1[E1.throw = 51] = "throw", E1[E1.throws = 52] = "throws", E1[E1.transient = 53] = "transient", E1[E1.true = 54] = "true", E1[E1.try = 55] = "try", E1[E1.typeof = 56] = "typeof", E1[E1.use = 57] = "use", E1[E1.var = 58] = "var", E1[E1.void = 59] = "void", E1[E1.volatile = 60] = "volatile", E1[E1.while = 61] = "while", E1[E1.with = 62] = "with"; +c.abstract, c.as, i.abstract, i.as, a.abstract, a.as; +var E, c, i, a, E1 = ((E = E1 || {})[E.abstract = 0] = "abstract", E[E.as = 1] = "as", E[E.boolean = 2] = "boolean", E[E.break = 3] = "break", E[E.byte = 4] = "byte", E[E.case = 5] = "case", E[E.catch = 6] = "catch", E[E.char = 7] = "char", E[E.class = 8] = "class", E[E.continue = 9] = "continue", E[E.const = 10] = "const", E[E.debugger = 11] = "debugger", E[E.default = 12] = "default", E[E.delete = 13] = "delete", E[E.do = 14] = "do", E[E.double = 15] = "double", E[E.else = 16] = "else", E[E.enum = 17] = "enum", E[E.export = 18] = "export", E[E.extends = 19] = "extends", E[E.false = 20] = "false", E[E.final = 21] = "final", E[E.finally = 22] = "finally", E[E.float = 23] = "float", E[E.for = 24] = "for", E[E.function = 25] = "function", E[E.goto = 26] = "goto", E[E.if = 27] = "if", E[E.implements = 28] = "implements", E[E.import = 29] = "import", E[E.in = 30] = "in", E[E.instanceof = 31] = "instanceof", E[E.int = 32] = "int", E[E.interface = 33] = "interface", E[E.is = 34] = "is", E[E.long = 35] = "long", E[E.namespace = 36] = "namespace", E[E.native = 37] = "native", E[E.new = 38] = "new", E[E.null = 39] = "null", E[E.package = 40] = "package", E[E.private = 41] = "private", E[E.protected = 42] = "protected", E[E.public = 43] = "public", E[E.return = 44] = "return", E[E.short = 45] = "short", E[E.static = 46] = "static", E[E.super = 47] = "super", E[E.switch = 48] = "switch", E[E.synchronized = 49] = "synchronized", E[E.this = 50] = "this", E[E.throw = 51] = "throw", E[E.throws = 52] = "throws", E[E.transient = 53] = "transient", E[E.true = 54] = "true", E[E.try = 55] = "try", E[E.typeof = 56] = "typeof", E[E.use = 57] = "use", E[E.var = 58] = "var", E[E.void = 59] = "void", E[E.volatile = 60] = "volatile", E[E.while = 61] = "while", E[E.with = 62] = "with", E); diff --git a/crates/swc/tests/tsc-references/scannerEnum1.1.normal.js b/crates/swc/tests/tsc-references/scannerEnum1.1.normal.js index 40a3a7a1999e8..1ebda59329066 100644 --- a/crates/swc/tests/tsc-references/scannerEnum1.1.normal.js +++ b/crates/swc/tests/tsc-references/scannerEnum1.1.normal.js @@ -1,6 +1,6 @@ //// [scannerEnum1.ts] -export var CodeGenTarget; -(function(CodeGenTarget) { +export var CodeGenTarget = /*#__PURE__*/ function(CodeGenTarget) { CodeGenTarget[CodeGenTarget["ES3"] = 0] = "ES3"; CodeGenTarget[CodeGenTarget["ES5"] = 1] = "ES5"; -})(CodeGenTarget || (CodeGenTarget = {})); + return CodeGenTarget; +}({}); diff --git a/crates/swc/tests/tsc-references/scannerEnum1.2.minified.js b/crates/swc/tests/tsc-references/scannerEnum1.2.minified.js index bb3ed63f4d5bb..e634dd6c833f2 100644 --- a/crates/swc/tests/tsc-references/scannerEnum1.2.minified.js +++ b/crates/swc/tests/tsc-references/scannerEnum1.2.minified.js @@ -1,5 +1,4 @@ //// [scannerEnum1.ts] var CodeGenTarget; -var CodeGenTarget1; -export { CodeGenTarget1 as CodeGenTarget }; -(CodeGenTarget = CodeGenTarget1 || (CodeGenTarget1 = {}))[CodeGenTarget.ES3 = 0] = "ES3", CodeGenTarget[CodeGenTarget.ES5 = 1] = "ES5"; +var CodeGenTarget1 = ((CodeGenTarget = {})[CodeGenTarget.ES3 = 0] = "ES3", CodeGenTarget[CodeGenTarget.ES5 = 1] = "ES5", CodeGenTarget); +export { CodeGenTarget1 as CodeGenTarget, }; diff --git a/crates/swc/tests/tsc-references/scopeResolutionIdentifiers.1.normal.js b/crates/swc/tests/tsc-references/scopeResolutionIdentifiers.1.normal.js index aafcccffbcbb2..1ffe4aaf15232 100644 --- a/crates/swc/tests/tsc-references/scopeResolutionIdentifiers.1.normal.js +++ b/crates/swc/tests/tsc-references/scopeResolutionIdentifiers.1.normal.js @@ -2,12 +2,10 @@ // EveryType used in a nested scope of a different EveryType with the same name, type of the identifier is the one defined in the inner scope import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; var s; -var M1; (function(M1) { var n = M1.s; var n; })(M1 || (M1 = {})); -var M2; (function(M2) { var s; var n = s; @@ -31,12 +29,12 @@ var C = /*#__PURE__*/ function() { }; return C; }(); -var M3; (function(M3) { var s; - var M4; (function(M4) { var n = s; var n; })(M4 || (M4 = {})); + var M4; })(M3 || (M3 = {})); +var M1, M2, M3; diff --git a/crates/swc/tests/tsc-references/staticPropertyNotInClassType.1.normal.js b/crates/swc/tests/tsc-references/staticPropertyNotInClassType.1.normal.js index 230fa316ccb96..c6d372b31046f 100644 --- a/crates/swc/tests/tsc-references/staticPropertyNotInClassType.1.normal.js +++ b/crates/swc/tests/tsc-references/staticPropertyNotInClassType.1.normal.js @@ -1,7 +1,6 @@ //// [staticPropertyNotInClassType.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _create_class } from "@swc/helpers/_/_create_class"; -var NonGeneric; (function(NonGeneric) { var C = /*#__PURE__*/ function() { "use strict"; @@ -34,7 +33,6 @@ var NonGeneric; var r5 = c.bar; // error var r6 = c.x; // error })(NonGeneric || (NonGeneric = {})); -var Generic; (function(Generic) { var C = /*#__PURE__*/ function() { "use strict"; @@ -67,3 +65,4 @@ var Generic; var r5 = c.bar; // error var r6 = c.x; // error })(Generic || (Generic = {})); +var NonGeneric, Generic; diff --git a/crates/swc/tests/tsc-references/strictPropertyInitialization.1.normal.js b/crates/swc/tests/tsc-references/strictPropertyInitialization.1.normal.js index 18f54caba6f64..e48a785d53a3d 100644 --- a/crates/swc/tests/tsc-references/strictPropertyInitialization.1.normal.js +++ b/crates/swc/tests/tsc-references/strictPropertyInitialization.1.normal.js @@ -138,11 +138,11 @@ class C12 { this['c'] = 1; } } -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E["A"] = "A"; E["B"] = "B"; -})(E || (E = {})); + return E; +}(E || {}); class C13 { constructor(){ this["A"] = 1; diff --git a/crates/swc/tests/tsc-references/strictPropertyInitialization.2.minified.js b/crates/swc/tests/tsc-references/strictPropertyInitialization.2.minified.js index 8cf584f8bd989..96ac7263fa00a 100644 --- a/crates/swc/tests/tsc-references/strictPropertyInitialization.2.minified.js +++ b/crates/swc/tests/tsc-references/strictPropertyInitialization.2.minified.js @@ -1,6 +1,6 @@ //// [strictPropertyInitialization.ts] -var E, E1; import "@swc/helpers/_/_class_private_field_get"; import "@swc/helpers/_/_class_private_field_init"; import "@swc/helpers/_/_class_private_field_set"; -Symbol(), (E1 = E || (E = {})).A = "A", E1.B = "B"; +Symbol(); +var E, E1 = ((E = E1 || {}).A = "A", E.B = "B", E); diff --git a/crates/swc/tests/tsc-references/stringEnumInElementAccess01.1.normal.js b/crates/swc/tests/tsc-references/stringEnumInElementAccess01.1.normal.js index d2eba6e8f1299..87f341c22e8ba 100644 --- a/crates/swc/tests/tsc-references/stringEnumInElementAccess01.1.normal.js +++ b/crates/swc/tests/tsc-references/stringEnumInElementAccess01.1.normal.js @@ -1,8 +1,8 @@ //// [stringEnumInElementAccess01.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E["A"] = "a"; E["B"] = "b"; E["C"] = "c"; -})(E || (E = {})); + return E; +}(E || {}); var snb = item[e]; diff --git a/crates/swc/tests/tsc-references/stringEnumInElementAccess01.2.minified.js b/crates/swc/tests/tsc-references/stringEnumInElementAccess01.2.minified.js index 97d337e646aec..931a4dd1a388a 100644 --- a/crates/swc/tests/tsc-references/stringEnumInElementAccess01.2.minified.js +++ b/crates/swc/tests/tsc-references/stringEnumInElementAccess01.2.minified.js @@ -1,3 +1,3 @@ //// [stringEnumInElementAccess01.ts] -var E, E1; -(E1 = E || (E = {})).A = "a", E1.B = "b", E1.C = "c", item[e]; +var E, E1 = ((E = E1 || {}).A = "a", E.B = "b", E.C = "c", E); +item[e]; diff --git a/crates/swc/tests/tsc-references/stringEnumLiteralTypes1.1.normal.js b/crates/swc/tests/tsc-references/stringEnumLiteralTypes1.1.normal.js index e60bb4cf67137..3cbc57409340a 100644 --- a/crates/swc/tests/tsc-references/stringEnumLiteralTypes1.1.normal.js +++ b/crates/swc/tests/tsc-references/stringEnumLiteralTypes1.1.normal.js @@ -1,5 +1,5 @@ //// [stringEnumLiteralTypes1.ts] -var Choice; +; function f1() { var a; var a; diff --git a/crates/swc/tests/tsc-references/stringEnumLiteralTypes2.1.normal.js b/crates/swc/tests/tsc-references/stringEnumLiteralTypes2.1.normal.js index 0f406b5f46b9d..740d062d9f71d 100644 --- a/crates/swc/tests/tsc-references/stringEnumLiteralTypes2.1.normal.js +++ b/crates/swc/tests/tsc-references/stringEnumLiteralTypes2.1.normal.js @@ -1,5 +1,5 @@ //// [stringEnumLiteralTypes2.ts] -var Choice; +; function f1() { var a; var a; diff --git a/crates/swc/tests/tsc-references/stringEnumLiteralTypes3.1.normal.js b/crates/swc/tests/tsc-references/stringEnumLiteralTypes3.1.normal.js index 022614e085c1a..46057948504b8 100644 --- a/crates/swc/tests/tsc-references/stringEnumLiteralTypes3.1.normal.js +++ b/crates/swc/tests/tsc-references/stringEnumLiteralTypes3.1.normal.js @@ -1,5 +1,5 @@ //// [stringEnumLiteralTypes3.ts] -var Choice; +; function f1(a, b, c, d) { a = a; a = b; diff --git a/crates/swc/tests/tsc-references/stringLiteralTypeIsSubtypeOfString.1.normal.js b/crates/swc/tests/tsc-references/stringLiteralTypeIsSubtypeOfString.1.normal.js index 7e94ae65cec1f..796cf47801970 100644 --- a/crates/swc/tests/tsc-references/stringLiteralTypeIsSubtypeOfString.1.normal.js +++ b/crates/swc/tests/tsc-references/stringLiteralTypeIsSubtypeOfString.1.normal.js @@ -86,10 +86,10 @@ function f10(x) {} function f11(x) {} function f12(x) {} function f13(x) {} -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); function f14(x) {} function f15(x) {} function f16(x) {} diff --git a/crates/swc/tests/tsc-references/stringLiteralTypeIsSubtypeOfString.2.minified.js b/crates/swc/tests/tsc-references/stringLiteralTypeIsSubtypeOfString.2.minified.js index d2c4d16ffab9f..608d727967ed6 100644 --- a/crates/swc/tests/tsc-references/stringLiteralTypeIsSubtypeOfString.2.minified.js +++ b/crates/swc/tests/tsc-references/stringLiteralTypeIsSubtypeOfString.2.minified.js @@ -1,4 +1,3 @@ //// [stringLiteralTypeIsSubtypeOfString.ts] -var E, E1; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -(E1 = E || (E = {}))[E1.A = 0] = "A"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); diff --git a/crates/swc/tests/tsc-references/stringLiteralTypesOverloads01.1.normal.js b/crates/swc/tests/tsc-references/stringLiteralTypesOverloads01.1.normal.js index 03bc2c868bce4..aa7bbbbd07e4b 100644 --- a/crates/swc/tests/tsc-references/stringLiteralTypesOverloads01.1.normal.js +++ b/crates/swc/tests/tsc-references/stringLiteralTypesOverloads01.1.normal.js @@ -12,7 +12,6 @@ function getFalsyPrimitive(x) { // Should be unreachable. throw "Invalid value"; } -var Consts1; (function(Consts1) { var EMPTY_STRING = getFalsyPrimitive("string"); var ZERO = getFalsyPrimitive('number'); @@ -25,7 +24,6 @@ var stringOrNumber = string || number; var stringOrBoolean = string || boolean; var booleanOrNumber = number || boolean; var stringOrBooleanOrNumber = stringOrBoolean || number; -var Consts2; (function(Consts2) { var EMPTY_STRING = getFalsyPrimitive(string); var ZERO = getFalsyPrimitive(number); @@ -35,3 +33,4 @@ var Consts2; var c = getFalsyPrimitive(booleanOrNumber); var d = getFalsyPrimitive(stringOrBooleanOrNumber); })(Consts2 || (Consts2 = {})); +var Consts1, Consts2; diff --git a/crates/swc/tests/tsc-references/stringLiteralTypesOverloads02.1.normal.js b/crates/swc/tests/tsc-references/stringLiteralTypesOverloads02.1.normal.js index ffe81faeac0ff..da8f44403ba04 100644 --- a/crates/swc/tests/tsc-references/stringLiteralTypesOverloads02.1.normal.js +++ b/crates/swc/tests/tsc-references/stringLiteralTypesOverloads02.1.normal.js @@ -12,7 +12,6 @@ function getFalsyPrimitive(x) { // Should be unreachable. throw "Invalid value"; } -var Consts1; (function(Consts1) { var EMPTY_STRING = getFalsyPrimitive("string"); var ZERO = getFalsyPrimitive('number'); @@ -25,7 +24,6 @@ var stringOrNumber = string || number; var stringOrBoolean = string || boolean; var booleanOrNumber = number || boolean; var stringOrBooleanOrNumber = stringOrBoolean || number; -var Consts2; (function(Consts2) { var EMPTY_STRING = getFalsyPrimitive(string); var ZERO = getFalsyPrimitive(number); @@ -35,3 +33,4 @@ var Consts2; var c = getFalsyPrimitive(booleanOrNumber); var d = getFalsyPrimitive(stringOrBooleanOrNumber); })(Consts2 || (Consts2 = {})); +var Consts1, Consts2; diff --git a/crates/swc/tests/tsc-references/subtypesOfAny.1.normal.js b/crates/swc/tests/tsc-references/subtypesOfAny.1.normal.js index 643bdd77d7679..28ea7dc2b3556 100644 --- a/crates/swc/tests/tsc-references/subtypesOfAny.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypesOfAny.1.normal.js @@ -9,10 +9,10 @@ var A2 = function A2() { "use strict"; _class_call_check(this, A2); }; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); function f() {} (function(f) { f.bar = 1; diff --git a/crates/swc/tests/tsc-references/subtypesOfAny.2.minified.js b/crates/swc/tests/tsc-references/subtypesOfAny.2.minified.js index 6959f847adf22..382e5550517b8 100644 --- a/crates/swc/tests/tsc-references/subtypesOfAny.2.minified.js +++ b/crates/swc/tests/tsc-references/subtypesOfAny.2.minified.js @@ -1,8 +1,9 @@ //// [subtypesOfAny.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); function f() {} -(E = E1 || (E1 = {}))[E.A = 0] = "A", (f || (f = {})).bar = 1; -var E, E1, c = function c() { +(f || (f = {})).bar = 1; +var c = function c() { _class_call_check(this, c); }; (c || (c = {})).bar = 1; diff --git a/crates/swc/tests/tsc-references/subtypesOfTypeParameter.1.normal.js b/crates/swc/tests/tsc-references/subtypesOfTypeParameter.1.normal.js index c5b64ab3b4cb5..34cb7ad41e12a 100644 --- a/crates/swc/tests/tsc-references/subtypesOfTypeParameter.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypesOfTypeParameter.1.normal.js @@ -28,10 +28,10 @@ var C2 = function C2() { "use strict"; _class_call_check(this, C2); }; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); function f() {} (function(f) { f.bar = 1; diff --git a/crates/swc/tests/tsc-references/subtypesOfTypeParameter.2.minified.js b/crates/swc/tests/tsc-references/subtypesOfTypeParameter.2.minified.js index 6716585a3ecb0..a47fa9b95566b 100644 --- a/crates/swc/tests/tsc-references/subtypesOfTypeParameter.2.minified.js +++ b/crates/swc/tests/tsc-references/subtypesOfTypeParameter.2.minified.js @@ -2,9 +2,10 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); function f() {} -(E1 = E || (E = {}))[E1.A = 0] = "A", (f || (f = {})).bar = 1; -var E, E1, c = function c() { +(f || (f = {})).bar = 1; +var c = function c() { _class_call_check(this, c); }; (c || (c = {})).bar = 1; diff --git a/crates/swc/tests/tsc-references/subtypesOfTypeParameterWithConstraints2.1.normal.js b/crates/swc/tests/tsc-references/subtypesOfTypeParameterWithConstraints2.1.normal.js index 4f2e0144c703c..20a80a3860635 100644 --- a/crates/swc/tests/tsc-references/subtypesOfTypeParameterWithConstraints2.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypesOfTypeParameterWithConstraints2.1.normal.js @@ -35,10 +35,10 @@ var C2 = function C2() { "use strict"; _class_call_check(this, C2); }; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); function f() {} (function(f) { f.bar = 1; diff --git a/crates/swc/tests/tsc-references/subtypesOfTypeParameterWithConstraints2.2.minified.js b/crates/swc/tests/tsc-references/subtypesOfTypeParameterWithConstraints2.2.minified.js index a99ed1d0c8fe2..9c9c0c32fea86 100644 --- a/crates/swc/tests/tsc-references/subtypesOfTypeParameterWithConstraints2.2.minified.js +++ b/crates/swc/tests/tsc-references/subtypesOfTypeParameterWithConstraints2.2.minified.js @@ -1,8 +1,9 @@ //// [subtypesOfTypeParameterWithConstraints2.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); function f() {} -(E = E1 || (E1 = {}))[E.A = 0] = "A", (f || (f = {})).bar = 1; -var E, E1, c = function c() { +(f || (f = {})).bar = 1; +var c = function c() { _class_call_check(this, c); }; (c || (c = {})).bar = 1; diff --git a/crates/swc/tests/tsc-references/subtypesOfTypeParameterWithRecursiveConstraints.1.normal.js b/crates/swc/tests/tsc-references/subtypesOfTypeParameterWithRecursiveConstraints.1.normal.js index fb6b225cf5980..09917977a1d70 100644 --- a/crates/swc/tests/tsc-references/subtypesOfTypeParameterWithRecursiveConstraints.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypesOfTypeParameterWithRecursiveConstraints.1.normal.js @@ -45,7 +45,6 @@ function f(t, u, v) { var r12 = true ? v : new Foo(); var r12 = true ? new Foo() : v; } -var M1; (function(M1) { var Base = function Base() { "use strict"; @@ -133,7 +132,6 @@ var M1; return D9; }(Base); })(M1 || (M1 = {})); -var M2; (function(M2) { var Base2 = function Base2() { "use strict"; @@ -221,3 +219,4 @@ var M2; return D9; }(Base2); })(M2 || (M2 = {})); +var M1, M2; diff --git a/crates/swc/tests/tsc-references/subtypesOfUnion.1.normal.js b/crates/swc/tests/tsc-references/subtypesOfUnion.1.normal.js index e09a129e8e448..ea71933ff02d6 100644 --- a/crates/swc/tests/tsc-references/subtypesOfUnion.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypesOfUnion.1.normal.js @@ -1,10 +1,10 @@ //// [subtypesOfUnion.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["e1"] = 0] = "e1"; E[E["e2"] = 1] = "e2"; -})(E || (E = {})); + return E; +}(E || {}); var A = function A() { "use strict"; _class_call_check(this, A); diff --git a/crates/swc/tests/tsc-references/subtypesOfUnion.2.minified.js b/crates/swc/tests/tsc-references/subtypesOfUnion.2.minified.js index bf95162d54262..8606bfe31649d 100644 --- a/crates/swc/tests/tsc-references/subtypesOfUnion.2.minified.js +++ b/crates/swc/tests/tsc-references/subtypesOfUnion.2.minified.js @@ -1,8 +1,9 @@ //// [subtypesOfUnion.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; +var E, E1 = ((E = E1 || {})[E.e1 = 0] = "e1", E[E.e2 = 1] = "e2", E); function f() {} -(E = E1 || (E1 = {}))[E.e1 = 0] = "e1", E[E.e2 = 1] = "e2", (f || (f = {})).bar = 1; -var E, E1, c = function c() { +(f || (f = {})).bar = 1; +var c = function c() { _class_call_check(this, c); }; (c || (c = {})).bar = 1; diff --git a/crates/swc/tests/tsc-references/subtypingWithCallSignatures.1.normal.js b/crates/swc/tests/tsc-references/subtypingWithCallSignatures.1.normal.js index 6fafd5c1d7a6a..f855ac1ddfccd 100644 --- a/crates/swc/tests/tsc-references/subtypingWithCallSignatures.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypingWithCallSignatures.1.normal.js @@ -1,5 +1,4 @@ //// [subtypingWithCallSignatures.ts] -var CallSignature; (function(CallSignature) { var r = foo1(function(x) { return 1; @@ -14,3 +13,4 @@ var CallSignature; return ''; }); // ok because base returns void })(CallSignature || (CallSignature = {})); +var CallSignature; diff --git a/crates/swc/tests/tsc-references/subtypingWithCallSignatures3.1.normal.js b/crates/swc/tests/tsc-references/subtypingWithCallSignatures3.1.normal.js index 7e8cac1be2a8b..5c710b14b0227 100644 --- a/crates/swc/tests/tsc-references/subtypingWithCallSignatures3.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypingWithCallSignatures3.1.normal.js @@ -4,7 +4,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var Errors; (function(Errors) { var Base = function Base() { "use strict"; @@ -185,7 +184,6 @@ var Errors; }; var r9 = foo17(r9arg); // (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; })(Errors || (Errors = {})); -var WithGenericSignaturesInBaseType; (function(WithGenericSignaturesInBaseType) { var r2arg2 = function(x) { return [ @@ -198,3 +196,4 @@ var WithGenericSignaturesInBaseType; }; var r3 = foo3(r3arg2); // any })(WithGenericSignaturesInBaseType || (WithGenericSignaturesInBaseType = {})); +var Errors, WithGenericSignaturesInBaseType; diff --git a/crates/swc/tests/tsc-references/subtypingWithConstructSignatures.1.normal.js b/crates/swc/tests/tsc-references/subtypingWithConstructSignatures.1.normal.js index c48b95f99cb15..8ef26d4147a9c 100644 --- a/crates/swc/tests/tsc-references/subtypingWithConstructSignatures.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypingWithConstructSignatures.1.normal.js @@ -1,5 +1,4 @@ //// [subtypingWithConstructSignatures.ts] -var ConstructSignature; (function(ConstructSignature) { var rarg1; var r = foo1(rarg1); // ok because base returns void @@ -10,3 +9,4 @@ var ConstructSignature; var r4arg1; var r4 = foo2(r4arg1); // ok because base returns void })(ConstructSignature || (ConstructSignature = {})); +var ConstructSignature; diff --git a/crates/swc/tests/tsc-references/subtypingWithConstructSignatures3.1.normal.js b/crates/swc/tests/tsc-references/subtypingWithConstructSignatures3.1.normal.js index 1c282221592c8..89161253577f5 100644 --- a/crates/swc/tests/tsc-references/subtypingWithConstructSignatures3.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypingWithConstructSignatures3.1.normal.js @@ -4,7 +4,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var Errors; (function(Errors) { var Base = function Base() { "use strict"; @@ -129,10 +128,10 @@ var Errors; var r9arg; var r9 = foo17(r9arg); // // (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; })(Errors || (Errors = {})); -var WithGenericSignaturesInBaseType; (function(WithGenericSignaturesInBaseType) { var r2arg2; var r2 = foo2(r2arg2); // (x:T) => T[] since we can infer from generic signatures now var r3arg2; var r3 = foo3(r3arg2); // any })(WithGenericSignaturesInBaseType || (WithGenericSignaturesInBaseType = {})); +var Errors, WithGenericSignaturesInBaseType; diff --git a/crates/swc/tests/tsc-references/subtypingWithNumericIndexer.1.normal.js b/crates/swc/tests/tsc-references/subtypingWithNumericIndexer.1.normal.js index 67ce00eede9bc..f4445436320a3 100644 --- a/crates/swc/tests/tsc-references/subtypingWithNumericIndexer.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypingWithNumericIndexer.1.normal.js @@ -25,7 +25,6 @@ var B2 = /*#__PURE__*/ function(A) { } return B2; }(A); -var Generics; (function(Generics) { var A = function A() { "use strict"; @@ -68,3 +67,4 @@ var Generics; return B4; }(A); })(Generics || (Generics = {})); +var Generics; diff --git a/crates/swc/tests/tsc-references/subtypingWithNumericIndexer3.1.normal.js b/crates/swc/tests/tsc-references/subtypingWithNumericIndexer3.1.normal.js index 6b2e8f404207e..8f11acfa855ec 100644 --- a/crates/swc/tests/tsc-references/subtypingWithNumericIndexer3.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypingWithNumericIndexer3.1.normal.js @@ -25,7 +25,6 @@ var B2 = /*#__PURE__*/ function(A) { } return B2; }(A); -var Generics; (function(Generics) { var A = function A() { "use strict"; @@ -77,3 +76,4 @@ var Generics; return B5; }(A); })(Generics || (Generics = {})); +var Generics; diff --git a/crates/swc/tests/tsc-references/subtypingWithNumericIndexer4.1.normal.js b/crates/swc/tests/tsc-references/subtypingWithNumericIndexer4.1.normal.js index 04cbf401acf6f..a94809f7c11e3 100644 --- a/crates/swc/tests/tsc-references/subtypingWithNumericIndexer4.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypingWithNumericIndexer4.1.normal.js @@ -16,7 +16,6 @@ var B = /*#__PURE__*/ function(A) { } return B; }(A); -var Generics; (function(Generics) { var A = function A() { "use strict"; @@ -41,3 +40,4 @@ var Generics; return B3; }(A); })(Generics || (Generics = {})); +var Generics; diff --git a/crates/swc/tests/tsc-references/subtypingWithNumericIndexer5.1.normal.js b/crates/swc/tests/tsc-references/subtypingWithNumericIndexer5.1.normal.js index 377cdd67e1aa7..ee07fbb2d4c07 100644 --- a/crates/swc/tests/tsc-references/subtypingWithNumericIndexer5.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypingWithNumericIndexer5.1.normal.js @@ -9,7 +9,6 @@ var B2 = function B2() { "use strict"; _class_call_check(this, B2); }; -var Generics; (function(Generics) { var B = function B() { "use strict"; @@ -32,3 +31,4 @@ var Generics; _class_call_check(this, B5); }; })(Generics || (Generics = {})); +var Generics; diff --git a/crates/swc/tests/tsc-references/subtypingWithObjectMembers.1.normal.js b/crates/swc/tests/tsc-references/subtypingWithObjectMembers.1.normal.js index 883fe8a44f118..fb00bba3b8fd0 100644 --- a/crates/swc/tests/tsc-references/subtypingWithObjectMembers.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypingWithObjectMembers.1.normal.js @@ -65,7 +65,6 @@ var B3 = /*#__PURE__*/ function(A3) { } return B3; }(A3); -var TwoLevels; (function(TwoLevels) { var A = function A() { "use strict"; @@ -107,3 +106,4 @@ var TwoLevels; return B3; }(A3); })(TwoLevels || (TwoLevels = {})); +var TwoLevels; diff --git a/crates/swc/tests/tsc-references/subtypingWithObjectMembers5.1.normal.js b/crates/swc/tests/tsc-references/subtypingWithObjectMembers5.1.normal.js index 72fb32b50cd5d..da1edaf862400 100644 --- a/crates/swc/tests/tsc-references/subtypingWithObjectMembers5.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypingWithObjectMembers5.1.normal.js @@ -1,6 +1,5 @@ //// [subtypingWithObjectMembers5.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var NotOptional; // N and M have the same name, same accessibility, same optionality, and N is a subtype of M // foo properties are valid, bar properties cause errors in the derived class declarations (function(NotOptional) { @@ -17,7 +16,6 @@ var NotOptional; _class_call_check(this, B3); }; })(NotOptional || (NotOptional = {})); -var Optional; // same cases as above but with optional (function(Optional) { var B = function B() { @@ -33,3 +31,4 @@ var Optional; _class_call_check(this, B3); }; })(Optional || (Optional = {})); +var NotOptional, Optional; diff --git a/crates/swc/tests/tsc-references/subtypingWithObjectMembersAccessibility2.1.normal.js b/crates/swc/tests/tsc-references/subtypingWithObjectMembersAccessibility2.1.normal.js index 6d2cbc8249a22..1c56c51012191 100644 --- a/crates/swc/tests/tsc-references/subtypingWithObjectMembersAccessibility2.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypingWithObjectMembersAccessibility2.1.normal.js @@ -16,7 +16,6 @@ var Derived = /*#__PURE__*/ function(Base) { } return Derived; }(Base); -var ExplicitPublic; (function(ExplicitPublic) { var A = function A() { "use strict"; @@ -58,7 +57,6 @@ var ExplicitPublic; return B3; }(A3); })(ExplicitPublic || (ExplicitPublic = {})); -var ImplicitPublic; (function(ImplicitPublic) { var A = function A() { "use strict"; @@ -100,3 +98,4 @@ var ImplicitPublic; return B3; }(A3); })(ImplicitPublic || (ImplicitPublic = {})); +var ExplicitPublic, ImplicitPublic; diff --git a/crates/swc/tests/tsc-references/subtypingWithObjectMembersOptionality.1.normal.js b/crates/swc/tests/tsc-references/subtypingWithObjectMembersOptionality.1.normal.js index 35a5903aae2de..c68dddf69941b 100644 --- a/crates/swc/tests/tsc-references/subtypingWithObjectMembersOptionality.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypingWithObjectMembersOptionality.1.normal.js @@ -6,7 +6,6 @@ var b = { Foo: null }; var r = true ? a : b; -var TwoLevels; (function(TwoLevels) { // object literal case var a; @@ -15,3 +14,4 @@ var TwoLevels; }; var r = true ? a : b; })(TwoLevels || (TwoLevels = {})); +var TwoLevels; diff --git a/crates/swc/tests/tsc-references/subtypingWithStringIndexer.1.normal.js b/crates/swc/tests/tsc-references/subtypingWithStringIndexer.1.normal.js index aff55dbd01cc2..67d1e4f70a235 100644 --- a/crates/swc/tests/tsc-references/subtypingWithStringIndexer.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypingWithStringIndexer.1.normal.js @@ -25,7 +25,6 @@ var B2 = /*#__PURE__*/ function(A) { } return B2; }(A); -var Generics; (function(Generics) { var A = function A() { "use strict"; @@ -68,3 +67,4 @@ var Generics; return B4; }(A); })(Generics || (Generics = {})); +var Generics; diff --git a/crates/swc/tests/tsc-references/subtypingWithStringIndexer3.1.normal.js b/crates/swc/tests/tsc-references/subtypingWithStringIndexer3.1.normal.js index eeadb5fd1431d..91f8606071ecf 100644 --- a/crates/swc/tests/tsc-references/subtypingWithStringIndexer3.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypingWithStringIndexer3.1.normal.js @@ -25,7 +25,6 @@ var B2 = /*#__PURE__*/ function(A) { } return B2; }(A); -var Generics; (function(Generics) { var A = function A() { "use strict"; @@ -77,3 +76,4 @@ var Generics; return B5; }(A); })(Generics || (Generics = {})); +var Generics; diff --git a/crates/swc/tests/tsc-references/subtypingWithStringIndexer4.1.normal.js b/crates/swc/tests/tsc-references/subtypingWithStringIndexer4.1.normal.js index 1b3359e02a26c..218db35ba8907 100644 --- a/crates/swc/tests/tsc-references/subtypingWithStringIndexer4.1.normal.js +++ b/crates/swc/tests/tsc-references/subtypingWithStringIndexer4.1.normal.js @@ -16,7 +16,6 @@ var B = /*#__PURE__*/ function(A) { } return B; }(A); -var Generics; (function(Generics) { var A = function A() { "use strict"; @@ -41,3 +40,4 @@ var Generics; return B3; }(A); })(Generics || (Generics = {})); +var Generics; diff --git a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2015).1.normal.js b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2015).1.normal.js index 1cf73ffe9c968..417f892bb7639 100644 --- a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2015).1.normal.js +++ b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2015).1.normal.js @@ -2,8 +2,7 @@ //// [external.ts] export class Reflect { } -export var Baz; -(function(Baz) {})(Baz || (Baz = {})); +; export default class { } //// [locals.ts] @@ -38,12 +37,14 @@ C._ = [ _get(_get_prototype_of(C), "w", C).call(C); })(), (()=>{ - let Reflect; - (function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) + let Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; + }({})// collision (es2015-es2021 only) + ; _get(_get_prototype_of(C), "w", C).call(C); })(), (()=>{ - let Reflect; + ; _get(_get_prototype_of(C), "w", C).call(C); })(), (()=>{ @@ -89,12 +90,14 @@ C._ = [ _get(_get_prototype_of(C), "w", C).call(C); })(); (()=>{ - let Reflect; - (function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) + let Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; + }({})// collision (es2015-es2021 only) + ; _get(_get_prototype_of(C), "w", C).call(C); })(); (()=>{ - let Reflect; + ; _get(_get_prototype_of(C), "w", C).call(C); })(); _get(_get_prototype_of(C), "w", C).call(C); @@ -218,8 +221,10 @@ export { }; //// [enumInContainingScopeStaticField.ts] import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; -var Reflect; -(function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) +var Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; +}(Reflect || {})// collision (es2015-es2021 only) +; class C extends B { } C._ = _get(_get_prototype_of(C), "w", C).call(C); @@ -227,8 +232,10 @@ export { }; //// [enumInContainingScopeStaticBlock.ts] import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; -var Reflect; -(function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) +var Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; +}(Reflect || {})// collision (es2015-es2021 only) +; class C extends B { } _get(_get_prototype_of(C), "w", C).call(C); @@ -236,7 +243,7 @@ export { }; //// [constEnumInContainingScopeStaticField.ts] import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; -var Reflect; +; class C extends B { } C._ = _get(_get_prototype_of(C), "w", C).call(C); @@ -244,7 +251,7 @@ export { }; //// [constEnumInContainingScopeStaticBlock.ts] import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; -var Reflect; +; class C extends B { } _get(_get_prototype_of(C), "w", C).call(C); diff --git a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2015).2.minified.js b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2015).2.minified.js index a53654009d528..57af22ecda352 100644 --- a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2015).2.minified.js +++ b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2015).2.minified.js @@ -2,12 +2,9 @@ //// [external.ts] export class Reflect { } -export var Baz; -Baz || (Baz = {}); export default class { } //// [locals.ts] -let Reflect, Reflect1; import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; class C extends B { @@ -28,7 +25,7 @@ C._ = [ })(), void _get(_get_prototype_of(C), "w", C).call(C), void _get(_get_prototype_of(C), "w", C).call(C), - void (Reflect || (Reflect = {}), _get(_get_prototype_of(C), "w", C).call(C)), + void _get(_get_prototype_of(C), "w", C).call(C), void _get(_get_prototype_of(C), "w", C).call(C), void _get(_get_prototype_of(C), "w", C).call(C), void _get(_get_prototype_of(C), "w", C).call(C), @@ -44,7 +41,7 @@ C._ = [ null ]; _get(_get_prototype_of(C), "w", C).call(C); -})(), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), Reflect1 || (Reflect1 = {}), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C); +})(), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C); //// [varInContainingScopeStaticField1.ts] import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; @@ -130,18 +127,14 @@ class C extends B { } _get(_get_prototype_of(C), "w", C).call(C); //// [enumInContainingScopeStaticField.ts] -var Reflect; import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; -Reflect || (Reflect = {}); class C extends B { } C._ = _get(_get_prototype_of(C), "w", C).call(C); //// [enumInContainingScopeStaticBlock.ts] -var Reflect; import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; -Reflect || (Reflect = {}); class C extends B { } _get(_get_prototype_of(C), "w", C).call(C); diff --git a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2021).1.normal.js b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2021).1.normal.js index 1cf73ffe9c968..417f892bb7639 100644 --- a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2021).1.normal.js +++ b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2021).1.normal.js @@ -2,8 +2,7 @@ //// [external.ts] export class Reflect { } -export var Baz; -(function(Baz) {})(Baz || (Baz = {})); +; export default class { } //// [locals.ts] @@ -38,12 +37,14 @@ C._ = [ _get(_get_prototype_of(C), "w", C).call(C); })(), (()=>{ - let Reflect; - (function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) + let Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; + }({})// collision (es2015-es2021 only) + ; _get(_get_prototype_of(C), "w", C).call(C); })(), (()=>{ - let Reflect; + ; _get(_get_prototype_of(C), "w", C).call(C); })(), (()=>{ @@ -89,12 +90,14 @@ C._ = [ _get(_get_prototype_of(C), "w", C).call(C); })(); (()=>{ - let Reflect; - (function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) + let Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; + }({})// collision (es2015-es2021 only) + ; _get(_get_prototype_of(C), "w", C).call(C); })(); (()=>{ - let Reflect; + ; _get(_get_prototype_of(C), "w", C).call(C); })(); _get(_get_prototype_of(C), "w", C).call(C); @@ -218,8 +221,10 @@ export { }; //// [enumInContainingScopeStaticField.ts] import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; -var Reflect; -(function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) +var Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; +}(Reflect || {})// collision (es2015-es2021 only) +; class C extends B { } C._ = _get(_get_prototype_of(C), "w", C).call(C); @@ -227,8 +232,10 @@ export { }; //// [enumInContainingScopeStaticBlock.ts] import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; -var Reflect; -(function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) +var Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; +}(Reflect || {})// collision (es2015-es2021 only) +; class C extends B { } _get(_get_prototype_of(C), "w", C).call(C); @@ -236,7 +243,7 @@ export { }; //// [constEnumInContainingScopeStaticField.ts] import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; -var Reflect; +; class C extends B { } C._ = _get(_get_prototype_of(C), "w", C).call(C); @@ -244,7 +251,7 @@ export { }; //// [constEnumInContainingScopeStaticBlock.ts] import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; -var Reflect; +; class C extends B { } _get(_get_prototype_of(C), "w", C).call(C); diff --git a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2021).2.minified.js b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2021).2.minified.js index a53654009d528..57af22ecda352 100644 --- a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2021).2.minified.js +++ b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2021).2.minified.js @@ -2,12 +2,9 @@ //// [external.ts] export class Reflect { } -export var Baz; -Baz || (Baz = {}); export default class { } //// [locals.ts] -let Reflect, Reflect1; import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; class C extends B { @@ -28,7 +25,7 @@ C._ = [ })(), void _get(_get_prototype_of(C), "w", C).call(C), void _get(_get_prototype_of(C), "w", C).call(C), - void (Reflect || (Reflect = {}), _get(_get_prototype_of(C), "w", C).call(C)), + void _get(_get_prototype_of(C), "w", C).call(C), void _get(_get_prototype_of(C), "w", C).call(C), void _get(_get_prototype_of(C), "w", C).call(C), void _get(_get_prototype_of(C), "w", C).call(C), @@ -44,7 +41,7 @@ C._ = [ null ]; _get(_get_prototype_of(C), "w", C).call(C); -})(), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), Reflect1 || (Reflect1 = {}), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C); +})(), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C); //// [varInContainingScopeStaticField1.ts] import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; @@ -130,18 +127,14 @@ class C extends B { } _get(_get_prototype_of(C), "w", C).call(C); //// [enumInContainingScopeStaticField.ts] -var Reflect; import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; -Reflect || (Reflect = {}); class C extends B { } C._ = _get(_get_prototype_of(C), "w", C).call(C); //// [enumInContainingScopeStaticBlock.ts] -var Reflect; import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; -Reflect || (Reflect = {}); class C extends B { } _get(_get_prototype_of(C), "w", C).call(C); diff --git a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2022).1.normal.js b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2022).1.normal.js index e6886753b27ce..1f3a216184a54 100644 --- a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2022).1.normal.js +++ b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2022).1.normal.js @@ -2,8 +2,7 @@ //// [external.ts] export class Reflect { } -export var Baz; -(function(Baz) {})(Baz || (Baz = {})); +; export default class { } //// [locals.ts] @@ -36,12 +35,14 @@ class C extends B { super.w(); })(), (()=>{ - let Reflect; - (function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) + let Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; + }({})// collision (es2015-es2021 only) + ; super.w(); })(), (()=>{ - let Reflect; + ; super.w(); })(), (()=>{ @@ -88,12 +89,14 @@ class C extends B { super.w(); } static{ - let Reflect; - (function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) + let Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; + }({})// collision (es2015-es2021 only) + ; super.w(); } static{ - let Reflect; + ; super.w(); } static{ @@ -220,8 +223,10 @@ class C extends B { } export { }; //// [enumInContainingScopeStaticField.ts] -var Reflect; -(function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) +var Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; +}(Reflect || {})// collision (es2015-es2021 only) +; class C extends B { static{ this._ = super.w(); @@ -229,8 +234,10 @@ class C extends B { } export { }; //// [enumInContainingScopeStaticBlock.ts] -var Reflect; -(function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) +var Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; +}(Reflect || {})// collision (es2015-es2021 only) +; class C extends B { static{ super.w(); @@ -238,7 +245,7 @@ class C extends B { } export { }; //// [constEnumInContainingScopeStaticField.ts] -var Reflect; +; class C extends B { static{ this._ = super.w(); @@ -246,7 +253,7 @@ class C extends B { } export { }; //// [constEnumInContainingScopeStaticBlock.ts] -var Reflect; +; class C extends B { static{ super.w(); diff --git a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2022).2.minified.js b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2022).2.minified.js index a56d6182ef522..ecb9c87f44640 100644 --- a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2022).2.minified.js +++ b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es2022).2.minified.js @@ -2,14 +2,11 @@ //// [external.ts] export class Reflect { } -export var Baz; -Baz || (Baz = {}); export default class { } //// [locals.ts] class C extends B { static{ - let Reflect; this._ = [ void super.w(), (()=>{ @@ -26,7 +23,7 @@ class C extends B { })(), void super.w(), void super.w(), - void (Reflect || (Reflect = {}), super.w()), + void super.w(), void super.w(), void super.w(), void super.w(), @@ -56,8 +53,7 @@ class C extends B { super.w(); } static{ - let Reflect; - Reflect || (Reflect = {}), super.w(); + super.w(); } static{ super.w(); @@ -173,8 +169,6 @@ class C extends B { } export { }; //// [enumInContainingScopeStaticField.ts] -var Reflect; -Reflect || (Reflect = {}); class C extends B { static{ this._ = super.w(); @@ -182,8 +176,6 @@ class C extends B { } export { }; //// [enumInContainingScopeStaticBlock.ts] -var Reflect; -Reflect || (Reflect = {}); class C extends B { static{ super.w(); diff --git a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es5).1.normal.js b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es5).1.normal.js index ec5a23c7d685f..6bb67745751dd 100644 --- a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es5).1.normal.js +++ b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es5).1.normal.js @@ -5,8 +5,7 @@ export var Reflect = function Reflect() { "use strict"; _class_call_check(this, Reflect); }; -export var Baz; -(function(Baz) {})(Baz || (Baz = {})); +; var _default = function _default() { "use strict"; _class_call_check(this, _default); @@ -56,12 +55,14 @@ C._ = [ _get(_get_prototype_of(C), "w", C).call(C); }(), function() { - var Reflect; - (function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) + var Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; + }({})// collision (es2015-es2021 only) + ; _get(_get_prototype_of(C), "w", C).call(C); }(), function() { - var Reflect; + ; _get(_get_prototype_of(C), "w", C).call(C); }(), function() { @@ -111,12 +112,14 @@ C._ = [ _get(_get_prototype_of(C), "w", C).call(C); })(); (function() { - var Reflect; - (function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) + var Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; + }({})// collision (es2015-es2021 only) + ; _get(_get_prototype_of(C), "w", C).call(C); })(); (function() { - var Reflect; + ; _get(_get_prototype_of(C), "w", C).call(C); })(); _get(_get_prototype_of(C), "w", C).call(C); @@ -367,8 +370,10 @@ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var Reflect; -(function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) +var Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; +}(Reflect || {})// collision (es2015-es2021 only) +; var C = /*#__PURE__*/ function(B1) { "use strict"; _inherits(C, B1); @@ -386,8 +391,10 @@ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var Reflect; -(function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) +var Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; +}(Reflect || {})// collision (es2015-es2021 only) +; var C = /*#__PURE__*/ function(B1) { "use strict"; _inherits(C, B1); @@ -405,7 +412,7 @@ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var Reflect; +; var C = /*#__PURE__*/ function(B1) { "use strict"; _inherits(C, B1); @@ -423,7 +430,7 @@ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var Reflect; +; var C = /*#__PURE__*/ function(B1) { "use strict"; _inherits(C, B1); diff --git a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es5).2.minified.js b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es5).2.minified.js index 695987ff3faf2..b6265b8dd7d77 100644 --- a/crates/swc/tests/tsc-references/superInStaticMembers1(target=es5).2.minified.js +++ b/crates/swc/tests/tsc-references/superInStaticMembers1(target=es5).2.minified.js @@ -4,8 +4,6 @@ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; export var Reflect = function Reflect() { _class_call_check(this, Reflect); }; -export var Baz; -Baz || (Baz = {}); var _default = function _default() { _class_call_check(this, _default); }; @@ -16,7 +14,7 @@ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -var Reflect, Reflect1, C = /*#__PURE__*/ function(B1) { +var C = /*#__PURE__*/ function(B1) { function C() { return _class_call_check(this, C), _call_super(this, C, arguments); } @@ -28,13 +26,13 @@ C._ = [ void _get(_get_prototype_of(C), "w", C).call(C), void _get(_get_prototype_of(C), "w", C).call(C), void _get(_get_prototype_of(C), "w", C).call(C), - void (Reflect || (Reflect = {}), _get(_get_prototype_of(C), "w", C).call(C)), + void _get(_get_prototype_of(C), "w", C).call(C), void _get(_get_prototype_of(C), "w", C).call(C), void _get(_get_prototype_of(C), "w", C).call(C), void _get(_get_prototype_of(C), "w", C).call(C), void _get(_get_prototype_of(C), "w", C).call(C), void _get(_get_prototype_of(C), "w", C).call(C) -], _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), Reflect1 || (Reflect1 = {}), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C); +], _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C), _get(_get_prototype_of(C), "w", C).call(C); //// [varInContainingScopeStaticField1.ts] import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; @@ -197,8 +195,7 @@ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -Reflect || (Reflect = {}); -var Reflect, C = /*#__PURE__*/ function(B1) { +var C = /*#__PURE__*/ function(B1) { function C() { return _class_call_check(this, C), _call_super(this, C, arguments); } @@ -211,8 +208,7 @@ import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _get } from "@swc/helpers/_/_get"; import { _ as _get_prototype_of } from "@swc/helpers/_/_get_prototype_of"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; -Reflect || (Reflect = {}); -var Reflect, C = /*#__PURE__*/ function(B1) { +var C = /*#__PURE__*/ function(B1) { function C() { return _class_call_check(this, C), _call_super(this, C, arguments); } diff --git a/crates/swc/tests/tsc-references/superInStaticMembers1(target=esnext).1.normal.js b/crates/swc/tests/tsc-references/superInStaticMembers1(target=esnext).1.normal.js index e6886753b27ce..1f3a216184a54 100644 --- a/crates/swc/tests/tsc-references/superInStaticMembers1(target=esnext).1.normal.js +++ b/crates/swc/tests/tsc-references/superInStaticMembers1(target=esnext).1.normal.js @@ -2,8 +2,7 @@ //// [external.ts] export class Reflect { } -export var Baz; -(function(Baz) {})(Baz || (Baz = {})); +; export default class { } //// [locals.ts] @@ -36,12 +35,14 @@ class C extends B { super.w(); })(), (()=>{ - let Reflect; - (function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) + let Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; + }({})// collision (es2015-es2021 only) + ; super.w(); })(), (()=>{ - let Reflect; + ; super.w(); })(), (()=>{ @@ -88,12 +89,14 @@ class C extends B { super.w(); } static{ - let Reflect; - (function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) + let Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; + }({})// collision (es2015-es2021 only) + ; super.w(); } static{ - let Reflect; + ; super.w(); } static{ @@ -220,8 +223,10 @@ class C extends B { } export { }; //// [enumInContainingScopeStaticField.ts] -var Reflect; -(function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) +var Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; +}(Reflect || {})// collision (es2015-es2021 only) +; class C extends B { static{ this._ = super.w(); @@ -229,8 +234,10 @@ class C extends B { } export { }; //// [enumInContainingScopeStaticBlock.ts] -var Reflect; -(function(Reflect) {})(Reflect || (Reflect = {})); // collision (es2015-es2021 only) +var Reflect = /*#__PURE__*/ function(Reflect) { + return Reflect; +}(Reflect || {})// collision (es2015-es2021 only) +; class C extends B { static{ super.w(); @@ -238,7 +245,7 @@ class C extends B { } export { }; //// [constEnumInContainingScopeStaticField.ts] -var Reflect; +; class C extends B { static{ this._ = super.w(); @@ -246,7 +253,7 @@ class C extends B { } export { }; //// [constEnumInContainingScopeStaticBlock.ts] -var Reflect; +; class C extends B { static{ super.w(); diff --git a/crates/swc/tests/tsc-references/superInStaticMembers1(target=esnext).2.minified.js b/crates/swc/tests/tsc-references/superInStaticMembers1(target=esnext).2.minified.js index a56d6182ef522..ecb9c87f44640 100644 --- a/crates/swc/tests/tsc-references/superInStaticMembers1(target=esnext).2.minified.js +++ b/crates/swc/tests/tsc-references/superInStaticMembers1(target=esnext).2.minified.js @@ -2,14 +2,11 @@ //// [external.ts] export class Reflect { } -export var Baz; -Baz || (Baz = {}); export default class { } //// [locals.ts] class C extends B { static{ - let Reflect; this._ = [ void super.w(), (()=>{ @@ -26,7 +23,7 @@ class C extends B { })(), void super.w(), void super.w(), - void (Reflect || (Reflect = {}), super.w()), + void super.w(), void super.w(), void super.w(), void super.w(), @@ -56,8 +53,7 @@ class C extends B { super.w(); } static{ - let Reflect; - Reflect || (Reflect = {}), super.w(); + super.w(); } static{ super.w(); @@ -173,8 +169,6 @@ class C extends B { } export { }; //// [enumInContainingScopeStaticField.ts] -var Reflect; -Reflect || (Reflect = {}); class C extends B { static{ this._ = super.w(); @@ -182,8 +176,6 @@ class C extends B { } export { }; //// [enumInContainingScopeStaticBlock.ts] -var Reflect; -Reflect || (Reflect = {}); class C extends B { static{ super.w(); diff --git a/crates/swc/tests/tsc-references/switchStatements.1.normal.js b/crates/swc/tests/tsc-references/switchStatements.1.normal.js index 891491ce68718..8cdf084dc5b4e 100644 --- a/crates/swc/tests/tsc-references/switchStatements.1.normal.js +++ b/crates/swc/tests/tsc-references/switchStatements.1.normal.js @@ -3,7 +3,6 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; import { _ as _type_of } from "@swc/helpers/_/_type_of"; -var M; (function(M) { function fn(x) { return ''; @@ -97,3 +96,4 @@ switch(function(x) { return ''; }(1)){ } +var M; diff --git a/crates/swc/tests/tsc-references/switchStatements.2.minified.js b/crates/swc/tests/tsc-references/switchStatements.2.minified.js index 34dd6a0eece51..433d1f3b9b533 100644 --- a/crates/swc/tests/tsc-references/switchStatements.2.minified.js +++ b/crates/swc/tests/tsc-references/switchStatements.2.minified.js @@ -27,7 +27,7 @@ switch((M || (M = {})).fn = function(x) { case M.fn(1): default: } -var M, x, C = function C() { +var x, M, C = function C() { _class_call_check(this, C); }, D = /*#__PURE__*/ function(C) { function D() { diff --git a/crates/swc/tests/tsc-references/symbolDeclarationEmit12.1.normal.js b/crates/swc/tests/tsc-references/symbolDeclarationEmit12.1.normal.js index 8f8d722ddccf8..fbdcb89fadc2e 100644 --- a/crates/swc/tests/tsc-references/symbolDeclarationEmit12.1.normal.js +++ b/crates/swc/tests/tsc-references/symbolDeclarationEmit12.1.normal.js @@ -1,5 +1,4 @@ //// [symbolDeclarationEmit12.ts] -var M; let prop; (function(M) { let _Symbol_toPrimitive = Symbol.toPrimitive, _Symbol_isConcatSpreadable = Symbol.isConcatSpreadable, _Symbol_toPrimitive1 = Symbol.toPrimitive, _Symbol_toPrimitive2 = Symbol.toPrimitive; @@ -16,3 +15,4 @@ let prop; prop = Symbol.iterator; M.C = C; })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/symbolProperty48.1.normal.js b/crates/swc/tests/tsc-references/symbolProperty48.1.normal.js index 1b1988c82b1e5..ebb13682fc6cd 100644 --- a/crates/swc/tests/tsc-references/symbolProperty48.1.normal.js +++ b/crates/swc/tests/tsc-references/symbolProperty48.1.normal.js @@ -1,8 +1,8 @@ //// [symbolProperty48.ts] -var M; (function(M) { var Symbol; class C { [Symbol.iterator]() {} } })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/symbolProperty49.1.normal.js b/crates/swc/tests/tsc-references/symbolProperty49.1.normal.js index 66fc8c87a89d4..6ede6b5ce3ca6 100644 --- a/crates/swc/tests/tsc-references/symbolProperty49.1.normal.js +++ b/crates/swc/tests/tsc-references/symbolProperty49.1.normal.js @@ -1,7 +1,7 @@ //// [symbolProperty49.ts] -var M; (function(M) { class C { [M.Symbol.iterator]() {} } })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/symbolProperty50.1.normal.js b/crates/swc/tests/tsc-references/symbolProperty50.1.normal.js index 472cec4bd97b2..eeca731d6ebe4 100644 --- a/crates/swc/tests/tsc-references/symbolProperty50.1.normal.js +++ b/crates/swc/tests/tsc-references/symbolProperty50.1.normal.js @@ -1,7 +1,7 @@ //// [symbolProperty50.ts] -var M; (function(M) { class C { [Symbol.iterator]() {} } })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/symbolProperty51.1.normal.js b/crates/swc/tests/tsc-references/symbolProperty51.1.normal.js index 9255ec5534b00..7e967d8f7b9cc 100644 --- a/crates/swc/tests/tsc-references/symbolProperty51.1.normal.js +++ b/crates/swc/tests/tsc-references/symbolProperty51.1.normal.js @@ -1,7 +1,7 @@ //// [symbolProperty51.ts] -var M; (function(M) { class C { [Symbol.iterator]() {} } })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/symbolProperty55.1.normal.js b/crates/swc/tests/tsc-references/symbolProperty55.1.normal.js index 4459f6deb5749..592ab8897f7e3 100644 --- a/crates/swc/tests/tsc-references/symbolProperty55.1.normal.js +++ b/crates/swc/tests/tsc-references/symbolProperty55.1.normal.js @@ -2,10 +2,10 @@ var obj = { [Symbol.iterator]: 0 }; -var M; (function(M) { var Symbol1; // The following should be of type 'any'. This is because even though obj has a property keyed by Symbol.iterator, // the key passed in here is the *wrong* Symbol.iterator. It is not the iterator property of the global Symbol. obj[Symbol1.iterator]; })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/symbolProperty56.1.normal.js b/crates/swc/tests/tsc-references/symbolProperty56.1.normal.js index 8494ef73a6221..69efaf41a1e8a 100644 --- a/crates/swc/tests/tsc-references/symbolProperty56.1.normal.js +++ b/crates/swc/tests/tsc-references/symbolProperty56.1.normal.js @@ -2,10 +2,10 @@ var obj = { [Symbol.iterator]: 0 }; -var M; (function(M) { var Symbol1; // The following should be of type 'any'. This is because even though obj has a property keyed by Symbol.iterator, // the key passed in here is the *wrong* Symbol.iterator. It is not the iterator property of the global Symbol. obj[Symbol1["iterator"]]; })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/symbolType19.1.normal.js b/crates/swc/tests/tsc-references/symbolType19.1.normal.js index adba86f72ff81..42e52f3e8f59b 100644 --- a/crates/swc/tests/tsc-references/symbolType19.1.normal.js +++ b/crates/swc/tests/tsc-references/symbolType19.1.normal.js @@ -1,6 +1,7 @@ //// [symbolType19.ts] -var E; -(function(E) {})(E || (E = {})); +var E = /*#__PURE__*/ function(E) { + return E; +}(E || {}); var x; x; if (typeof x === "number") { diff --git a/crates/swc/tests/tsc-references/symbolType19.2.minified.js b/crates/swc/tests/tsc-references/symbolType19.2.minified.js index 039f5ab7d4d2b..d4d6ec6a9e89a 100644 --- a/crates/swc/tests/tsc-references/symbolType19.2.minified.js +++ b/crates/swc/tests/tsc-references/symbolType19.2.minified.js @@ -1,3 +1 @@ //// [symbolType19.ts] -var E; -E || (E = {}); diff --git a/crates/swc/tests/tsc-references/templateLiteralTypes4.1.normal.js b/crates/swc/tests/tsc-references/templateLiteralTypes4.1.normal.js index 4255c64f99c81..1e794a9916846 100644 --- a/crates/swc/tests/tsc-references/templateLiteralTypes4.1.normal.js +++ b/crates/swc/tests/tsc-references/templateLiteralTypes4.1.normal.js @@ -1,8 +1,8 @@ //// [templateLiteralTypes4.ts] // infer from number -var StringLiteralEnum; -var NumberLiteralEnum; -var NonLiteralEnum; +; +; +; p.getIndex(0); // ok, 0 is a valid index p.getIndex(1); // ok, 1 is a valid index p.getIndex(2); // error, 2 is not a valid index diff --git a/crates/swc/tests/tsc-references/thisTypeErrors.1.normal.js b/crates/swc/tests/tsc-references/thisTypeErrors.1.normal.js index 0a3e1dc1037e6..d85cafa813ed0 100644 --- a/crates/swc/tests/tsc-references/thisTypeErrors.1.normal.js +++ b/crates/swc/tests/tsc-references/thisTypeErrors.1.normal.js @@ -22,7 +22,6 @@ var C2 = /*#__PURE__*/ function() { return C2; }(); C2.y = undefined; -var N1; (function(N1) { N1.y = this; })(N1 || (N1 = {})); @@ -49,3 +48,4 @@ var C3 = /*#__PURE__*/ function() { }; return C3; }(); +var N1; diff --git a/crates/swc/tests/tsc-references/throwStatements.1.normal.js b/crates/swc/tests/tsc-references/throwStatements.1.normal.js index ac979bedc15be..cd39172831921 100644 --- a/crates/swc/tests/tsc-references/throwStatements.1.normal.js +++ b/crates/swc/tests/tsc-references/throwStatements.1.normal.js @@ -13,7 +13,6 @@ var D = function D() { function F(x) { return 42; } -var M; (function(M) { var A = function A() { "use strict"; @@ -93,3 +92,4 @@ throw new Date(); throw new C(); throw new Object(); throw new D(); +var M; diff --git a/crates/swc/tests/tsc-references/tsxElementResolution.1.normal.js b/crates/swc/tests/tsc-references/tsxElementResolution.1.normal.js index 769ebaceb9ba9..bc9d5ab62d08f 100644 --- a/crates/swc/tests/tsc-references/tsxElementResolution.1.normal.js +++ b/crates/swc/tests/tsc-references/tsxElementResolution.1.normal.js @@ -8,7 +8,6 @@ var Other = function Other() { "use strict"; _class_call_check(this, Other); }; -var Dotted; (function(Dotted) { var Name = function Name() { "use strict"; @@ -26,3 +25,4 @@ var b = /*#__PURE__*/ React.createElement("string_named", null); // var c = ; var d = /*#__PURE__*/ React.createElement(Other, null); var e = /*#__PURE__*/ React.createElement(Dotted.Name, null); +var Dotted; diff --git a/crates/swc/tests/tsc-references/tsxElementResolution7.1.normal.js b/crates/swc/tests/tsc-references/tsxElementResolution7.1.normal.js index a6364e673424a..6d87450880a5a 100644 --- a/crates/swc/tests/tsc-references/tsxElementResolution7.1.normal.js +++ b/crates/swc/tests/tsc-references/tsxElementResolution7.1.normal.js @@ -1,5 +1,4 @@ //// [file.tsx] -var my; (function(my) {})(my || (my = {})); // OK /*#__PURE__*/ React.createElement(my.div, { @@ -7,7 +6,6 @@ var my; }); // Error /*#__PURE__*/ React.createElement(my.other, null); -var q; (function(q) { var mine = my; // OK @@ -17,3 +15,4 @@ var q; // Error /*#__PURE__*/ React.createElement(mine.non, null); })(q || (q = {})); +var my, q; diff --git a/crates/swc/tests/tsc-references/tsxEmit3.1.normal.js b/crates/swc/tests/tsc-references/tsxEmit3.1.normal.js index aa46ddd87b018..4416539755040 100644 --- a/crates/swc/tests/tsc-references/tsxEmit3.1.normal.js +++ b/crates/swc/tests/tsc-references/tsxEmit3.1.normal.js @@ -1,13 +1,11 @@ //// [file.tsx] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var M; (function(M) { var Foo1 = function Foo1() { "use strict"; _class_call_check(this, Foo1); }; M.Foo = Foo1; - var S1; (function(S1) { var Bar1 = function Bar1() { "use strict"; @@ -16,18 +14,17 @@ var M; S1.Bar = Bar1; // Emit Foo // Foo, ; - })(S1 = M.S || (M.S = {})); + })(M.S || (M.S = {})); })(M || (M = {})); (function(M) { // Emit M.Foo Foo, /*#__PURE__*/ React.createElement(Foo, null); - var S1; (function(S1) { // Emit M.Foo Foo, /*#__PURE__*/ React.createElement(Foo, null); // Emit S.Bar Bar, /*#__PURE__*/ React.createElement(Bar, null); - })(S1 = M.S || (M.S = {})); + })(M.S || (M.S = {})); })(M || (M = {})); (function(M) { // Emit M.S.Bar @@ -38,3 +35,4 @@ var M; // Emit M_1.Foo Foo, /*#__PURE__*/ React.createElement(Foo, null); })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/tsxPreserveEmit1.1.normal.js b/crates/swc/tests/tsc-references/tsxPreserveEmit1.1.normal.js index 7d825b0893383..21df9d3e7f415 100644 --- a/crates/swc/tests/tsc-references/tsxPreserveEmit1.1.normal.js +++ b/crates/swc/tests/tsc-references/tsxPreserveEmit1.1.normal.js @@ -24,10 +24,10 @@ define([ }); var Route = _reactrouter.Route; var routes1 = /*#__PURE__*/ _react.createElement(Route, null); - var M; (function(M) {})(M || (M = {})); (function(M) { // Should emit 'M.X' in both opening and closing tags var y = /*#__PURE__*/ _react.createElement(X, null); })(M || (M = {})); + var M; }); diff --git a/crates/swc/tests/tsc-references/tsxReactEmit6.1.normal.js b/crates/swc/tests/tsc-references/tsxReactEmit6.1.normal.js index b9af2d39767bb..a0d37290d9970 100644 --- a/crates/swc/tests/tsc-references/tsxReactEmit6.1.normal.js +++ b/crates/swc/tests/tsc-references/tsxReactEmit6.1.normal.js @@ -9,7 +9,6 @@ Object.defineProperty(exports, "__esModule", { }); var _object_spread = require("@swc/helpers/_/_object_spread"); var _object_spread_props = require("@swc/helpers/_/_object_spread_props"); -var M; (function(M) {})(M || (M = {})); (function(M) { // Should emit M.React.createElement @@ -23,3 +22,4 @@ var M; // Quotes var x = /*#__PURE__*/ React.createElement("div", null, 'This "quote" thing'); })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/twoInterfacesDifferentRootModule.1.normal.js b/crates/swc/tests/tsc-references/twoInterfacesDifferentRootModule.1.normal.js index 38462443fdabf..50d6e6b6fce90 100644 --- a/crates/swc/tests/tsc-references/twoInterfacesDifferentRootModule.1.normal.js +++ b/crates/swc/tests/tsc-references/twoInterfacesDifferentRootModule.1.normal.js @@ -1,6 +1,5 @@ //// [twoInterfacesDifferentRootModule.ts] // two interfaces with different root modules should not merge -var M2; (function(M2) { var a; var r1 = a.foo; // error @@ -9,3 +8,4 @@ var M2; var r3 = b.foo; // error var r4 = b.bar; })(M2 || (M2 = {})); +var M2; diff --git a/crates/swc/tests/tsc-references/twoInterfacesDifferentRootModule2.1.normal.js b/crates/swc/tests/tsc-references/twoInterfacesDifferentRootModule2.1.normal.js index bf733b26ac5a6..4bc9561732fa5 100644 --- a/crates/swc/tests/tsc-references/twoInterfacesDifferentRootModule2.1.normal.js +++ b/crates/swc/tests/tsc-references/twoInterfacesDifferentRootModule2.1.normal.js @@ -1,8 +1,6 @@ //// [twoInterfacesDifferentRootModule2.ts] // two interfaces with different root modules should not merge -var M; (function(M) { - var M2; (function(M2) { var a; var r1 = a.foo; // error @@ -17,4 +15,6 @@ var M; var b; var r3 = b.foo; var r4 = b.bar; // error + var M2; })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/twoInterfacesDifferentRootModule2.2.minified.js b/crates/swc/tests/tsc-references/twoInterfacesDifferentRootModule2.2.minified.js index 8106e5ea55009..854833dec6b7b 100644 --- a/crates/swc/tests/tsc-references/twoInterfacesDifferentRootModule2.2.minified.js +++ b/crates/swc/tests/tsc-references/twoInterfacesDifferentRootModule2.2.minified.js @@ -1,3 +1,3 @@ //// [twoInterfacesDifferentRootModule2.ts] -var M, M2, a, b, a1, b1; +var M, a, b, M2, a1, b1; M || (M = {}), M2 || (M2 = {}), a1.foo, a1.bar, b1.foo, b1.bar, a.foo, a.bar, b.foo, b.bar; diff --git a/crates/swc/tests/tsc-references/twoMergedInterfacesWithDifferingOverloads2.1.normal.js b/crates/swc/tests/tsc-references/twoMergedInterfacesWithDifferingOverloads2.1.normal.js index bafe21827439e..672b7a545cde6 100644 --- a/crates/swc/tests/tsc-references/twoMergedInterfacesWithDifferingOverloads2.1.normal.js +++ b/crates/swc/tests/tsc-references/twoMergedInterfacesWithDifferingOverloads2.1.normal.js @@ -3,7 +3,6 @@ var a; var r = a(); var r2 = a(1); var r3 = a(1, 2); -var G; (function(G) { var a; var r = a(); @@ -11,3 +10,4 @@ var G; var r3 = a(true, 2); var r4 = a(1, true); })(G || (G = {})); +var G; diff --git a/crates/swc/tests/tsc-references/typeAliases.1.normal.js b/crates/swc/tests/tsc-references/typeAliases.1.normal.js index 0b9f75482788e..6d39109add92c 100644 --- a/crates/swc/tests/tsc-references/typeAliases.1.normal.js +++ b/crates/swc/tests/tsc-references/typeAliases.1.normal.js @@ -32,10 +32,10 @@ var x13_2; foo13(x13_1, x13_2); foo13(x13_2, x13_1); var x14; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["x"] = 10] = "x"; -})(E || (E = {})); + return E; +}(E || {}); f15(10).toLowerCase(); var x; f16(x); diff --git a/crates/swc/tests/tsc-references/typeAliases.2.minified.js b/crates/swc/tests/tsc-references/typeAliases.2.minified.js index 055083e87330c..f52bfb39396b1 100644 --- a/crates/swc/tests/tsc-references/typeAliases.2.minified.js +++ b/crates/swc/tests/tsc-references/typeAliases.2.minified.js @@ -1,7 +1,8 @@ //// [typeAliases.ts] -var E, x13_1, x13_2, E1, x; import "@swc/helpers/_/_class_call_check"; -foo13(x13_1, x13_2), foo13(x13_2, x13_1), (E = E1 || (E1 = {}))[E.x = 10] = "x", f15(10).toLowerCase(), f16(x), [ +foo13(x13_1, x13_2), foo13(x13_2, x13_1); +var E, x13_1, x13_2, x, E1 = ((E = E1 || {})[E.x = 10] = "x", E); +f15(10).toLowerCase(), f16(x), [ "1", !1 ][0].toLowerCase(); diff --git a/crates/swc/tests/tsc-references/typeArgumentInferenceWithObjectLiteral.1.normal.js b/crates/swc/tests/tsc-references/typeArgumentInferenceWithObjectLiteral.1.normal.js index 8aa1b0b1ece6a..bd1b6ebf1b119 100644 --- a/crates/swc/tests/tsc-references/typeArgumentInferenceWithObjectLiteral.1.normal.js +++ b/crates/swc/tests/tsc-references/typeArgumentInferenceWithObjectLiteral.1.normal.js @@ -18,14 +18,14 @@ foo({ return s; } }); -var E1; -(function(E1) { +var E1 = /*#__PURE__*/ function(E1) { E1[E1["X"] = 0] = "X"; -})(E1 || (E1 = {})); -var E2; -(function(E2) { + return E1; +}(E1 || {}); +var E2 = /*#__PURE__*/ function(E2) { E2[E2["X"] = 0] = "X"; -})(E2 || (E2 = {})); + return E2; +}(E2 || {}); var v1; var v1 = f1({ w: function(x) { diff --git a/crates/swc/tests/tsc-references/typeArgumentInferenceWithObjectLiteral.2.minified.js b/crates/swc/tests/tsc-references/typeArgumentInferenceWithObjectLiteral.2.minified.js index fcc041331963b..774f162a101c1 100644 --- a/crates/swc/tests/tsc-references/typeArgumentInferenceWithObjectLiteral.2.minified.js +++ b/crates/swc/tests/tsc-references/typeArgumentInferenceWithObjectLiteral.2.minified.js @@ -1,6 +1,6 @@ //// [typeArgumentInferenceWithObjectLiteral.ts] -var E1, E2, E11, E21; -(E11 = E1 || (E1 = {}))[E11.X = 0] = "X", (E21 = E2 || (E2 = {}))[E21.X = 0] = "X", f1({ +var E2, E1, E11 = ((E1 = E11 || {})[E1.X = 0] = "X", E1), E21 = ((E2 = E21 || {})[E2.X = 0] = "X", E2); +f1({ w: function(x) { return x; }, diff --git a/crates/swc/tests/tsc-references/typeArgumentsWithStringLiteralTypes01.1.normal.js b/crates/swc/tests/tsc-references/typeArgumentsWithStringLiteralTypes01.1.normal.js index d066285b55e22..3aac8b6219695 100644 --- a/crates/swc/tests/tsc-references/typeArgumentsWithStringLiteralTypes01.1.normal.js +++ b/crates/swc/tests/tsc-references/typeArgumentsWithStringLiteralTypes01.1.normal.js @@ -11,11 +11,7 @@ function fun3() { } return args[+randBool()]; } -var n1; (function(n1) { - // The following should all come back as strings. - // They should be assignable to/from something of a type 'string'. - // They should not be assignable to either "Hello" or "World". n1.a = fun1("Hello", "World"); n1.b = fun1("Hello", "Hello"); n1.c = fun2("Hello", "World"); @@ -40,10 +36,7 @@ var n1; n1.d = takeReturnHelloWorld(n1.d); n1.e = takeReturnHelloWorld(n1.e); })(n1 || (n1 = {})); -var n2; (function(n2) { - // The following (regardless of errors) should come back typed - // as "Hello" (or "Hello" | "Hello"). n2.a = fun1("Hello", "Hello"); n2.b = fun1("Hello", "World"); n2.c = fun2("Hello", "Hello"); @@ -68,10 +61,7 @@ var n2; n2.d = takeReturnHelloWorld(n2.d); n2.e = takeReturnHelloWorld(n2.e); })(n2 || (n2 = {})); -var n3; (function(n3) { - // The following (regardless of errors) should come back typed - // as "Hello" | "World" (or "World" | "Hello"). n3.a = fun2("Hello", "World"); n3.b = fun2("World", "Hello"); n3.c = fun2("Hello", "Hello"); @@ -96,3 +86,4 @@ var n3; n3.d = takeReturnHelloWorld(n3.d); n3.e = takeReturnHelloWorld(n3.e); })(n3 || (n3 = {})); +var n1, n2, n3; diff --git a/crates/swc/tests/tsc-references/typeFromPropertyAssignment29.1.normal.js b/crates/swc/tests/tsc-references/typeFromPropertyAssignment29.1.normal.js index a2c48a2bbb0b2..33452edc14804 100644 --- a/crates/swc/tests/tsc-references/typeFromPropertyAssignment29.1.normal.js +++ b/crates/swc/tests/tsc-references/typeFromPropertyAssignment29.1.normal.js @@ -47,7 +47,6 @@ ExpandoMerge.p1 = 111; ExpandoMerge.p3 = 333; })(ExpandoMerge || (ExpandoMerge = {})); var n = ExpandoMerge.p1 + ExpandoMerge.p2 + ExpandoMerge.p3 + ExpandoMerge(1); -var Ns; (function(Ns) { function ExpandoNamespace() {} ExpandoNamespace.p6 = 42; @@ -87,3 +86,4 @@ ExpandoExpr3.m = function(n) { return n + 1; }; var n = ExpandoExpr3.prop + ExpandoExpr3.m(13) + new ExpandoExpr3().n; +var Ns; diff --git a/crates/swc/tests/tsc-references/typeFromPropertyAssignment32.1.normal.js b/crates/swc/tests/tsc-references/typeFromPropertyAssignment32.1.normal.js index e5462ab3a2ead..2a606e579358f 100644 --- a/crates/swc/tests/tsc-references/typeFromPropertyAssignment32.1.normal.js +++ b/crates/swc/tests/tsc-references/typeFromPropertyAssignment32.1.normal.js @@ -14,7 +14,6 @@ ExpandoMerge.p8 = false; // type error ExpandoMerge.p9 = false; // type error var n = ExpandoMerge.p1 + ExpandoMerge.p2 + ExpandoMerge.p3 + ExpandoMerge.p4 + ExpandoMerge.p5 + ExpandoMerge.p6 + ExpandoMerge.p7 + ExpandoMerge.p8 + ExpandoMerge.p9 + ExpandoMerge.m(12) + ExpandoMerge(1001); //// [ns.ts] -var ExpandoMerge; (function(ExpandoMerge) { ExpandoMerge.p3 = 333; ExpandoMerge.p4 = 4; @@ -27,3 +26,4 @@ var ExpandoMerge; (function(ExpandoMerge) { ExpandoMerge.p2 = 222; })(ExpandoMerge || (ExpandoMerge = {})); +var ExpandoMerge; diff --git a/crates/swc/tests/tsc-references/typeFromPropertyAssignment33.1.normal.js b/crates/swc/tests/tsc-references/typeFromPropertyAssignment33.1.normal.js index 2f95eae22987d..2046f4016fc90 100644 --- a/crates/swc/tests/tsc-references/typeFromPropertyAssignment33.1.normal.js +++ b/crates/swc/tests/tsc-references/typeFromPropertyAssignment33.1.normal.js @@ -1,5 +1,4 @@ //// [ns.ts] -var ExpandoMerge; (function(ExpandoMerge) { ExpandoMerge.p3 = 333; ExpandoMerge.p4 = 4; @@ -12,6 +11,7 @@ var ExpandoMerge; (function(ExpandoMerge) { ExpandoMerge.p2 = 222; })(ExpandoMerge || (ExpandoMerge = {})); +var ExpandoMerge; //// [expando.ts] function ExpandoMerge(n) { return n; diff --git a/crates/swc/tests/tsc-references/typeGuardEnums.1.normal.js b/crates/swc/tests/tsc-references/typeGuardEnums.1.normal.js index 4168427ae4f1b..cf4db14da9d91 100644 --- a/crates/swc/tests/tsc-references/typeGuardEnums.1.normal.js +++ b/crates/swc/tests/tsc-references/typeGuardEnums.1.normal.js @@ -1,8 +1,10 @@ //// [typeGuardEnums.ts] -var E; -(function(E) {})(E || (E = {})); -var V; -(function(V) {})(V || (V = {})); +var E = /*#__PURE__*/ function(E) { + return E; +}(E || {}); +var V = /*#__PURE__*/ function(V) { + return V; +}(V || {}); var x; if (typeof x === "number") { x; // number|E|V diff --git a/crates/swc/tests/tsc-references/typeGuardEnums.2.minified.js b/crates/swc/tests/tsc-references/typeGuardEnums.2.minified.js index 0601614dcf092..63fb6dbbfe186 100644 --- a/crates/swc/tests/tsc-references/typeGuardEnums.2.minified.js +++ b/crates/swc/tests/tsc-references/typeGuardEnums.2.minified.js @@ -1,3 +1 @@ //// [typeGuardEnums.ts] -var E, V; -E || (E = {}), V || (V = {}); diff --git a/crates/swc/tests/tsc-references/typeGuardNarrowsPrimitiveIntersection.1.normal.js b/crates/swc/tests/tsc-references/typeGuardNarrowsPrimitiveIntersection.1.normal.js index 1adde60fd32c7..76a74d9924244 100644 --- a/crates/swc/tests/tsc-references/typeGuardNarrowsPrimitiveIntersection.1.normal.js +++ b/crates/swc/tests/tsc-references/typeGuardNarrowsPrimitiveIntersection.1.normal.js @@ -5,7 +5,7 @@ if (isNonBlank(value)) { } else { doThat(value); } -var Tag2; +; if (isNonBlank2(value)) { doThis2(value); } else { diff --git a/crates/swc/tests/tsc-references/typeGuardsInFunctionAndModuleBlock.1.normal.js b/crates/swc/tests/tsc-references/typeGuardsInFunctionAndModuleBlock.1.normal.js index 0a6fc4f140572..fbbe22b67c281 100644 --- a/crates/swc/tests/tsc-references/typeGuardsInFunctionAndModuleBlock.1.normal.js +++ b/crates/swc/tests/tsc-references/typeGuardsInFunctionAndModuleBlock.1.normal.js @@ -37,10 +37,8 @@ function foo5(x) { var y = x; // string; } } -var m; (function(m) { var x; - var m2; (function(m2) { var b = x; // new scope - number | boolean | string var y; @@ -52,11 +50,10 @@ var m; : x.toString(); // number } })(m2 || (m2 = {})); + var m2; })(m || (m = {})); -var m1; (function(m1) { var x; - var m2; (function(m2) { (function(m3) { var b = x; // new scope - number | boolean | string @@ -70,4 +67,6 @@ var m1; } })(m2.m3 || (m2.m3 = {})); })(m2 || (m2 = {})); + var m2; })(m1 || (m1 = {})); +var m, m1; diff --git a/crates/swc/tests/tsc-references/typeGuardsInModule.1.normal.js b/crates/swc/tests/tsc-references/typeGuardsInModule.1.normal.js index d6503d27f8239..8caf907773786 100644 --- a/crates/swc/tests/tsc-references/typeGuardsInModule.1.normal.js +++ b/crates/swc/tests/tsc-references/typeGuardsInModule.1.normal.js @@ -5,7 +5,6 @@ var num; var strOrNum; var var1; -var m1; // Inside module (function(m1) { // global vars in function declaration @@ -23,11 +22,9 @@ var m1; strOrNum = m1.var3; // string | number } })(m1 || (m1 = {})); -var m2; // local module (function(m2) { var var2; - var m3; (function(m3) { // global vars in function declaration num = typeof var1 === "string" && var1.length; // string @@ -48,8 +45,8 @@ var m2; strOrNum = m3.var5; // string | number } })(m3 || (m3 = {})); + var m3; })(m2 || (m2 = {})); -var m3; // Dotted module (function(m3) { (function(m4) { @@ -69,3 +66,4 @@ var m3; } })(m3.m4 || (m3.m4 = {})); })(m3 || (m3 = {})); +var m1, m2, m3; diff --git a/crates/swc/tests/tsc-references/typeOfThisInFunctionExpression.1.normal.js b/crates/swc/tests/tsc-references/typeOfThisInFunctionExpression.1.normal.js index 3993bd69bd5f8..7fbabdc8ee0d7 100644 --- a/crates/swc/tests/tsc-references/typeOfThisInFunctionExpression.1.normal.js +++ b/crates/swc/tests/tsc-references/typeOfThisInFunctionExpression.1.normal.js @@ -25,7 +25,6 @@ var C = function C() { var q = this; }; }; -var M; (function(M) { function fn() { var p = this; @@ -40,3 +39,4 @@ var M; var x; }; })(M || (M = {})); +var M; diff --git a/crates/swc/tests/tsc-references/typeOnlyMerge3.1.normal.js b/crates/swc/tests/tsc-references/typeOnlyMerge3.1.normal.js index f43b4e6ce4a1c..5ceff7c2e7271 100644 --- a/crates/swc/tests/tsc-references/typeOnlyMerge3.1.normal.js +++ b/crates/swc/tests/tsc-references/typeOnlyMerge3.1.normal.js @@ -2,11 +2,11 @@ function A() {} export { }; //// [b.ts] -var A; (function(A) { A.displayName = "A"; })(A || (A = {})); export { A }; +var A; //// [c.ts] import { A } from "./b"; A; diff --git a/crates/swc/tests/tsc-references/typeofANonExportedType.1.normal.js b/crates/swc/tests/tsc-references/typeofANonExportedType.1.normal.js index 5b10a5ca9f385..033696e685ced 100644 --- a/crates/swc/tests/tsc-references/typeofANonExportedType.1.normal.js +++ b/crates/swc/tests/tsc-references/typeofANonExportedType.1.normal.js @@ -19,7 +19,6 @@ export var i; var i2; export var r5; export var r5; -var M; (function(M) { M.foo = ''; var C = function C() { @@ -32,10 +31,10 @@ export var r6; export var r7; export var r8; export var r9; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); export var r10; export var r11; export var r12; @@ -49,3 +48,4 @@ function foo() {} foo.C = C; })(foo || (foo = {})); export var r13; +var M; diff --git a/crates/swc/tests/tsc-references/typeofANonExportedType.2.minified.js b/crates/swc/tests/tsc-references/typeofANonExportedType.2.minified.js index 7ec1a792dc652..91a6eefc41236 100644 --- a/crates/swc/tests/tsc-references/typeofANonExportedType.2.minified.js +++ b/crates/swc/tests/tsc-references/typeofANonExportedType.2.minified.js @@ -1,5 +1,4 @@ //// [typeofANonExportedType.ts] -var M, E, M1, E1, foo; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; export var r1; export var r2; @@ -10,14 +9,14 @@ export var r4b; export var i; export var r5; export var r5; -(M1 = M || (M = {})).foo = '', M1.C = function C() { +(M = M1 || (M1 = {})).foo = '', M.C = function C() { _class_call_check(this, C); }; export var r6; export var r7; export var r8; export var r9; -(E1 = E || (E = {}))[E1.A = 0] = "A"; +var foo, M, E, M1, E1 = ((E = E1 || {})[E.A = 0] = "A", E); export var r10; export var r11; export var r12; diff --git a/crates/swc/tests/tsc-references/typeofModuleWithoutExports.1.normal.js b/crates/swc/tests/tsc-references/typeofModuleWithoutExports.1.normal.js index 6427c6cb8fb22..abbba40fe909a 100644 --- a/crates/swc/tests/tsc-references/typeofModuleWithoutExports.1.normal.js +++ b/crates/swc/tests/tsc-references/typeofModuleWithoutExports.1.normal.js @@ -1,6 +1,5 @@ //// [typeofModuleWithoutExports.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var M; (function(M) { var x = 1; var C = function C() { @@ -9,3 +8,4 @@ var M; }; })(M || (M = {})); var r; +var M; diff --git a/crates/swc/tests/tsc-references/typeofOperatorWithAnyOtherType.1.normal.js b/crates/swc/tests/tsc-references/typeofOperatorWithAnyOtherType.1.normal.js index 72008fc6ebae0..a26bf594507b6 100644 --- a/crates/swc/tests/tsc-references/typeofOperatorWithAnyOtherType.1.normal.js +++ b/crates/swc/tests/tsc-references/typeofOperatorWithAnyOtherType.1.normal.js @@ -28,7 +28,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // any type var @@ -76,3 +75,4 @@ z: _type_of(objA.a); z: _type_of(A.foo); z: _type_of(M.n); z: _type_of(obj1.x); +var M; diff --git a/crates/swc/tests/tsc-references/typeofOperatorWithBooleanType.1.normal.js b/crates/swc/tests/tsc-references/typeofOperatorWithBooleanType.1.normal.js index d7693e491c64f..535acefeb15ef 100644 --- a/crates/swc/tests/tsc-references/typeofOperatorWithBooleanType.1.normal.js +++ b/crates/swc/tests/tsc-references/typeofOperatorWithBooleanType.1.normal.js @@ -16,7 +16,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // boolean type var @@ -55,3 +54,4 @@ z: _type_of(y.a); z: _type_of(objA.a); z: _type_of(A.foo); z: _type_of(M.n); +var M; diff --git a/crates/swc/tests/tsc-references/typeofOperatorWithEnumType.1.normal.js b/crates/swc/tests/tsc-references/typeofOperatorWithEnumType.1.normal.js index 63942a4ba1bca..021a28175433b 100644 --- a/crates/swc/tests/tsc-references/typeofOperatorWithEnumType.1.normal.js +++ b/crates/swc/tests/tsc-references/typeofOperatorWithEnumType.1.normal.js @@ -1,14 +1,15 @@ //// [typeofOperatorWithEnumType.ts] // typeof operator on enum type import { _ as _type_of } from "@swc/helpers/_/_type_of"; -var ENUM; -(function(ENUM) {})(ENUM || (ENUM = {})); -var ENUM1; -(function(ENUM1) { +var ENUM = /*#__PURE__*/ function(ENUM) { + return ENUM; +}(ENUM || {}); +var ENUM1 = /*#__PURE__*/ function(ENUM1) { ENUM1[ENUM1["A"] = 0] = "A"; ENUM1[ENUM1["B"] = 1] = "B"; ENUM1[ENUM1[""] = 2] = ""; -})(ENUM1 || (ENUM1 = {})); + return ENUM1; +}(ENUM1 || {}); // enum type var var ResultIsString1 = typeof ENUM === "undefined" ? "undefined" : _type_of(ENUM); var ResultIsString2 = typeof ENUM1 === "undefined" ? "undefined" : _type_of(ENUM1); @@ -23,8 +24,9 @@ typeof ENUM === "undefined" ? "undefined" : _type_of(ENUM); typeof ENUM1 === "undefined" ? "undefined" : _type_of(ENUM1); _type_of(1); typeof ENUM === "undefined" ? "undefined" : _type_of(ENUM), ENUM1; -var z; -// use typeof in type query -(function(z) {})(z || (z = {})); +var // use typeof in type query +z = /*#__PURE__*/ function(z) { + return z; +}(z || {}); z: typeof ENUM === "undefined" ? "undefined" : _type_of(ENUM); z: typeof ENUM1 === "undefined" ? "undefined" : _type_of(ENUM1); diff --git a/crates/swc/tests/tsc-references/typeofOperatorWithEnumType.2.minified.js b/crates/swc/tests/tsc-references/typeofOperatorWithEnumType.2.minified.js index 78589c32c5a04..4a5936c6a43bd 100644 --- a/crates/swc/tests/tsc-references/typeofOperatorWithEnumType.2.minified.js +++ b/crates/swc/tests/tsc-references/typeofOperatorWithEnumType.2.minified.js @@ -1,4 +1,4 @@ //// [typeofOperatorWithEnumType.ts] -var ENUM, ENUM1, z, ENUM11; import { _ as _type_of } from "@swc/helpers/_/_type_of"; -ENUM || (ENUM = {}), (ENUM11 = ENUM1 || (ENUM1 = {}))[ENUM11.A = 0] = "A", ENUM11[ENUM11.B = 1] = "B", ENUM11[ENUM11[""] = 2] = "", void 0 === ENUM || _type_of(ENUM), void 0 === ENUM1 || _type_of(ENUM1), _type_of(0), _type_of(ENUM[0] + 1), _type_of(void 0 === ENUM ? "undefined" : _type_of(ENUM)), _type_of(_type_of(_type_of(ENUM[0] + 1))), void 0 === ENUM || _type_of(ENUM), void 0 === ENUM1 || _type_of(ENUM1), _type_of(1), void 0 === ENUM || _type_of(ENUM), z || (z = {}), void 0 === ENUM || _type_of(ENUM), void 0 === ENUM1 || _type_of(ENUM1); +var ENUM1, ENUM = ENUM || {}, ENUM11 = ((ENUM1 = ENUM11 || {})[ENUM1.A = 0] = "A", ENUM1[ENUM1.B = 1] = "B", ENUM1[ENUM1[""] = 2] = "", ENUM1); +void 0 === ENUM || _type_of(ENUM), void 0 === ENUM11 || _type_of(ENUM11), _type_of(0), _type_of(ENUM[0] + 1), _type_of(void 0 === ENUM ? "undefined" : _type_of(ENUM)), _type_of(_type_of(_type_of(ENUM[0] + 1))), void 0 === ENUM || _type_of(ENUM), void 0 === ENUM11 || _type_of(ENUM11), _type_of(1), void 0 === ENUM || _type_of(ENUM), void 0 === ENUM || _type_of(ENUM), void 0 === ENUM11 || _type_of(ENUM11); diff --git a/crates/swc/tests/tsc-references/typeofOperatorWithNumberType.1.normal.js b/crates/swc/tests/tsc-references/typeofOperatorWithNumberType.1.normal.js index 1efb77982ca52..69f37acb8a905 100644 --- a/crates/swc/tests/tsc-references/typeofOperatorWithNumberType.1.normal.js +++ b/crates/swc/tests/tsc-references/typeofOperatorWithNumberType.1.normal.js @@ -20,7 +20,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // number type var @@ -70,3 +69,4 @@ z: _type_of(y.a); z: _type_of(objA.a); z: _type_of(A.foo); z: _type_of(M.n); +var M; diff --git a/crates/swc/tests/tsc-references/typeofOperatorWithStringType.1.normal.js b/crates/swc/tests/tsc-references/typeofOperatorWithStringType.1.normal.js index 54aef667d44fc..265011992ca3f 100644 --- a/crates/swc/tests/tsc-references/typeofOperatorWithStringType.1.normal.js +++ b/crates/swc/tests/tsc-references/typeofOperatorWithStringType.1.normal.js @@ -20,7 +20,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // string type var @@ -70,3 +69,4 @@ z: _type_of(y.a); z: _type_of(objA.a); z: _type_of(A.foo); z: _type_of(M.n); +var M; diff --git a/crates/swc/tests/tsc-references/typeofThis.1.normal.js b/crates/swc/tests/tsc-references/typeofThis.1.normal.js index d77a3e6112737..7505cd8cde45c 100644 --- a/crates/swc/tests/tsc-references/typeofThis.1.normal.js +++ b/crates/swc/tests/tsc-references/typeofThis.1.normal.js @@ -40,13 +40,11 @@ var Test5 = function Test5() { var x = 1; }; }; -var Test6; (function(Test6) { Test6.f = function() { var x = 1; }; })(Test6 || (Test6 = {})); -var Test7; (function(Test7) { Test7.f = function() { var x = 1; @@ -154,3 +152,4 @@ var Tests12 = /*#__PURE__*/ function() { }; return Tests12; }(); +var Test6, Test7; diff --git a/crates/swc/tests/tsc-references/undefinedAssignableToEveryType.1.normal.js b/crates/swc/tests/tsc-references/undefinedAssignableToEveryType.1.normal.js index bff854a37bb05..9447e4524b3c9 100644 --- a/crates/swc/tests/tsc-references/undefinedAssignableToEveryType.1.normal.js +++ b/crates/swc/tests/tsc-references/undefinedAssignableToEveryType.1.normal.js @@ -6,10 +6,10 @@ var C = function C() { }; var ac; var ai; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var ae; var b = undefined; var c = undefined; diff --git a/crates/swc/tests/tsc-references/undefinedAssignableToEveryType.2.minified.js b/crates/swc/tests/tsc-references/undefinedAssignableToEveryType.2.minified.js index b7076fb6e30a6..d4ae3824bb8b8 100644 --- a/crates/swc/tests/tsc-references/undefinedAssignableToEveryType.2.minified.js +++ b/crates/swc/tests/tsc-references/undefinedAssignableToEveryType.2.minified.js @@ -1,4 +1,3 @@ //// [undefinedAssignableToEveryType.ts] -var E, E1; import "@swc/helpers/_/_class_call_check"; -(E1 = E || (E = {}))[E1.A = 0] = "A"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); diff --git a/crates/swc/tests/tsc-references/undefinedIsSubtypeOfEverything.1.normal.js b/crates/swc/tests/tsc-references/undefinedIsSubtypeOfEverything.1.normal.js index 2e7380593e464..c47f98012763c 100644 --- a/crates/swc/tests/tsc-references/undefinedIsSubtypeOfEverything.1.normal.js +++ b/crates/swc/tests/tsc-references/undefinedIsSubtypeOfEverything.1.normal.js @@ -142,10 +142,10 @@ var D10 = /*#__PURE__*/ function(Base) { } return D10; }(Base); -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var D11 = /*#__PURE__*/ function(Base) { "use strict"; _inherits(D11, Base); diff --git a/crates/swc/tests/tsc-references/undefinedIsSubtypeOfEverything.2.minified.js b/crates/swc/tests/tsc-references/undefinedIsSubtypeOfEverything.2.minified.js index f4707f484ce02..b0b90bbf8630f 100644 --- a/crates/swc/tests/tsc-references/undefinedIsSubtypeOfEverything.2.minified.js +++ b/crates/swc/tests/tsc-references/undefinedIsSubtypeOfEverything.2.minified.js @@ -2,9 +2,10 @@ import { _ as _call_super } from "@swc/helpers/_/_call_super"; import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; import { _ as _inherits } from "@swc/helpers/_/_inherits"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); function f() {} -(E1 = E || (E = {}))[E1.A = 0] = "A", (f || (f = {})).bar = 1; -var E, E1, c = function c() { +(f || (f = {})).bar = 1; +var c = function c() { _class_call_check(this, c); }; (c || (c = {})).bar = 1; diff --git a/crates/swc/tests/tsc-references/unionSubtypeIfEveryConstituentTypeIsSubtype.1.normal.js b/crates/swc/tests/tsc-references/unionSubtypeIfEveryConstituentTypeIsSubtype.1.normal.js index 125d58dc6d2c0..0d9ff8e9cec08 100644 --- a/crates/swc/tests/tsc-references/unionSubtypeIfEveryConstituentTypeIsSubtype.1.normal.js +++ b/crates/swc/tests/tsc-references/unionSubtypeIfEveryConstituentTypeIsSubtype.1.normal.js @@ -1,10 +1,10 @@ //// [unionSubtypeIfEveryConstituentTypeIsSubtype.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; -var e; -(function(e) { +var e = /*#__PURE__*/ function(e) { e[e["e1"] = 0] = "e1"; e[e["e2"] = 1] = "e2"; -})(e || (e = {})); + return e; +}(e || {}); var A = function A() { "use strict"; _class_call_check(this, A); @@ -13,10 +13,10 @@ var A2 = function A2() { "use strict"; _class_call_check(this, A2); }; -var E2; -(function(E2) { +var E2 = /*#__PURE__*/ function(E2) { E2[E2["A"] = 0] = "A"; -})(E2 || (E2 = {})); + return E2; +}(E2 || {}); function f() {} (function(f) { f.bar = 1; diff --git a/crates/swc/tests/tsc-references/unionSubtypeIfEveryConstituentTypeIsSubtype.2.minified.js b/crates/swc/tests/tsc-references/unionSubtypeIfEveryConstituentTypeIsSubtype.2.minified.js index 7d9661d8d94b1..4279ac3d464bf 100644 --- a/crates/swc/tests/tsc-references/unionSubtypeIfEveryConstituentTypeIsSubtype.2.minified.js +++ b/crates/swc/tests/tsc-references/unionSubtypeIfEveryConstituentTypeIsSubtype.2.minified.js @@ -1,8 +1,9 @@ //// [unionSubtypeIfEveryConstituentTypeIsSubtype.ts] import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check"; +var e, E2, e1 = ((e = e1 || {})[e.e1 = 0] = "e1", e[e.e2 = 1] = "e2", e), E21 = ((E2 = E21 || {})[E2.A = 0] = "A", E2); function f() {} -(e = e1 || (e1 = {}))[e.e1 = 0] = "e1", e[e.e2 = 1] = "e2", (E2 = E21 || (E21 = {}))[E2.A = 0] = "A", (f || (f = {})).bar = 1; -var e, E2, e1, E21, c = function c() { +(f || (f = {})).bar = 1; +var c = function c() { _class_call_check(this, c); }; (c || (c = {})).bar = 1; diff --git a/crates/swc/tests/tsc-references/unknownType2.1.normal.js b/crates/swc/tests/tsc-references/unknownType2.1.normal.js index 1e2cb35034c36..555ad3cf86876 100644 --- a/crates/swc/tests/tsc-references/unknownType2.1.normal.js +++ b/crates/swc/tests/tsc-references/unknownType2.1.normal.js @@ -43,18 +43,18 @@ if (u === anIntersection) {} if (u === aFunction) { var uFunction = u; } -var NumberEnum; -(function(NumberEnum) { +var NumberEnum = /*#__PURE__*/ function(NumberEnum) { NumberEnum[NumberEnum["A"] = 0] = "A"; NumberEnum[NumberEnum["B"] = 1] = "B"; NumberEnum[NumberEnum["C"] = 2] = "C"; -})(NumberEnum || (NumberEnum = {})); -var StringEnum; -(function(StringEnum) { + return NumberEnum; +}(NumberEnum || {}); +var StringEnum = /*#__PURE__*/ function(StringEnum) { StringEnum["A"] = "A"; StringEnum["B"] = "B"; StringEnum["C"] = "C"; -})(StringEnum || (StringEnum = {})); + return StringEnum; +}(StringEnum || {}); if (u === NumberEnum || u === StringEnum) { var enumObj = u; } diff --git a/crates/swc/tests/tsc-references/unknownType2.2.minified.js b/crates/swc/tests/tsc-references/unknownType2.2.minified.js index fee503939e9e8..3ee644dc03b24 100644 --- a/crates/swc/tests/tsc-references/unknownType2.2.minified.js +++ b/crates/swc/tests/tsc-references/unknownType2.2.minified.js @@ -1,3 +1,4 @@ //// [unknownType2.ts] -var NumberEnum, StringEnum, NumberEnum1, StringEnum1, u = void 0; -5 === u && u.toString(10), symb, aString, aBoolean, aNumber, anObject, anObjectLiteral, aUnion, anIntersection, aFunction, (NumberEnum = NumberEnum1 || (NumberEnum1 = {}))[NumberEnum.A = 0] = "A", NumberEnum[NumberEnum.B = 1] = "B", NumberEnum[NumberEnum.C = 2] = "C", (StringEnum = StringEnum1 || (StringEnum1 = {})).A = "A", StringEnum.B = "B", StringEnum.C = "C"; +var NumberEnum, StringEnum, u = void 0; +5 === u && u.toString(10), symb, aString, aBoolean, aNumber, anObject, anObjectLiteral, aUnion, anIntersection, aFunction; +var NumberEnum1 = ((NumberEnum = NumberEnum1 || {})[NumberEnum.A = 0] = "A", NumberEnum[NumberEnum.B = 1] = "B", NumberEnum[NumberEnum.C = 2] = "C", NumberEnum), StringEnum1 = ((StringEnum = StringEnum1 || {}).A = "A", StringEnum.B = "B", StringEnum.C = "C", StringEnum); diff --git a/crates/swc/tests/tsc-references/useObjectValuesAndEntries1.1.normal.js b/crates/swc/tests/tsc-references/useObjectValuesAndEntries1.1.normal.js index 871720773258b..cc2588f7d1d18 100644 --- a/crates/swc/tests/tsc-references/useObjectValuesAndEntries1.1.normal.js +++ b/crates/swc/tests/tsc-references/useObjectValuesAndEntries1.1.normal.js @@ -44,11 +44,11 @@ var a = [ ]; var entries4 = Object.entries(a); // [string, string][] var values4 = Object.values(a); // string[] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; -})(E || (E = {})); + return E; +}(E || {}); var entries5 = Object.entries(E); // [string, any][] var values5 = Object.values(E); // any[] var i = {}; diff --git a/crates/swc/tests/tsc-references/useObjectValuesAndEntries1.2.minified.js b/crates/swc/tests/tsc-references/useObjectValuesAndEntries1.2.minified.js index 6715793fd342b..9edb6a4dbe53a 100644 --- a/crates/swc/tests/tsc-references/useObjectValuesAndEntries1.2.minified.js +++ b/crates/swc/tests/tsc-references/useObjectValuesAndEntries1.2.minified.js @@ -1,5 +1,5 @@ //// [useObjectValuesAndEntries1.ts] -var E, E1, o = { +var E, o = { a: 1, b: 2 }, _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0; @@ -26,6 +26,8 @@ var a = [ "b", "c" ]; -Object.entries(a), Object.values(a), (E = E1 || (E1 = {}))[E.A = 0] = "A", E[E.B = 1] = "B", Object.entries(E1), Object.values(E1); +Object.entries(a), Object.values(a); +var E1 = ((E = E1 || {})[E.A = 0] = "A", E[E.B = 1] = "B", E); +Object.entries(E1), Object.values(E1); var i = {}; Object.entries(i), Object.values(i); diff --git a/crates/swc/tests/tsc-references/usingDeclarations.1(target=es2015).1.normal.js b/crates/swc/tests/tsc-references/usingDeclarations.1(target=es2015).1.normal.js index b46ae608229e2..5d0142a2b5f1f 100644 --- a/crates/swc/tests/tsc-references/usingDeclarations.1(target=es2015).1.normal.js +++ b/crates/swc/tests/tsc-references/usingDeclarations.1(target=es2015).1.normal.js @@ -233,7 +233,6 @@ try { } } } - var N; (function(N) { try { var _usingCtx = _using_ctx(); @@ -418,6 +417,7 @@ try { _usingCtx14.d(); } } + var N; } catch (_) { _usingCtx.e = _; } finally{ diff --git a/crates/swc/tests/tsc-references/usingDeclarations.1(target=es2017).1.normal.js b/crates/swc/tests/tsc-references/usingDeclarations.1(target=es2017).1.normal.js index ca852fadaf850..e2f478b2842c6 100644 --- a/crates/swc/tests/tsc-references/usingDeclarations.1(target=es2017).1.normal.js +++ b/crates/swc/tests/tsc-references/usingDeclarations.1(target=es2017).1.normal.js @@ -214,7 +214,6 @@ try { } } } - var N; (function(N) { try { var _usingCtx = _using_ctx(); @@ -399,6 +398,7 @@ try { _usingCtx14.d(); } } + var N; } catch (_) { _usingCtx.e = _; } finally{ diff --git a/crates/swc/tests/tsc-references/usingDeclarations.1(target=es2022).1.normal.js b/crates/swc/tests/tsc-references/usingDeclarations.1(target=es2022).1.normal.js index d5c775efd1753..c60cf682c836c 100644 --- a/crates/swc/tests/tsc-references/usingDeclarations.1(target=es2022).1.normal.js +++ b/crates/swc/tests/tsc-references/usingDeclarations.1(target=es2022).1.normal.js @@ -214,7 +214,6 @@ try { } } } - var N; (function(N) { try { var _usingCtx = _using_ctx(); @@ -399,6 +398,7 @@ try { _usingCtx14.d(); } } + var N; } catch (_) { _usingCtx.e = _; } finally{ diff --git a/crates/swc/tests/tsc-references/usingDeclarations.1(target=es5).1.normal.js b/crates/swc/tests/tsc-references/usingDeclarations.1(target=es5).1.normal.js index ce351b7003e8b..2f2f80bc56ded 100644 --- a/crates/swc/tests/tsc-references/usingDeclarations.1(target=es5).1.normal.js +++ b/crates/swc/tests/tsc-references/usingDeclarations.1(target=es5).1.normal.js @@ -419,7 +419,6 @@ try { } return C3; }(C1); - var N; (function(N) { try { var _usingCtx = _using_ctx(); @@ -575,6 +574,7 @@ try { _usingCtx14.d(); } } + var N; } catch (_) { _usingCtx.e = _; } finally{ diff --git a/crates/swc/tests/tsc-references/usingDeclarations.1(target=esnext).1.normal.js b/crates/swc/tests/tsc-references/usingDeclarations.1(target=esnext).1.normal.js index d5c775efd1753..c60cf682c836c 100644 --- a/crates/swc/tests/tsc-references/usingDeclarations.1(target=esnext).1.normal.js +++ b/crates/swc/tests/tsc-references/usingDeclarations.1(target=esnext).1.normal.js @@ -214,7 +214,6 @@ try { } } } - var N; (function(N) { try { var _usingCtx = _using_ctx(); @@ -399,6 +398,7 @@ try { _usingCtx14.d(); } } + var N; } catch (_) { _usingCtx.e = _; } finally{ diff --git a/crates/swc/tests/tsc-references/validEnumAssignments.1.normal.js b/crates/swc/tests/tsc-references/validEnumAssignments.1.normal.js index 0fc3233477e75..add2ff096fdcf 100644 --- a/crates/swc/tests/tsc-references/validEnumAssignments.1.normal.js +++ b/crates/swc/tests/tsc-references/validEnumAssignments.1.normal.js @@ -1,9 +1,9 @@ //// [validEnumAssignments.ts] -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; E[E["B"] = 1] = "B"; -})(E || (E = {})); + return E; +}(E || {}); var n; var a; var e; diff --git a/crates/swc/tests/tsc-references/validEnumAssignments.2.minified.js b/crates/swc/tests/tsc-references/validEnumAssignments.2.minified.js index 49e6e4d2b1790..00a87ae40489c 100644 --- a/crates/swc/tests/tsc-references/validEnumAssignments.2.minified.js +++ b/crates/swc/tests/tsc-references/validEnumAssignments.2.minified.js @@ -1,3 +1,2 @@ //// [validEnumAssignments.ts] -var E, E1; -(E1 = E || (E = {}))[E1.A = 0] = "A", E1[E1.B = 1] = "B"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E[E.B = 1] = "B", E); diff --git a/crates/swc/tests/tsc-references/validNullAssignments.1.normal.js b/crates/swc/tests/tsc-references/validNullAssignments.1.normal.js index 5b2bfa0c2bb7b..6b8339bebfbd0 100644 --- a/crates/swc/tests/tsc-references/validNullAssignments.1.normal.js +++ b/crates/swc/tests/tsc-references/validNullAssignments.1.normal.js @@ -6,10 +6,10 @@ var c = null; var d = null; var e = null; e = null; // ok -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); E.A = null; // error var C = function C() { "use strict"; @@ -21,7 +21,6 @@ C = null; // error var g; g = null; // ok I = null; // error -var M; (function(M) { M.x = 1; })(M || (M = {})); @@ -31,3 +30,4 @@ function i(a) { a = null; } i = null; // error +var M; diff --git a/crates/swc/tests/tsc-references/validNullAssignments.2.minified.js b/crates/swc/tests/tsc-references/validNullAssignments.2.minified.js index ddd5334acc1ca..db1d1bc9b4efb 100644 --- a/crates/swc/tests/tsc-references/validNullAssignments.2.minified.js +++ b/crates/swc/tests/tsc-references/validNullAssignments.2.minified.js @@ -1,4 +1,4 @@ //// [validNullAssignments.ts] -var E, M, E1; import "@swc/helpers/_/_class_call_check"; -(E1 = E || (E = {}))[E1.A = 0] = "A", E.A = null, I = null, (M || (M = {})).x = 1; +var E, M, E1 = ((E = E1 || {})[E.A = 0] = "A", E); +E1.A = null, I = null, (M || (M = {})).x = 1; diff --git a/crates/swc/tests/tsc-references/validNumberAssignments.1.normal.js b/crates/swc/tests/tsc-references/validNumberAssignments.1.normal.js index 002ce29e0e5db..696e2b28bc53b 100644 --- a/crates/swc/tests/tsc-references/validNumberAssignments.1.normal.js +++ b/crates/swc/tests/tsc-references/validNumberAssignments.1.normal.js @@ -3,10 +3,10 @@ var x = 1; var a = x; var b = x; var c = x; -var E; -(function(E) { +var E = /*#__PURE__*/ function(E) { E[E["A"] = 0] = "A"; -})(E || (E = {})); + return E; +}(E || {}); var d = x; var e = 0; e = x; diff --git a/crates/swc/tests/tsc-references/validNumberAssignments.2.minified.js b/crates/swc/tests/tsc-references/validNumberAssignments.2.minified.js index 42573de5501e3..260a0fa12eb17 100644 --- a/crates/swc/tests/tsc-references/validNumberAssignments.2.minified.js +++ b/crates/swc/tests/tsc-references/validNumberAssignments.2.minified.js @@ -1,3 +1,2 @@ //// [validNumberAssignments.ts] -var E, E1; -(E1 = E || (E = {}))[E1.A = 0] = "A"; +var E, E1 = ((E = E1 || {})[E.A = 0] = "A", E); diff --git a/crates/swc/tests/tsc-references/valuesMergingAcrossModules.1.normal.js b/crates/swc/tests/tsc-references/valuesMergingAcrossModules.1.normal.js index 6c7d1d22009ac..a5ca1c16ce566 100644 --- a/crates/swc/tests/tsc-references/valuesMergingAcrossModules.1.normal.js +++ b/crates/swc/tests/tsc-references/valuesMergingAcrossModules.1.normal.js @@ -4,10 +4,10 @@ export { A }; //// [b.ts] import { A } from "./a"; //// [c.ts] -var A; (function(A) { A.displayName = "A"; })(A || (A = {})); A(); A.displayName; +var A; export { }; diff --git a/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnum.1.normal.js b/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnum.1.normal.js index e31a7ba710c42..46cb175906e0a 100644 --- a/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnum.1.normal.js +++ b/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnum.1.normal.js @@ -1,5 +1,5 @@ //// [verbatimModuleSyntaxConstEnum.ts] -export var E; -(function(E) { +export var E = /*#__PURE__*/ function(E) { E[E["A"] = 1] = "A"; -})(E || (E = {})); + return E; +}({}); diff --git a/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnum.2.minified.js b/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnum.2.minified.js index c79c7c7cab1d3..f90352722865c 100644 --- a/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnum.2.minified.js +++ b/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnum.2.minified.js @@ -1,5 +1,4 @@ //// [verbatimModuleSyntaxConstEnum.ts] var E; -var E1; -export { E1 as E }; -(E = E1 || (E1 = {}))[E.A = 1] = "A"; +var E1 = ((E = {})[E.A = 1] = "A", E); +export { E1 as E, }; diff --git a/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnumUsage.1.normal.js b/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnumUsage.1.normal.js index 8aa0d28b49056..b46d4b4dc7656 100644 --- a/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnumUsage.1.normal.js +++ b/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnumUsage.1.normal.js @@ -1,16 +1,16 @@ //// [verbatimModuleSyntaxConstEnumUsage.ts] //// [foo.ts] -export var Foo; -(function(Foo) { +export var Foo = /*#__PURE__*/ function(Foo) { Foo[Foo["a"] = 1] = "a"; Foo[Foo["b"] = 2] = "b"; Foo[Foo["c"] = 3] = "c"; -})(Foo || (Foo = {})); + return Foo; +}({}); //// [bar.ts] import { Foo } from './foo.js'; -export var Bar; -(function(Bar) { +export var Bar = /*#__PURE__*/ function(Bar) { Bar[Bar["a"] = Foo.a] = "a"; Bar[Bar["c"] = Foo.c] = "c"; Bar[Bar["e"] = 5] = "e"; -})(Bar || (Bar = {})); + return Bar; +}({}); diff --git a/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnumUsage.2.minified.js b/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnumUsage.2.minified.js index 7c351d12e8c39..4ac79c88bac62 100644 --- a/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnumUsage.2.minified.js +++ b/crates/swc/tests/tsc-references/verbatimModuleSyntaxConstEnumUsage.2.minified.js @@ -1,12 +1,10 @@ //// [verbatimModuleSyntaxConstEnumUsage.ts] //// [foo.ts] var Foo; -var Foo1; -export { Foo1 as Foo }; -(Foo = Foo1 || (Foo1 = {}))[Foo.a = 1] = "a", Foo[Foo.b = 2] = "b", Foo[Foo.c = 3] = "c"; +var Foo1 = ((Foo = {})[Foo.a = 1] = "a", Foo[Foo.b = 2] = "b", Foo[Foo.c = 3] = "c", Foo); +export { Foo1 as Foo, }; //// [bar.ts] var Bar; import { Foo } from './foo.js'; -var Bar1; -export { Bar1 as Bar }; -(Bar = Bar1 || (Bar1 = {}))[Bar.a = Foo.a] = "a", Bar[Bar.c = Foo.c] = "c", Bar[Bar.e = 5] = "e"; +var Bar1 = ((Bar = {})[Bar.a = Foo.a] = "a", Bar[Bar.c = Foo.c] = "c", Bar[Bar.e = 5] = "e", Bar); +export { Bar1 as Bar, }; diff --git a/crates/swc/tests/tsc-references/verbatimModuleSyntaxInternalImportEquals.1.normal.js b/crates/swc/tests/tsc-references/verbatimModuleSyntaxInternalImportEquals.1.normal.js index e3e1d3c836f73..93713eefe6bf2 100644 --- a/crates/swc/tests/tsc-references/verbatimModuleSyntaxInternalImportEquals.1.normal.js +++ b/crates/swc/tests/tsc-references/verbatimModuleSyntaxInternalImportEquals.1.normal.js @@ -1,9 +1,9 @@ //// [verbatimModuleSyntaxInternalImportEquals.ts] export { }; var f1 = NonExistent; -var Foo; (function(Foo) { Foo.foo = 1; })(Foo || (Foo = {})); var f2 = Foo.foo; var f3 = Foo.T; +var Foo; diff --git a/crates/swc/tests/tsc-references/verbatimModuleSyntaxNoElisionCJS.1.normal.js b/crates/swc/tests/tsc-references/verbatimModuleSyntaxNoElisionCJS.1.normal.js index 4f2ce71c01051..851187f56bbbf 100644 --- a/crates/swc/tests/tsc-references/verbatimModuleSyntaxNoElisionCJS.1.normal.js +++ b/crates/swc/tests/tsc-references/verbatimModuleSyntaxNoElisionCJS.1.normal.js @@ -11,10 +11,10 @@ Object.defineProperty(exports, "__esModule", { const I = require("./a"); //// [/c.ts] "use strict"; -var I; (function(I) { I.x = 1; })(I || (I = {})); +var I; module.exports = I; //// [/d.ts] "use strict"; diff --git a/crates/swc/tests/tsc-references/verbatimModuleSyntaxRestrictionsCJS.1.normal.js b/crates/swc/tests/tsc-references/verbatimModuleSyntaxRestrictionsCJS.1.normal.js index 6ab662acc5213..3924a16a7440d 100644 --- a/crates/swc/tests/tsc-references/verbatimModuleSyntaxRestrictionsCJS.1.normal.js +++ b/crates/swc/tests/tsc-references/verbatimModuleSyntaxRestrictionsCJS.1.normal.js @@ -37,10 +37,10 @@ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildc const _decl = /*#__PURE__*/ _interop_require_wildcard._(require("./decl")); Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard._(require("./decl"))); // error const x = 1; // error -var Values; (function(Values) { Values.x = 1; })(Values || (Values = {})); +var Values; // sketchy, but ok //// [/main2.ts] "use strict"; @@ -49,10 +49,10 @@ module.exports = { }; //// [/main3.ts] "use strict"; -var ns; (function(ns) { ns.x = 1; })(ns || (ns = {})); +var ns; module.exports = ns; //// [/main4.ts] "use strict"; diff --git a/crates/swc/tests/tsc-references/verbatimModuleSyntaxRestrictionsESM.1.normal.js b/crates/swc/tests/tsc-references/verbatimModuleSyntaxRestrictionsESM.1.normal.js index 719fd238b320b..b4b1ac8f417f8 100644 --- a/crates/swc/tests/tsc-references/verbatimModuleSyntaxRestrictionsESM.1.normal.js +++ b/crates/swc/tests/tsc-references/verbatimModuleSyntaxRestrictionsESM.1.normal.js @@ -20,8 +20,7 @@ export { }; //! 4 | import * as types from "./types"; // ok //! `---- //// [/ns.ts] -export var ns; (function(ns) { - let A; - (function(A) {})(A = ns.A || (ns.A = {})); + (function(A) {})(ns.A || (ns.A = {})); })(ns || (ns = {})); +export var ns; diff --git a/crates/swc/tests/tsc-references/verbatimModuleSyntaxRestrictionsESM.2.minified.js b/crates/swc/tests/tsc-references/verbatimModuleSyntaxRestrictionsESM.2.minified.js index 36a9f2436698a..36aafebee2906 100644 --- a/crates/swc/tests/tsc-references/verbatimModuleSyntaxRestrictionsESM.2.minified.js +++ b/crates/swc/tests/tsc-references/verbatimModuleSyntaxRestrictionsESM.2.minified.js @@ -21,6 +21,6 @@ export { }; //! `---- //// [/ns.ts] var ns; +(ns = ns1 || (ns1 = {})).A || (ns.A = {}); var ns1; export { ns1 as ns }; -(ns = ns1 || (ns1 = {})).A || (ns.A = {}); diff --git a/crates/swc/tests/tsc-references/voidOperatorWithAnyOtherType.1.normal.js b/crates/swc/tests/tsc-references/voidOperatorWithAnyOtherType.1.normal.js index a9c72d9a31f14..c091a716ace38 100644 --- a/crates/swc/tests/tsc-references/voidOperatorWithAnyOtherType.1.normal.js +++ b/crates/swc/tests/tsc-references/voidOperatorWithAnyOtherType.1.normal.js @@ -27,7 +27,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // any type var @@ -62,3 +61,4 @@ void ANY2[0]; ANY, ANY1; void objA.a; void M.n; +var M; diff --git a/crates/swc/tests/tsc-references/voidOperatorWithBooleanType.1.normal.js b/crates/swc/tests/tsc-references/voidOperatorWithBooleanType.1.normal.js index 71271950fe8df..272d12b8a01cb 100644 --- a/crates/swc/tests/tsc-references/voidOperatorWithBooleanType.1.normal.js +++ b/crates/swc/tests/tsc-references/voidOperatorWithBooleanType.1.normal.js @@ -15,7 +15,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // boolean type var @@ -40,3 +39,4 @@ void foo(); true, false; void objA.a; void M.n; +var M; diff --git a/crates/swc/tests/tsc-references/voidOperatorWithEnumType.1.normal.js b/crates/swc/tests/tsc-references/voidOperatorWithEnumType.1.normal.js index 94d5ff638066d..cf1ac824c22a7 100644 --- a/crates/swc/tests/tsc-references/voidOperatorWithEnumType.1.normal.js +++ b/crates/swc/tests/tsc-references/voidOperatorWithEnumType.1.normal.js @@ -1,13 +1,14 @@ //// [voidOperatorWithEnumType.ts] // void operator on enum type -var ENUM; -(function(ENUM) {})(ENUM || (ENUM = {})); -var ENUM1; -(function(ENUM1) { +var ENUM = /*#__PURE__*/ function(ENUM) { + return ENUM; +}(ENUM || {}); +var ENUM1 = /*#__PURE__*/ function(ENUM1) { ENUM1[ENUM1["A"] = 0] = "A"; ENUM1[ENUM1["B"] = 1] = "B"; ENUM1[ENUM1[""] = 2] = ""; -})(ENUM1 || (ENUM1 = {})); + return ENUM1; +}(ENUM1 || {}); // enum type var var ResultIsAny1 = void ENUM; var ResultIsAny2 = void ENUM1; diff --git a/crates/swc/tests/tsc-references/voidOperatorWithEnumType.2.minified.js b/crates/swc/tests/tsc-references/voidOperatorWithEnumType.2.minified.js index 1b2a7a18bc80c..b96e17983bcc1 100644 --- a/crates/swc/tests/tsc-references/voidOperatorWithEnumType.2.minified.js +++ b/crates/swc/tests/tsc-references/voidOperatorWithEnumType.2.minified.js @@ -1,3 +1,3 @@ //// [voidOperatorWithEnumType.ts] -var ENUM, ENUM1, ENUM11; -ENUM || (ENUM = {}), (ENUM11 = ENUM1 || (ENUM1 = {}))[ENUM11.A = 0] = "A", ENUM11[ENUM11.B = 1] = "B", ENUM11[ENUM11[""] = 2] = "", ENUM[0], ENUM[0]; +var ENUM1, ENUM = ENUM || {}, ENUM11 = ((ENUM1 = ENUM11 || {})[ENUM1.A = 0] = "A", ENUM1[ENUM1.B = 1] = "B", ENUM1[ENUM1[""] = 2] = "", ENUM1); +ENUM[0], ENUM[0]; diff --git a/crates/swc/tests/tsc-references/voidOperatorWithNumberType.1.normal.js b/crates/swc/tests/tsc-references/voidOperatorWithNumberType.1.normal.js index 5711811ec03e3..ffbc7a4a23e80 100644 --- a/crates/swc/tests/tsc-references/voidOperatorWithNumberType.1.normal.js +++ b/crates/swc/tests/tsc-references/voidOperatorWithNumberType.1.normal.js @@ -19,7 +19,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // number type var @@ -55,3 +54,4 @@ void foo(); void objA.a; void M.n; objA.a, M.n; +var M; diff --git a/crates/swc/tests/tsc-references/voidOperatorWithStringType.1.normal.js b/crates/swc/tests/tsc-references/voidOperatorWithStringType.1.normal.js index f4cdb7e83ac43..0ca7fdabbca9a 100644 --- a/crates/swc/tests/tsc-references/voidOperatorWithStringType.1.normal.js +++ b/crates/swc/tests/tsc-references/voidOperatorWithStringType.1.normal.js @@ -19,7 +19,6 @@ var A = /*#__PURE__*/ function() { }; return A; }(); -var M; (function(M) {})(M || (M = {})); var objA = new A(); // string type var @@ -54,3 +53,4 @@ void STRING; void STRING1; void foo(); objA.a, M.n; +var M; diff --git a/crates/swc/tests/tsc-references/witness.1.normal.js b/crates/swc/tests/tsc-references/witness.1.normal.js index 91d3389d85e21..5bb3cc7ff512c 100644 --- a/crates/swc/tests/tsc-references/witness.1.normal.js +++ b/crates/swc/tests/tsc-references/witness.1.normal.js @@ -108,7 +108,6 @@ var propAcc1 = { m: propAcc1.m }; var propAcc1; -var M2; // Property access of module member (function(M2) { M2.x = M2.x; @@ -132,3 +131,4 @@ var C3 = function C3() { C3.q = C3.q; var qq = C3.q; var qq; // Parentheses - tested a bunch above +var M2; diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/deno_9097.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/deno_9097.js index cc85bdba69987..38897e171461e 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/deno_9097.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/deno_9097.js @@ -1,4 +1,3 @@ -export var util; (function(util) { function assertNever(_x) { throw new Error(); @@ -9,3 +8,4 @@ export var util; util.getValues = (obj)=>{}; util.objectValues = (obj)=>{}; })(util || (util = {})); +export var util; diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_export_str.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_export_str.js index 09700bd490c5a..a639f2873455f 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_export_str.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_export_str.js @@ -1,7 +1,7 @@ -export var State; -(function(State) { +export let State = /*#__PURE__*/ function(State) { State["closed"] = "closed"; State["opened"] = "opened"; State["mounted"] = "mounted"; State["unmounted"] = "unmounted"; -})(State || (State = {})); + return State; +}({}); diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_key_value.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_key_value.js index 4d770d2a9a9ae..51b9526be26c7 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_key_value.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_key_value.js @@ -1,6 +1,6 @@ -var StateNum; -(function(StateNum) { +var StateNum = /*#__PURE__*/ function(StateNum) { StateNum["closed"] = "cl0"; StateNum["opened"] = "op1"; StateNum["mounted"] = "mo2"; -})(StateNum || (StateNum = {})); + return StateNum; +}(StateNum || {}); diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_self_reference.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_self_reference.js index a90e04d634e8d..b5067c0fb76fe 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_self_reference.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_self_reference.js @@ -1,8 +1,8 @@ var x; -var Foo; -(function(Foo) { +var Foo = /*#__PURE__*/ function(Foo) { Foo[Foo["a"] = 0] = "a"; Foo[Foo["b"] = 0] = "b"; Foo[Foo["c"] = 1] = "c"; Foo[Foo["d"] = 1] = "d"; -})(Foo || (Foo = {})); + return Foo; +}(Foo || {}); diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_simple.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_simple.js index 7be05d3879027..b22aefac02b88 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_simple.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_simple.js @@ -1,4 +1,4 @@ -var Foo; -(function(Foo) { +var Foo = /*#__PURE__*/ function(Foo) { Foo[Foo["a"] = 0] = "a"; -})(Foo || (Foo = {})); + return Foo; +}(Foo || {}); diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_str.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_str.js index 3fb7eff960d0f..aaf9d287ebd54 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_str.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/enum_str.js @@ -1,7 +1,7 @@ -var State; -(function(State) { +var State = /*#__PURE__*/ function(State) { State["closed"] = "closed"; State["opened"] = "opened"; State["mounted"] = "mounted"; State["unmounted"] = "unmounted"; -})(State || (State = {})); + return State; +}(State || {}); diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_1329.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_1329.js index 145190f299a94..f923fed668073 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_1329.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_1329.js @@ -1,9 +1,8 @@ -var Test; (function(Test) { - let DummyValues; (function(DummyValues) { DummyValues["A"] = "A"; DummyValues["B"] = "B"; - })(DummyValues = Test.DummyValues || (Test.DummyValues = {})); + })(Test.DummyValues || (Test.DummyValues = {})); })(Test || (Test = {})); console(Test.DummyValues.A); +var Test; diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_1515_2.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_1515_2.js index e955b3c4cd14c..6f51b09519fbf 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_1515_2.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_1515_2.js @@ -1,7 +1,7 @@ -export var A; (function(A) { class B extends A { } A.B = B; })(A || (A = {})); -(function(A) {})(A || (A = {})); +(function(A) {})(A); +export var A; diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_1515_3.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_1515_3.js index 195ed24ff04bf..82316a77541fc 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_1515_3.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_1515_3.js @@ -1,3 +1,3 @@ export class A { } -(function(A) {})(A || (A = {})); +(function(A) {})(A); diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_2809.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_2809.js index 497383ff54ba7..b8a0d62a11bf6 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_2809.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_2809.js @@ -1,5 +1,5 @@ -var Color; -(function(Color) { +var Color = /*#__PURE__*/ function(Color) { Color["Aqua"] = "#00ffff"; Color["Cyan"] = "#00ffff"; -})(Color || (Color = {})); + return Color; +}(Color || {}); diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_2886_enum_namespace_block_scoping.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_2886_enum_namespace_block_scoping.js index c0842b1779e08..2ca04f66aaca4 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_2886_enum_namespace_block_scoping.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_2886_enum_namespace_block_scoping.js @@ -1,39 +1,35 @@ -export var Enum; -(function(Enum) { +export let Enum = /*#__PURE__*/ function(Enum) { Enum[Enum["test"] = 1] = "test"; -})(Enum || (Enum = {})); -var Namespace; -(function(Namespace) { - let Enum; + return Enum; +}({}); +(function(Namespace2) { (function(Enum) { Enum[Enum["test"] = 1] = "test"; - })(Enum = Namespace.Enum || (Namespace.Enum = {})); + })(Namespace2.Enum || (Namespace2.Enum = {})); (function(Enum) { Enum[Enum["test2"] = 1] = "test2"; - })(Enum = Namespace.Enum || (Namespace.Enum = {})); -})(Namespace || (Namespace = {})); + })(Namespace2.Enum); +})(Namespace2 || (Namespace2 = {})); { - let Enum; - (function(Enum) { + let Enum = /*#__PURE__*/ function(Enum) { Enum[Enum["test"] = 1] = "test"; - })(Enum || (Enum = {})); - let Namespace; + return Enum; + }({}); (function(Namespace) { - let Enum; (function(Enum) { Enum[Enum["test"] = 1] = "test"; - })(Enum = Namespace.Enum || (Namespace.Enum = {})); + })(Namespace.Enum || (Namespace.Enum = {})); })(Namespace || (Namespace = {})); + var Namespace; }{ - let Enum; - (function(Enum) { + let Enum = /*#__PURE__*/ function(Enum) { Enum[Enum["test"] = 1] = "test"; - })(Enum || (Enum = {})); - let Namespace; - (function(Namespace) { - let Enum; + return Enum; + }({}); + (function(Namespace1) { (function(Enum) { Enum[Enum["test"] = 1] = "test"; - })(Enum = Namespace.Enum || (Namespace.Enum = {})); - })(Namespace || (Namespace = {})); -} + })(Namespace1.Enum || (Namespace1.Enum = {})); + })(Namespace1 || (Namespace1 = {})); + var Namespace1; +}var Namespace2; diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_6219.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_6219.js index 629d8bcfeb9f5..3f0ebd86f01e4 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_6219.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_6219.js @@ -1,4 +1,4 @@ -var A; -(function(A) { +var A = /*#__PURE__*/ function(A) { A[A["a"] = a] = "a"; -})(A || (A = {})); + return A; +}(A || {}); diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_757.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_757.js index b813364738677..80453231eeae5 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_757.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_757.js @@ -1,7 +1,7 @@ // test.ts -var Foo; -(function(Foo) { +var Foo = /*#__PURE__*/ function(Foo) { Foo[Foo["A"] = 0] = "A"; Foo[Foo["B"] = 1] = "B"; -})(Foo || (Foo = {})); + return Foo; +}(Foo || {}); export default Foo; diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_820_1.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_820_1.js index 475602fd6596d..d504397b466fe 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_820_1.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_820_1.js @@ -1,6 +1,6 @@ -var Direction; -(function(Direction) { +var Direction = /*#__PURE__*/ function(Direction) { Direction[Direction["Up"] = 1] = "Up"; Direction[Direction["Down"] = 2] = "Down"; Direction[Direction["Left"] = 3] = "Left"; -})(Direction || (Direction = {})); + return Direction; +}(Direction || {}); diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_915_2.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_915_2.js index e7f00eb89d14e..e468d79cb20b5 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_915_2.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/issue_915_2.js @@ -1,9 +1,9 @@ Deno.test("[ws] WebSocket should act as asyncIterator", async ()=>{ - let Frames; - (function(Frames) { + let Frames = /*#__PURE__*/ function(Frames) { Frames[Frames["ping"] = 0] = "ping"; Frames[Frames["hello"] = 1] = "hello"; Frames[Frames["close"] = 2] = "close"; Frames[Frames["end"] = 3] = "end"; - })(Frames || (Frames = {})); + return Frames; + }({}); }); diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_001.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_001.js index c8e8bfaa51bf5..300751dfc9723 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_001.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_001.js @@ -1,4 +1,3 @@ -export var util; (function(util) { const c = 3; [util.a, util.b] = [ @@ -7,3 +6,4 @@ export var util; 3 ]; })(util || (util = {})); +export var util; diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_002.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_002.js index 98536c3fd225f..148bb599cb254 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_002.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_002.js @@ -1,7 +1,7 @@ -export var util; (function(util) { const c = 3; function foo() {} util.foo = foo; function bar() {} })(util || (util = {})); +export var util; diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_003.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_003.js index bcb9a277ce051..3d9425ad265fb 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_003.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_003.js @@ -1,6 +1,6 @@ -var Test; (function(Test) { (function(Inner) { Inner.c = 3; })(Test.Inner || (Test.Inner = {})); })(Test || (Test = {})); +var Test; diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_004.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_004.js index e48d7e5ccbf60..bf2ef8ece7795 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_004.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_004.js @@ -1,30 +1,25 @@ -var MyNamespace; (function(MyNamespace) { - let MyEnum; (function(MyEnum) { MyEnum[MyEnum["A"] = 1] = "A"; - })(MyEnum = MyNamespace.MyEnum || (MyNamespace.MyEnum = {})); - let MyInnerNamespace; + })(MyNamespace.MyEnum || (MyNamespace.MyEnum = {})); (function(MyInnerNamespace) { - let MyEnum; (function(MyEnum) { MyEnum[MyEnum["A"] = 1] = "A"; - })(MyEnum = MyInnerNamespace.MyEnum || (MyInnerNamespace.MyEnum = {})); - })(MyInnerNamespace = MyNamespace.MyInnerNamespace || (MyNamespace.MyInnerNamespace = {})); + })(MyInnerNamespace.MyEnum || (MyInnerNamespace.MyEnum = {})); + })(MyNamespace.MyInnerNamespace || (MyNamespace.MyInnerNamespace = {})); })(MyNamespace || (MyNamespace = {})); (function(MyNamespace) { - let MyEnum; (function(MyEnum) { MyEnum[MyEnum["B"] = 1] = "B"; - })(MyEnum = MyNamespace.MyEnum || (MyNamespace.MyEnum = {})); - let MyInnerNamespace; + })(MyNamespace.MyEnum || (MyNamespace.MyEnum = {})); (function(MyInnerNamespace) { MyInnerNamespace.Dec2 = 2; - })(MyInnerNamespace = MyNamespace.MyInnerNamespace || (MyNamespace.MyInnerNamespace = {})); + })(MyNamespace.MyInnerNamespace || (MyNamespace.MyInnerNamespace = {})); })(MyNamespace || (MyNamespace = {})); (function(MyNamespace) { - let MyEnum; - (function(MyEnum) { + let MyEnum = /*#__PURE__*/ function(MyEnum) { MyEnum[MyEnum["A"] = 2] = "A"; - })(MyEnum || (MyEnum = {})); + return MyEnum; + }({}); })(MyNamespace || (MyNamespace = {})); +var MyNamespace; diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_005.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_005.js index 7014aa9cf4112..9ebb31d63f6eb 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_005.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/namespace_005.js @@ -1,13 +1,12 @@ -var A; (function(A) { class Test { } A.Test = Test; })(A || (A = {})); -var B; (function(B) { B.a = A; console.log(B.a.Test); const b = A; console.log(b.Test); })(B || (B = {})); +var A, B; diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/parameter_properties_with_computed.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/parameter_properties_with_computed.js index 4ef7b6d303d10..35fb89768ebca 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/parameter_properties_with_computed.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/parameter_properties_with_computed.js @@ -1,14 +1,17 @@ -let _console_log = console.log(123); +var _class; +let prop; class A { constructor(a = 1){ this.a = a; this[_console_log] = 456; } } -let _console_log1; -let b = (_console_log1 = console.log(456), class { +prop = _console_log = console.log(123); +let prop1; +let b = (_class = class { constructor(a = 1){ this.a = a; this[_console_log1] = 123; } -}); +}, prop1 = _console_log1 = console.log(456), _class); +var _console_log, _console_log1; diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/ts_enum_is_mutable_true.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/ts_enum_is_mutable_true.js index 02fa8961ac9e9..4dac34a2886e0 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/ts_enum_is_mutable_true.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/ts_enum_is_mutable_true.js @@ -1,24 +1,21 @@ -var D; -(function(D) { +var D = /*#__PURE__*/ function(D) { D[D["A"] = 0] = "A"; D[D["B"] = 2] = "B"; -})(D || (D = {})); + return D; +}(D || {}); D.A = 5; console.log(D.A); -var E; +; console.log(1); -var F; -var G; -(function(G) { +; +var G = /*#__PURE__*/ function(G) { G[G["A"] = 2] = "A"; -})(G || (G = {})); + return G; +}(G || {}); console.log(G.A); -var H; -(function(H) { +var H = /*#__PURE__*/ function(H) { H[H["A"] = 2] = "A"; -})(H || (H = {})); -var I; -(function(I) { - I[I["A"] = H.A] = "A"; -})(I || (I = {})); -console.log(I.A); + return H; +}(H || {}); +; +console.log(2); diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/ts_enum_no_init.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/ts_enum_no_init.js index 3bd0ab00b614d..396a93d60986c 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/ts_enum_no_init.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/ts_enum_no_init.js @@ -1,5 +1,5 @@ -var FlexSize; -(function(FlexSize) { +var FlexSize = /*#__PURE__*/ function(FlexSize) { FlexSize[FlexSize["md"] = 0] = "md"; FlexSize[FlexSize["lg"] = 1] = "lg"; -})(FlexSize || (FlexSize = {})); + return FlexSize; +}(FlexSize || {}); diff --git a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/ts_enum_str_init.js b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/ts_enum_str_init.js index 2f7dbb0fde294..9c2a997bb85cf 100644 --- a/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/ts_enum_str_init.js +++ b/crates/swc_ecma_transforms_typescript/tests/__swc_snapshots__/tests/strip.rs/ts_enum_str_init.js @@ -1,5 +1,5 @@ -var FlexSize; -(function(FlexSize) { +var FlexSize = /*#__PURE__*/ function(FlexSize) { FlexSize["md"] = "md"; FlexSize["lg"] = "lg"; -})(FlexSize || (FlexSize = {})); + return FlexSize; +}(FlexSize || {}); diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-1653/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-1653/output.js index d7089cdcf19a5..cbc3261ce55f8 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-1653/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-1653/output.js @@ -1,14 +1,11 @@ -var X; (function(X) { - let Z; (function(Z) { Z.foo = 0; - })(Z = X.Z || (X.Z = {})); + })(X.Z || (X.Z = {})); })(X || (X = {})); -var Y; (function(Y) { - let Z; (function(Z) { Z.bar = 1; - })(Z = Y.Z || (Y.Z = {})); + })(Y.Z || (Y.Z = {})); })(Y || (Y = {})); +var X, Y; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-2234/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-2234/output.js index c794428f52bdf..2cb800cb5cee3 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-2234/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-2234/output.js @@ -1,6 +1,4 @@ -var Shapes; (function(Shapes) { - let Polygons; (function(Polygons) { class Triangle { } @@ -8,7 +6,8 @@ var Shapes; class Square { } Polygons.Square = Square; - })(Polygons = Shapes.Polygons || (Shapes.Polygons = {})); + })(Shapes.Polygons || (Shapes.Polygons = {})); })(Shapes || (Shapes = {})); const polygons = Shapes.Polygons; let sq = new polygons.Square(); +var Shapes; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-2669/1/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-2669/1/output.js index b78219007575a..b69a39ee79c25 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-2669/1/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-2669/1/output.js @@ -1,5 +1,5 @@ -export var TEST; (function(TEST) { TEST.VALUE = "value"; })(TEST || (TEST = {})); export default TEST; +export var TEST; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-2670/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-2670/output.js index d910c437c0070..f1fbcae13af42 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-2670/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-2670/output.js @@ -1,5 +1,5 @@ -export var TEST; (function(TEST) { TEST.VAL1 = "value1"; TEST.VAL2 = `${TEST.VAL1}_value2`; })(TEST || (TEST = {})); +export var TEST; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3001/1/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3001/1/output.js index 5cff9db4b2b23..fa922bdfd6820 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3001/1/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3001/1/output.js @@ -1,10 +1,10 @@ var x = 4; -var Foo; -(function(Foo) { +var Foo = /*#__PURE__*/ function(Foo) { Foo[Foo["a"] = 0] = "a"; Foo[Foo["b"] = 0] = "b"; Foo[Foo["c"] = 1] = "c"; - Foo[Foo["d"] = 1 + 1 * x] = "d"; + Foo[Foo["d"] = 1 + Foo.c * x] = "d"; Foo[Foo["e"] = 2 * Foo.d] = "e"; Foo[Foo["f"] = Foo.e * 10] = "f"; -})(Foo || (Foo = {})); + return Foo; +}(Foo || {}); diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3001/2/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3001/2/output.js index d46bdb1a767fb..205622004258b 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3001/2/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3001/2/output.js @@ -1,22 +1,22 @@ var x = 10; -var Foo; -(function(Foo) { +var Foo = /*#__PURE__*/ function(Foo) { Foo[Foo["a"] = 10] = "a"; Foo[Foo["b"] = 10] = "b"; Foo[Foo["c"] = 10 + x] = "c"; - Foo[Foo["d"] = Foo.c] = "d"; -})(Foo || (Foo = {})); -var Bar; -(function(Bar) { + Foo[Foo["d"] = 10 + x] = "d"; + return Foo; +}(Foo || {}); +var Bar = /*#__PURE__*/ function(Bar) { Bar[Bar["a"] = 1] = "a"; Bar[Bar["b"] = 10] = "b"; Bar[Bar["E"] = 10] = "E"; Bar[Bar["F"] = Math.E] = "F"; -})(Bar || (Bar = {})); -var Baz; -(function(Baz) { + return Bar; +}(Bar || {}); +var Baz = /*#__PURE__*/ function(Baz) { Baz[Baz["a"] = 0] = "a"; Baz[Baz["b"] = 1] = "b"; // @ts-ignore - Baz[Baz["x"] = 0..toString()] = "x"; -})(Baz || (Baz = {})); + Baz[Baz["x"] = Baz.a.toString()] = "x"; + return Baz; +}(Baz || {}); diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/1/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/1/output.js index f756daad9886b..59a661ceb4243 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/1/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/1/output.js @@ -1,6 +1,6 @@ -var Foo; (function(Foo) { ({ a: Foo.a } = { a: 1 }); })(Foo || (Foo = {})); +var Foo; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/2/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/2/output.js index fa06fcec7fb51..12d10cc57ce97 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/2/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/2/output.js @@ -1,7 +1,7 @@ -var Bar; (function(Bar) { ({ a: Bar.a, b: Bar.b } = { a: 1, b: 2 }); })(Bar || (Bar = {})); +var Bar; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/3/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/3/output.js index afd734b74db69..8526e4071d057 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/3/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/3/output.js @@ -1,7 +1,7 @@ -var Baz; (function(Baz) { Baz.baz = { a: 1, b: 2 }; })(Baz || (Baz = {})); +var Baz; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/4/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/4/output.js index 51f4632224a28..ccc6288c3a0c9 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/4/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3073/4/output.js @@ -1,4 +1,3 @@ -var A; (function(A) { const a = 1; const b = 2; @@ -19,3 +18,4 @@ var A; d: d }); })(A || (A = {})); +var A; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3158/1/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3158/1/output.js index d17dd509f1c44..97961c7abf612 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3158/1/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3158/1/output.js @@ -1,4 +1,3 @@ -var Foo; (function(Foo) { Foo.bar = 42; Foo.foo = function() { @@ -9,3 +8,4 @@ var Foo; } Foo.xyz = xyz; })(Foo || (Foo = {})); +var Foo; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3158/2/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3158/2/output.js index 34167b9ba2520..1a3057e38ac58 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3158/2/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3158/2/output.js @@ -1,4 +1,3 @@ -var Test; (function(Test) { function abc() { return 10; @@ -13,3 +12,4 @@ var Test; Test.xyz = xyz; })(Test || (Test = {})); Test.xyz(); +var Test; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3338/1/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3338/1/output.js index 146f67dc2cac9..5571235e03e9a 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3338/1/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3338/1/output.js @@ -1,5 +1,5 @@ -var Status; -(function(Status) { +var Status = /*#__PURE__*/ function(Status) { Status["foo"] = "111"; Status["boo"] = "222"; -})(Status || (Status = {})); + return Status; +}(Status || {}); diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3454/1/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3454/1/output.js index 9f18e6d27aa3f..42b894f81d84a 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3454/1/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3454/1/output.js @@ -1,9 +1,8 @@ -export var a; (function(a) { (function(b) { - let e; (function(e) { e["FOO"] = "BAR"; - })(e = b.e || (b.e = {})); + })(b.e || (b.e = {})); })(a.b || (a.b = {})); })(a || (a = {})); +export var a; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3711/1/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3711/1/output.js index 9fe5e2e6f215c..7f7f6c80bd710 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3711/1/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-3711/1/output.js @@ -1,6 +1,6 @@ -var A; -(function(A) { +var A = /*#__PURE__*/ function(A) { A[A["X1"] = 0] = "X1"; A["X15"] = "x15"; A[A["X2"] = 6] = "X2"; -})(A || (A = {})); + return A; +}(A || {}); diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-4393/1/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-4393/1/output.js index 86a48c900d61f..c3a983fae750e 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-4393/1/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-4393/1/output.js @@ -1,5 +1,5 @@ -var foo; (function(foo) { foo.bar = 0; })(foo || (foo = {})); export { foo }; +var foo; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-4481/1/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-4481/1/output.js index 5af757693f379..a8dfab9be6701 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-4481/1/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-4481/1/output.js @@ -1,7 +1,7 @@ import * as I from "./ABC"; -export var IE; (function(IE) { IE.A = I.A; IE.C = I.C; IE.D = I.D; })(IE || (IE = {})); +export var IE; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-8011/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-8011/output.js index de07cfa27615a..5c107d48a2824 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-8011/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-8011/output.js @@ -1,4 +1,3 @@ -var API; (function(API) { API.url = "/"; function update(value) { @@ -8,3 +7,4 @@ var API; })(API || (API = {})); API.update("/new"); console.log(API.url); +var API; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-8025/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-8025/output.js index 8d5834fde71a5..82bd5aecff174 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-8025/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-8025/output.js @@ -1,4 +1,3 @@ -var Foo; (function(Foo) { ({ a: Foo.a = 1 } = {}); ({ b: Foo.b = 2 } = {}); @@ -6,3 +5,4 @@ var Foo; console.log("inner", Foo.a, Foo.b, Foo.c, Foo.d); })(Foo || (Foo = {})); console.log("outer", Foo.a, Foo.b, Foo.c, Foo.d); +var Foo; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-8124/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-8124/output.js index 17dbfedca3ca8..a274f11182611 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/issue-8124/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/issue-8124/output.js @@ -1,10 +1,9 @@ -var Foo; (function(Foo) { Foo.a = 1; for(var a; Foo.a < 5; Foo.a++){} })(Foo || (Foo = {})); -var Bar; (function(Bar) { Bar.b = 2; var b = 3; })(Bar || (Bar = {})); +var Foo, Bar; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/namespace-and-enum/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/namespace-and-enum/output.js index 3e86ea6b4db28..eaa5b488584c1 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/namespace-and-enum/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/namespace-and-enum/output.js @@ -1,84 +1,65 @@ -export var E = function (E) { +export let E = /*#__PURE__*/ function(E) { E[E["A"] = 1] = "A"; return E; -}(E || {}); - -E = function (E) { +}({}); +(function(E) { E[E["B"] = 2] = "B"; - return E; -}(E); - -var E1 = function (E1) { +})(E); +var E1 = /*#__PURE__*/ function(E1) { E1[E1["C"] = 3] = "C"; return E1; }(E1 || {}); - -E1 = function (E1) { +(function(E1) { E1[E1["D"] = 4] = "D"; - return E1; -}(E1); - -export var N = (function (N) { - let E = function (E) { +})(E1); +(function(N) { + (function(E) { E[E["A"] = 1] = "A"; - return E; - }(N.E || (N.E = {})); - - E = function (E) { + })(N.E || (N.E = {})); + (function(E) { E[E["B"] = 2] = "B"; - return E; - }(N.E); - - let E1 = function (E1) { + })(N.E); + let E1 = /*#__PURE__*/ function(E1) { E1[E1["C"] = 3] = "C"; return E1; }({}); - - E1 = function (E1) { + (function(E1) { E1[E1["D"] = 4] = "D"; - return E1; - }(E1); + })(E1); })(N || (N = {})); - -N = (function (N) { - let E = function (E) { +(function(N) { + (function(E) { E[E["c"] = 3] = "c"; - return E; - }(N.E || (N.E = {})); - E = function (E) { + })(N.E || (N.E = {})); + (function(E) { E[E["d"] = 4] = "d"; - return E; - }(N.E); - var N1 = ((function (N1) { - let E2 = function (E2) { + })(N.E); + (function(N1) { + (function(E2) { E2[E2["e"] = 5] = "e"; - return E2; - }(N1.E2 || (N1.E2 = {})); - })(N1), N1); - N1 = (function (N1) { - let E2 = function (E2) { + })(N1.E2 || (N1.E2 = {})); + })(N.N1 || (N.N1 = {})); + (function(N1) { + (function(E2) { E2[E2["f"] = 6] = "f"; - return E2; - }(N1.E2 || (N1.E2 = {})); - })(N1), N1; - var N2 = ((function (N2) { - let E3 = function (E3) { + })(N1.E2 || (N1.E2 = {})); + })(N.N1 || (N.N1 = {})); + (function(N2) { + let E3 = /*#__PURE__*/ function(E3) { E3[E3["g"] = 7] = "g"; return E3; }({}); - })(N2), N2); -})(N); - -var N1 = (function (N1) { - let E2 = function (E2) { + })(N2 || (N2 = {})); + var N2; +})(N || (N = {})); +(function(N1) { + (function(E2) { E2[E2["e"] = 5] = "e"; - return E2; - }(N1.E2 || (N1.E2 = {})); + })(N1.E2 || (N1.E2 = {})); })(N1 || (N1 = {})); - -N1 = (function (N1) { - let E2 = function (E2) { +(function(N1) { + (function(E2) { E2[E2["f"] = 6] = "f"; - return E2; - }(N1.E2 || (N1.E2 = {})); -})(N1); + })(N1.E2 || (N1.E2 = {})); +})(N1 || (N1 = {})); +export var N, N1; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/namespace/1/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/namespace/1/output.js index 4583907a6fb51..0224fbdecab32 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/namespace/1/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/namespace/1/output.js @@ -1,28 +1,24 @@ -var X1; (function(X1) { console.log(1); })(X1 || (X1 = {})); -export var X2; (function(X2) { console.log(2); })(X2 || (X2 = {})); -var X3; (function(X3) { - let X4; (function(X4) { console.log(4); })(X4 || (X4 = {})); + var X4; })(X3 || (X3 = {})); -var X5; (function(X5) { - let X6; (function(X6) { console.log(6); - })(X6 = X5.X6 || (X5.X6 = {})); + })(X5.X6 || (X5.X6 = {})); })(X5 || (X5 = {})); -var X7; (function(X7) { (function(X8) { console.log(8); })(X7.X8 || (X7.X8 = {})); })(X7 || (X7 = {})); +var X1, X3, X5, X7; +export var X2; diff --git a/crates/swc_ecma_transforms_typescript/tests/fixture/namespace/2/output.js b/crates/swc_ecma_transforms_typescript/tests/fixture/namespace/2/output.js index 989116a014497..18e0d8e08ee25 100644 --- a/crates/swc_ecma_transforms_typescript/tests/fixture/namespace/2/output.js +++ b/crates/swc_ecma_transforms_typescript/tests/fixture/namespace/2/output.js @@ -7,8 +7,9 @@ function X2() {} (function(X2) { console.log(2); })(X2 || (X2 = {})); -var X3; -(function(X3) {})(X3 || (X3 = {})); +var X3 = /*#__PURE__*/ function(X3) { + return X3; +}(X3 || {}); (function(X3) { console.log(3); })(X3 || (X3 = {}));