From 0db13512bd0a287356729c238c2bf607155be85b Mon Sep 17 00:00:00 2001 From: Muazzam Kazmi Date: Sat, 4 Apr 2026 05:16:39 +0500 Subject: [PATCH] @before update fix for list data --- src/runtime/interpreter.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/runtime/interpreter.ts b/src/runtime/interpreter.ts index 2937e592..952ff540 100644 --- a/src/runtime/interpreter.ts +++ b/src/runtime/interpreter.ts @@ -1847,7 +1847,13 @@ async function evaluateCrudMap(crud: CrudMap, env: Environment): Promise { for (let i = 0; i < lastRes.length; ++i) { await computeExprAttributes(lastRes[i], crud.body?.attributes, attrs, env); env.attributes.set('__patch', attrs); - await runPreUpdateEvents(lastRes[i], env); + const mergedAttrsForHook = newInstanceAttributes(); + lastRes[i].attributes.forEach((v: any, k: string) => mergedAttrsForHook.set(k, v)); + attrs.forEach((v: any, k: string) => mergedAttrsForHook.set(k, v)); + await runPreUpdateEvents( + Instance.newWithAttributes(lastRes[i], mergedAttrsForHook), + env + ); await setMetaAttributes(attrs, env, true); const finalInst: Instance = await resolver.updateInstance(lastRes[i], attrs); await runPostUpdateEvents(finalInst, lastRes[i], env);