All files / src/hooks/set set.ts

100% Statements 3/3
100% Branches 0/0
100% Functions 1/1
100% Lines 3/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 224x                                   4x 107x    
import { slot } from '../slot'
 
import type { Rune } from '../../RuneHub'
 
/**
 * Sets a new value for a rune.
 * If the value differs from the current value, schedules an update and notifies subscribers.
 * @template T - The rune function type
 * @param rune - The rune to set the value for
 * @param value - The new value to set
 * @example
 * ```ts
 * const count = () => 5
 *
 * set(count, 10)
 * get(count) // 10
 * ```
 */
export function set<T extends Rune> (rune: T, value: ReturnType<T>): void {
  slot(rune).set(value)
}