diff options
Diffstat (limited to 'node_modules/rxjs/src/internal/scheduler/immediateProvider.ts')
| -rw-r--r-- | node_modules/rxjs/src/internal/scheduler/immediateProvider.ts | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/node_modules/rxjs/src/internal/scheduler/immediateProvider.ts b/node_modules/rxjs/src/internal/scheduler/immediateProvider.ts new file mode 100644 index 0000000..d70fbf3 --- /dev/null +++ b/node_modules/rxjs/src/internal/scheduler/immediateProvider.ts @@ -0,0 +1,31 @@ +import { Immediate } from '../util/Immediate'; +import type { TimerHandle } from './timerHandle'; +const { setImmediate, clearImmediate } = Immediate; + +type SetImmediateFunction = (handler: () => void, ...args: any[]) => TimerHandle; +type ClearImmediateFunction = (handle: TimerHandle) => void; + +interface ImmediateProvider { + setImmediate: SetImmediateFunction; + clearImmediate: ClearImmediateFunction; + delegate: + | { + setImmediate: SetImmediateFunction; + clearImmediate: ClearImmediateFunction; + } + | undefined; +} + +export const immediateProvider: ImmediateProvider = { + // When accessing the delegate, use the variable rather than `this` so that + // the functions can be called without being bound to the provider. + setImmediate(...args) { + const { delegate } = immediateProvider; + return (delegate?.setImmediate || setImmediate)(...args); + }, + clearImmediate(handle) { + const { delegate } = immediateProvider; + return (delegate?.clearImmediate || clearImmediate)(handle as any); + }, + delegate: undefined, +}; |
