aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/ZigGlobalObject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/bindings/ZigGlobalObject.cpp')
-rw-r--r--src/bun.js/bindings/ZigGlobalObject.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/bun.js/bindings/ZigGlobalObject.cpp b/src/bun.js/bindings/ZigGlobalObject.cpp
index f14352230..40bb75d9b 100644
--- a/src/bun.js/bindings/ZigGlobalObject.cpp
+++ b/src/bun.js/bindings/ZigGlobalObject.cpp
@@ -2108,6 +2108,18 @@ void GlobalObject::finishCreation(VM& vm)
RELEASE_ASSERT(classInfo());
}
+extern "C" void Bun__setOnEachMicrotaskTick(JSC::VM* vm, void* ptr, void (*callback)(void* ptr))
+{
+ if (callback == nullptr) {
+ vm->setOnEachMicrotaskTick(nullptr);
+ return;
+ }
+
+ vm->setOnEachMicrotaskTick([=](JSC::VM& vm) {
+ callback(ptr);
+ });
+}
+
// This implementation works the same as setTimeout(myFunction, 0)
// TODO: make it more efficient
// https://developer.mozilla.org/en-US/docs/Web/API/Window/setImmediate