| import { OperatorFunction } from "../types"; | 
| import { map } from "../operators/map"; | 
|   | 
| const { isArray } = Array; | 
|   | 
| function callOrApply<T, R>(fn: ((...values: T[]) => R), args: T|T[]): R { | 
|     return isArray(args) ? fn(...args) : fn(args); | 
| } | 
|   | 
| /** | 
|  * Used in several -- mostly deprecated -- situations where we need to  | 
|  * apply a list of arguments or a single argument to a result selector. | 
|  */ | 
| export function mapOneOrManyArgs<T, R>(fn: ((...values: T[]) => R)): OperatorFunction<T|T[], R> { | 
|     return map(args => callOrApply(fn, args)) | 
| } |