From 24348f9c2412a8eca48ec8ba29c6426dcf8147e1 Mon Sep 17 00:00:00 2001 From: Richard Date: Sat, 25 Jan 2025 11:49:19 -0800 Subject: [PATCH] fix: wrap initial run in `peek()` --- src/charm/src/mapped.luau | 4 +++- src/charm/src/observe.luau | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/charm/src/mapped.luau b/src/charm/src/mapped.luau index ac21373..555aa3f 100644 --- a/src/charm/src/mapped.luau +++ b/src/charm/src/mapped.luau @@ -61,7 +61,9 @@ local function mapped(callback: Selector<{ [K0]: V0 }>, mapper: unsubscribe = subscribe(callback, listener) - listener(store.peek(callback)) + store.peek(function(): () + listener(callback()) + end) return mappedAtom end diff --git a/src/charm/src/observe.luau b/src/charm/src/observe.luau index e953ba6..120ae3b 100644 --- a/src/charm/src/observe.luau +++ b/src/charm/src/observe.luau @@ -34,7 +34,9 @@ local function observe(callback: Selector<{ [K]: V }>, factory: (value: V, local unsubscribe = subscribe(callback, listener) - listener(store.peek(callback)) + store.peek(function(): () + listener(callback()) + end) return function() unsubscribe()