From a430cf63e568a1421a2f54017408dbd7fb65d953 Mon Sep 17 00:00:00 2001 From: Richard Date: Sat, 25 Jan 2025 11:21:56 -0800 Subject: [PATCH] fix: `Atom` type extends `Selector` Also deprecates `Molecule` --- src/charm/src/index.d.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/charm/src/index.d.ts b/src/charm/src/index.d.ts index c7a6700..da1c5fa 100644 --- a/src/charm/src/index.d.ts +++ b/src/charm/src/index.d.ts @@ -9,11 +9,10 @@ declare namespace Charm { * the state changes, all subscribers are notified. * * @param state The next state or a function that produces the next state. - * @returns The current state, if no arguments are provided. + * @returns The current state. */ - interface Atom { - (): State; - (nextState: State | ((prevState: State) => State)): void; + interface Atom extends Selector { + (nextState: State | ((prevState: State) => State)): State; } /** @@ -28,6 +27,7 @@ declare namespace Charm { * A function that depends on one or more atoms and produces a value. Can be * used to derive state from atoms. * + * @deprecated Use `Selector` instead. * @returns The current state. */ type Molecule = Selector;