diff options
Diffstat (limited to 'node_modules/rxjs/src/internal/util/args.ts')
| -rw-r--r-- | node_modules/rxjs/src/internal/util/args.ts | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/node_modules/rxjs/src/internal/util/args.ts b/node_modules/rxjs/src/internal/util/args.ts new file mode 100644 index 0000000..0ce104b --- /dev/null +++ b/node_modules/rxjs/src/internal/util/args.ts @@ -0,0 +1,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; +} |
