00002-medium-return-type

Back

type MyReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer T ? T:never

Solution by Kolufs #33533

// your answers

type MyReturnType = T extends (...args: any[]) => infer R ? R : never

Solution by bad-lancer #33497

// 你的答案
type MyReturnType<T extends (...args: never[]) => unknown> = T extends (...args: never[]) => infer R ? R : never;

Solution by EncounterOnly #33441

// 여기 풀이를 입력하세요
type MyReturnType<T extends Function> = T extends (...args: any) => infer V
  ? V
  : never;

Solution by awesomelon #33380

// your answers
type MyReturnType<T extends (...args: any[]) => any> = T extends (...args: any[]) => infer R
  ? R
  : never

Solution by shaobeichen #33332

type MyReturnType<T> = T extends (...args: never[]) => infer P ? P : never

Solution by tangsiner2019 #33294

type MyReturnType<T> = T extends (...args: any[]) => infer R ? R : any;

Solution by keeratita #33292

// 你的答案
type MyReturnType<F extends Function> = F extends (...args: infer P) => infer R ? R : never;

Solution by 2531800823 #33236

type MyReturnType<T extends Function> = T extends (...args: any[]) => infer R ? R : never

Solution by Tubring25 #33220

// your answers
type MyReturnType<T extends Function> = T extends (...args: any[]) => infer R
	? R
	: never;

Solution by hawkWang98 #33191

type MyReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer R ? R : never 

Solution by Tubring25 #33150

type MyReturnType<T extends Function> = T extends (...agrs: any) => infer R ? R : never;

Solution by RanungPark #33060

// 你的答案

type MyReturnType<T extends (...arg: any[]) => any> = T extends (...arg: any[]) => infer U ? U : never

Solution by DwayneDuanJY #33038

type MyReturnType<T extends (...args: any) => any> = T extends (...args: any) => infer R ? R : any

Solution by machine-solution #32960

// infer 关键字
type MyReturnType<T> = T extends (...args: any[]) => infer  R ? R : never

Solution by CAN1177 #32852

type MyReturnType<T> = T extends (...args: any) => infer A ? A : never;

下記でも問題ないように思えるが、この場合引数を与えられる関数には適合しない。

type MyReturnType<T> = T extends () => infer A ? A : never;

Solution by Yasunori-aloha #32801

type MyReturnType<T extends Function> = T extends (...args: any[]) => infer R ? R : never;

Solution by ZhipengYang0605 #32795

type MyReturnType<T> = T extends ((...args: any) => infer R)? R: never

Solution by biry2009 #32762

// 你的答案
type MyReturnType<T> = T extends (...args: any[]) => infer P ? P : never;

Solution by shaojie-li #32741

type MyReturnType<T> = T extends ((...args: any) => infer Return) ? Return : never;

Solution by aiomonitors #32682

type MyReturnType<T extends Function> = T extends (...args:any) => infer R ? R : never;

Solution by bananana0118 #32649

type MyReturnType<T extends (...args: any[]) => any> = T extends (...args: any[]) => infer RT ? RT : never;

Solution by mistkafka #32626

// your answers
type MyReturnType<T> = T extends () => infer R ? R : 1 | 2

Solution by zoom352 #32574

// 你的答案
type MyReturnType<T extends (...args:any[]) => any> = T extends ((...args: any[]) => infer R) ? R : never

Solution by Jabo2017 #32504

type MyReturnType<T extends (...args: never[]) => unknown> = T extends (...args: never[]) => infer R ? R : never;

Solution by jcyicai #32453

type MyReturnType<T extends (...args: any[]) => any> = T extends (...args: any[]) => infer P ? P : void

Solution by zhengpq #32450

// 你的答案

type MyReturnType<T extends (...arg: any[])=>unknown> = T extends (...arg: any)=> infer P ? P : never;

Solution by ice-shu #32369

type MyReturnType<T extends (...args: Array<any>) => any> = T extends (...args: Array<any>) => infer R ? R : never;

Solution by laqudee #32318

type MyReturnType<T> = T extends (...args: any[]) => infer RT ? RT : never

Solution by dev-hobin #32166

type MyReturnType<T> = T extends (...args: any) => infer S ? S : never

We infer only the return type of a function if T extends from a function, otherwise we type as never

Solution by joyanedel #32136