TypeScript/tests/cases/conformance/jsx/tsxGenericAttributesType1.tsx

19 lines
740 B
TypeScript
Raw Normal View History

2017-05-12 01:30:56 +02:00
// @filename: file.tsx
// @jsx: preserve
// @noLib: true
// @skipLibCheck: true
2017-05-12 01:30:56 +02:00
// @libFiles: react.d.ts,lib.d.ts
import React = require('react');
const decorator = function <T>(Component: React.StatelessComponent<T>): React.StatelessComponent<T> {
return (props) => <Component {...props}></Component>
};
const decorator2 = function <T extends { x: number }>(Component: React.StatelessComponent<T>): React.StatelessComponent<T> {
return (props) => <Component {...props} x={2} ></Component>
};
const decorator3 = function <T extends { x: number }, U extends { x: number } >(Component: React.StatelessComponent<T>): React.StatelessComponent<T> {
return (props) => <Component x={2} {...props} ></Component>
};