Revert #35877 - fix receiver on calls of imported and exported functions (#43993)

This commit is contained in:
Ron Buckton
2021-05-07 13:42:12 -07:00
committed by GitHub
parent e5395efe49
commit cb9cd898d1
175 changed files with 347 additions and 509 deletions
+34 -111
View File
@@ -35,8 +35,6 @@ namespace ts {
context.onEmitNode = onEmitNode;
context.enableSubstitution(SyntaxKind.Identifier); // Substitutes expression identifiers with imported/exported symbols.
context.enableSubstitution(SyntaxKind.BinaryExpression); // Substitutes assignments to exported symbols.
context.enableSubstitution(SyntaxKind.CallExpression); // Substitutes expression identifiers with imported/exported symbols.
context.enableSubstitution(SyntaxKind.TaggedTemplateExpression); // Substitutes expression identifiers with imported/exported symbols.
context.enableSubstitution(SyntaxKind.PrefixUnaryExpression); // Substitutes updates to exported symbols.
context.enableSubstitution(SyntaxKind.PostfixUnaryExpression); // Substitutes updates to exported symbols.
context.enableSubstitution(SyntaxKind.ShorthandPropertyAssignment); // Substitutes shorthand property assignments for imported/exported symbols.
@@ -49,7 +47,6 @@ namespace ts {
let currentModuleInfo: ExternalModuleInfo; // The ExternalModuleInfo for the current file.
let noSubstitution: boolean[]; // Set of nodes for which substitution rules should be ignored.
let needUMDDynamicImportHelper: boolean;
let bindingReferenceCache: ESMap<Node, Identifier | SourceFile | ImportClause | ImportSpecifier | undefined> | undefined;
return chainBundle(context, transformSourceFile);
@@ -1746,10 +1743,6 @@ namespace ts {
return substituteExpressionIdentifier(<Identifier>node);
case SyntaxKind.BinaryExpression:
return substituteBinaryExpression(<BinaryExpression>node);
case SyntaxKind.CallExpression:
return substituteCallExpression(<CallExpression>node);
case SyntaxKind.TaggedTemplateExpression:
return substituteTaggedTemplateExpression(<TaggedTemplateExpression>node);
case SyntaxKind.PostfixUnaryExpression:
case SyntaxKind.PrefixUnaryExpression:
return substituteUnaryExpression(<PrefixUnaryExpression | PostfixUnaryExpression>node);
@@ -1758,86 +1751,6 @@ namespace ts {
return node;
}
/**
* For an Identifier, gets the import or export binding that it references.
* @returns One of the following:
* - An `Identifier` if node references an external helpers module (i.e., `tslib`).
* - A `SourceFile` if the node references an export in the file.
* - An `ImportClause` or `ImportSpecifier` if the node references an import binding.
* - Otherwise, `undefined`.
*/
function getImportOrExportBindingReferenceWorker(node: Identifier): Identifier | SourceFile | ImportClause | ImportSpecifier | undefined {
if (getEmitFlags(node) & EmitFlags.HelperName) {
const externalHelpersModuleName = getExternalHelpersModuleName(currentSourceFile);
if (externalHelpersModuleName) {
return externalHelpersModuleName;
}
}
else if (!(isGeneratedIdentifier(node) && !(node.autoGenerateFlags & GeneratedIdentifierFlags.AllowNameSubstitution)) && !isLocalName(node)) {
const exportContainer = resolver.getReferencedExportContainer(node, isExportName(node));
if (exportContainer?.kind === SyntaxKind.SourceFile) {
return exportContainer;
}
const importDeclaration = resolver.getReferencedImportDeclaration(node);
if (importDeclaration && (isImportClause(importDeclaration) || isImportSpecifier(importDeclaration))) {
return importDeclaration;
}
}
return undefined;
}
/**
* For an Identifier, gets the import or export binding that it references.
* @param removeEntry When `false`, the result is cached to avoid recomputing the result in a later substitution.
* When `true`, any cached result for the node is removed.
* @returns One of the following:
* - An `Identifier` if node references an external helpers module (i.e., `tslib`).
* - A `SourceFile` if the node references an export in the file.
* - An `ImportClause` or `ImportSpecifier` if the node references an import binding.
* - Otherwise, `undefined`.
*/
function getImportOrExportBindingReference(node: Identifier, removeEntry: boolean): Identifier | SourceFile | ImportClause | ImportSpecifier | undefined {
let result = bindingReferenceCache?.get(node);
if (!result && !bindingReferenceCache?.has(node)) {
result = getImportOrExportBindingReferenceWorker(node);
if (!removeEntry) {
bindingReferenceCache ||= new Map();
bindingReferenceCache.set(node, result);
}
}
else if (removeEntry) {
bindingReferenceCache?.delete(node);
}
return result;
}
function substituteCallExpression(node: CallExpression) {
if (isIdentifier(node.expression) && getImportOrExportBindingReference(node.expression, /*removeEntry*/ false)) {
return isCallChain(node) ?
factory.updateCallChain(node,
setTextRange(factory.createComma(factory.createNumericLiteral(0), node.expression), node.expression),
node.questionDotToken,
/*typeArguments*/ undefined,
node.arguments) :
factory.updateCallExpression(node,
setTextRange(factory.createComma(factory.createNumericLiteral(0), node.expression), node.expression),
/*typeArguments*/ undefined,
node.arguments);
}
return node;
}
function substituteTaggedTemplateExpression(node: TaggedTemplateExpression) {
if (isIdentifier(node.tag) && getImportOrExportBindingReference(node.tag, /*removeEntry*/ false)) {
return factory.updateTaggedTemplateExpression(
node,
setTextRange(factory.createComma(factory.createNumericLiteral(0), node.tag), node.tag),
/*typeArguments*/ undefined,
node.template);
}
return node;
}
/**
* Substitution for an Identifier expression that may contain an imported or exported
* symbol.
@@ -1845,11 +1758,16 @@ namespace ts {
* @param node The node to substitute.
*/
function substituteExpressionIdentifier(node: Identifier): Expression {
const result = getImportOrExportBindingReference(node, /*removeEntry*/ true);
switch (result?.kind) {
case SyntaxKind.Identifier: // tslib import
return factory.createPropertyAccessExpression(result, node);
case SyntaxKind.SourceFile: // top-level export
if (getEmitFlags(node) & EmitFlags.HelperName) {
const externalHelpersModuleName = getExternalHelpersModuleName(currentSourceFile);
if (externalHelpersModuleName) {
return factory.createPropertyAccessExpression(externalHelpersModuleName, node);
}
return node;
}
else if (!(isGeneratedIdentifier(node) && !(node.autoGenerateFlags & GeneratedIdentifierFlags.AllowNameSubstitution)) && !isLocalName(node)) {
const exportContainer = resolver.getReferencedExportContainer(node, isExportName(node));
if (exportContainer && exportContainer.kind === SyntaxKind.SourceFile) {
return setTextRange(
factory.createPropertyAccessExpression(
factory.createIdentifier("exports"),
@@ -1857,26 +1775,31 @@ namespace ts {
),
/*location*/ node
);
case SyntaxKind.ImportClause:
return setTextRange(
factory.createPropertyAccessExpression(
factory.getGeneratedNameForNode(result.parent),
factory.createIdentifier("default")
),
/*location*/ node
);
case SyntaxKind.ImportSpecifier:
const name = result.propertyName || result.name;
return setTextRange(
factory.createPropertyAccessExpression(
factory.getGeneratedNameForNode(result.parent?.parent?.parent || result),
factory.cloneNode(name)
),
/*location*/ node
);
default:
return node;
}
const importDeclaration = resolver.getReferencedImportDeclaration(node);
if (importDeclaration) {
if (isImportClause(importDeclaration)) {
return setTextRange(
factory.createPropertyAccessExpression(
factory.getGeneratedNameForNode(importDeclaration.parent),
factory.createIdentifier("default")
),
/*location*/ node
);
}
else if (isImportSpecifier(importDeclaration)) {
const name = importDeclaration.propertyName || importDeclaration.name;
return setTextRange(
factory.createPropertyAccessExpression(
factory.getGeneratedNameForNode(importDeclaration.parent?.parent?.parent || importDeclaration),
factory.cloneNode(name)
),
/*location*/ node
);
}
}
}
return node;
}
/**
-1
View File
@@ -92,7 +92,6 @@
"unittests/evaluation/asyncGenerator.ts",
"unittests/evaluation/awaiter.ts",
"unittests/evaluation/destructuring.ts",
"unittests/evaluation/externalModules.ts",
"unittests/evaluation/forAwaitOf.ts",
"unittests/evaluation/forOf.ts",
"unittests/evaluation/optionalCall.ts",
@@ -1,84 +0,0 @@
describe("unittests:: evaluation:: externalModules", () => {
// https://github.com/microsoft/TypeScript/issues/35420
it("Correct 'this' in function exported from external module", async () => {
const result = evaluator.evaluateTypeScript({
files: {
"/.src/output.ts": `
export const output: any[] = [];
`,
"/.src/other.ts": `
import { output } from "./output";
export function f(this: any, expected) {
output.push(this === expected);
}
// 0
f(undefined);
`,
"/.src/main.ts": `
export { output } from "./output";
import { output } from "./output";
import { f } from "./other";
import * as other from "./other";
// 1
f(undefined);
// 2
const obj = {};
f.call(obj, obj);
// 3
other.f(other);
`
},
rootFiles: ["/.src/main.ts"],
main: "/.src/main.ts"
});
assert.equal(result.output[0], true); // `f(undefined)` inside module. Existing behavior is correct.
assert.equal(result.output[1], true); // `f(undefined)` from import. New behavior to match first case.
assert.equal(result.output[2], true); // `f.call(obj, obj)`. Behavior of `.call` (or `.apply`, etc.) should not be affected.
assert.equal(result.output[3], true); // `other.f(other)`. `this` is still namespace because it is left of `.`.
});
it("Correct 'this' in function expression exported from external module", async () => {
const result = evaluator.evaluateTypeScript({
files: {
"/.src/output.ts": `
export const output: any[] = [];
`,
"/.src/other.ts": `
import { output } from "./output";
export const f = function(this: any, expected) {
output.push(this === expected);
}
// 0
f(undefined);
`,
"/.src/main.ts": `
export { output } from "./output";
import { output } from "./output";
import { f } from "./other";
import * as other from "./other";
// 1
f(undefined);
// 2
const obj = {};
f.call(obj, obj);
// 3
other.f(other);
`
},
rootFiles: ["/.src/main.ts"],
main: "/.src/main.ts"
});
assert.equal(result.output[0], true); // `f(undefined)` inside module. Existing behavior is incorrect.
assert.equal(result.output[1], true); // `f(undefined)` from import. New behavior to match first case.
assert.equal(result.output[2], true); // `f.call(obj, obj)`. Behavior of `.call` (or `.apply`, etc.) should not be affected.
assert.equal(result.output[3], true); // `other.f(other)`. `this` is still namespace because it is left of `.`.
});
});
@@ -55,8 +55,8 @@ exports.fn3 = fn3;`;
content: `"use strict";
exports.__esModule = true;${appendJsText === changeJs ? "\nexports.fn3 = void 0;" : ""}
var fns_1 = require("../decls/fns");
(0, fns_1.fn1)();
(0, fns_1.fn2)();
fns_1.fn1();
fns_1.fn2();
${appendJs}`
}];
}
@@ -30,7 +30,7 @@ exports.__esModule = true;
exports.a = void 0;
var func_1 = require("./func");
// hover on vextend
exports.a = (0, func_1.vextend)({
exports.a = func_1.vextend({
watch: {
data1: function (val) {
this.data2 = 1;
@@ -23,7 +23,7 @@ exports.__esModule = true;
exports.__esModule = true;
exports.A = void 0;
var file1_1 = require("./file1");
exports.A = (0, file1_1.styled)();
exports.A = file1_1.styled();
//// [color.d.ts]
@@ -37,9 +37,9 @@ foo(fileText);
exports.__esModule = true;
///<reference path="declarations.d.ts" />
var foobarbaz_1 = require("foobarbaz");
(0, foobarbaz_1.foo)(foobarbaz_1.baz);
foobarbaz_1.foo(foobarbaz_1.baz);
var foosball_1 = require("foosball");
(0, foobarbaz_1.foo)(foosball_1.foos);
foobarbaz_1.foo(foosball_1.foos);
// Works with relative file name
var file_text_1 = require("./file!text");
(0, foobarbaz_1.foo)(file_text_1["default"]);
foobarbaz_1.foo(file_text_1["default"]);
@@ -20,4 +20,4 @@ exports.__esModule = true;
var jquery_1 = require("jquery");
var baz = require("fs");
var boom = require("jquery");
(0, jquery_1["default"])(jquery_1.bar, baz, boom);
jquery_1["default"](jquery_1.bar, baz, boom);
@@ -49,4 +49,4 @@ exports.__esModule = true;
var reExportX_1 = require("./reExportX");
var $ = require("./reExportAll");
// '$' is not callable, it is an object.
(0, reExportX_1.x)($);
reExportX_1.x($);
@@ -72,7 +72,7 @@ define("Class", ["require", "exports", "Configurable"], function (require, expor
return _super !== null && _super.apply(this, arguments) || this;
}
return ActualClass;
}((0, Configurable_1.Configurable)(HiddenClass)));
}(Configurable_1.Configurable(HiddenClass)));
exports.ActualClass = ActualClass;
});
@@ -96,7 +96,7 @@ var __extends = (this && this.__extends) || (function () {
exports.__esModule = true;
exports.TimestampedUser = exports.User = void 0;
var wrapClass_1 = require("./wrapClass");
exports["default"] = (0, wrapClass_1.wrapClass)(0);
exports["default"] = wrapClass_1.wrapClass(0);
// Simple class
var User = /** @class */ (function () {
function User() {
@@ -112,7 +112,7 @@ var TimestampedUser = /** @class */ (function (_super) {
return _super.call(this) || this;
}
return TimestampedUser;
}((0, wrapClass_1.Timestamped)(User)));
}(wrapClass_1.Timestamped(User)));
exports.TimestampedUser = TimestampedUser;
@@ -22,7 +22,7 @@ exports.x = void 0;
/** @type {Foo} */
var x = function () { return 1; };
exports.x = x;
var res = (0, exports.x)('a', 'b');
var res = exports.x('a', 'b');
//// [callbackTagVariadicType.d.ts]
@@ -25,7 +25,7 @@ var Component = /** @class */ (function () {
function Component() {
}
Component.prototype.render = function () {
return (0, _a.jsx)("div", { children: null /* preserved */ }, void 0);
return _a.jsx("div", { children: null /* preserved */ }, void 0);
};
return Component;
}());
@@ -26,7 +26,7 @@ var Component = /** @class */ (function () {
function Component() {
}
Component.prototype.render = function () {
return (0, _a.jsxDEV)("div", { children: null /* preserved */ }, void 0, false, { fileName: _jsxFileName, lineNumber: 5, columnNumber: 15 }, this);
return _a.jsxDEV("div", { children: null /* preserved */ }, void 0, false, { fileName: _jsxFileName, lineNumber: 5, columnNumber: 15 }, this);
};
return Component;
}());
@@ -19,7 +19,7 @@ exports.Foo = Foo;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var _10_lib_1 = require("./10_lib");
(0, _10_lib_1.Foo)();
_10_lib_1.Foo();
//// [10_lib.d.ts]
@@ -30,5 +30,5 @@ exports.__esModule = true;
exports.y = exports.x = void 0;
var foo_1 = require("foo");
var root_1 = require("root");
exports.x = (0, foo_1.foo)();
exports.y = (0, root_1.bar)();
exports.x = foo_1.foo();
exports.y = root_1.bar();
@@ -23,7 +23,7 @@ exports.q = void 0;
var a_1 = require("./a");
function q() { }
exports.q = q;
q.val = (0, a_1.f)();
q.val = a_1.f();
//// [a.d.ts]
@@ -22,7 +22,7 @@ var Point = function (x, y) { return ({ x: x, y: y }); };
exports.Point = Point;
var Rect = function (a, b) { return ({ a: a, b: b }); };
exports.Rect = Rect;
exports.Point.zero = function () { return (0, exports.Point)(0, 0); };
exports.Point.zero = function () { return exports.Point(0, 0); };
//// [declarationEmitExpandoWithGenericConstraint.d.ts]
@@ -53,7 +53,7 @@ var get_comp_1 = require("./get-comp");
// this shouldn't need any triple-slash references - it should have a direct import to `react` and that's it
// This issue (#35343) _only_ reproduces in the test harness when the file in question is in a subfolder
exports.obj = {
comp: (0, get_comp_1.getComp)()
comp: get_comp_1.getComp()
};
//// [some-other-file.js]
"use strict";
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.bar = void 0;
var utils_1 = require("./utils");
Object.defineProperty(exports, "bar", { enumerable: true, get: function () { return utils_1.bar; } });
(0, utils_1.foo)();
utils_1.foo();
var obj;
@@ -39,7 +39,7 @@ export const a: import("typescript-fsa").A;
exports.__esModule = true;
exports.a = void 0;
var typescript_fsa_1 = require("typescript-fsa");
exports.a = (0, typescript_fsa_1.getA)();
exports.a = typescript_fsa_1.getA();
//// [index.d.ts]
@@ -27,7 +27,7 @@ export const a: import("typescript-fsa").A;
exports.__esModule = true;
exports.a = void 0;
var typescript_fsa_1 = require("typescript-fsa");
exports.a = (0, typescript_fsa_1.getA)();
exports.a = typescript_fsa_1.getA();
//// [index.d.ts]
@@ -31,7 +31,7 @@ var ParentThing = /** @class */ (function () {
return ParentThing;
}());
exports.ParentThing = ParentThing;
(0, child1_1.child1)(ParentThing.prototype);
child1_1.child1(ParentThing.prototype);
//// [child1.js]
"use strict";
exports.__esModule = true;
@@ -25,7 +25,7 @@ exports.createNamed = createNamed;
exports.__esModule = true;
exports.Value = void 0;
var b_1 = require("./b");
exports.Value = (0, b_1.createNamed)();
exports.Value = b_1.createNamed();
//// [b.d.ts]
@@ -21,7 +21,7 @@ exports.__esModule = true;
exports.b = void 0;
var a_1 = require("@ts-bug/a");
function b(text) {
return (0, a_1.a)(text);
return a_1.a(text);
}
exports.b = b;
@@ -33,7 +33,7 @@ export default createSvgIcon("Hello", "ArrowLeft");
"use strict";
exports.__esModule = true;
var utils_1 = require("@ts-bug/core/utils");
exports["default"] = (0, utils_1.createSvgIcon)("Hello", "ArrowLeft");
exports["default"] = utils_1.createSvgIcon("Hello", "ArrowLeft");
//// [index.d.ts]
@@ -33,7 +33,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
var scalar_1 = require("../lib/operators/scalar");
exports.default = {
get xs() {
return (0, scalar_1.scalar)("14px");
return scalar_1.scalar("14px");
}
};
@@ -34,7 +34,7 @@ define("settings/spacing", ["require", "exports", "lib/operators/scalar"], funct
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = {
get xs() {
return (0, scalar_1.scalar)("14px");
return scalar_1.scalar("14px");
}
};
});
@@ -32,8 +32,8 @@ export const fun2 = create<Q>();
exports.__esModule = true;
exports.fun2 = exports.fun = void 0;
var bbb_1 = require("./bbb");
exports.fun = (0, bbb_1.create)();
exports.fun2 = (0, bbb_1.create)();
exports.fun = bbb_1.create();
exports.fun2 = bbb_1.create();
//// [index.d.ts]
@@ -48,7 +48,7 @@ var __assign = (this && this.__assign) || function () {
exports.__esModule = true;
exports.spread = void 0;
var bug_1 = require("./bug");
exports.spread = __assign({}, (0, bug_1.createInstance)());
exports.spread = __assign({}, bug_1.createInstance());
//// [bug.d.ts]
@@ -38,7 +38,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.NotificationScenario = void 0;
var index_1 = require("search/lib/index");
var NotificationAPIUtils_1 = require("../API/NotificationAPIUtils");
exports.NotificationScenario = (0, index_1.test)(NotificationAPIUtils_1.getNotification);
exports.NotificationScenario = index_1.test(NotificationAPIUtils_1.getNotification);
//// [NotificationAPIUtils.d.ts]
@@ -37,7 +37,7 @@ exports.__esModule = true;
exports.bar = void 0;
var file2_1 = require("./file2");
function bar() {
return (0, file2_1.foo)();
return file2_1.foo();
}
exports.bar = bar;
@@ -75,12 +75,12 @@ var testRecFun = function (parent) {
return {
result: parent,
deeper: function (child) {
return (0, exports.testRecFun)(__assign(__assign({}, parent), child));
return exports.testRecFun(__assign(__assign({}, parent), child));
}
};
};
exports.testRecFun = testRecFun;
var p1 = (0, exports.testRecFun)({ one: '1' });
var p1 = exports.testRecFun({ one: '1' });
void p1.result.one;
var p2 = p1.deeper({ two: '2' });
void p2.result.one;
@@ -25,7 +25,7 @@ exports["default"] = Something;
exports.__esModule = true;
exports.instance = void 0;
var root_1 = require("./root");
exports.instance = (0, root_1.getSomething)();
exports.instance = root_1.getSomething();
//// [root.d.ts]
@@ -44,7 +44,7 @@ exports.default = Decl;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var m1_1 = require("m1");
(0, m1_1.default)();
m1_1.default();
var x;
var y;
m1_1.default.x;
@@ -37,7 +37,7 @@ exports.default = Decl;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var m1_1 = require("m1");
(0, m1_1.default)();
m1_1.default();
var x;
var y;
var z = new m1_1.default();
@@ -37,7 +37,7 @@ exports.default = Decl;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var m1_1 = require("m1");
(0, m1_1.default)();
m1_1.default();
var x;
var y;
var z = new m1_1.default();
@@ -48,5 +48,5 @@ exports.__esModule = true;
var a_1 = require("a");
var b_1 = require("b");
var c_1 = require("c");
(0, a_1.a)(b_1.b); // Works
(0, a_1.a)(c_1.c); // Error, these are from different versions of the library.
a_1.a(b_1.b); // Works
a_1.a(c_1.c); // Error, these are from different versions of the library.
@@ -42,4 +42,4 @@ use(o);
exports.__esModule = true;
var use_1 = require("foo/use");
var a_1 = require("a");
(0, use_1.use)(a_1.o);
use_1.use(a_1.o);
@@ -42,4 +42,4 @@ use(o);
exports.__esModule = true;
var use_1 = require("@foo/bar/use");
var a_1 = require("a");
(0, use_1.use)(a_1.o);
use_1.use(a_1.o);
@@ -33,4 +33,4 @@ exports["default"] = assert;
"use strict";
exports.__esModule = true;
var es3defaultAliasQuoted_file0_1 = require("./es3defaultAliasQuoted_file0");
(0, es3defaultAliasQuoted_file0_1["default"])(es3defaultAliasQuoted_file0_1.Foo.CONSTANT === "Foo");
es3defaultAliasQuoted_file0_1["default"](es3defaultAliasQuoted_file0_1.Foo.CONSTANT === "Foo");
@@ -23,8 +23,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.foo = void 0;
var tslib_1 = require("tslib");
function foo() {
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
return (0, tslib_1.__generator)(this, function (_a) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
return tslib_1.__generator(this, function (_a) {
return [2 /*return*/];
});
});
+1 -1
View File
@@ -47,5 +47,5 @@ var hybrid_1 = require("./hybrid");
var path_1 = __importDefault(require("./path"));
var fs = __importStar(require("./fs"));
path_1["default"];
(0, hybrid_1.sayHello)();
hybrid_1.sayHello();
fs;
@@ -26,7 +26,7 @@ exports.username = username;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
(0, tslib_1.__exportStar)(require("./username"), exports);
tslib_1.__exportStar(require("./username"), exports);
//// [hello.js]
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
@@ -36,6 +36,6 @@ exports.default = sayHello;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const hello_1 = (0, tslib_1.__importDefault)(require("./hello"));
const hello_1 = tslib_1.__importDefault(require("./hello"));
const utils_1 = require("./utils");
(0, hello_1.default)((0, utils_1.username)());
hello_1.default(utils_1.username());
@@ -24,7 +24,7 @@ export { Bar }
exports.__esModule = true;
exports.Foo = void 0;
var tslib_1 = require("tslib");
var path_1 = (0, tslib_1.__importDefault)(require("path"));
var path_1 = tslib_1.__importDefault(require("path"));
path_1["default"].resolve("", "../");
var Foo = /** @class */ (function () {
function Foo() {
@@ -37,7 +37,7 @@ exports.Foo = Foo;
exports.__esModule = true;
exports.Foo2 = void 0;
var tslib_1 = require("tslib");
var path = (0, tslib_1.__importStar)(require("path"));
var path = tslib_1.__importStar(require("path"));
path.resolve("", "../");
var Foo2 = /** @class */ (function () {
function Foo2() {
@@ -50,8 +50,8 @@ exports.Foo2 = Foo2;
exports.__esModule = true;
exports.Foo3 = void 0;
var tslib_1 = require("tslib");
var path_1 = (0, tslib_1.__importDefault)(require("path"));
(0, path_1["default"])("", "../");
var path_1 = tslib_1.__importDefault(require("path"));
path_1["default"]("", "../");
var Foo3 = /** @class */ (function () {
function Foo3() {
}
@@ -63,6 +63,6 @@ exports.Foo3 = Foo3;
exports.__esModule = true;
exports.Bar = void 0;
var tslib_1 = require("tslib");
var path_1 = (0, tslib_1.__importStar)(require("path"));
var path_1 = tslib_1.__importStar(require("path"));
exports.Bar = path_1.Bar;
(0, path_1["default"])("", "../");
path_1["default"]("", "../");
@@ -24,7 +24,7 @@ define(["require", "exports", "./m1"], function (require, exports, m1_1) {
"use strict";
exports.__esModule = true;
function f2() {
(0, m1_1["default"])();
m1_1["default"]();
}
exports["default"] = f2;
});
@@ -22,6 +22,6 @@ exports["default"] = f1;
exports.__esModule = true;
var m1_1 = require("./m1");
function f2() {
(0, m1_1["default"])();
m1_1["default"]();
}
exports["default"] = f2;
@@ -24,7 +24,7 @@ define(["require", "exports", "./m1"], function (require, exports, m1_1) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
function f2() {
(0, m1_1.default)();
m1_1.default();
}
exports.default = f2;
});
@@ -22,6 +22,6 @@ exports.default = f1;
Object.defineProperty(exports, "__esModule", { value: true });
var m1_1 = require("./m1");
function f2() {
(0, m1_1.default)();
m1_1.default();
}
exports.default = f2;
@@ -15,4 +15,4 @@ exports.__esModule = true;
exports.__esModule = true;
exports.ns = void 0;
var tslib_1 = require("tslib");
exports.ns = (0, tslib_1.__importStar)(require("./a")); // Error
exports.ns = tslib_1.__importStar(require("./a")); // Error
@@ -15,7 +15,7 @@ export const thing = f();
exports.__esModule = true;
exports.thing = void 0;
var thing_1 = require("./thing");
exports.thing = (0, thing_1.f)();
exports.thing = thing_1.f();
//// [index.d.ts]
@@ -28,4 +28,4 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true });
// https://github.com/microsoft/TypeScript/issues/39149
const a_1 = __importDefault(require("a"));
(0, a_1.default)();
a_1.default();
@@ -101,7 +101,7 @@ var MyExtendedClass = /** @class */ (function (_super) {
return _super !== null && _super.apply(this, arguments) || this;
}
return MyExtendedClass;
}((0, MixinClass_1.MyMixin)(BaseClass_1.MyBaseClass)));
}(MixinClass_1.MyMixin(BaseClass_1.MyBaseClass)));
exports.MyExtendedClass = MyExtendedClass;
//// [Main.js]
"use strict";
@@ -109,7 +109,7 @@ exports.__esModule = true;
var FinalClass_1 = require("./FinalClass");
var MixinClass_1 = require("./MixinClass");
var myExtendedClass = new FinalClass_1.MyExtendedClass('string');
var AnotherMixedClass = (0, MixinClass_1.MyMixin)(FinalClass_1.MyExtendedClass);
var AnotherMixedClass = MixinClass_1.MyMixin(FinalClass_1.MyExtendedClass);
//// [BaseClass.d.ts]
@@ -43,4 +43,4 @@ exports.aliased = require("./data1");
"use strict";
exports.__esModule = true;
var _1 = require("./");
(0, _1.register)("ok");
_1.register("ok");
@@ -69,9 +69,9 @@ exports.___hello = ___hello;
"use strict";
exports.__esModule = true;
var m1_1 = require("./m1");
(0, m1_1._)();
(0, m1_1.__)();
(0, m1_1.___hello)();
(0, m1_1.__esmodule)();
(0, m1_1.__proto)();
(0, m1_1._hi)();
m1_1._();
m1_1.__();
m1_1.___hello();
m1_1.__esmodule();
m1_1.__proto();
m1_1._hi();
+8 -8
View File
@@ -58,7 +58,7 @@ var A = /** @class */ (function () {
}());
exports.A = A;
var B = /** @class */ (function (_super) {
(0, tslib_1.__extends)(B, _super);
tslib_1.__extends(B, _super);
function B() {
return _super !== null && _super.apply(this, arguments) || this;
}
@@ -70,13 +70,13 @@ var C = /** @class */ (function () {
}
C.prototype.method = function (x) {
};
(0, tslib_1.__decorate)([
(0, tslib_1.__param)(0, dec),
(0, tslib_1.__metadata)("design:type", Function),
(0, tslib_1.__metadata)("design:paramtypes", [Number]),
(0, tslib_1.__metadata)("design:returntype", void 0)
tslib_1.__decorate([
tslib_1.__param(0, dec),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [Number]),
tslib_1.__metadata("design:returntype", void 0)
], C.prototype, "method", null);
C = (0, tslib_1.__decorate)([
C = tslib_1.__decorate([
dec
], C);
return C;
@@ -84,7 +84,7 @@ var C = /** @class */ (function () {
function id(x) {
return x;
}
exports.result = id(templateObject_1 || (templateObject_1 = (0, tslib_1.__makeTemplateObject)(["hello world"], ["hello world"])));
exports.result = id(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["hello world"], ["hello world"])));
var templateObject_1;
//// [script.js]
var __extends = (this && this.__extends) || (function () {
@@ -36,9 +36,9 @@ define(["require", "exports", "tslib", "./a", "./a"], function (require, exports
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.B = void 0;
(0, tslib_1.__exportStar)(a_2, exports);
tslib_1.__exportStar(a_2, exports);
var B = /** @class */ (function (_super) {
(0, tslib_1.__extends)(B, _super);
tslib_1.__extends(B, _super);
function B() {
return _super !== null && _super.apply(this, arguments) || this;
}
@@ -45,7 +45,7 @@ var A = /** @class */ (function () {
}());
exports.A = A;
var B = /** @class */ (function (_super) {
(0, tslib_1.__extends)(B, _super);
tslib_1.__extends(B, _super);
function B() {
return _super !== null && _super.apply(this, arguments) || this;
}
@@ -57,13 +57,13 @@ var C = /** @class */ (function () {
}
C.prototype.method = function (x) {
};
(0, tslib_1.__decorate)([
(0, tslib_1.__param)(0, dec),
(0, tslib_1.__metadata)("design:type", Function),
(0, tslib_1.__metadata)("design:paramtypes", [Number]),
(0, tslib_1.__metadata)("design:returntype", void 0)
tslib_1.__decorate([
tslib_1.__param(0, dec),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [Number]),
tslib_1.__metadata("design:returntype", void 0)
], C.prototype, "method", null);
C = (0, tslib_1.__decorate)([
C = tslib_1.__decorate([
dec
], C);
return C;
@@ -76,7 +76,7 @@ var A = /** @class */ (function () {
return A;
}());
var B = /** @class */ (function (_super) {
(0, tslib_1.__extends)(B, _super);
tslib_1.__extends(B, _super);
function B() {
return _super !== null && _super.apply(this, arguments) || this;
}
@@ -87,13 +87,13 @@ var C = /** @class */ (function () {
}
C.prototype.method = function (x) {
};
(0, tslib_1.__decorate)([
(0, tslib_1.__param)(0, dec),
(0, tslib_1.__metadata)("design:type", Function),
(0, tslib_1.__metadata)("design:paramtypes", [Number]),
(0, tslib_1.__metadata)("design:returntype", void 0)
tslib_1.__decorate([
tslib_1.__param(0, dec),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [Number]),
tslib_1.__metadata("design:returntype", void 0)
], C.prototype, "method", null);
C = (0, tslib_1.__decorate)([
C = tslib_1.__decorate([
dec
], C);
return C;
@@ -24,7 +24,7 @@ export declare function __awaiter(thisArg: any, _arguments: any, P: Function, ge
Object.defineProperty(exports, "__esModule", { value: true });
exports.x = void 0;
var tslib_1 = require("tslib");
exports.x = React.createElement("span", (0, tslib_1.__assign)({}, o));
exports.x = React.createElement("span", tslib_1.__assign({}, o));
//// [script.js]
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
@@ -46,7 +46,7 @@ exports.x = 1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.B = exports.A = void 0;
var tslib_1 = require("tslib");
(0, tslib_1.__exportStar)(require("./other"), exports);
tslib_1.__exportStar(require("./other"), exports);
var A = /** @class */ (function () {
function A() {
}
@@ -54,7 +54,7 @@ var A = /** @class */ (function () {
}());
exports.A = A;
var B = /** @class */ (function (_super) {
(0, tslib_1.__extends)(B, _super);
tslib_1.__extends(B, _super);
function B() {
return _super !== null && _super.apply(this, arguments) || this;
}
@@ -66,20 +66,20 @@ var C = /** @class */ (function () {
}
C.prototype.method = function (x) {
};
(0, tslib_1.__decorate)([
(0, tslib_1.__param)(0, dec),
(0, tslib_1.__metadata)("design:type", Function),
(0, tslib_1.__metadata)("design:paramtypes", [Number]),
(0, tslib_1.__metadata)("design:returntype", void 0)
tslib_1.__decorate([
tslib_1.__param(0, dec),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [Number]),
tslib_1.__metadata("design:returntype", void 0)
], C.prototype, "method", null);
C = (0, tslib_1.__decorate)([
C = tslib_1.__decorate([
dec
], C);
return C;
}());
var o = { a: 1 };
var y = (0, tslib_1.__assign)({}, o);
var x = (0, tslib_1.__rest)(y, []);
var y = tslib_1.__assign({}, o);
var x = tslib_1.__rest(y, []);
//// [script.js]
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
@@ -17,17 +17,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.f = void 0;
var tslib_1 = require("tslib");
function f() {
return (0, tslib_1.__asyncGenerator)(this, arguments, function f_1() {
return (0, tslib_1.__generator)(this, function (_a) {
return tslib_1.__asyncGenerator(this, arguments, function f_1() {
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, (0, tslib_1.__await)(1)];
case 0: return [4 /*yield*/, tslib_1.__await(1)];
case 1:
_a.sent();
return [4 /*yield*/, (0, tslib_1.__await)(2)];
return [4 /*yield*/, tslib_1.__await(2)];
case 2: return [4 /*yield*/, _a.sent()];
case 3:
_a.sent();
return [5 /*yield**/, (0, tslib_1.__values)((0, tslib_1.__asyncDelegator)((0, tslib_1.__asyncValues)([3])))];
return [5 /*yield**/, tslib_1.__values(tslib_1.__asyncDelegator(tslib_1.__asyncValues([3])))];
case 4: return [4 /*yield*/, tslib_1.__await.apply(void 0, [_a.sent()])];
case 5:
_a.sent();
@@ -37,7 +37,7 @@ var A = /** @class */ (function () {
}());
exports.A = A;
var B = /** @class */ (function (_super) {
(0, tslib_1.__extends)(B, _super);
tslib_1.__extends(B, _super);
function B() {
return _super !== null && _super.apply(this, arguments) || this;
}
@@ -49,13 +49,13 @@ var C = /** @class */ (function () {
}
C.prototype.method = function (x) {
};
(0, tslib_1.__decorate)([
(0, tslib_1.__param)(0, dec),
(0, tslib_1.__metadata)("design:type", Function),
(0, tslib_1.__metadata)("design:paramtypes", [Number]),
(0, tslib_1.__metadata)("design:returntype", void 0)
tslib_1.__decorate([
tslib_1.__param(0, dec),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [Number]),
tslib_1.__metadata("design:returntype", void 0)
], C.prototype, "method", null);
C = (0, tslib_1.__decorate)([
C = tslib_1.__decorate([
dec
], C);
return C;
@@ -37,7 +37,7 @@ define("b", ["require", "exports", "tslib", "a"], function (require, exports, ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.B = void 0;
var B = /** @class */ (function (_super) {
(0, tslib_1.__extends)(B, _super);
tslib_1.__extends(B, _super);
function B() {
return _super !== null && _super.apply(this, arguments) || this;
}
@@ -50,7 +50,7 @@ define("c", ["require", "exports", "tslib", "a"], function (require, exports, ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.C = void 0;
var C = /** @class */ (function (_super) {
(0, tslib_2.__extends)(C, _super);
tslib_2.__extends(C, _super);
function C() {
return _super !== null && _super.apply(this, arguments) || this;
}
@@ -25,5 +25,5 @@ define(["require", "exports", "tslib", "./a"], function (require, exports, tslib
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.a = void 0;
exports.a = (0, tslib_1.__importStar)(a);
exports.a = tslib_1.__importStar(a);
});
@@ -23,4 +23,4 @@ exports.A = A;
Object.defineProperty(exports, "__esModule", { value: true });
exports.a = void 0;
const tslib_1 = require("tslib");
exports.a = (0, tslib_1.__importStar)(require("./a"));
exports.a = tslib_1.__importStar(require("./a"));
@@ -27,8 +27,8 @@ define(["require", "exports", "tslib", "./a", "./a", "./a"], function (require,
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.a = exports.default = void 0;
a_3 = (0, tslib_1.__importDefault)(a_3);
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return (0, tslib_1.__importDefault)(a_1).default; } });
Object.defineProperty(exports, "a", { enumerable: true, get: function () { return (0, tslib_1.__importDefault)(a_2).default; } });
a_3 = tslib_1.__importDefault(a_3);
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return tslib_1.__importDefault(a_1).default; } });
Object.defineProperty(exports, "a", { enumerable: true, get: function () { return tslib_1.__importDefault(a_2).default; } });
void a_3.default;
});
@@ -26,8 +26,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.a = exports.default = void 0;
const tslib_1 = require("tslib");
var a_1 = require("./a");
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return (0, tslib_1.__importDefault)(a_1).default; } });
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return tslib_1.__importDefault(a_1).default; } });
var a_2 = require("./a");
Object.defineProperty(exports, "a", { enumerable: true, get: function () { return (0, tslib_1.__importDefault)(a_2).default; } });
const a_3 = (0, tslib_1.__importDefault)(require("./a"));
Object.defineProperty(exports, "a", { enumerable: true, get: function () { return tslib_1.__importDefault(a_2).default; } });
const a_3 = tslib_1.__importDefault(require("./a"));
void a_3.default;
@@ -26,6 +26,6 @@ define(["require", "exports", "tslib", "./a"], function (require, exports, tslib
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.a = void 0;
a = (0, tslib_1.__importStar)(a);
a = tslib_1.__importStar(a);
exports.a = a;
});
@@ -24,5 +24,5 @@ exports.A = A;
Object.defineProperty(exports, "__esModule", { value: true });
exports.a = void 0;
const tslib_1 = require("tslib");
const a = (0, tslib_1.__importStar)(require("./a"));
const a = tslib_1.__importStar(require("./a"));
exports.a = a;
@@ -24,7 +24,7 @@ define(["require", "exports", "tslib"], function (require, exports, tslib_1) {
exports.A = void 0;
let A = class A {
};
A = (0, tslib_1.__decorate)([
A = tslib_1.__decorate([
dec
], A);
exports.A = A;
@@ -24,7 +24,7 @@ exports.A = void 0;
const tslib_1 = require("tslib");
let A = class A {
};
A = (0, tslib_1.__decorate)([
A = tslib_1.__decorate([
dec
], A);
exports.A = A;
@@ -18,7 +18,7 @@ export const thing = makeThing();
exports.__esModule = true;
exports.thing = void 0;
var umd_1 = require("umd");
exports.thing = (0, umd_1.makeThing)();
exports.thing = umd_1.makeThing();
//// [index.d.ts]
@@ -24,12 +24,12 @@ export const works2 = fn<MakeItWork>(x => x);
exports.__esModule = true;
exports.works2 = exports.works1 = exports.fail2 = exports.fail1 = void 0;
var module_1 = require("module");
exports.fail1 = (0, module_1.fn)(function (x) { return x; });
exports.fail2 = (0, module_1.fn)(function (x) {
exports.fail1 = module_1.fn(function (x) { return x; });
exports.fail2 = module_1.fn(function (x) {
return x;
});
exports.works1 = (0, module_1.fn)(function (x) { return x; });
exports.works2 = (0, module_1.fn)(function (x) { return x; });
exports.works1 = module_1.fn(function (x) { return x; });
exports.works2 = module_1.fn(function (x) { return x; });
//// [index.d.ts]
@@ -34,13 +34,13 @@ exports.__esModule = true;
* @jsxFrag Fragment
*/
var renderer_1 = require("./renderer");
(0, renderer_1.h)(renderer_1.Fragment, null,
(0, renderer_1.h)("div", null));
renderer_1.h(renderer_1.Fragment, null,
renderer_1.h("div", null));
//// [snabbdomy.js]
"use strict";
exports.__esModule = true;
/* @jsx jsx */
/* @jsxfrag null */
var renderer_1 = require("./renderer");
(0, renderer_1.jsx)(null, null,
(0, renderer_1.jsx)("span", null));
renderer_1.jsx(null, null,
renderer_1.jsx("span", null));
@@ -49,8 +49,8 @@ import {Fragment} from "./react";
"use strict";
exports.__esModule = true;
var react_1 = require("./react");
(0, react_1.createElement)(react_1.Fragment, null,
(0, react_1.createElement)("span", null));
react_1.createElement(react_1.Fragment, null,
react_1.createElement("span", null));
//// [preacty.js]
"use strict";
exports.__esModule = true;
@@ -59,8 +59,8 @@ exports.__esModule = true;
* @jsxFrag Frag
*/
var preact_1 = require("./preact");
(0, preact_1.h)(preact_1.Frag, null,
(0, preact_1.h)("div", null));
preact_1.h(preact_1.Frag, null,
preact_1.h("div", null));
//// [snabbdomy.js]
"use strict";
exports.__esModule = true;
@@ -69,8 +69,8 @@ exports.__esModule = true;
* @jsxfrag null
*/
var snabbdom_1 = require("./snabbdom");
(0, snabbdom_1.h)(null, null,
(0, snabbdom_1.h)("div", null));
snabbdom_1.h(null, null,
snabbdom_1.h("div", null));
//// [mix-n-match.js]
"use strict";
exports.__esModule = true;
@@ -78,5 +78,5 @@ exports.__esModule = true;
/* @jsxFrag Fragment */
var preact_1 = require("./preact");
var react_1 = require("./react");
(0, preact_1.h)(react_1.Fragment, null,
(0, preact_1.h)("span", null));
preact_1.h(react_1.Fragment, null,
preact_1.h("span", null));
@@ -49,14 +49,14 @@ exports.__esModule = true;
exports.prerendered = void 0;
/** @jsx h */
var renderer_1 = require("./renderer");
exports.prerendered = (0, renderer_1.dom)("h", null);
exports.prerendered = renderer_1.dom("h", null);
//// [othernoalias.js]
"use strict";
exports.__esModule = true;
exports.prerendered2 = void 0;
/** @jsx otherdom */
var renderer_1 = require("./renderer");
exports.prerendered2 = (0, renderer_1.otherdom)("h", null);
exports.prerendered2 = renderer_1.otherdom("h", null);
//// [reacty.js]
"use strict";
exports.__esModule = true;
@@ -78,7 +78,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
exports.__esModule = true;
/** @jsx dom */
var renderer_1 = require("./renderer");
(0, renderer_1.dom)("h", null);
renderer_1.dom("h", null);
__exportStar(require("./other"), exports);
__exportStar(require("./othernoalias"), exports);
__exportStar(require("./reacty"), exports);
@@ -94,7 +94,7 @@ exports.__esModule = true;
exports.tree = exports.MyClass = exports.MySFC = void 0;
/** @jsx predom */
var renderer2_1 = require("./renderer2");
var MySFC = function (props) { return (0, renderer2_1.predom)("p", null,
var MySFC = function (props) { return renderer2_1.predom("p", null,
props.x,
" + ",
props.y,
@@ -107,7 +107,7 @@ var MyClass = /** @class */ (function () {
this.props = props;
}
MyClass.prototype.render = function () {
return (0, renderer2_1.predom)("p", null,
return renderer2_1.predom("p", null,
this.props.x,
" + ",
this.props.y,
@@ -118,10 +118,10 @@ var MyClass = /** @class */ (function () {
return MyClass;
}());
exports.MyClass = MyClass;
exports.tree = (0, renderer2_1.predom)(exports.MySFC, { x: 1, y: 2 },
(0, renderer2_1.predom)(MyClass, { x: 3, y: 4 }),
(0, renderer2_1.predom)(MyClass, { x: 5, y: 6 }));
exports["default"] = (0, renderer2_1.predom)("h", null);
exports.tree = renderer2_1.predom(exports.MySFC, { x: 1, y: 2 },
renderer2_1.predom(MyClass, { x: 3, y: 4 }),
renderer2_1.predom(MyClass, { x: 5, y: 6 }));
exports["default"] = renderer2_1.predom("h", null);
//// [index.js]
"use strict";
exports.__esModule = true;
@@ -129,8 +129,8 @@ exports.__esModule = true;
var renderer_1 = require("./renderer");
var component_1 = require("./component");
var elem = component_1["default"];
elem = (0, renderer_1.dom)("h", null); // Expect assignability error here
var DOMSFC = function (props) { return (0, renderer_1.dom)("p", null,
elem = renderer_1.dom("h", null); // Expect assignability error here
var DOMSFC = function (props) { return renderer_1.dom("p", null,
props.x,
" + ",
props.y,
@@ -142,7 +142,7 @@ var DOMClass = /** @class */ (function () {
this.props = props;
}
DOMClass.prototype.render = function () {
return (0, renderer_1.dom)("p", null,
return renderer_1.dom("p", null,
this.props.x,
" + ",
this.props.y,
@@ -153,14 +153,14 @@ var DOMClass = /** @class */ (function () {
return DOMClass;
}());
// Should work, everything is a DOM element
var _tree = (0, renderer_1.dom)(DOMSFC, { x: 1, y: 2 },
(0, renderer_1.dom)(DOMClass, { x: 3, y: 4 }),
(0, renderer_1.dom)(DOMClass, { x: 5, y: 6 }));
var _tree = renderer_1.dom(DOMSFC, { x: 1, y: 2 },
renderer_1.dom(DOMClass, { x: 3, y: 4 }),
renderer_1.dom(DOMClass, { x: 5, y: 6 }));
// Should fail, no dom elements
var _brokenTree = (0, renderer_1.dom)(component_1.MySFC, { x: 1, y: 2 },
(0, renderer_1.dom)(component_1.MyClass, { x: 3, y: 4 }),
(0, renderer_1.dom)(component_1.MyClass, { x: 5, y: 6 }));
var _brokenTree = renderer_1.dom(component_1.MySFC, { x: 1, y: 2 },
renderer_1.dom(component_1.MyClass, { x: 3, y: 4 }),
renderer_1.dom(component_1.MyClass, { x: 5, y: 6 }));
// Should fail, nondom isn't allowed as children of dom
var _brokenTree2 = (0, renderer_1.dom)(DOMSFC, { x: 1, y: 2 },
var _brokenTree2 = renderer_1.dom(DOMSFC, { x: 1, y: 2 },
component_1.tree,
component_1.tree);
@@ -50,7 +50,7 @@ elem = <h></h>; // Expect assignability error here
exports.__esModule = true;
/** @jsx predom */
var renderer2_1 = require("./renderer2");
exports["default"] = (0, renderer2_1.predom)("h", null);
exports["default"] = renderer2_1.predom("h", null);
//// [index.js]
"use strict";
exports.__esModule = true;
@@ -58,4 +58,4 @@ exports.__esModule = true;
var renderer_1 = require("./renderer");
var component_1 = require("./component");
var elem = component_1["default"];
elem = (0, renderer_1.dom)("h", null); // Expect assignability error here
elem = renderer_1.dom("h", null); // Expect assignability error here
@@ -24,9 +24,9 @@ import { p } from "./renderer";
exports.__esModule = true;
/** @jsx dom */
var renderer_1 = require("./renderer");
(0, renderer_1.dom)("h", null);
renderer_1.dom("h", null);
//// [index.js]
"use strict";
exports.__esModule = true;
var renderer_1 = require("./renderer");
(0, renderer_1.p)("h", null);
renderer_1.p("h", null);
@@ -31,5 +31,5 @@ React.createElement(React.Fragment, null,
exports.__esModule = true;
/** @jsx dom */
var renderer_1 = require("./renderer");
(0, renderer_1.dom)(React.Fragment, null,
(0, renderer_1.dom)("h", null));
renderer_1.dom(React.Fragment, null,
renderer_1.dom("h", null));
@@ -23,7 +23,7 @@ define(["require", "exports"], function (require, exports) {
a.foo = foo;
})(a = exports.a || (exports.a = {}));
exports.b = a.foo;
exports.bVal = (0, exports.b)(10);
exports.bVal = exports.b(10);
exports.bVal2 = exports.b;
});
@@ -14,7 +14,7 @@ var Foo = /** @class */ (function () {
return Foo;
}());
var Bar = /** @class */ (function (_super) {
(0, tslib_1.__extends)(Bar, _super);
tslib_1.__extends(Bar, _super);
function Bar() {
return _super !== null && _super.apply(this, arguments) || this;
}
@@ -22,6 +22,6 @@ const element = (
exports.__esModule = true;
var jsx_runtime_1 = require("react/jsx-runtime");
function Wrapper(props) {
return (0, jsx_runtime_1.jsx)("div", { children: props.children }, void 0);
return jsx_runtime_1.jsx("div", { children: props.children }, void 0);
}
var element = ((0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsx)("div", { children: "Hello" }, void 0) }, void 0));
var element = (jsx_runtime_1.jsx(Wrapper, { children: jsx_runtime_1.jsx("div", { children: "Hello" }, void 0) }, void 0));
@@ -23,6 +23,6 @@ exports.__esModule = true;
var jsx_dev_runtime_1 = require("react/jsx-dev-runtime");
var _jsxFileName = "tests/cases/compiler/jsxEmptyExpressionNotCountedAsChild.tsx";
function Wrapper(props) {
return (0, jsx_dev_runtime_1.jsxDEV)("div", { children: props.children }, void 0, false, { fileName: _jsxFileName, lineNumber: 9, columnNumber: 11 }, this);
return jsx_dev_runtime_1.jsxDEV("div", { children: props.children }, void 0, false, { fileName: _jsxFileName, lineNumber: 9, columnNumber: 11 }, this);
}
var element = ((0, jsx_dev_runtime_1.jsxDEV)(Wrapper, { children: (0, jsx_dev_runtime_1.jsxDEV)("div", { children: "Hello" }, void 0, false, { fileName: _jsxFileName, lineNumber: 15, columnNumber: 6 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 12, columnNumber: 18 }, this));
var element = (jsx_dev_runtime_1.jsxDEV(Wrapper, { children: jsx_dev_runtime_1.jsxDEV("div", { children: "Hello" }, void 0, false, { fileName: _jsxFileName, lineNumber: 15, columnNumber: 6 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 12, columnNumber: 18 }, this));
@@ -23,8 +23,8 @@ var react_1 = require("react");
function Counter(_a) {
var _b = _a.count, count = _b === void 0 ? 0 : _b;
var _c = null, cnt = _c[0], setCnt = _c[1];
return (0, react_1.createElement)(react_1.Fragment, null,
(0, react_1.createElement)("p", null, cnt),
(0, react_1.createElement)("button", { onClick: function () { return setCnt(function (prev) { return prev + 1; }); }, type: "button" }, "Update"));
return react_1.createElement(react_1.Fragment, null,
react_1.createElement("p", null, cnt),
react_1.createElement("button", { onClick: function () { return setCnt(function (prev) { return prev + 1; }); }, type: "button" }, "Update"));
}
exports.Counter = Counter;
@@ -24,7 +24,7 @@ exports.__esModule = true;
/** @jsxImportSource @emotion/react */
var react_1 = require("@emotion/react");
function Component() {
return (<input css={(0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: red;\n "], ["\n color: red;\n "])))}/>);
return (<input css={react_1.css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: red;\n "], ["\n color: red;\n "])))}/>);
}
exports["default"] = Component;
var templateObject_1;
@@ -10,4 +10,4 @@ export {};
exports.__esModule = true;
var jsx_runtime_1 = require("react/jsx-runtime");
/// <reference path="react16.d.ts" />
var a = (0, jsx_runtime_1.jsx)("div", { children: "text" }, void 0);
var a = jsx_runtime_1.jsx("div", { children: "text" }, void 0);
@@ -11,4 +11,4 @@ exports.__esModule = true;
var jsx_dev_runtime_1 = require("react/jsx-dev-runtime");
var _jsxFileName = "tests/cases/conformance/jsx/jsxs/jsxJsxsCjsTransformChildren.tsx";
/// <reference path="react16.d.ts" />
var a = (0, jsx_dev_runtime_1.jsxDEV)("div", { children: "text" }, void 0, false, { fileName: _jsxFileName, lineNumber: 2, columnNumber: 10 }, this);
var a = jsx_dev_runtime_1.jsxDEV("div", { children: "text" }, void 0, false, { fileName: _jsxFileName, lineNumber: 2, columnNumber: 10 }, this);
@@ -13,4 +13,4 @@ export {};
exports.__esModule = true;
var jsx_runtime_1 = require("preact/jsx-runtime");
/// <reference path="react16.d.ts" />
var a = (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("p", {}, void 0), "text", (0, jsx_runtime_1.jsx)("div", { className: "foo" }, void 0)] }, void 0);
var a = jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [jsx_runtime_1.jsx("p", {}, void 0), "text", jsx_runtime_1.jsx("div", { className: "foo" }, void 0)] }, void 0);
@@ -14,4 +14,4 @@ exports.__esModule = true;
var jsx_dev_runtime_1 = require("preact/jsx-dev-runtime");
var _jsxFileName = "tests/cases/conformance/jsx/jsxs/jsxJsxsCjsTransformCustomImport.tsx";
/// <reference path="react16.d.ts" />
var a = (0, jsx_dev_runtime_1.jsxDEV)(jsx_dev_runtime_1.Fragment, { children: [(0, jsx_dev_runtime_1.jsxDEV)("p", {}, void 0, false, { fileName: _jsxFileName, lineNumber: 3, columnNumber: 3 }, this), "text", (0, jsx_dev_runtime_1.jsxDEV)("div", { className: "foo" }, void 0, false, { fileName: _jsxFileName, lineNumber: 5, columnNumber: 3 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 2, columnNumber: 10 }, this);
var a = jsx_dev_runtime_1.jsxDEV(jsx_dev_runtime_1.Fragment, { children: [jsx_dev_runtime_1.jsxDEV("p", {}, void 0, false, { fileName: _jsxFileName, lineNumber: 3, columnNumber: 3 }, this), "text", jsx_dev_runtime_1.jsxDEV("div", { className: "foo" }, void 0, false, { fileName: _jsxFileName, lineNumber: 5, columnNumber: 3 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 2, columnNumber: 10 }, this);
@@ -28,7 +28,7 @@ exports.__esModule = true;
var jsx_runtime_1 = require("preact/jsx-runtime");
/// <reference path="react16.d.ts" />
/* @jsxImportSource preact */
var a = (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("p", {}, void 0), "text", (0, jsx_runtime_1.jsx)("div", { className: "foo" }, void 0)] }, void 0);
var a = jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [jsx_runtime_1.jsx("p", {}, void 0), "text", jsx_runtime_1.jsx("div", { className: "foo" }, void 0)] }, void 0);
//// [react.js]
"use strict";
exports.__esModule = true;
@@ -36,4 +36,4 @@ var jsx_runtime_1 = require("react/jsx-runtime");
/// <reference path="react16.d.ts" />
/* @jsxImportSource react */
require("./preact");
var a = (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("p", {}, void 0), "text", (0, jsx_runtime_1.jsx)("div", { className: "foo" }, void 0)] }, void 0);
var a = jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [jsx_runtime_1.jsx("p", {}, void 0), "text", jsx_runtime_1.jsx("div", { className: "foo" }, void 0)] }, void 0);
@@ -29,7 +29,7 @@ var jsx_dev_runtime_1 = require("preact/jsx-dev-runtime");
var _jsxFileName = "tests/cases/conformance/jsx/jsxs/preact.tsx";
/// <reference path="react16.d.ts" />
/* @jsxImportSource preact */
var a = (0, jsx_dev_runtime_1.jsxDEV)(jsx_dev_runtime_1.Fragment, { children: [(0, jsx_dev_runtime_1.jsxDEV)("p", {}, void 0, false, { fileName: _jsxFileName, lineNumber: 4, columnNumber: 3 }, this), "text", (0, jsx_dev_runtime_1.jsxDEV)("div", { className: "foo" }, void 0, false, { fileName: _jsxFileName, lineNumber: 6, columnNumber: 3 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 3, columnNumber: 10 }, this);
var a = jsx_dev_runtime_1.jsxDEV(jsx_dev_runtime_1.Fragment, { children: [jsx_dev_runtime_1.jsxDEV("p", {}, void 0, false, { fileName: _jsxFileName, lineNumber: 4, columnNumber: 3 }, this), "text", jsx_dev_runtime_1.jsxDEV("div", { className: "foo" }, void 0, false, { fileName: _jsxFileName, lineNumber: 6, columnNumber: 3 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 3, columnNumber: 10 }, this);
//// [react.js]
"use strict";
exports.__esModule = true;
@@ -38,4 +38,4 @@ var _jsxFileName = "tests/cases/conformance/jsx/jsxs/react.tsx";
/// <reference path="react16.d.ts" />
/* @jsxImportSource react */
require("./preact");
var a = (0, jsx_dev_runtime_1.jsxDEV)(jsx_dev_runtime_1.Fragment, { children: [(0, jsx_dev_runtime_1.jsxDEV)("p", {}, void 0, false, { fileName: _jsxFileName, lineNumber: 5, columnNumber: 3 }, this), "text", (0, jsx_dev_runtime_1.jsxDEV)("div", { className: "foo" }, void 0, false, { fileName: _jsxFileName, lineNumber: 7, columnNumber: 3 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 4, columnNumber: 10 }, this);
var a = jsx_dev_runtime_1.jsxDEV(jsx_dev_runtime_1.Fragment, { children: [jsx_dev_runtime_1.jsxDEV("p", {}, void 0, false, { fileName: _jsxFileName, lineNumber: 5, columnNumber: 3 }, this), "text", jsx_dev_runtime_1.jsxDEV("div", { className: "foo" }, void 0, false, { fileName: _jsxFileName, lineNumber: 7, columnNumber: 3 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 4, columnNumber: 10 }, this);
@@ -25,5 +25,5 @@ var react_1 = require("react");
var jsx_runtime_1 = require("react/jsx-runtime");
/// <reference path="react16.d.ts" />
var props = { answer: 42 };
var a = (0, jsx_runtime_1.jsx)("div", __assign({}, props, { children: "text" }), "foo");
var b = (0, react_1.createElement)("div", __assign({}, props, { key: "bar" }), "text");
var a = jsx_runtime_1.jsx("div", __assign({}, props, { children: "text" }), "foo");
var b = react_1.createElement("div", __assign({}, props, { key: "bar" }), "text");
@@ -26,5 +26,5 @@ var jsx_dev_runtime_1 = require("react/jsx-dev-runtime");
var _jsxFileName = "tests/cases/conformance/jsx/jsxs/jsxJsxsCjsTransformKeyProp.tsx";
/// <reference path="react16.d.ts" />
var props = { answer: 42 };
var a = (0, jsx_dev_runtime_1.jsxDEV)("div", __assign({}, props, { children: "text" }), "foo", false, { fileName: _jsxFileName, lineNumber: 3, columnNumber: 10 }, this);
var b = (0, react_1.createElement)("div", __assign({}, props, { key: "bar" }), "text");
var a = jsx_dev_runtime_1.jsxDEV("div", __assign({}, props, { children: "text" }), "foo", false, { fileName: _jsxFileName, lineNumber: 3, columnNumber: 10 }, this);
var b = react_1.createElement("div", __assign({}, props, { key: "bar" }), "text");
@@ -25,5 +25,5 @@ var preact_1 = require("preact");
var jsx_runtime_1 = require("preact/jsx-runtime");
/// <reference path="react16.d.ts" />
var props = { answer: 42 };
var a = (0, jsx_runtime_1.jsx)("div", __assign({}, props, { children: "text" }), "foo");
var b = (0, preact_1.createElement)("div", __assign({}, props, { key: "bar" }), "text");
var a = jsx_runtime_1.jsx("div", __assign({}, props, { children: "text" }), "foo");
var b = preact_1.createElement("div", __assign({}, props, { key: "bar" }), "text");
@@ -26,5 +26,5 @@ var jsx_dev_runtime_1 = require("preact/jsx-dev-runtime");
var _jsxFileName = "tests/cases/conformance/jsx/jsxs/jsxJsxsCjsTransformKeyPropCustomImport.tsx";
/// <reference path="react16.d.ts" />
var props = { answer: 42 };
var a = (0, jsx_dev_runtime_1.jsxDEV)("div", __assign({}, props, { children: "text" }), "foo", false, { fileName: _jsxFileName, lineNumber: 3, columnNumber: 10 }, this);
var b = (0, preact_1.createElement)("div", __assign({}, props, { key: "bar" }), "text");
var a = jsx_dev_runtime_1.jsxDEV("div", __assign({}, props, { children: "text" }), "foo", false, { fileName: _jsxFileName, lineNumber: 3, columnNumber: 10 }, this);
var b = preact_1.createElement("div", __assign({}, props, { key: "bar" }), "text");
@@ -39,8 +39,8 @@ var jsx_runtime_1 = require("preact/jsx-runtime");
/// <reference path="react16.d.ts" />
/* @jsxImportSource preact */
var props = { answer: 42 };
var a = (0, jsx_runtime_1.jsx)("div", __assign({}, props, { children: "text" }), "foo");
var b = (0, preact_1.createElement)("div", __assign({}, props, { key: "bar" }), "text");
var a = jsx_runtime_1.jsx("div", __assign({}, props, { children: "text" }), "foo");
var b = preact_1.createElement("div", __assign({}, props, { key: "bar" }), "text");
//// [react.js]
"use strict";
var __assign = (this && this.__assign) || function () {
@@ -61,5 +61,5 @@ var jsx_runtime_1 = require("react/jsx-runtime");
/* @jsxImportSource react */
require("./preact");
var props2 = { answer: 42 };
var a2 = (0, jsx_runtime_1.jsx)("div", __assign({}, props2, { children: "text" }), "foo");
var b2 = (0, react_1.createElement)("div", __assign({}, props2, { key: "bar" }), "text");
var a2 = jsx_runtime_1.jsx("div", __assign({}, props2, { children: "text" }), "foo");
var b2 = react_1.createElement("div", __assign({}, props2, { key: "bar" }), "text");
@@ -40,8 +40,8 @@ var _jsxFileName = "tests/cases/conformance/jsx/jsxs/preact.tsx";
/// <reference path="react16.d.ts" />
/* @jsxImportSource preact */
var props = { answer: 42 };
var a = (0, jsx_dev_runtime_1.jsxDEV)("div", __assign({}, props, { children: "text" }), "foo", false, { fileName: _jsxFileName, lineNumber: 4, columnNumber: 10 }, this);
var b = (0, preact_1.createElement)("div", __assign({}, props, { key: "bar" }), "text");
var a = jsx_dev_runtime_1.jsxDEV("div", __assign({}, props, { children: "text" }), "foo", false, { fileName: _jsxFileName, lineNumber: 4, columnNumber: 10 }, this);
var b = preact_1.createElement("div", __assign({}, props, { key: "bar" }), "text");
//// [react.js]
"use strict";
var __assign = (this && this.__assign) || function () {
@@ -63,5 +63,5 @@ var _jsxFileName = "tests/cases/conformance/jsx/jsxs/react.tsx";
/* @jsxImportSource react */
require("./preact");
var props2 = { answer: 42 };
var a2 = (0, jsx_dev_runtime_1.jsxDEV)("div", __assign({}, props2, { children: "text" }), "foo", false, { fileName: _jsxFileName, lineNumber: 5, columnNumber: 11 }, this);
var b2 = (0, react_1.createElement)("div", __assign({}, props2, { key: "bar" }), "text");
var a2 = jsx_dev_runtime_1.jsxDEV("div", __assign({}, props2, { children: "text" }), "foo", false, { fileName: _jsxFileName, lineNumber: 5, columnNumber: 11 }, this);
var b2 = react_1.createElement("div", __assign({}, props2, { key: "bar" }), "text");
@@ -25,7 +25,7 @@ console.log(
"use strict";
exports.__esModule = true;
var jsx_runtime_1 = require("react/jsx-runtime");
console.log((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("div", {}, void 0) }, void 0));
console.log((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", {}, void 0),
(0, jsx_runtime_1.jsx)("div", {}, void 0)] }, void 0));
console.log((0, jsx_runtime_1.jsx)("div", { children: [1, 2].map(function (i) { return (0, jsx_runtime_1.jsx)("div", { children: i }, i); }) }, void 0));
console.log(jsx_runtime_1.jsx("div", { children: jsx_runtime_1.jsx("div", {}, void 0) }, void 0));
console.log(jsx_runtime_1.jsxs("div", { children: [jsx_runtime_1.jsx("div", {}, void 0),
jsx_runtime_1.jsx("div", {}, void 0)] }, void 0));
console.log(jsx_runtime_1.jsx("div", { children: [1, 2].map(function (i) { return jsx_runtime_1.jsx("div", { children: i }, i); }) }, void 0));
@@ -27,7 +27,7 @@ var _this = this;
exports.__esModule = true;
var jsx_dev_runtime_1 = require("react/jsx-dev-runtime");
var _jsxFileName = "tests/cases/conformance/jsx/jsxs/jsxJsxsCjsTransformNestedSelfClosingChild.tsx";
console.log((0, jsx_dev_runtime_1.jsxDEV)("div", { children: (0, jsx_dev_runtime_1.jsxDEV)("div", {}, void 0, false, { fileName: _jsxFileName, lineNumber: 6, columnNumber: 5 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 4, columnNumber: 13 }, this));
console.log((0, jsx_dev_runtime_1.jsxDEV)("div", { children: [(0, jsx_dev_runtime_1.jsxDEV)("div", {}, void 0, false, { fileName: _jsxFileName, lineNumber: 12, columnNumber: 5 }, this),
(0, jsx_dev_runtime_1.jsxDEV)("div", {}, void 0, false, { fileName: _jsxFileName, lineNumber: 13, columnNumber: 5 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 10, columnNumber: 13 }, this));
console.log((0, jsx_dev_runtime_1.jsxDEV)("div", { children: [1, 2].map(function (i) { return (0, jsx_dev_runtime_1.jsxDEV)("div", { children: i }, i, false, { fileName: _jsxFileName, lineNumber: 19, columnNumber: 21 }, _this); }) }, void 0, false, { fileName: _jsxFileName, lineNumber: 17, columnNumber: 13 }, this));
console.log(jsx_dev_runtime_1.jsxDEV("div", { children: jsx_dev_runtime_1.jsxDEV("div", {}, void 0, false, { fileName: _jsxFileName, lineNumber: 6, columnNumber: 5 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 4, columnNumber: 13 }, this));
console.log(jsx_dev_runtime_1.jsxDEV("div", { children: [jsx_dev_runtime_1.jsxDEV("div", {}, void 0, false, { fileName: _jsxFileName, lineNumber: 12, columnNumber: 5 }, this),
jsx_dev_runtime_1.jsxDEV("div", {}, void 0, false, { fileName: _jsxFileName, lineNumber: 13, columnNumber: 5 }, this)] }, void 0, true, { fileName: _jsxFileName, lineNumber: 10, columnNumber: 13 }, this));
console.log(jsx_dev_runtime_1.jsxDEV("div", { children: [1, 2].map(function (i) { return jsx_dev_runtime_1.jsxDEV("div", { children: i }, i, false, { fileName: _jsxFileName, lineNumber: 19, columnNumber: 21 }, _this); }) }, void 0, false, { fileName: _jsxFileName, lineNumber: 17, columnNumber: 13 }, this));

Some files were not shown because too many files have changed in this diff Show More