From 22669a3a04edb7f0596c03a9c15883fda5b23ce6 Mon Sep 17 00:00:00 2001 From: Jelle De Loecker Date: Mon, 12 Aug 2024 14:17:49 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Also=20check=20if=20a=20holder?= =?UTF-8?q?=20in=20a=20waiter=20has=20been=20replaced=20with=20something?= =?UTF-8?q?=20else?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/json-dry.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/json-dry.js b/lib/json-dry.js index 6d2d1d5..b8c5ca9 100644 --- a/lib/json-dry.js +++ b/lib/json-dry.js @@ -956,7 +956,19 @@ class UndrierValue extends Value { if (placeholder.waiters.length) { while (placeholder.waiters.length) { let waiter = placeholder.waiters.shift(); - waiter.holder[waiter.key] = result; + let holder = waiter.holder; + + let recursive = 0; + while (holder && holder.$replaced) { + holder = holder.$replaced; + recursive++; + + if (recursive > 10) { + break; + } + } + + holder[waiter.key] = result; } } }