2017-10-24 4 views
0

나는 사소한 일을하려한다. 유형이 지정된 객체를 함수에 전달하고, 알려진 키를 사용하여이를 증가시키고, 두 객체를 교차하는 유형을 반환한다. 어떻게에 T을 강요 할스프레드 연산자로 Typescript insection

Spread operator error

:

다음 코드는 내가 ...input 확산 연산자에 다음과 같은 오류를 얻을

interface Success { 
    success: boolean 
} 

interface Named { 
    name: string 
} 

type Resolver<T> = Success & T 

function test<T>(input: T): Resolver<T> { 
    return { 
    success: true, 
    ...input 
    } 
} 

const person: Named = { name: 'Bob' }; 
const res = test<Named>(person); 
// `res.success` and `res.name` are inferred 

그러나 나에게 대부분의 방법을 얻을 것으로 보인다 물건이 될까? 색인화 된 인터페이스를 작성하여 확장했지만 동일한 오류가 지속됩니다.

+0

@jonrsharpe - 그게, 같은 오류를 시도했습니다. 'T extends object'와'T extends {} '와 동일합니다. –

+0

이 문제와 관련하여 공개 문제가있는 것 같습니다. https://github.com/Microsoft/TypeScript/pull/13288. 그 동안 ... "어떤 것으로 든 입력"이 작동합니다. – jonrsharpe

답변