mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
feat(47439): omit optional key from jsx output (#47467)
This commit is contained in:
1 parent
cecd8c50a0
commit
16e96f62d7
39 files changed
+156
-63
No files matched your search
@@ -242,10 +242,19 @@ namespace ts {
|
||||
const nonWhitespaceChildren = getSemanticJsxChildren(children);
|
||||
const isStaticChildren =
|
||||
length(nonWhitespaceChildren) > 1 || !!(nonWhitespaceChildren[0] as JsxExpression)?.dotDotDotToken;
|
||||
const args: Expression[] = [tagName, objectProperties, !keyAttr ? factory.createVoidZero() : transformJsxAttributeInitializer(keyAttr.initializer)];
|
||||
const args: Expression[] = [tagName, objectProperties];
|
||||
// function jsx(type, config, maybeKey) {}
|
||||
// "maybeKey" is optional. It is acceptable to use "_jsx" without a third argument
|
||||
if (keyAttr) {
|
||||
args.push(transformJsxAttributeInitializer(keyAttr.initializer));
|
||||
}
|
||||
if (compilerOptions.jsx === JsxEmit.ReactJSXDev) {
|
||||
const originalFile = getOriginalNode(currentSourceFile);
|
||||
if (originalFile && isSourceFile(originalFile)) {
|
||||
// "maybeKey" has to be replaced with "void 0" to not break the jsxDEV signature
|
||||
if (keyAttr === undefined) {
|
||||
args.push(factory.createVoidZero());
|
||||
}
|
||||
// isStaticChildren development flag
|
||||
args.push(isStaticChildren ? factory.createTrue() : factory.createFalse());
|
||||
// __source development flag
|
||||
@@ -259,6 +268,7 @@ namespace ts {
|
||||
args.push(factory.createThis());
|
||||
}
|
||||
}
|
||||
|
||||
const element = setTextRange(
|
||||
factory.createCallExpression(getJsxFactoryCallee(isStaticChildren), /*typeArguments*/ undefined, args),
|
||||
location
|
||||
|
||||
+1
-1
@@ -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 (0, _a.jsx)("div", { children: null /* preserved */ });
|
||||
};
|
||||
return Component;
|
||||
}());
|
||||
+1
-1
@@ -25,7 +25,7 @@ var Component = /** @class */ (function () {
|
||||
function Component() {
|
||||
}
|
||||
Component.prototype.render = function () {
|
||||
return _jsx("div", { children: null /* preserved */ }, void 0);
|
||||
return _jsx("div", { children: null /* preserved */ });
|
||||
};
|
||||
return Component;
|
||||
}());
|
||||
@@ -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 (0, jsx_runtime_1.jsx)("div", { children: props.children });
|
||||
}
|
||||
var element = ((0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsx)("div", { children: "Hello" }, void 0) }, void 0));
|
||||
var element = ((0, jsx_runtime_1.jsx)(Wrapper, { children: (0, jsx_runtime_1.jsx)("div", { children: "Hello" }) }));
|
||||
@@ -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 = (0, jsx_runtime_1.jsx)("div", { children: "text" });
|
||||
@@ -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 = (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("p", {}), "text", (0, jsx_runtime_1.jsx)("div", { className: "foo" })] });
|
||||
@@ -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 = (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("p", {}), "text", (0, jsx_runtime_1.jsx)("div", { className: "foo" })] });
|
||||
//// [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 = (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("p", {}), "text", (0, jsx_runtime_1.jsx)("div", { className: "foo" })] });
|
||||
+3
-3
@@ -25,6 +25,6 @@ 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((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("div", {}) }));
|
||||
console.log((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", {}), (0, jsx_runtime_1.jsx)("div", {})] }));
|
||||
console.log((0, jsx_runtime_1.jsx)("div", { children: [1, 2].map(function (i) { return (0, jsx_runtime_1.jsx)("div", { children: i }, i); }) }));
|
||||
@@ -9,4 +9,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", {}, void 0);
|
||||
var a = (0, jsx_runtime_1.jsx)("div", {});
|
||||
+1
-1
@@ -13,4 +13,4 @@ export {};
|
||||
exports.__esModule = true;
|
||||
var jsx_runtime_1 = require("react/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", {}, void 0)] }, void 0);
|
||||
var a = (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("p", {}), "text", (0, jsx_runtime_1.jsx)("div", {})] });
|
||||
@@ -110,5 +110,5 @@ export const Comp = () => <div></div>;
|
||||
exports.__esModule = true;
|
||||
exports.Comp = void 0;
|
||||
var jsx_runtime_1 = require("preact/jsx-runtime");
|
||||
var Comp = function () { return (0, jsx_runtime_1.jsx)("div", {}, void 0); };
|
||||
var Comp = function () { return (0, jsx_runtime_1.jsx)("div", {}); };
|
||||
exports.Comp = Comp;
|
||||
@@ -106,5 +106,5 @@ export const Comp = () => <div></div>;
|
||||
exports.__esModule = true;
|
||||
exports.Comp = void 0;
|
||||
var jsx_runtime_1 = require("preact/jsx-runtime");
|
||||
var Comp = function () { return (0, jsx_runtime_1.jsx)("div", {}, void 0); };
|
||||
var Comp = function () { return (0, jsx_runtime_1.jsx)("div", {}); };
|
||||
exports.Comp = Comp;
|
||||
@@ -106,5 +106,5 @@ export const Comp = () => <div></div>;
|
||||
exports.__esModule = true;
|
||||
exports.Comp = void 0;
|
||||
var jsx_runtime_1 = require("preact/jsx-runtime");
|
||||
var Comp = function () { return (0, jsx_runtime_1.jsx)("div", {}, void 0); };
|
||||
var Comp = function () { return (0, jsx_runtime_1.jsx)("div", {}); };
|
||||
exports.Comp = Comp;
|
||||
+1
-1
@@ -69,5 +69,5 @@ export const Comp = () => <div css="color: hotpink;"></div>;
|
||||
exports.__esModule = true;
|
||||
exports.Comp = void 0;
|
||||
var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
||||
var Comp = function () { return (0, jsx_runtime_1.jsx)("div", { css: "color: hotpink;" }, void 0); };
|
||||
var Comp = function () { return (0, jsx_runtime_1.jsx)("div", { css: "color: hotpink;" }); };
|
||||
exports.Comp = Comp;
|
||||
+1
-1
@@ -71,5 +71,5 @@ exports.__esModule = true;
|
||||
exports.Comp = void 0;
|
||||
var jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
||||
/* @jsxImportSource @emotion/react */
|
||||
var Comp = function () { return (0, jsx_runtime_1.jsx)("div", { css: "color: hotpink;" }, void 0); };
|
||||
var Comp = function () { return (0, jsx_runtime_1.jsx)("div", { css: "color: hotpink;" }); };
|
||||
exports.Comp = Comp;
|
||||
@@ -17,9 +17,9 @@ exports.__esModule = true;
|
||||
exports.Foo = void 0;
|
||||
var jsx_runtime_1 = require("react/jsx-runtime");
|
||||
function Bar() {
|
||||
return (0, jsx_runtime_1.jsx)("div", {}, void 0);
|
||||
return (0, jsx_runtime_1.jsx)("div", {});
|
||||
}
|
||||
function Foo() {
|
||||
return (0, jsx_runtime_1.jsx)(Bar, {}, void 0);
|
||||
return (0, jsx_runtime_1.jsx)(Bar, {});
|
||||
}
|
||||
exports.Foo = Foo;
|
||||
@@ -24,4 +24,4 @@ import './';
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.a = void 0;
|
||||
const jsx_runtime_1 = require("react/jsx-runtime");
|
||||
exports.a = (0, jsx_runtime_1.jsx)("div", {}, void 0);
|
||||
exports.a = (0, jsx_runtime_1.jsx)("div", {});
|
||||
@@ -29,4 +29,4 @@ import './';
|
||||
|
||||
//// [file.js]
|
||||
import { jsx as _jsx } from "react/jsx-runtime";
|
||||
export const a = _jsx("div", {}, void 0);
|
||||
export const a = _jsx("div", {});
|
||||
+1
-1
@@ -57,7 +57,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
|
||||
exports.__esModule = true;
|
||||
exports.App = void 0;
|
||||
var jsx_runtime_1 = require("react/jsx-runtime");
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }, void 0); };
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }); };
|
||||
exports.App = App;
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -49,7 +49,7 @@ exitCode:: ExitStatus.Success
|
||||
exports.__esModule = true;
|
||||
exports.App = void 0;
|
||||
var jsx_runtime_1 = require("react/jsx-runtime");
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }, void 0); };
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }); };
|
||||
exports.App = App;
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -106,7 +106,7 @@ exitCode:: ExitStatus.undefined
|
||||
exports.__esModule = true;
|
||||
exports.App = void 0;
|
||||
var jsx_runtime_1 = require("react/jsx-runtime");
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }, void 0); };
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }); };
|
||||
exports.App = App;
|
||||
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
|
||||
exports.__esModule = true;
|
||||
exports.App = void 0;
|
||||
var jsx_runtime_1 = require("react/jsx-runtime");
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }, void 0); };
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }); };
|
||||
exports.App = App;
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -75,7 +75,7 @@ exitCode:: ExitStatus.undefined
|
||||
exports.__esModule = true;
|
||||
exports.App = void 0;
|
||||
var jsx_runtime_1 = require("react/jsx-runtime");
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }, void 0); };
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }); };
|
||||
exports.App = App;
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -73,7 +73,7 @@ exitCode:: ExitStatus.Success
|
||||
exports.__esModule = true;
|
||||
exports.App = void 0;
|
||||
var jsx_runtime_1 = require("react/jsx-runtime");
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }, void 0); };
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }); };
|
||||
exports.App = App;
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -96,7 +96,7 @@ exitCode:: ExitStatus.undefined
|
||||
exports.__esModule = true;
|
||||
exports.App = void 0;
|
||||
var jsx_runtime_1 = require("react/jsx-runtime");
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }, void 0); };
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }); };
|
||||
exports.App = App;
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -96,7 +96,7 @@ exitCode:: ExitStatus.Success
|
||||
exports.__esModule = true;
|
||||
exports.App = void 0;
|
||||
var jsx_runtime_1 = require("react/jsx-runtime");
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }, void 0); };
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }); };
|
||||
exports.App = App;
|
||||
|
||||
|
||||
@@ -212,7 +212,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated
|
||||
exports.__esModule = true;
|
||||
exports.App = void 0;
|
||||
var jsx_runtime_1 = require("preact/jsx-runtime");
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }, void 0); };
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }); };
|
||||
exports.App = App;
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -119,7 +119,7 @@ exitCode:: ExitStatus.undefined
|
||||
exports.__esModule = true;
|
||||
exports.App = void 0;
|
||||
var jsx_runtime_1 = require("react/jsx-runtime");
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }, void 0); };
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }); };
|
||||
exports.App = App;
|
||||
|
||||
|
||||
@@ -255,7 +255,7 @@ exitCode:: ExitStatus.undefined
|
||||
exports.__esModule = true;
|
||||
exports.App = void 0;
|
||||
var jsx_runtime_1 = require("preact/jsx-runtime");
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }, void 0); };
|
||||
var App = function () { return (0, jsx_runtime_1.jsx)("div", { propA: true }); };
|
||||
exports.App = App;
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
//// [tsxReactEmit8.tsx]
|
||||
/// <reference path="/.lib/react16.d.ts" />
|
||||
|
||||
<div>1</div>;
|
||||
<div key={"key-attr"}>2</div>;
|
||||
|
||||
|
||||
//// [tsxReactEmit8.js]
|
||||
/// <reference path="react16.d.ts" />
|
||||
_jsx("div", { children: "1" });
|
||||
_jsx("div", { children: "2" }, "key-attr");
|
||||
@@ -0,0 +1,12 @@
|
||||
=== tests/cases/conformance/jsx/tsxReactEmit8.tsx ===
|
||||
/// <reference path="react16.d.ts" />
|
||||
|
||||
<div>1</div>;
|
||||
>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114))
|
||||
>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114))
|
||||
|
||||
<div key={"key-attr"}>2</div>;
|
||||
>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114))
|
||||
>key : Symbol(key, Decl(tsxReactEmit8.tsx, 3, 4))
|
||||
>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114))
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
=== tests/cases/conformance/jsx/tsxReactEmit8.tsx ===
|
||||
/// <reference path="react16.d.ts" />
|
||||
|
||||
<div>1</div>;
|
||||
><div>1</div> : JSX.Element
|
||||
>div : any
|
||||
>div : any
|
||||
|
||||
<div key={"key-attr"}>2</div>;
|
||||
><div key={"key-attr"}>2</div> : JSX.Element
|
||||
>div : any
|
||||
>key : string
|
||||
>"key-attr" : "key-attr"
|
||||
>div : any
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
//// [tsxReactEmit8.tsx]
|
||||
/// <reference path="/.lib/react16.d.ts" />
|
||||
|
||||
<div>1</div>;
|
||||
<div key={"key-attr"}>2</div>;
|
||||
|
||||
|
||||
//// [tsxReactEmit8.js]
|
||||
const _jsxFileName = "tests/cases/conformance/jsx/tsxReactEmit8.tsx";
|
||||
/// <reference path="react16.d.ts" />
|
||||
_jsxDEV("div", { children: "1" }, void 0, false, { fileName: _jsxFileName, lineNumber: 1, columnNumber: 1 }, this);
|
||||
_jsxDEV("div", { children: "2" }, "key-attr", false, { fileName: _jsxFileName, lineNumber: 3, columnNumber: 14 }, this);
|
||||
@@ -0,0 +1,12 @@
|
||||
=== tests/cases/conformance/jsx/tsxReactEmit8.tsx ===
|
||||
/// <reference path="react16.d.ts" />
|
||||
|
||||
<div>1</div>;
|
||||
>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114))
|
||||
>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114))
|
||||
|
||||
<div key={"key-attr"}>2</div>;
|
||||
>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114))
|
||||
>key : Symbol(key, Decl(tsxReactEmit8.tsx, 3, 4))
|
||||
>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114))
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
=== tests/cases/conformance/jsx/tsxReactEmit8.tsx ===
|
||||
/// <reference path="react16.d.ts" />
|
||||
|
||||
<div>1</div>;
|
||||
><div>1</div> : JSX.Element
|
||||
>div : any
|
||||
>div : any
|
||||
|
||||
<div key={"key-attr"}>2</div>;
|
||||
><div key={"key-attr"}>2</div> : JSX.Element
|
||||
>div : any
|
||||
>key : string
|
||||
>"key-attr" : "key-attr"
|
||||
>div : any
|
||||
|
||||
@@ -34,23 +34,23 @@ export function T7(a: any, b: any, c: any, d: any) {
|
||||
import { jsx as _jsx } from "react/jsx-runtime";
|
||||
/// <reference path="react16.d.ts" />
|
||||
export function T1(a) {
|
||||
return _jsx("div", Object.assign({ className: "T1" }, a, { children: "T1" }), void 0);
|
||||
return _jsx("div", Object.assign({ className: "T1" }, a, { children: "T1" }));
|
||||
}
|
||||
export function T2(a, b) {
|
||||
return _jsx("div", Object.assign({ className: "T2" }, a, b, { children: "T2" }), void 0);
|
||||
return _jsx("div", Object.assign({ className: "T2" }, a, b, { children: "T2" }));
|
||||
}
|
||||
export function T3(a, b) {
|
||||
return _jsx("div", Object.assign({}, a, { className: "T3" }, b, { children: "T3" }), void 0);
|
||||
return _jsx("div", Object.assign({}, a, { className: "T3" }, b, { children: "T3" }));
|
||||
}
|
||||
export function T4(a, b) {
|
||||
return _jsx("div", Object.assign({ className: "T4" }, Object.assign(Object.assign({}, a), b), { children: "T4" }), void 0);
|
||||
return _jsx("div", Object.assign({ className: "T4" }, Object.assign(Object.assign({}, a), b), { children: "T4" }));
|
||||
}
|
||||
export function T5(a, b, c, d) {
|
||||
return _jsx("div", Object.assign({ className: "T5" }, Object.assign(Object.assign(Object.assign({}, a), b), { c, d }), { children: "T5" }), void 0);
|
||||
return _jsx("div", Object.assign({ className: "T5" }, Object.assign(Object.assign(Object.assign({}, a), b), { c, d }), { children: "T5" }));
|
||||
}
|
||||
export function T6(a, b, c, d) {
|
||||
return _jsx("div", Object.assign({ className: "T6" }, Object.assign(Object.assign(Object.assign({}, a), b), Object.assign(Object.assign({}, c), d)), { children: "T6" }), void 0);
|
||||
return _jsx("div", Object.assign({ className: "T6" }, Object.assign(Object.assign(Object.assign({}, a), b), Object.assign(Object.assign({}, c), d)), { children: "T6" }));
|
||||
}
|
||||
export function T7(a, b, c, d) {
|
||||
return _jsx("div", { children: "T7" }, void 0);
|
||||
return _jsx("div", { children: "T7" });
|
||||
}
|
||||
@@ -34,23 +34,23 @@ export function T7(a: any, b: any, c: any, d: any) {
|
||||
import { jsx as _jsx } from "react/jsx-runtime";
|
||||
/// <reference path="react16.d.ts" />
|
||||
export function T1(a) {
|
||||
return _jsx("div", { className: "T1", ...a, children: "T1" }, void 0);
|
||||
return _jsx("div", { className: "T1", ...a, children: "T1" });
|
||||
}
|
||||
export function T2(a, b) {
|
||||
return _jsx("div", { className: "T2", ...a, ...b, children: "T2" }, void 0);
|
||||
return _jsx("div", { className: "T2", ...a, ...b, children: "T2" });
|
||||
}
|
||||
export function T3(a, b) {
|
||||
return _jsx("div", { ...a, className: "T3", ...b, children: "T3" }, void 0);
|
||||
return _jsx("div", { ...a, className: "T3", ...b, children: "T3" });
|
||||
}
|
||||
export function T4(a, b) {
|
||||
return _jsx("div", { className: "T4", ...{ ...a, ...b }, children: "T4" }, void 0);
|
||||
return _jsx("div", { className: "T4", ...{ ...a, ...b }, children: "T4" });
|
||||
}
|
||||
export function T5(a, b, c, d) {
|
||||
return _jsx("div", { className: "T5", ...{ ...a, ...b, ...{ c, d } }, children: "T5" }, void 0);
|
||||
return _jsx("div", { className: "T5", ...{ ...a, ...b, ...{ c, d } }, children: "T5" });
|
||||
}
|
||||
export function T6(a, b, c, d) {
|
||||
return _jsx("div", { className: "T6", ...{ ...a, ...b, ...{ ...c, ...d } }, children: "T6" }, void 0);
|
||||
return _jsx("div", { className: "T6", ...{ ...a, ...b, ...{ ...c, ...d } }, children: "T6" });
|
||||
}
|
||||
export function T7(a, b, c, d) {
|
||||
return _jsx("div", { children: "T7" }, void 0);
|
||||
return _jsx("div", { children: "T7" });
|
||||
}
|
||||
@@ -34,23 +34,23 @@ export function T7(a: any, b: any, c: any, d: any) {
|
||||
import { jsx as _jsx } from "react/jsx-runtime";
|
||||
/// <reference path="react16.d.ts" />
|
||||
export function T1(a) {
|
||||
return _jsx("div", { className: "T1", ...a, children: "T1" }, void 0);
|
||||
return _jsx("div", { className: "T1", ...a, children: "T1" });
|
||||
}
|
||||
export function T2(a, b) {
|
||||
return _jsx("div", { className: "T2", ...a, ...b, children: "T2" }, void 0);
|
||||
return _jsx("div", { className: "T2", ...a, ...b, children: "T2" });
|
||||
}
|
||||
export function T3(a, b) {
|
||||
return _jsx("div", { ...a, className: "T3", ...b, children: "T3" }, void 0);
|
||||
return _jsx("div", { ...a, className: "T3", ...b, children: "T3" });
|
||||
}
|
||||
export function T4(a, b) {
|
||||
return _jsx("div", { className: "T4", ...{ ...a, ...b }, children: "T4" }, void 0);
|
||||
return _jsx("div", { className: "T4", ...{ ...a, ...b }, children: "T4" });
|
||||
}
|
||||
export function T5(a, b, c, d) {
|
||||
return _jsx("div", { className: "T5", ...{ ...a, ...b, ...{ c, d } }, children: "T5" }, void 0);
|
||||
return _jsx("div", { className: "T5", ...{ ...a, ...b, ...{ c, d } }, children: "T5" });
|
||||
}
|
||||
export function T6(a, b, c, d) {
|
||||
return _jsx("div", { className: "T6", ...{ ...a, ...b, ...{ ...c, ...d } }, children: "T6" }, void 0);
|
||||
return _jsx("div", { className: "T6", ...{ ...a, ...b, ...{ ...c, ...d } }, children: "T6" });
|
||||
}
|
||||
export function T7(a, b, c, d) {
|
||||
return _jsx("div", { children: "T7" }, void 0);
|
||||
return _jsx("div", { children: "T7" });
|
||||
}
|
||||
+4
-4
@@ -34,14 +34,14 @@ let x: TodoListProps;
|
||||
|
||||
//// [tsxSpreadChildrenInvalidType.js]
|
||||
function Todo(prop) {
|
||||
return _jsx("div", { children: prop.key.toString() + prop.todo }, void 0);
|
||||
return _jsx("div", { children: prop.key.toString() + prop.todo });
|
||||
}
|
||||
function TodoList({ todos }) {
|
||||
return _jsxs("div", { children: [..._jsx(Todo, { todo: todos[0].todo }, todos[0].id)] }, void 0);
|
||||
return _jsxs("div", { children: [..._jsx(Todo, { todo: todos[0].todo }, todos[0].id)] });
|
||||
}
|
||||
function TodoListNoError({ todos }) {
|
||||
// any is not checked
|
||||
return _jsxs("div", { children: [..._jsx(Todo, { todo: todos[0].todo }, todos[0].id)] }, void 0);
|
||||
return _jsxs("div", { children: [..._jsx(Todo, { todo: todos[0].todo }, todos[0].id)] });
|
||||
}
|
||||
let x;
|
||||
_jsx(TodoList, Object.assign({}, x), void 0);
|
||||
_jsx(TodoList, Object.assign({}, x));
|
||||
@@ -54,16 +54,16 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
||||
return to.concat(ar || Array.prototype.slice.call(from));
|
||||
};
|
||||
function Todo(prop) {
|
||||
return (0, _a.jsx)("div", { children: prop.key.toString() + prop.todo }, void 0);
|
||||
return (0, _a.jsx)("div", { children: prop.key.toString() + prop.todo });
|
||||
}
|
||||
function TodoList(_a) {
|
||||
var todos = _a.todos;
|
||||
return (0, _b.jsxs)("div", { children: __spreadArray([], (0, _a.jsx)(Todo, { todo: todos[0].todo }, todos[0].id), true) }, void 0);
|
||||
return (0, _b.jsxs)("div", { children: __spreadArray([], (0, _a.jsx)(Todo, { todo: todos[0].todo }, todos[0].id), true) });
|
||||
}
|
||||
function TodoListNoError(_a) {
|
||||
var todos = _a.todos;
|
||||
// any is not checked
|
||||
return (0, _b.jsxs)("div", { children: __spreadArray([], (0, _a.jsx)(Todo, { todo: todos[0].todo }, todos[0].id), true) }, void 0);
|
||||
return (0, _b.jsxs)("div", { children: __spreadArray([], (0, _a.jsx)(Todo, { todo: todos[0].todo }, todos[0].id), true) });
|
||||
}
|
||||
var x;
|
||||
(0, _a.jsx)(TodoList, __assign({}, x), void 0);
|
||||
(0, _a.jsx)(TodoList, __assign({}, x));
|
||||
@@ -0,0 +1,6 @@
|
||||
// @jsx: react-jsx,react-jsxdev
|
||||
// @target: esnext
|
||||
/// <reference path="/.lib/react16.d.ts" />
|
||||
|
||||
<div>1</div>;
|
||||
<div key={"key-attr"}>2</div>;
|
||||
Reference in new issue
Block a user