From c532f5c3fd87fb943a24ee9564778db78da956f6 Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Mon, 7 Jul 2025 18:59:49 +0700 Subject: [PATCH] fix(lib/modules/metro/subscriptions): run catching subscriptions --- .../src/metro/subscriptions/_internal.ts | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/lib/modules/src/metro/subscriptions/_internal.ts b/lib/modules/src/metro/subscriptions/_internal.ts index a87cdd0..8cf76b5 100644 --- a/lib/modules/src/metro/subscriptions/_internal.ts +++ b/lib/modules/src/metro/subscriptions/_internal.ts @@ -18,9 +18,17 @@ export const sInitialize = new Map< export const sImportedPath = new Set() export function executeRequireSubscriptions(id: Metro.ModuleID) { - for (const cb of sRequireAny) cb(id) + for (const cb of sRequireAny) + try { + cb(id) + } catch {} + if (sRequire.has(id)) { - for (const cb of sRequire.get(id)!) cb(id) + for (const cb of sRequire.get(id)!) + try { + cb(id) + } catch {} + sRequire.delete(id) } } @@ -29,9 +37,17 @@ export function executeInitializeSubscriptions( id: Metro.ModuleID, exports: Metro.ModuleExports, ) { - for (const cb of sInitializeAny) cb(id, exports) + for (const cb of sInitializeAny) + try { + cb(id, exports) + } catch {} + if (sInitialize.has(id)) { - for (const cb of sInitialize.get(id)!) cb(id, exports) + for (const cb of sInitialize.get(id)!) + try { + cb(id, exports) + } catch {} + sInitialize.delete(id) } } @@ -40,5 +56,8 @@ export function executeImportedPathSubscriptions( id: Metro.ModuleID, path: string, ) { - for (const cb of sImportedPath) cb(id, path) + for (const cb of sImportedPath) + try { + cb(id, path) + } catch {} }