76 lines
3 KiB
Plaintext
76 lines
3 KiB
Plaintext
=== tests/cases/conformance/types/rest/objectRestAssignment.ts ===
|
|
let ka: any;
|
|
>ka : any
|
|
|
|
let nested: { ki };
|
|
>nested : { ki: any; }
|
|
>ki : any
|
|
|
|
let other: number;
|
|
>other : number
|
|
|
|
let rest: { };
|
|
>rest : {}
|
|
|
|
let complex: { x: { ka, ki }, y: number };
|
|
>complex : { x: { ka: any; ki: any; }; y: number; }
|
|
>x : { ka: any; ki: any; }
|
|
>ka : any
|
|
>ki : any
|
|
>y : number
|
|
|
|
({x: { ka, ...nested }, y: other, ...rest} = complex);
|
|
>({x: { ka, ...nested }, y: other, ...rest} = complex) : { x: { ka: any; ki: any; }; y: number; }
|
|
>{x: { ka, ...nested }, y: other, ...rest} = complex : { x: { ka: any; ki: any; }; y: number; }
|
|
>{x: { ka, ...nested }, y: other, ...rest} : { x: { ki: any; ka: any; }; y: number; }
|
|
>x : { ki: any; ka: any; }
|
|
>{ ka, ...nested } : { ki: any; ka: any; }
|
|
>ka : any
|
|
>nested : { ki: any; }
|
|
>y : number
|
|
>other : number
|
|
>rest : {}
|
|
>complex : { x: { ka: any; ki: any; }; y: number; }
|
|
|
|
// should be:
|
|
let overEmit: { a: { ka: string, x: string }[], b: { z: string, ki: string, ku: string }, ke: string, ko: string };
|
|
>overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; }
|
|
>a : { ka: string; x: string; }[]
|
|
>ka : string
|
|
>x : string
|
|
>b : { z: string; ki: string; ku: string; }
|
|
>z : string
|
|
>ki : string
|
|
>ku : string
|
|
>ke : string
|
|
>ko : string
|
|
|
|
// var _g = overEmit.a, [_h, ...y] = _g, nested2 = __rest(_h, []), _j = overEmit.b, { z } = _j, c = __rest(_j, ["z"]), rest2 = __rest(overEmit, ["a", "b"]);
|
|
var { a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit;
|
|
>a : any
|
|
>nested2 : { ka: string; x: string; }
|
|
>y : { ka: string; x: string; }[]
|
|
>b : any
|
|
>z : string
|
|
>c : { ki: string; ku: string; }
|
|
>rest2 : { ke: string; ko: string; }
|
|
>overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; }
|
|
|
|
({ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit);
|
|
>({ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit) : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; }
|
|
>{ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; }
|
|
>{ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } : { ke: string; ko: string; a: { ka: string; x: string; }[]; b: { ki: string; ku: string; z: string; }; }
|
|
>a : { ka: string; x: string; }[]
|
|
>[{ ...nested2 }, ...y] : { ka: string; x: string; }[]
|
|
>{ ...nested2 } : { ka: string; x: string; }
|
|
>nested2 : { ka: string; x: string; }
|
|
>...y : { ka: string; x: string; }
|
|
>y : { ka: string; x: string; }[]
|
|
>b : { ki: string; ku: string; z: string; }
|
|
>{ z, ...c } : { ki: string; ku: string; z: string; }
|
|
>z : string
|
|
>c : { ki: string; ku: string; }
|
|
>rest2 : { ke: string; ko: string; }
|
|
>overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; }
|
|
|