|
| 1 | +=== tests/cases/compiler/jsxIntrinsicElementsCompatability.tsx === |
| 2 | +/// <reference path="react16.d.ts" /> |
| 3 | +import * as React from "react"; |
| 4 | +>React : Symbol(React, Decl(jsxIntrinsicElementsCompatability.tsx, 1, 6)) |
| 5 | + |
| 6 | +function SomeComponent<T extends 'button' | 'a'>(props: { element?: T } & JSX.IntrinsicElements[T]): JSX.Element { |
| 7 | +>SomeComponent : Symbol(SomeComponent, Decl(jsxIntrinsicElementsCompatability.tsx, 1, 31)) |
| 8 | +>T : Symbol(T, Decl(jsxIntrinsicElementsCompatability.tsx, 2, 23)) |
| 9 | +>props : Symbol(props, Decl(jsxIntrinsicElementsCompatability.tsx, 2, 49)) |
| 10 | +>element : Symbol(element, Decl(jsxIntrinsicElementsCompatability.tsx, 2, 57)) |
| 11 | +>T : Symbol(T, Decl(jsxIntrinsicElementsCompatability.tsx, 2, 23)) |
| 12 | +>JSX : Symbol(JSX, Decl(react16.d.ts, 2493, 12)) |
| 13 | +>IntrinsicElements : Symbol(JSX.IntrinsicElements, Decl(react16.d.ts, 2514, 86)) |
| 14 | +>T : Symbol(T, Decl(jsxIntrinsicElementsCompatability.tsx, 2, 23)) |
| 15 | +>JSX : Symbol(JSX, Decl(react16.d.ts, 2493, 12)) |
| 16 | +>Element : Symbol(JSX.Element, Decl(react16.d.ts, 2494, 23)) |
| 17 | + |
| 18 | + // Just so the return value is RectElement, the rendered element doesnt matter |
| 19 | + return <div /> |
| 20 | +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) |
| 21 | +} |
| 22 | + |
| 23 | +function Test<T extends 'button' | 'a'>(el: T) { |
| 24 | +>Test : Symbol(Test, Decl(jsxIntrinsicElementsCompatability.tsx, 5, 1)) |
| 25 | +>T : Symbol(T, Decl(jsxIntrinsicElementsCompatability.tsx, 7, 14)) |
| 26 | +>el : Symbol(el, Decl(jsxIntrinsicElementsCompatability.tsx, 7, 40)) |
| 27 | +>T : Symbol(T, Decl(jsxIntrinsicElementsCompatability.tsx, 7, 14)) |
| 28 | + |
| 29 | + return <SomeComponent element={el} /> |
| 30 | +>SomeComponent : Symbol(SomeComponent, Decl(jsxIntrinsicElementsCompatability.tsx, 1, 31)) |
| 31 | +>element : Symbol(element, Decl(jsxIntrinsicElementsCompatability.tsx, 8, 25)) |
| 32 | +>el : Symbol(el, Decl(jsxIntrinsicElementsCompatability.tsx, 7, 40)) |
| 33 | +} |
0 commit comments