TenantAtlas/apps/platform/.pnpm-store/v10/files/7a/1384fcc4eab67878b37f53deadb833a365daf8bb85ba5c595f0d833947f5894180334ae561a4572bb6ce079254119d8adf9eccae84c4cd01862846bf4932e7
Ahmed Darrazi 9f74f7a658
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 51s
feat: compress governance operator outcomes
2026-04-19 14:15:11 +02:00

32 lines
1.0 KiB
Plaintext

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,
};