UNPKG

@tanstack/ember-table

Version:

Headless UI for building powerful tables & datagrids for Ember.

38 lines 1.55 kB
import type { Atom, AtomOptions, Observer, Subscription } from '@tanstack/store'; export declare function subscribeNoEffect(): Subscription; /** * Ember-native signal implementation. * In future ember >7.3 `tracked` will be available by itself * so the class wrapper will not be needed for those versions */ export declare class Signal<T> { #private; _value: T; constructor(value: T, options: AtomOptions<T> | undefined); subscribe(listenerOrObserver: Observer<T> | ((value: T) => void)): Subscription; get(): T; set(value: T | ((prev: T) => T)): void; get value(): T; set value(next: T); update(fn: (value: T) => T): void; } export declare class ComputedSignal<T> { #private; constructor(compute: () => T); get(): T; subscribe: typeof subscribeNoEffect; get value(): T; } export declare function signal<T>(value: T, options: AtomOptions<T> | undefined): Signal<T>; /** * Creates an Ember-native writable atom, satisfying the `@tanstack/store` * `Atom` contract so it can be passed to `options.atoms`. Because it is backed * by a `@tracked` Signal, reading `atom.get()` directly in a template or * getter is reactive — unlike a foreign `@tanstack/store` atom, whose reads * create no Glimmer tag dependency. * * Takes a plain initial value only; there is no derived/function overload. */ export declare function createAtom<T>(initialValue: T, options?: AtomOptions<T>): Atom<T>; export declare function computed<T>(fn: () => T): ComputedSignal<T>; //# sourceMappingURL=signal.d.ts.map