图片中的这个打字稿方法签名是什么意思?

What this typescript method signature in the picture mean?

以下代码摘自ngrx examplestore.select 方法的智能感知有一个带有两个箭头的长签名。这个方法签名是什么意思?

类型定义文件显示此签名:

export interface SelectSignature<T> { <R>(...paths: string[]): Observable<R>; <R>(mapFn: (state: T) => R): Observable<R>; }

这意味着它可以是:

  1. 接受一些或更多路径的函数和returns一个R值的Observable
  2. 接受映射函数和returns R 值的 Observable 的函数。映射函数接受 T 值和 returns 适当的 R 值。