packages/core/src/lib/signals/resolve-signal-value.ts
This is the source snapshot used to build these API details. View this revision on GitHub.
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 version
Section titled “Documentation version”Documentation built with @pibbl/core 0.0.2, revision 2dccb19. ALPHA — NOT FOR PRODUCTION USE.