File: //proc/1526/task/1920/cwd/linde-ai/html/node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts
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))
}