peek
Extract raw values from MaybeObservable types without registering a reactive dependency (works with both raw values and Legend-State observables).
Use peek when you need to read a value once (e.g. at mount time) and do not want the caller to re-run when the observable changes. Use get inside reactive contexts (useObserve, useObservable) when reactivity is needed.
import { peek } from "@usels/web";import { observable } from "@legendapp/state";
// With raw values — returned as-isconst rawValue = { name: "John", age: 30 };console.log(peek(rawValue)); // { name: 'John', age: 30 }console.log(peek(rawValue, "name")); // 'John'
// With observables — reads without trackingconst obs$ = observable({ name: "John", age: 30 });console.log(peek(obs$)); // { name: 'John', age: 30 } — no dep registeredconsole.log(peek(obs$, "name")); // 'John' — no dep registeredType Declarations
Section titled “Type Declarations”export declare function peek<T>(maybeObservable: MaybeObservable<T>): T;export declare function peek<T>(maybeObservable: MaybeObservable<T> | undefined): T | undefined;export declare function peek<T, K extends keyof T>( maybeObservable: MaybeObservable<T>, key: K): T[K] | undefined;Type Declarations
Section titled “Type Declarations”export declare function peek<T>(maybeObservable: MaybeObservable<T>): T;export declare function peek<T>(maybeObservable: MaybeObservable<T> | undefined): T | undefined;export declare function peek<T, K extends keyof T>(maybeObservable: MaybeObservable<T>, key: K): T[K] | undefined;Source
Section titled “Source”Contributors
Section titled “Contributors”- tigerwest
Changelog
Section titled “Changelog”a7392ab2026-03-06 - feat(core,browser): add sync strategy hooks (tigerwest)