rvx
Version:
A signal based rendering library
32 lines • 677 B
JavaScript
export const LEAK = {
push(hook) {
LEAK_HOOK?.(hook);
},
};
export const TEARDOWN_STACK = [LEAK];
let LEAK_HOOK = undefined;
export const TRACKING_STACK = [true];
export const ACCESS_STACK = [];
export const CONTEXT_WINDOWS = [[]];
export function useStack(stack, frame, fn) {
try {
stack.push(frame);
return fn();
}
finally {
stack.pop();
}
}
export function onLeak(hook) {
if (LEAK_HOOK !== undefined) {
throw new Error("G4");
}
LEAK_HOOK = hook;
}
export function getLeakHook() {
return LEAK_HOOK;
}
export function setLeakHook(hook) {
LEAK_HOOK = hook;
}
//# sourceMappingURL=stacks.js.map