import { SchedulerLike } from '../types'; | |
import { isFunction } from './isFunction'; | |
import { isScheduler } from './isScheduler'; | |
function last<T>(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; | |
} | |