TypeScript/tests/baselines/reference/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.types
2016-09-01 14:25:44 -07:00

142 lines
4.7 KiB
Plaintext

=== tests/cases/compiler/sourceMapValidationDestructuringParameterNestedObjectBindingPattern.ts ===
declare var console: {
>console : { log(msg: string): void; }
log(msg: string): void;
>log : (msg: string) => void
>msg : string
}
interface Robot {
>Robot : Robot
name: string;
>name : string
skills: {
>skills : { primary: string; secondary: string; }
primary: string;
>primary : string
secondary: string;
>secondary : string
};
}
var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
>robotA : Robot
>Robot : Robot
>{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; }
>name : string
>"mower" : "mower"
>skills : { primary: string; secondary: string; }
>{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; }
>primary : string
>"mowing" : "mowing"
>secondary : string
>"none" : "none"
function foo1({ skills: { primary: primaryA, secondary: secondaryA } }: Robot) {
>foo1 : ({skills: {primary: primaryA, secondary: secondaryA}}: Robot) => void
>skills : any
>primary : any
>primaryA : string
>secondary : any
>secondaryA : string
>Robot : Robot
console.log(primaryA);
>console.log(primaryA) : void
>console.log : (msg: string) => void
>console : { log(msg: string): void; }
>log : (msg: string) => void
>primaryA : string
}
function foo2({ name: nameC, skills: { primary: primaryB, secondary: secondaryB } }: Robot) {
>foo2 : ({name: nameC, skills: {primary: primaryB, secondary: secondaryB}}: Robot) => void
>name : any
>nameC : string
>skills : any
>primary : any
>primaryB : string
>secondary : any
>secondaryB : string
>Robot : Robot
console.log(secondaryB);
>console.log(secondaryB) : void
>console.log : (msg: string) => void
>console : { log(msg: string): void; }
>log : (msg: string) => void
>secondaryB : string
}
function foo3({ skills }: Robot) {
>foo3 : ({skills}: Robot) => void
>skills : { primary: string; secondary: string; }
>Robot : Robot
console.log(skills.primary);
>console.log(skills.primary) : void
>console.log : (msg: string) => void
>console : { log(msg: string): void; }
>log : (msg: string) => void
>skills.primary : string
>skills : { primary: string; secondary: string; }
>primary : string
}
foo1(robotA);
>foo1(robotA) : void
>foo1 : ({skills: {primary: primaryA, secondary: secondaryA}}: Robot) => void
>robotA : Robot
foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
>foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void
>foo1 : ({skills: {primary: primaryA, secondary: secondaryA}}: Robot) => void
>{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; }
>name : string
>"Edger" : "Edger"
>skills : { primary: string; secondary: string; }
>{ primary: "edging", secondary: "branch trimming" } : { primary: string; secondary: string; }
>primary : string
>"edging" : "edging"
>secondary : string
>"branch trimming" : "branch trimming"
foo2(robotA);
>foo2(robotA) : void
>foo2 : ({name: nameC, skills: {primary: primaryB, secondary: secondaryB}}: Robot) => void
>robotA : Robot
foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
>foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void
>foo2 : ({name: nameC, skills: {primary: primaryB, secondary: secondaryB}}: Robot) => void
>{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; }
>name : string
>"Edger" : "Edger"
>skills : { primary: string; secondary: string; }
>{ primary: "edging", secondary: "branch trimming" } : { primary: string; secondary: string; }
>primary : string
>"edging" : "edging"
>secondary : string
>"branch trimming" : "branch trimming"
foo3(robotA);
>foo3(robotA) : void
>foo3 : ({skills}: Robot) => void
>robotA : Robot
foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
>foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void
>foo3 : ({skills}: Robot) => void
>{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; }
>name : string
>"Edger" : "Edger"
>skills : { primary: string; secondary: string; }
>{ primary: "edging", secondary: "branch trimming" } : { primary: string; secondary: string; }
>primary : string
>"edging" : "edging"
>secondary : string
>"branch trimming" : "branch trimming"