From 7b1b669610f66393e5bde818b7b94e09c9a79f32 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Wed, 4 Jun 2025 20:40:28 +0200 Subject: [PATCH] Fasterdom: Add `suppressStrict` --- src/lib/fasterdom/fasterdom.ts | 2 +- src/lib/fasterdom/stricterdom.ts | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/lib/fasterdom/fasterdom.ts b/src/lib/fasterdom/fasterdom.ts index dc46dd01a..922cf63c6 100644 --- a/src/lib/fasterdom/fasterdom.ts +++ b/src/lib/fasterdom/fasterdom.ts @@ -14,7 +14,7 @@ const runUpdatePassOnRaf = throttleWithRafFallback(() => { }); // We use promises to provide correct order for Mutation Observer callback microtasks - Promise.resolve() + void Promise.resolve() .then(() => { setPhase('mutate'); diff --git a/src/lib/fasterdom/stricterdom.ts b/src/lib/fasterdom/stricterdom.ts index a63cd5f64..b04e4e3eb 100644 --- a/src/lib/fasterdom/stricterdom.ts +++ b/src/lib/fasterdom/stricterdom.ts @@ -73,6 +73,17 @@ export function forceMutation(cb: () => any, nodes: Node | Node[]) { return cb(); } +export function suppressStrict(cb: () => any) { + if (!isStrict) { + return cb(); + } + + disableStrict(); + const result = cb(); + enableStrict(); + return result; +} + export function setHandler(handler?: ErrorHandler) { onError = handler || DEFAULT_ERROR_HANDLER; }