import { SchedulerLike } from '../types'; import { isFunction } from './isFunction'; import { isScheduler } from './isScheduler'; function last(arr: T[]): T | undefined { return arr[arr.length - 1]; } export function popResultSelector(args: any[]): ((...args: unknown[]) => unknown) | undefined { return isFunction(last(args)) ? args.pop() : undefined; } export function popScheduler(args: any[]): SchedulerLike | undefined { return isScheduler(last(args)) ? args.pop() : undefined; } export function popNumber(args: any[], defaultValue: number): number { return typeof last(args) === 'number' ? args.pop()! : defaultValue; }