返回与参数相同的对象

时间:2018-09-18 04:01:22

标签: typescript tsc typescript3.0

这可能是反模式,但我想返回与参数相同的对象,在这种情况下,像这样:

const handleConnection = (s: net.Socket): s => {

  s.pipe(createParser()).on('data', (d: any) => {

    log.info(chalk.green.underline('dygrep server response:'));

    if (d && d.lastMessage) {
      process.stdout.write(prompt);
    }

  });


  return s;

};

所以理想的是做这样的事情:

{{1}}

但是是的,这不太正确-如何告诉TypeScript我要返回其中一个参数?

1 个答案:

答案 0 :(得分:1)

  

如何告诉TypeScript我正在返回参数之一

泛型。约束是返回与参数相同,例如

function handleConnection<T extends net.Socket>(arg:T):T{}

这里,作为arg传入的所有内容都是返回的内容。