1499c682a17cbbfda27161ccdae1bb510a5f1c1081187fea70d842cc7fe0fa0bd76f75c0b230b439e2e4644bec9915245cd1b53cedfa999c0ff13263500026 641 B

12345678910111213141516171819
  1. import { SchedulerLike } from '../types';
  2. import { isFunction } from './isFunction';
  3. import { isScheduler } from './isScheduler';
  4. function last<T>(arr: T[]): T | undefined {
  5. return arr[arr.length - 1];
  6. }
  7. export function popResultSelector(args: any[]): ((...args: unknown[]) => unknown) | undefined {
  8. return isFunction(last(args)) ? args.pop() : undefined;
  9. }
  10. export function popScheduler(args: any[]): SchedulerLike | undefined {
  11. return isScheduler(last(args)) ? args.pop() : undefined;
  12. }
  13. export function popNumber(args: any[], defaultValue: number): number {
  14. return typeof last(args) === 'number' ? args.pop()! : defaultValue;
  15. }