mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Accept new baselines
This commit is contained in:
1 parent
c9bea0cc35
commit
2e2048cacc
19 files changed
+48
-48
No files matched your search
@@ -49,8 +49,8 @@ animal.canMeow; // since is cat, should not be an error
|
||||
>canMeow : true
|
||||
|
||||
const animalOrUndef = { type: 'cat', canMeow: true } as Animal | undefined;
|
||||
>animalOrUndef : Cat | Dog | undefined
|
||||
>{ type: 'cat', canMeow: true } as Animal | undefined : Cat | Dog | undefined
|
||||
>animalOrUndef : Animal | undefined
|
||||
>{ type: 'cat', canMeow: true } as Animal | undefined : Animal | undefined
|
||||
>{ type: 'cat', canMeow: true } : { type: "cat"; canMeow: true; }
|
||||
>type : "cat"
|
||||
>'cat' : "cat"
|
||||
@@ -61,7 +61,7 @@ assertEqual(animalOrUndef?.type, 'cat' as const);
|
||||
>assertEqual(animalOrUndef?.type, 'cat' as const) : void
|
||||
>assertEqual : <T>(value: any, type: T) => asserts value is T
|
||||
>animalOrUndef?.type : "cat" | "dog" | undefined
|
||||
>animalOrUndef : Cat | Dog | undefined
|
||||
>animalOrUndef : Animal | undefined
|
||||
>type : "cat" | "dog" | undefined
|
||||
>'cat' as const : "cat"
|
||||
>'cat' : "cat"
|
||||
|
||||
@@ -399,7 +399,7 @@ function test5() {
|
||||
}
|
||||
|
||||
var C: React.ComponentType<P1> | React.ComponentType<P2> = null as any;
|
||||
>C : React.ComponentClass<P1, any> | React.StatelessComponent<P1> | React.ComponentClass<P2, any> | React.StatelessComponent<P2>
|
||||
>C : React.ComponentType<P1> | React.ComponentType<P2>
|
||||
>React : any
|
||||
>React : any
|
||||
>null as any : any
|
||||
@@ -408,7 +408,7 @@ function test5() {
|
||||
const a = <C p={true} />;
|
||||
>a : JSX.Element
|
||||
><C p={true} /> : JSX.Element
|
||||
>C : React.ComponentClass<P1, any> | React.StatelessComponent<P1> | React.ComponentClass<P2, any> | React.StatelessComponent<P2>
|
||||
>C : React.ComponentType<P1> | React.ComponentType<P2>
|
||||
>p : true
|
||||
>true : true
|
||||
}
|
||||
|
||||
@@ -27,9 +27,9 @@ class Button extends React.Component<ButtonProp, any> {
|
||||
>(<InnerButton {...this.props} children="hi"> <div>Hello World</div> </InnerButton>) : JSX.Element
|
||||
><InnerButton {...this.props} children="hi"> <div>Hello World</div> </InnerButton> : JSX.Element
|
||||
>InnerButton : typeof InnerButton
|
||||
>this.props : ButtonProp & { children?: string | number | boolean | {} | React.ReactElement<any> | (string | number | boolean | any[] | React.ReactElement<any>)[] | undefined; }
|
||||
>this.props : ButtonProp & { children?: React.ReactNode | undefined; }
|
||||
>this : this
|
||||
>props : ButtonProp & { children?: string | number | boolean | {} | React.ReactElement<any> | (string | number | boolean | any[] | React.ReactElement<any>)[] | undefined; }
|
||||
>props : ButtonProp & { children?: React.ReactNode | undefined; }
|
||||
>children : string
|
||||
|
||||
<div>Hello World</div>
|
||||
|
||||
@@ -31,11 +31,11 @@ class FetchUser extends React.Component<IFetchUserProps, any> {
|
||||
|
||||
? this.props.children(this.state.result)
|
||||
>this.props.children(this.state.result) : JSX.Element
|
||||
>this.props.children : ((user: IUser) => JSX.Element) | (((user: IUser) => JSX.Element) & string) | (((user: IUser) => JSX.Element) & number) | (((user: IUser) => JSX.Element) & false) | (((user: IUser) => JSX.Element) & true) | (((user: IUser) => JSX.Element) & React.ReactElement<any>) | (((user: IUser) => JSX.Element) & (string | number | boolean | any[] | React.ReactElement<any>)[])
|
||||
>this.props.children : ((user: IUser) => JSX.Element) | (((user: IUser) => JSX.Element) & string) | (((user: IUser) => JSX.Element) & number) | (((user: IUser) => JSX.Element) & false) | (((user: IUser) => JSX.Element) & true) | (((user: IUser) => JSX.Element) & React.ReactElement<any>) | (((user: IUser) => JSX.Element) & (boolean | any[] | React.ReactChild)[])
|
||||
>this.props : IFetchUserProps & { children?: React.ReactNode; }
|
||||
>this : this
|
||||
>props : IFetchUserProps & { children?: React.ReactNode; }
|
||||
>children : ((user: IUser) => JSX.Element) | (((user: IUser) => JSX.Element) & string) | (((user: IUser) => JSX.Element) & number) | (((user: IUser) => JSX.Element) & false) | (((user: IUser) => JSX.Element) & true) | (((user: IUser) => JSX.Element) & React.ReactElement<any>) | (((user: IUser) => JSX.Element) & (string | number | boolean | any[] | React.ReactElement<any>)[])
|
||||
>children : ((user: IUser) => JSX.Element) | (((user: IUser) => JSX.Element) & string) | (((user: IUser) => JSX.Element) & number) | (((user: IUser) => JSX.Element) & false) | (((user: IUser) => JSX.Element) & true) | (((user: IUser) => JSX.Element) & React.ReactElement<any>) | (((user: IUser) => JSX.Element) & (boolean | any[] | React.ReactChild)[])
|
||||
>this.state.result : any
|
||||
>this.state : any
|
||||
>this : this
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
tests/cases/conformance/jsx/file.tsx(24,28): error TS2551: Property 'NAme' does not exist on type 'IUser'. Did you mean 'Name'?
|
||||
tests/cases/conformance/jsx/file.tsx(36,15): error TS2322: Type '(user: IUser) => Element' is not assignable to type 'string | number | boolean | any[] | ReactElement<any>'.
|
||||
tests/cases/conformance/jsx/file.tsx(36,15): error TS2322: Type '(user: IUser) => Element' is not assignable to type 'boolean | any[] | ReactChild'.
|
||||
Type '(user: IUser) => Element' is missing the following properties from type 'ReactElement<any>': type, props
|
||||
tests/cases/conformance/jsx/file.tsx(39,15): error TS2322: Type '(user: IUser) => Element' is not assignable to type 'string | number | boolean | any[] | ReactElement<any>'.
|
||||
tests/cases/conformance/jsx/file.tsx(39,15): error TS2322: Type '(user: IUser) => Element' is not assignable to type 'boolean | any[] | ReactChild'.
|
||||
Type '(user: IUser) => Element' is missing the following properties from type 'ReactElement<any>': type, props
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ tests/cases/conformance/jsx/file.tsx(39,15): error TS2322: Type '(user: IUser) =
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
) }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS2322: Type '(user: IUser) => Element' is not assignable to type 'string | number | boolean | any[] | ReactElement<any>'.
|
||||
!!! error TS2322: Type '(user: IUser) => Element' is not assignable to type 'boolean | any[] | ReactChild'.
|
||||
!!! error TS2322: Type '(user: IUser) => Element' is missing the following properties from type 'ReactElement<any>': type, props
|
||||
!!! related TS6212 tests/cases/conformance/jsx/file.tsx:36:15: Did you mean to call this expression?
|
||||
{ user => (
|
||||
@@ -59,7 +59,7 @@ tests/cases/conformance/jsx/file.tsx(39,15): error TS2322: Type '(user: IUser) =
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
) }
|
||||
~~~~~~~~~~~~~
|
||||
!!! error TS2322: Type '(user: IUser) => Element' is not assignable to type 'string | number | boolean | any[] | ReactElement<any>'.
|
||||
!!! error TS2322: Type '(user: IUser) => Element' is not assignable to type 'boolean | any[] | ReactChild'.
|
||||
!!! error TS2322: Type '(user: IUser) => Element' is missing the following properties from type 'ReactElement<any>': type, props
|
||||
!!! related TS6212 tests/cases/conformance/jsx/file.tsx:39:15: Did you mean to call this expression?
|
||||
</FetchUser>
|
||||
|
||||
@@ -31,11 +31,11 @@ class FetchUser extends React.Component<IFetchUserProps, any> {
|
||||
|
||||
? this.props.children(this.state.result)
|
||||
>this.props.children(this.state.result) : JSX.Element
|
||||
>this.props.children : ((user: IUser) => JSX.Element) | (((user: IUser) => JSX.Element) & string) | (((user: IUser) => JSX.Element) & number) | (((user: IUser) => JSX.Element) & false) | (((user: IUser) => JSX.Element) & true) | (((user: IUser) => JSX.Element) & React.ReactElement<any>) | (((user: IUser) => JSX.Element) & (string | number | boolean | any[] | React.ReactElement<any>)[])
|
||||
>this.props.children : ((user: IUser) => JSX.Element) | (((user: IUser) => JSX.Element) & string) | (((user: IUser) => JSX.Element) & number) | (((user: IUser) => JSX.Element) & false) | (((user: IUser) => JSX.Element) & true) | (((user: IUser) => JSX.Element) & React.ReactElement<any>) | (((user: IUser) => JSX.Element) & (boolean | any[] | React.ReactChild)[])
|
||||
>this.props : IFetchUserProps & { children?: React.ReactNode; }
|
||||
>this : this
|
||||
>props : IFetchUserProps & { children?: React.ReactNode; }
|
||||
>children : ((user: IUser) => JSX.Element) | (((user: IUser) => JSX.Element) & string) | (((user: IUser) => JSX.Element) & number) | (((user: IUser) => JSX.Element) & false) | (((user: IUser) => JSX.Element) & true) | (((user: IUser) => JSX.Element) & React.ReactElement<any>) | (((user: IUser) => JSX.Element) & (string | number | boolean | any[] | React.ReactElement<any>)[])
|
||||
>children : ((user: IUser) => JSX.Element) | (((user: IUser) => JSX.Element) & string) | (((user: IUser) => JSX.Element) & number) | (((user: IUser) => JSX.Element) & false) | (((user: IUser) => JSX.Element) & true) | (((user: IUser) => JSX.Element) & React.ReactElement<any>) | (((user: IUser) => JSX.Element) & (boolean | any[] | React.ReactChild)[])
|
||||
>this.state.result : any
|
||||
>this.state : any
|
||||
>this : this
|
||||
|
||||
@@ -1882,12 +1882,12 @@ type Shape =
|
||||
>radius : number
|
||||
|
||||
function getArea(shape?: Shape) {
|
||||
>getArea : (shape?: { type: "rectangle"; width: number; height: number; } | { type: "circle"; radius: number; } | undefined) => number
|
||||
>shape : { type: "rectangle"; width: number; height: number; } | { type: "circle"; radius: number; } | undefined
|
||||
>getArea : (shape?: Shape | undefined) => number
|
||||
>shape : Shape | undefined
|
||||
|
||||
switch (shape?.type) {
|
||||
>shape?.type : "rectangle" | "circle" | undefined
|
||||
>shape : { type: "rectangle"; width: number; height: number; } | { type: "circle"; radius: number; } | undefined
|
||||
>shape : Shape | undefined
|
||||
>type : "rectangle" | "circle" | undefined
|
||||
|
||||
case 'circle':
|
||||
|
||||
@@ -404,9 +404,9 @@ export function foo(obj: Obj) {
|
||||
>obj : Obj
|
||||
|
||||
switch (obj.key) {
|
||||
>obj.key : "+" | "-" | "*" | "/"
|
||||
>obj.key : Additive | Multiplicative
|
||||
>obj : Obj
|
||||
>key : "+" | "-" | "*" | "/"
|
||||
>key : Additive | Multiplicative
|
||||
|
||||
case '+': {
|
||||
>'+' : "+"
|
||||
|
||||
@@ -176,7 +176,7 @@ export type DiagnosticSeverity = 1 | 2 | 3 | 4;
|
||||
|
||||
export interface Diagnostic {
|
||||
severity?: DiagnosticSeverity;
|
||||
>severity : 1 | 2 | 3 | 4 | undefined
|
||||
>severity : DiagnosticSeverity | undefined
|
||||
|
||||
code?: number | string;
|
||||
>code : string | number | undefined
|
||||
|
||||
@@ -27,12 +27,12 @@ const testFnTypes = {
|
||||
*/
|
||||
function testFn(input) {
|
||||
>testFn : (input: testFnTypes.input) => number | null
|
||||
>input : boolean | Function | myTypes.typeB
|
||||
>input : boolean | myTypes.typeC
|
||||
|
||||
if (typeof input === 'number') {
|
||||
>typeof input === 'number' : boolean
|
||||
>typeof input : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"
|
||||
>input : boolean | Function | myTypes.typeB
|
||||
>input : boolean | myTypes.typeC
|
||||
>'number' : "number"
|
||||
|
||||
return 2 * input;
|
||||
|
||||
@@ -859,7 +859,7 @@ export interface ReactSelectProps<TValue = OptionValues> extends React.Props<Rea
|
||||
* option component to render in dropdown
|
||||
*/
|
||||
optionComponent?: OptionComponentType<TValue>;
|
||||
>optionComponent : React.ComponentClass<OptionComponentProps<TValue>, any> | React.StatelessComponent<OptionComponentProps<TValue>> | undefined
|
||||
>optionComponent : React.ComponentType<OptionComponentProps<TValue>> | undefined
|
||||
|
||||
/**
|
||||
* function which returns a custom way to render the options in the menu
|
||||
@@ -973,7 +973,7 @@ export interface ReactSelectProps<TValue = OptionValues> extends React.Props<Rea
|
||||
* value component to render
|
||||
*/
|
||||
valueComponent?: ValueComponentType<TValue>;
|
||||
>valueComponent : React.ComponentClass<ValueComponentProps<TValue>, any> | React.StatelessComponent<ValueComponentProps<TValue>> | undefined
|
||||
>valueComponent : React.ComponentType<ValueComponentProps<TValue>> | undefined
|
||||
|
||||
/**
|
||||
* optional style to apply to the component wrapper
|
||||
|
||||
@@ -31,7 +31,7 @@ function f2() {
|
||||
>false : false
|
||||
|
||||
type ElementOrArray = Element | Element[];
|
||||
>ElementOrArray : string | false | (string | false)[]
|
||||
>ElementOrArray : (string | false) | (string | false)[]
|
||||
|
||||
let el: Element = null as any;
|
||||
>el : string | false
|
||||
@@ -44,32 +44,32 @@ function f2() {
|
||||
>null : null
|
||||
|
||||
let elOrA: ElementOrArray = null as any;
|
||||
>elOrA : string | false | (string | false)[]
|
||||
>elOrA : (string | false) | (string | false)[]
|
||||
>null as any : any
|
||||
>null : null
|
||||
|
||||
// Desired/actual: All OK
|
||||
let a1: ElementOrArray = el;
|
||||
>a1 : string | false | (string | false)[]
|
||||
>a1 : (string | false) | (string | false)[]
|
||||
>el : string | false
|
||||
|
||||
let a2: ElementOrArray = arr;
|
||||
>a2 : string | false | (string | false)[]
|
||||
>a2 : (string | false) | (string | false)[]
|
||||
>arr : (string | false)[]
|
||||
|
||||
let a3: ElementOrArray = [el];
|
||||
>a3 : string | false | (string | false)[]
|
||||
>a3 : (string | false) | (string | false)[]
|
||||
>[el] : (string | false)[]
|
||||
>el : string | false
|
||||
|
||||
let a4: ElementOrArray = Array.isArray(elOrA) ? elOrA : [elOrA];
|
||||
>a4 : string | false | (string | false)[]
|
||||
>a4 : (string | false) | (string | false)[]
|
||||
>Array.isArray(elOrA) ? elOrA : [elOrA] : (string | false)[]
|
||||
>Array.isArray(elOrA) : boolean
|
||||
>Array.isArray : (arg: any) => arg is any[]
|
||||
>Array : ArrayConstructor
|
||||
>isArray : (arg: any) => arg is any[]
|
||||
>elOrA : string | false | (string | false)[]
|
||||
>elOrA : (string | false) | (string | false)[]
|
||||
>elOrA : (string | false)[]
|
||||
>[elOrA] : (string | false)[]
|
||||
>elOrA : string | false
|
||||
@@ -78,7 +78,7 @@ function f2() {
|
||||
// 3.0: Error
|
||||
// 3.1: OK
|
||||
let a5: ElementOrArray = [...Array.isArray(elOrA) ? elOrA : [elOrA]];
|
||||
>a5 : string | false | (string | false)[]
|
||||
>a5 : (string | false) | (string | false)[]
|
||||
>[...Array.isArray(elOrA) ? elOrA : [elOrA]] : (string | false)[]
|
||||
>...Array.isArray(elOrA) ? elOrA : [elOrA] : string | false
|
||||
>Array.isArray(elOrA) ? elOrA : [elOrA] : (string | false)[]
|
||||
|
||||
@@ -39,13 +39,13 @@ declare class Observable<T> implements Subscribable<T> {
|
||||
|
||||
function asObservable(input: string | ObservableInput<string>): Observable<string> {
|
||||
>asObservable : (input: string | ObservableInput<string>) => Observable<string>
|
||||
>input : string | Subscribable<never> | Subscribable<string>
|
||||
>input : string | ObservableInput<string>
|
||||
|
||||
return typeof input === 'string' ? of(input) : from(input)
|
||||
>typeof input === 'string' ? of(input) : from(input) : Observable<string>
|
||||
>typeof input === 'string' : boolean
|
||||
>typeof input : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"
|
||||
>input : string | Subscribable<never> | Subscribable<string>
|
||||
>input : string | ObservableInput<string>
|
||||
>'string' : "string"
|
||||
>of(input) : Observable<string>
|
||||
>of : <T>(a: T) => Observable<T>
|
||||
|
||||
@@ -230,7 +230,7 @@ unbox({ value: { value: { get value() { return this; } }}}); // { readonly valu
|
||||
>value : { readonly value: { readonly value: any; }; }
|
||||
>{ get value() { return this; } } : { readonly value: { readonly value: any; }; }
|
||||
>value : { readonly value: any; }
|
||||
>this : { readonly value: any; } | { readonly value: { readonly value: any; }; } | Box<RecBox<{ readonly value: { readonly value: any; }; }>>
|
||||
>this : { readonly value: any; } | RecBox<{ readonly value: { readonly value: any; }; }>
|
||||
|
||||
// Inference from nested instantiations of same generic types
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ function a<T>(l: Recur<T>[]): void {
|
||||
>l : Recur<T>[]
|
||||
|
||||
const x: Recur<T> | undefined = join(l);
|
||||
>x : (T extends unknown[] ? {} : { [K in keyof T]?: (T[K] extends unknown[] ? {} : { [K in keyof T[K]]?: (T[K][K] extends unknown[] ? {} : { [K in keyof T[K][K]]?: (T[K][K][K] extends unknown[] ? {} : { [K in keyof T[K][K][K]]?: (T[K][K][K][K] extends unknown[] ? {} : { [K in keyof T[K][K][K][K]]?: (T[K][K][K][K][K] extends unknown[] ? {} : { [K in keyof T[K][K][K][K][K]]?: (T[K][K][K][K][K][K] extends unknown[] ? {} : { [K in keyof T[K][K][K][K][K][K]]?: (T[K][K][K][K][K][K][K] extends unknown[] ? {} : { [K in keyof T[K][K][K][K][K][K][K]]?: (T[K][K][K][K][K][K][K][K] extends unknown[] ? {} : { [K in keyof T[K][K][K][K][K][K][K][K]]?: (T[K][K][K][K][K][K][K][K][K] extends unknown[] ? {} : { [K in keyof T[K][K][K][K][K][K][K][K][K]]?: (T[K][K][K][K][K][K][K][K][K][K] extends unknown[] ? {} : { [K in keyof T[K][K][K][K][K][K][K][K][K][K]]?: (T[K][K][K][K][K][K][K][K][K][K][K] extends unknown[] ? {} : any) | ["marker", ...Recur<T[K][K][K][K][K][K][K][K][K][K][K]>[]] | undefined; }) | ["marker", ...Recur<T[K][K][K][K][K][K][K][K][K][K]>[]] | undefined; }) | ["marker", ...Recur<T[K][K][K][K][K][K][K][K][K]>[]] | undefined; }) | ["marker", ...Recur<T[K][K][K][K][K][K][K][K]>[]] | undefined; }) | ["marker", ...Recur<T[K][K][K][K][K][K][K]>[]] | undefined; }) | ["marker", ...Recur<T[K][K][K][K][K][K]>[]] | undefined; }) | ["marker", ...Recur<T[K][K][K][K][K]>[]] | undefined; }) | ["marker", ...Recur<T[K][K][K][K]>[]] | undefined; }) | ["marker", ...Recur<T[K][K][K]>[]] | undefined; }) | ["marker", ...Recur<T[K][K]>[]] | undefined; }) | ["marker", ...Recur<T[K]>[]] | undefined; }) | ["marker", ...Recur<T>[]] | undefined
|
||||
>x : Recur<T> | undefined
|
||||
>join(l) : Recur<T>
|
||||
>join : <T>(l: Recur<T>[]) => Recur<T>
|
||||
>l : Recur<T>[]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
tests/cases/conformance/jsx/tsxLibraryManagedAttributes.tsx(55,12): error TS2322: Type '{ foo: number; }' is not assignable to type 'Defaultize<InferredPropTypes<{ foo: PropTypeChecker<number, false>; bar: PropTypeChecker<ReactNode, false>; baz: PropTypeChecker<string, true>; }>, { foo: number; }>'.
|
||||
Type '{ foo: number; }' is missing the following properties from type '{ bar: string | number | ReactComponent<{}, {}> | null | undefined; baz: string; }': bar, baz
|
||||
Type '{ foo: number; }' is missing the following properties from type '{ bar: ReactNode | null | undefined; baz: string; }': bar, baz
|
||||
tests/cases/conformance/jsx/tsxLibraryManagedAttributes.tsx(57,41): error TS2322: Type '{ bar: string; baz: string; bat: string; }' is not assignable to type 'Defaultize<InferredPropTypes<{ foo: PropTypeChecker<number, false>; bar: PropTypeChecker<ReactNode, false>; baz: PropTypeChecker<string, true>; }>, { foo: number; }>'.
|
||||
Property 'bat' does not exist on type 'Defaultize<InferredPropTypes<{ foo: PropTypeChecker<number, false>; bar: PropTypeChecker<ReactNode, false>; baz: PropTypeChecker<string, true>; }>, { foo: number; }>'.
|
||||
tests/cases/conformance/jsx/tsxLibraryManagedAttributes.tsx(59,42): error TS2322: Type 'null' is not assignable to type 'string'.
|
||||
@@ -9,7 +9,7 @@ tests/cases/conformance/jsx/tsxLibraryManagedAttributes.tsx(80,38): error TS2322
|
||||
Property 'bar' does not exist on type 'Defaultize<{}, { foo: number; }>'.
|
||||
tests/cases/conformance/jsx/tsxLibraryManagedAttributes.tsx(81,29): error TS2322: Type 'string' is not assignable to type 'number | undefined'.
|
||||
tests/cases/conformance/jsx/tsxLibraryManagedAttributes.tsx(98,12): error TS2322: Type '{ foo: string; }' is not assignable to type 'Defaultize<FooProps & InferredPropTypes<{ foo: PropTypeChecker<string, false>; bar: PropTypeChecker<ReactNode, false>; baz: PropTypeChecker<number, true>; }>, { foo: string; }>'.
|
||||
Type '{ foo: string; }' is missing the following properties from type '{ bar: string | number | ReactComponent<{}, {}> | null | undefined; baz: number; }': bar, baz
|
||||
Type '{ foo: string; }' is missing the following properties from type '{ bar: ReactNode | null | undefined; baz: number; }': bar, baz
|
||||
tests/cases/conformance/jsx/tsxLibraryManagedAttributes.tsx(100,56): error TS2322: Type '{ bar: string; baz: number; bat: string; }' is not assignable to type 'Defaultize<FooProps & InferredPropTypes<{ foo: PropTypeChecker<string, false>; bar: PropTypeChecker<ReactNode, false>; baz: PropTypeChecker<number, true>; }>, { foo: string; }>'.
|
||||
Property 'bat' does not exist on type 'Defaultize<FooProps & InferredPropTypes<{ foo: PropTypeChecker<string, false>; bar: PropTypeChecker<ReactNode, false>; baz: PropTypeChecker<number, true>; }>, { foo: string; }>'.
|
||||
tests/cases/conformance/jsx/tsxLibraryManagedAttributes.tsx(102,57): error TS2322: Type 'null' is not assignable to type 'number'.
|
||||
@@ -79,7 +79,7 @@ tests/cases/conformance/jsx/tsxLibraryManagedAttributes.tsx(123,49): error TS232
|
||||
const b = <Component foo={12} />; // Error, missing required prop bar
|
||||
~~~~~~~~~
|
||||
!!! error TS2322: Type '{ foo: number; }' is not assignable to type 'Defaultize<InferredPropTypes<{ foo: PropTypeChecker<number, false>; bar: PropTypeChecker<ReactNode, false>; baz: PropTypeChecker<string, true>; }>, { foo: number; }>'.
|
||||
!!! error TS2322: Type '{ foo: number; }' is missing the following properties from type '{ bar: string | number | ReactComponent<{}, {}> | null | undefined; baz: string; }': bar, baz
|
||||
!!! error TS2322: Type '{ foo: number; }' is missing the following properties from type '{ bar: ReactNode | null | undefined; baz: string; }': bar, baz
|
||||
const c = <Component bar="yes" baz="yeah" />;
|
||||
const d = <Component bar="yes" baz="yo" bat="ohno" />; // Error, baz not a valid prop
|
||||
~~~
|
||||
@@ -142,7 +142,7 @@ tests/cases/conformance/jsx/tsxLibraryManagedAttributes.tsx(123,49): error TS232
|
||||
const o = <BothWithSpecifiedGeneric foo="no" />; // Error, missing required prop bar
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS2322: Type '{ foo: string; }' is not assignable to type 'Defaultize<FooProps & InferredPropTypes<{ foo: PropTypeChecker<string, false>; bar: PropTypeChecker<ReactNode, false>; baz: PropTypeChecker<number, true>; }>, { foo: string; }>'.
|
||||
!!! error TS2322: Type '{ foo: string; }' is missing the following properties from type '{ bar: string | number | ReactComponent<{}, {}> | null | undefined; baz: number; }': bar, baz
|
||||
!!! error TS2322: Type '{ foo: string; }' is missing the following properties from type '{ bar: ReactNode | null | undefined; baz: number; }': bar, baz
|
||||
const p = <BothWithSpecifiedGeneric bar="yes" baz={12} />;
|
||||
const q = <BothWithSpecifiedGeneric bar="yes" baz={12} bat="ohno" />; // Error, baz not a valid prop
|
||||
~~~
|
||||
|
||||
@@ -46,7 +46,7 @@ class NumCoercible {
|
||||
*/
|
||||
export function extent<T extends Numeric>(array: Array<T | Primitive>): [T | Primitive, T | Primitive] | [undefined, undefined] {
|
||||
>extent : <T extends Numeric>(array: Array<T | Primitive>) => [T | Primitive, T | Primitive] | [undefined, undefined]
|
||||
>array : (string | number | boolean | Date | T)[]
|
||||
>array : (Primitive | T)[]
|
||||
|
||||
return [undefined, undefined];
|
||||
>[undefined, undefined] : [undefined, undefined]
|
||||
@@ -56,13 +56,13 @@ export function extent<T extends Numeric>(array: Array<T | Primitive>): [T | Pri
|
||||
|
||||
|
||||
let extentMixed: [Primitive | NumCoercible, Primitive | NumCoercible] | [undefined, undefined];
|
||||
>extentMixed : [undefined, undefined] | [string | number | boolean | Date | NumCoercible, string | number | boolean | Date | NumCoercible]
|
||||
>extentMixed : [undefined, undefined] | [Primitive | NumCoercible, Primitive | NumCoercible]
|
||||
|
||||
extentMixed = extent([new NumCoercible(10), 13, '12', true]);
|
||||
>extentMixed = extent([new NumCoercible(10), 13, '12', true]) : [undefined, undefined] | [string | number | boolean | Date | NumCoercible, string | number | boolean | Date | NumCoercible]
|
||||
>extentMixed : [undefined, undefined] | [string | number | boolean | Date | NumCoercible, string | number | boolean | Date | NumCoercible]
|
||||
>extentMixed : [undefined, undefined] | [Primitive | NumCoercible, Primitive | NumCoercible]
|
||||
>extent([new NumCoercible(10), 13, '12', true]) : [undefined, undefined] | [string | number | boolean | Date | NumCoercible, string | number | boolean | Date | NumCoercible]
|
||||
>extent : <T extends Numeric>(array: (string | number | boolean | Date | T)[]) => [string | number | boolean | Date | T, string | number | boolean | Date | T] | [undefined, undefined]
|
||||
>extent : <T extends Numeric>(array: (Primitive | T)[]) => [Primitive | T, Primitive | T] | [undefined, undefined]
|
||||
>[new NumCoercible(10), 13, '12', true] : (string | number | true | NumCoercible)[]
|
||||
>new NumCoercible(10) : NumCoercible
|
||||
>NumCoercible : typeof NumCoercible
|
||||
|
||||
@@ -6,11 +6,11 @@ type Maybe<T> = T | undefined;
|
||||
|
||||
declare function concatMaybe<T>(...args: (Maybe<T> | Maybe<T>[])[]): T[];
|
||||
>concatMaybe : <T>(...args: (Maybe<T> | Maybe<T>[])[]) => T[]
|
||||
>args : (T | Maybe<T>[] | undefined)[]
|
||||
>args : (Maybe<T> | Maybe<T>[])[]
|
||||
|
||||
concatMaybe([1, 2, 3], 4);
|
||||
>concatMaybe([1, 2, 3], 4) : number[]
|
||||
>concatMaybe : <T>(...args: (T | Maybe<T>[] | undefined)[]) => T[]
|
||||
>concatMaybe : <T>(...args: (Maybe<T> | Maybe<T>[])[]) => T[]
|
||||
>[1, 2, 3] : number[]
|
||||
>1 : 1
|
||||
>2 : 2
|
||||
|
||||
@@ -45,7 +45,7 @@ export function isTypedArray(a: {}): a is Int32Array | Uint8Array {
|
||||
}
|
||||
|
||||
export function flatten<T extends number|TypedArray>(arr: T) {
|
||||
>flatten : <T extends number | Int32Array | Uint8Array>(arr: T) => void
|
||||
>flatten : <T extends number | TypedArray>(arr: T) => void
|
||||
>arr : T
|
||||
|
||||
if (isTypedArray(arr)) {
|
||||
|
||||
Reference in new issue
Block a user