File: jsxElementTypeLiteralWithGeneric.errors.txt

package info (click to toggle)
node-typescript 5.1.6%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 492,516 kB
  • sloc: javascript: 2,078,951; makefile: 6; sh: 1
file content (33 lines) | stat: -rw-r--r-- 1,298 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
tests/cases/compiler/jsxElementTypeLiteralWithGeneric.tsx(21,9): error TS2339: Property 'ruhroh' does not exist on type 'JSX.IntrinsicElements'.
tests/cases/compiler/jsxElementTypeLiteralWithGeneric.tsx(21,10): error TS2786: 'ruhroh' cannot be used as a JSX component.
  Its type '"ruhroh"' is not a valid JSX element type.


==== tests/cases/compiler/jsxElementTypeLiteralWithGeneric.tsx (2 errors) ====
    /// <reference path="/.lib/react16.d.ts" />
    import * as React from "react";
    
    declare global {
      namespace JSX {
        type ElementType<P = any> =
          | {
            [K in keyof JSX.IntrinsicElements]: P extends JSX.IntrinsicElements[K]
            ? K
            : never;
          }[keyof JSX.IntrinsicElements]
          | React.ComponentType<P>;
      }
    }
    
    // should be fine - `ElementType` accepts `div`
    let a = <div />;
    
    // Should be an error.
    // `ruhroh` is in neither `IntrinsicElements` nor `ElementType`
    let c = <ruhroh />;
            ~~~~~~~~~~
!!! error TS2339: Property 'ruhroh' does not exist on type 'JSX.IntrinsicElements'.
             ~~~~~~
!!! error TS2786: 'ruhroh' cannot be used as a JSX component.
!!! error TS2786:   Its type '"ruhroh"' is not a valid JSX element type.