forked from ard/ruoyi-api

‘liusuyi’
2023-12-12 f5fa6fa5e5d14fb3d8703434b30648be76b6e7e6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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;
}