stable
solid
SolidJS signal primitives — createCollectionSignal, createQuerySignal, createSyncSignal — backed by noy-db change events, no DOM dependency.
@noy-db/in-solid·pnpm add @noy-db/hub @noy-db/in-solidSolidJS signal primitives for noy-db.
What it does
Three primitives built on createSignal + createRenderEffect +
onCleanup: createCollectionSignal returns [records, loading, error]
accessors for a collection's full list; createQuerySignal returns the
reactive result of a query builder; createSyncSignal returns an accessor
for the hub's last change event. Subscriptions register synchronously
inside createRenderEffect (no scheduler deferral), so no event fired
between mount and first flush is missed. No DOM dependency — works in SSR
and test environments via createRoot.
Usage
import { createCollectionSignal } from '@noy-db/in-solid'
const [invoices, loading] = createCollectionSignal<Invoice>(vault, 'invoices')
<Show when={!loading()} fallback={<p>Loading…</p>}>
<For each={invoices()}>{(inv) => <li>{inv.number}</li>}</For>
</Show>
See also
- in-* family
- svelte — the equivalent zero-dep store pattern for Svelte