Skip to content

packages/core/src/lib/signals/resolve-signal-value.ts

Read as Markdown

This is the source snapshot used to build these API details. View this revision on GitHub.

Back to reference

1 import {
2   isSignal,
3   recordPlainInputResolution,
4   recordSignalInputResolution,
5 } from './graph.js';
6 import type { SignalValue } from './types.js';
7 
8 /**
9  * Returns a literal input unchanged or reads its current value when it is a Pibbl signal.
10  *
11  * @param value - Literal value or signal to read. See {@link SignalValue}.
12  * @returns The literal value, or the signal's current value.
13  *
14  * @see {@link SignalValue}
15  */
16 export function resolveSignalValue<T>(value: SignalValue<T>): T {
17   if (isSignal(value)) {
18     recordSignalInputResolution();
19     return value.get() as T;
20   }
21   recordPlainInputResolution();
22   return value;
23 }
24 

Documentation built with @pibbl/core 0.0.2, revision 2dccb19. ALPHA — NOT FOR PRODUCTION USE.