mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-06-11 02:15:10 -05:00
Test:spread contextually typed by binding pattern
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
//// [spreadContextualTypedBindingPattern.ts]
|
||||
// #18308
|
||||
interface Person {
|
||||
naam: string,
|
||||
age: number
|
||||
}
|
||||
|
||||
declare const bob: Person
|
||||
declare const alice: Person
|
||||
|
||||
// [ts] Initializer provides no value for this binding element and the binding element has no default value.
|
||||
const { naam, age } = {...bob, ...alice}
|
||||
|
||||
|
||||
//// [spreadContextualTypedBindingPattern.js]
|
||||
var __assign = (this && this.__assign) || Object.assign || function(t) {
|
||||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
||||
s = arguments[i];
|
||||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
||||
t[p] = s[p];
|
||||
}
|
||||
return t;
|
||||
};
|
||||
// [ts] Initializer provides no value for this binding element and the binding element has no default value.
|
||||
var _a = __assign({}, bob, alice), naam = _a.naam, age = _a.age;
|
||||
@@ -0,0 +1,27 @@
|
||||
=== tests/cases/conformance/types/spread/spreadContextualTypedBindingPattern.ts ===
|
||||
// #18308
|
||||
interface Person {
|
||||
>Person : Symbol(Person, Decl(spreadContextualTypedBindingPattern.ts, 0, 0))
|
||||
|
||||
naam: string,
|
||||
>naam : Symbol(Person.naam, Decl(spreadContextualTypedBindingPattern.ts, 1, 18))
|
||||
|
||||
age: number
|
||||
>age : Symbol(Person.age, Decl(spreadContextualTypedBindingPattern.ts, 2, 15))
|
||||
}
|
||||
|
||||
declare const bob: Person
|
||||
>bob : Symbol(bob, Decl(spreadContextualTypedBindingPattern.ts, 6, 13))
|
||||
>Person : Symbol(Person, Decl(spreadContextualTypedBindingPattern.ts, 0, 0))
|
||||
|
||||
declare const alice: Person
|
||||
>alice : Symbol(alice, Decl(spreadContextualTypedBindingPattern.ts, 7, 13))
|
||||
>Person : Symbol(Person, Decl(spreadContextualTypedBindingPattern.ts, 0, 0))
|
||||
|
||||
// [ts] Initializer provides no value for this binding element and the binding element has no default value.
|
||||
const { naam, age } = {...bob, ...alice}
|
||||
>naam : Symbol(naam, Decl(spreadContextualTypedBindingPattern.ts, 10, 7))
|
||||
>age : Symbol(age, Decl(spreadContextualTypedBindingPattern.ts, 10, 13))
|
||||
>bob : Symbol(bob, Decl(spreadContextualTypedBindingPattern.ts, 6, 13))
|
||||
>alice : Symbol(alice, Decl(spreadContextualTypedBindingPattern.ts, 7, 13))
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
=== tests/cases/conformance/types/spread/spreadContextualTypedBindingPattern.ts ===
|
||||
// #18308
|
||||
interface Person {
|
||||
>Person : Person
|
||||
|
||||
naam: string,
|
||||
>naam : string
|
||||
|
||||
age: number
|
||||
>age : number
|
||||
}
|
||||
|
||||
declare const bob: Person
|
||||
>bob : Person
|
||||
>Person : Person
|
||||
|
||||
declare const alice: Person
|
||||
>alice : Person
|
||||
>Person : Person
|
||||
|
||||
// [ts] Initializer provides no value for this binding element and the binding element has no default value.
|
||||
const { naam, age } = {...bob, ...alice}
|
||||
>naam : string
|
||||
>age : number
|
||||
>{...bob, ...alice} : { naam: string; age: number; }
|
||||
>bob : Person
|
||||
>alice : Person
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
// #18308
|
||||
interface Person {
|
||||
naam: string,
|
||||
age: number
|
||||
}
|
||||
|
||||
declare const bob: Person
|
||||
declare const alice: Person
|
||||
|
||||
// [ts] Initializer provides no value for this binding element and the binding element has no default value.
|
||||
const { naam, age } = {...bob, ...alice}
|
||||
Reference in New Issue
Block a user