From e115372e6b320316cd45c3cd4451622e3b4d4488 Mon Sep 17 00:00:00 2001 From: ernisto Date: Fri, 11 Apr 2025 17:31:40 -0300 Subject: [PATCH] fix: evaluate `derive`, `maps` and `switch` on read, always before push child --- src/derive.luau | 2 +- src/maps.luau | 1 + src/switch.luau | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/derive.luau b/src/derive.luau index 461dd13..10ef199 100644 --- a/src/derive.luau +++ b/src/derive.luau @@ -10,8 +10,8 @@ local function derive(source: () -> T): () -> T evaluate_node(node) return function() - push_child_to_scope(node) evaluate_node(node) + push_child_to_scope(node) return node.cache end end diff --git a/src/maps.luau b/src/maps.luau index 2c437e2..95eb727 100644 --- a/src/maps.luau +++ b/src/maps.luau @@ -209,6 +209,7 @@ local function values(input: () -> Map, transform: (VI, () -> evaluate_node(node) return function() + evaluate_node(node) push_child_to_scope(node) return node.cache end diff --git a/src/switch.luau b/src/switch.luau index 547fc80..4beae44 100644 --- a/src/switch.luau +++ b/src/switch.luau @@ -53,6 +53,7 @@ local function switch(source: () -> T): (map: Map U)?)>) -> () evaluate_node(node) return function() + evaluate_node(node) push_child_to_scope(node) return node.cache end