@hvakr/firestate 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +146 -101
- package/dist/index.d.mts +26 -8
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +74 -24
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -33,35 +33,35 @@ Firestate provides a declarative, schema-first approach that eliminates boilerpl
|
|
|
33
33
|
Firestate exposes two layers. Pick one based on what you're building:
|
|
34
34
|
|
|
35
35
|
- **`createFirestate` + `doc` / `col`** (recommended for app code) — declare a Firestore resource (a document or collection) with a `path` template and a Zod `schema`, and the library generates one typed React hook per entry. In return you get:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
- the data type (`TaskList`) inferred from the schema via `z.infer`
|
|
37
|
+
- the param keys (`{ listId }`) inferred from the path template and enforced at call sites
|
|
38
|
+
- runtime validation on `set` / `add` writes — bad data throws at the call site instead of after a Firestore round trip
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
Partial `update(diff)` calls are intentionally NOT validated: diffs commonly include Firestore sentinels like `serverTimestamp()` that a strict schema would reject.
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
Treat `createFirestate` as a **per-resource hook factory**, not an app-wide registry: give each document/collection its own module (`firestore/taskList.ts`, `firestore/tasks.ts`, …) with one `createFirestate` call, and export the hooks flat. See [Organizing by resource](#organizing-by-resource).
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
```ts
|
|
45
|
+
// firestore/taskList.ts
|
|
46
|
+
import { z } from 'zod'
|
|
47
|
+
import { createFirestate, doc } from '@hvakr/firestate'
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
const TaskListSchema = z.object({ name: z.string(), createdAt: z.number() })
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
const taskList = doc({ path: 'taskLists/{listId}', schema: TaskListSchema })
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
export const { useTaskList } = createFirestate({ taskList })
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
// useTaskList({ listId }) — { listId: string } statically required
|
|
56
|
+
// useTaskList() — type error: missing listId
|
|
57
|
+
// useTaskList({ wrong: 'a' }) — type error: wrong key
|
|
58
|
+
```
|
|
59
59
|
|
|
60
60
|
- **`defineDocument` / `defineCollection` + `useDocument` / `useCollection`** (lower-level escape hatch) — write the path-derivation function yourself, use the standalone hooks. Reach for these when:
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
- your path doesn't fit the `{name}` template (computed from non-string state, conditional segments)
|
|
62
|
+
- you need the definition outside React (Node scripts, server-side, tests)
|
|
63
|
+
- your control flow doesn't fit a module-level registry
|
|
64
|
+
- you want plain TypeScript types without a Zod schema (the schema field is optional here)
|
|
65
65
|
|
|
66
66
|
Both layers share the same store, undo manager, and sync semantics — the registry is a thin layer on top of the lower-level primitives.
|
|
67
67
|
|
|
@@ -74,12 +74,16 @@ Both layers share the same store, undo manager, and sync semantics — the regis
|
|
|
74
74
|
import { z } from 'zod'
|
|
75
75
|
import { createFirestate, col } from '@hvakr/firestate'
|
|
76
76
|
|
|
77
|
-
const TaskSchema = z.object({
|
|
77
|
+
const TaskSchema = z.object({
|
|
78
|
+
title: z.string(),
|
|
79
|
+
completed: z.boolean(),
|
|
80
|
+
createdAt: z.number(),
|
|
81
|
+
})
|
|
78
82
|
const tasks = col({ path: 'taskLists/{listId}/tasks', schema: TaskSchema })
|
|
79
83
|
|
|
80
84
|
export const { useTasks, useTaskById } = createFirestate({
|
|
81
|
-
|
|
82
|
-
|
|
85
|
+
tasks, // → useTasks (full handle)
|
|
86
|
+
taskById: tasks.select((s, p: { id: string }) => s.data[p.id]),
|
|
83
87
|
})
|
|
84
88
|
|
|
85
89
|
// firestore/taskList.ts is a sibling module with its own createFirestate call.
|
|
@@ -89,10 +93,10 @@ export const { useTasks, useTaskById } = createFirestate({
|
|
|
89
93
|
Why per-resource rather than one central call:
|
|
90
94
|
|
|
91
95
|
- **It scales.** A central registry becomes a chokepoint every feature edits; resource modules keep a resource's schema, hooks, and slices colocated and let you code-split.
|
|
92
|
-
- **Sharing still works app-wide.** Subscriptions are keyed by
|
|
96
|
+
- **Sharing still works app-wide.** Subscriptions are keyed by _definition identity_, and a resource module's definition lives at module scope (one stable object), so every component using `useTasks`/`useTaskById` shares one `onSnapshot` listener and one optimistic state — no matter how many modules.
|
|
93
97
|
- **The store stays global.** All resource modules mount under one `FirestateProvider`, so undo/redo and sync tracking span every resource regardless of how you split the files.
|
|
94
98
|
|
|
95
|
-
**The one rule:** keep a resource's base hook
|
|
99
|
+
**The one rule:** keep a resource's base hook _and_ all its `.select` slices in the **same** `createFirestate` call. Each call builds its own definitions, so splitting one resource across two calls would fork it into two listeners. Separate _resources_ in separate calls is exactly what you want; separating _one_ resource is the mistake.
|
|
96
100
|
|
|
97
101
|
## Table of Contents
|
|
98
102
|
|
|
@@ -125,9 +129,9 @@ Firestate requires the following peer dependencies:
|
|
|
125
129
|
|
|
126
130
|
```json
|
|
127
131
|
{
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
132
|
+
"firebase": "^10.0.0 || ^11.0.0",
|
|
133
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
134
|
+
"zod": "^4.0.0"
|
|
131
135
|
}
|
|
132
136
|
```
|
|
133
137
|
|
|
@@ -205,11 +209,7 @@ import { db } from './firebase'
|
|
|
205
209
|
|
|
206
210
|
function App() {
|
|
207
211
|
return (
|
|
208
|
-
<FirestateProvider
|
|
209
|
-
firestore={db}
|
|
210
|
-
autosave={1000}
|
|
211
|
-
maxUndoLength={20}
|
|
212
|
-
>
|
|
212
|
+
<FirestateProvider firestore={db} autosave={1000} maxUndoLength={20}>
|
|
213
213
|
<YourApp />
|
|
214
214
|
</FirestateProvider>
|
|
215
215
|
)
|
|
@@ -241,7 +241,10 @@ function ProjectEditor({ projectId }: { projectId: string }) {
|
|
|
241
241
|
|
|
242
242
|
// Opt into save state only where you render it — shares the project's one
|
|
243
243
|
// listener, so it doesn't add a subscription.
|
|
244
|
-
const { isSaving } = useDocumentSyncStatus({
|
|
244
|
+
const { isSaving } = useDocumentSyncStatus({
|
|
245
|
+
definition: projectDoc,
|
|
246
|
+
params,
|
|
247
|
+
})
|
|
245
248
|
|
|
246
249
|
// Access undo/redo
|
|
247
250
|
const { undo, redo, canUndo, canRedo } = useUndoManager()
|
|
@@ -252,8 +255,12 @@ function ProjectEditor({ projectId }: { projectId: string }) {
|
|
|
252
255
|
return (
|
|
253
256
|
<div>
|
|
254
257
|
{/* Undo/Redo buttons */}
|
|
255
|
-
<button onClick={undo} disabled={!canUndo}>
|
|
256
|
-
|
|
258
|
+
<button onClick={undo} disabled={!canUndo}>
|
|
259
|
+
Undo
|
|
260
|
+
</button>
|
|
261
|
+
<button onClick={redo} disabled={!canRedo}>
|
|
262
|
+
Redo
|
|
263
|
+
</button>
|
|
257
264
|
|
|
258
265
|
{/* Edit project name - changes auto-save */}
|
|
259
266
|
<input
|
|
@@ -343,6 +350,9 @@ project.update({ name: 'New Name' }, { undoGroupId: groupId })
|
|
|
343
350
|
spaces.update({ space1: { name: 'Updated' } }, { undoGroupId: groupId })
|
|
344
351
|
```
|
|
345
352
|
|
|
353
|
+
Grouped actions undo newest-first and redo oldest-first, so one undo/redo
|
|
354
|
+
always applies the complete group in write order.
|
|
355
|
+
|
|
346
356
|
To skip undo tracking:
|
|
347
357
|
|
|
348
358
|
```tsx
|
|
@@ -365,6 +375,12 @@ function App() {
|
|
|
365
375
|
<FirestateProvider
|
|
366
376
|
firestore={db}
|
|
367
377
|
onNavigate={(path) => navigate(path)}
|
|
378
|
+
onUndo={(action) =>
|
|
379
|
+
analytics.track('undo', { description: action.description })
|
|
380
|
+
}
|
|
381
|
+
onRedo={(action) =>
|
|
382
|
+
analytics.track('redo', { description: action.description })
|
|
383
|
+
}
|
|
368
384
|
>
|
|
369
385
|
{children}
|
|
370
386
|
</FirestateProvider>
|
|
@@ -387,7 +403,7 @@ Actions record a path via the `path` field on `UndoAction`:
|
|
|
387
403
|
undoManager.push({
|
|
388
404
|
undo: () => restoreValue(),
|
|
389
405
|
redo: () => applyValue(),
|
|
390
|
-
path: '/projects/123',
|
|
406
|
+
path: '/projects/123', // navigate here on undo/redo
|
|
391
407
|
})
|
|
392
408
|
```
|
|
393
409
|
|
|
@@ -499,10 +515,7 @@ Use the second argument for hook options such as `enabled`, `readOnly`,
|
|
|
499
515
|
```tsx
|
|
500
516
|
const spaces = useSpaces(
|
|
501
517
|
{ projectId },
|
|
502
|
-
{
|
|
503
|
-
enabled: Boolean(projectId),
|
|
504
|
-
queryConstraints,
|
|
505
|
-
}
|
|
518
|
+
{ enabled: Boolean(projectId), queryConstraints }
|
|
506
519
|
)
|
|
507
520
|
```
|
|
508
521
|
|
|
@@ -594,14 +607,14 @@ type parameter, or let it be inferred from a Zod schema.
|
|
|
594
607
|
|
|
595
608
|
```typescript
|
|
596
609
|
const projectDoc = defineDocument<Project>({
|
|
597
|
-
collection: 'projects',
|
|
598
|
-
id: (params) => params.id,
|
|
599
|
-
autosave: 1000,
|
|
600
|
-
minLoadTime: 0,
|
|
601
|
-
readOnly: false,
|
|
602
|
-
retryOnError: false,
|
|
603
|
-
retryInterval: 5000,
|
|
604
|
-
schema: ProjectSchema,
|
|
610
|
+
collection: 'projects', // Collection path
|
|
611
|
+
id: (params) => params.id, // Document ID (string or function)
|
|
612
|
+
autosave: 1000, // Optional: debounce interval (ms)
|
|
613
|
+
minLoadTime: 0, // Optional: minimum loading time (ms)
|
|
614
|
+
readOnly: false, // Optional: prevent updates
|
|
615
|
+
retryOnError: false, // Optional: retry on listener errors
|
|
616
|
+
retryInterval: 5000, // Optional: retry interval (ms)
|
|
617
|
+
schema: ProjectSchema, // Optional: Zod schema (validates set/add)
|
|
605
618
|
})
|
|
606
619
|
```
|
|
607
620
|
|
|
@@ -612,12 +625,12 @@ Creates a collection definition.
|
|
|
612
625
|
```typescript
|
|
613
626
|
const spacesCollection = defineCollection<Space>({
|
|
614
627
|
path: (params) => `projects/${params.id}/spaces`, // Collection path
|
|
615
|
-
autosave: 1000,
|
|
616
|
-
minLoadTime: 0,
|
|
617
|
-
readOnly: false,
|
|
618
|
-
lazy: false,
|
|
619
|
-
queryConstraints: [],
|
|
620
|
-
schema: SpaceSchema,
|
|
628
|
+
autosave: 1000, // Optional: debounce interval
|
|
629
|
+
minLoadTime: 0, // Optional: minimum loading time
|
|
630
|
+
readOnly: false, // Optional: prevent updates
|
|
631
|
+
lazy: false, // Optional: defer subscription
|
|
632
|
+
queryConstraints: [], // Optional: Firestore constraints
|
|
633
|
+
schema: SpaceSchema, // Optional: Zod schema (validates add)
|
|
621
634
|
})
|
|
622
635
|
```
|
|
623
636
|
|
|
@@ -629,20 +642,20 @@ Subscribe to a document.
|
|
|
629
642
|
|
|
630
643
|
```typescript
|
|
631
644
|
const {
|
|
632
|
-
data,
|
|
633
|
-
update,
|
|
634
|
-
set,
|
|
635
|
-
delete: del,
|
|
636
|
-
isLoaded,
|
|
637
|
-
sync,
|
|
638
|
-
error,
|
|
639
|
-
ref,
|
|
645
|
+
data, // Current document data (T | undefined)
|
|
646
|
+
update, // Update with partial diff
|
|
647
|
+
set, // Replace entire document
|
|
648
|
+
delete: del, // Delete the document
|
|
649
|
+
isLoaded, // Whether the initial snapshot has arrived (ready to render)
|
|
650
|
+
sync, // Force sync immediately
|
|
651
|
+
error, // Error from listener, if any
|
|
652
|
+
ref, // Firestore DocumentReference
|
|
640
653
|
} = useDocument({
|
|
641
654
|
definition: projectDoc,
|
|
642
655
|
params: { projectId: '123' },
|
|
643
|
-
readOnly: false,
|
|
644
|
-
undoable: true,
|
|
645
|
-
enabled: true,
|
|
656
|
+
readOnly: false, // Optional: override read-only
|
|
657
|
+
undoable: true, // Optional: enable undo (default: true)
|
|
658
|
+
enabled: true, // Optional: set false until required params exist
|
|
646
659
|
})
|
|
647
660
|
|
|
648
661
|
// The default handle is SYNC-AGNOSTIC: no `isSynced`, so a save settling does
|
|
@@ -658,22 +671,22 @@ Subscribe to a collection.
|
|
|
658
671
|
|
|
659
672
|
```typescript
|
|
660
673
|
const {
|
|
661
|
-
data,
|
|
662
|
-
update,
|
|
663
|
-
add,
|
|
664
|
-
remove,
|
|
665
|
-
isLoaded,
|
|
666
|
-
isActive,
|
|
667
|
-
load,
|
|
668
|
-
sync,
|
|
669
|
-
error,
|
|
670
|
-
ref,
|
|
674
|
+
data, // Record<string, T> of documents
|
|
675
|
+
update, // Update one or more documents
|
|
676
|
+
add, // Add a new document (explicit or auto-generated id)
|
|
677
|
+
remove, // Remove a document
|
|
678
|
+
isLoaded, // Active AND past the initial load (isActive && !isLoading)
|
|
679
|
+
isActive, // Whether subscription is active (for lazy collections)
|
|
680
|
+
load, // Activate a lazy subscription
|
|
681
|
+
sync, // Force sync immediately
|
|
682
|
+
error, // Error from listener, if any
|
|
683
|
+
ref, // Firestore CollectionReference
|
|
671
684
|
} = useCollection({
|
|
672
685
|
definition: spacesCollection,
|
|
673
686
|
params: { projectId: '123' },
|
|
674
687
|
queryConstraints: [where('floor', '==', 1)],
|
|
675
688
|
undoable: true,
|
|
676
|
-
enabled: true,
|
|
689
|
+
enabled: true, // Optional: set false until required params exist
|
|
677
690
|
})
|
|
678
691
|
|
|
679
692
|
// queryConstraints are keyed by query identity, not array reference: the
|
|
@@ -708,7 +721,7 @@ By default a component re-renders when the data, the load state (`isLoaded`), or
|
|
|
708
721
|
**sync-agnostic default handle** (`data`, `isLoaded`, `error`, the writers, and
|
|
709
722
|
`ref` — plus a collection's `isActive`). It deliberately omits `isSynced`, so a
|
|
710
723
|
save settling does not re-render it (see [Sync status and loading status](#sync-status-and-loading-status)).
|
|
711
|
-
Pass a `selector` to take further control: it receives the resource's
|
|
724
|
+
Pass a `selector` to take further control: it receives the resource's _full_
|
|
712
725
|
observable state — including `isLoading`/`isSynced` — and returns the slice the
|
|
713
726
|
component reacts to, so the component re-renders **only** when that slice changes.
|
|
714
727
|
|
|
@@ -716,7 +729,7 @@ A selected handle exposes exactly your slice as `data`, plus the writer surface
|
|
|
716
729
|
(`update`/`set`/`delete`/`add`/`remove`/`load`/`sync`) and `ref` — the status
|
|
717
730
|
flags are **not** on it. You react to precisely what you select; status is not a
|
|
718
731
|
freebie, so read it from the state inside the selector when you need it. A
|
|
719
|
-
selector changes what you
|
|
732
|
+
selector changes what you _read_, never what you _write_.
|
|
720
733
|
|
|
721
734
|
```typescript
|
|
722
735
|
// Re-renders only when the title changes — not on any other field, and not on a
|
|
@@ -746,7 +759,7 @@ const { data: space } = useCollection({
|
|
|
746
759
|
`s.data` is `undefined` while a document is loading (and the collection record is
|
|
747
760
|
`{}`), so selectors should handle the empty case.
|
|
748
761
|
|
|
749
|
-
When writing from a narrowed handle, use `update` — it takes a
|
|
762
|
+
When writing from a narrowed handle, use `update` — it takes a _partial_ and
|
|
750
763
|
merges, so a selected field is just `update({ field: next })`. `set` still
|
|
751
764
|
**replaces the entire document**, not the slice: never pass the selected value
|
|
752
765
|
to `set` (e.g. `set(title)`) or you will overwrite every other field. Reach for
|
|
@@ -784,7 +797,7 @@ optimistic edits live. Only the read-only handle's own writers are disabled.
|
|
|
784
797
|
#### Sync status and loading status
|
|
785
798
|
|
|
786
799
|
The default data handle is **sync-agnostic**: it carries `data`/`isLoaded`/
|
|
787
|
-
`error` but never `isSynced`. That matters because `isSynced` flips on
|
|
800
|
+
`error` but never `isSynced`. That matters because `isSynced` flips on _every_
|
|
788
801
|
autosave settle — so if the data handle carried it, every component that merely
|
|
789
802
|
reads a record would re-render an extra time after each save. Most readers only
|
|
790
803
|
want the data; the few that render save state (a "Saving…" indicator, a
|
|
@@ -818,7 +831,7 @@ on the load transition, never on data. Collection status hooks take the same
|
|
|
818
831
|
`queryConstraints` as the data hook (pass the same query to share the listener).
|
|
819
832
|
|
|
820
833
|
On a **lazy** collection, a status hook does not call `load()` itself — so as
|
|
821
|
-
the
|
|
834
|
+
the _only_ subscriber it stays idle (`{ isSynced: true, isSaving: false }` /
|
|
822
835
|
`{ isLoading: false, isLoaded: false }`) and attaches no listener. Pair it with
|
|
823
836
|
the data hook, whose `load()` activates the one shared listener the status hook
|
|
824
837
|
then rides. Non-lazy collections activate on mount, so this is lazy-only.
|
|
@@ -832,7 +845,7 @@ With the lower-level API there are standalone equivalents —
|
|
|
832
845
|
`{ definition, params, enabled }` (collections also `queryConstraints`).
|
|
833
846
|
|
|
834
847
|
This is the per-resource counterpart to [`useIsSynced()`](#useissynced), which
|
|
835
|
-
reports a single provider-wide aggregate across
|
|
848
|
+
reports a single provider-wide aggregate across _all_ tracked resources.
|
|
836
849
|
|
|
837
850
|
#### `useUndoManager()`
|
|
838
851
|
|
|
@@ -840,13 +853,13 @@ Access the undo manager.
|
|
|
840
853
|
|
|
841
854
|
```typescript
|
|
842
855
|
const {
|
|
843
|
-
canUndo,
|
|
844
|
-
canRedo,
|
|
845
|
-
undo,
|
|
846
|
-
redo,
|
|
847
|
-
clear,
|
|
848
|
-
undoStack,
|
|
849
|
-
redoStack,
|
|
856
|
+
canUndo, // Whether undo is available
|
|
857
|
+
canRedo, // Whether redo is available
|
|
858
|
+
undo, // Undo the last action
|
|
859
|
+
redo, // Redo the last undone action
|
|
860
|
+
clear, // Clear undo/redo history
|
|
861
|
+
undoStack, // Array of undo actions
|
|
862
|
+
redoStack, // Array of redo actions
|
|
850
863
|
} = useUndoManager()
|
|
851
864
|
```
|
|
852
865
|
|
|
@@ -874,11 +887,17 @@ Main provider component.
|
|
|
874
887
|
|
|
875
888
|
```tsx
|
|
876
889
|
<FirestateProvider
|
|
877
|
-
firestore={db}
|
|
878
|
-
autosave={1000}
|
|
879
|
-
minLoadTime={0}
|
|
880
|
-
maxUndoLength={20}
|
|
881
|
-
onNavigate={(path) => navigate(path)}
|
|
890
|
+
firestore={db} // Required: Firestore instance
|
|
891
|
+
autosave={1000} // Optional: default debounce (ms)
|
|
892
|
+
minLoadTime={0} // Optional: minimum loading time (ms)
|
|
893
|
+
maxUndoLength={20} // Optional: max undo stack size
|
|
894
|
+
onNavigate={(path) => navigate(path)} // Optional: router navigate for path-aware undo/redo
|
|
895
|
+
onUndo={(action) =>
|
|
896
|
+
analytics.track('undo', { description: action.description })
|
|
897
|
+
}
|
|
898
|
+
onRedo={(action) =>
|
|
899
|
+
analytics.track('redo', { description: action.description })
|
|
900
|
+
}
|
|
882
901
|
onError={(error, context) => {
|
|
883
902
|
// Optional: custom error handler
|
|
884
903
|
console.error(context.path, error)
|
|
@@ -948,7 +967,11 @@ const restored = unflattenDiff(flat)
|
|
|
948
967
|
### Path-Based Utilities
|
|
949
968
|
|
|
950
969
|
```typescript
|
|
951
|
-
import {
|
|
970
|
+
import {
|
|
971
|
+
diffContainsPath,
|
|
972
|
+
extractDiffValue,
|
|
973
|
+
createDiffAtPath,
|
|
974
|
+
} from '@hvakr/firestate'
|
|
952
975
|
|
|
953
976
|
const diff = { building: { floors: 5 }, name: 'Test' }
|
|
954
977
|
|
|
@@ -967,7 +990,12 @@ createDiffAtPath('building.config.enabled', true)
|
|
|
967
990
|
### General Utilities
|
|
968
991
|
|
|
969
992
|
```typescript
|
|
970
|
-
import {
|
|
993
|
+
import {
|
|
994
|
+
isDeepEqual,
|
|
995
|
+
deepClone,
|
|
996
|
+
isDiffEmpty,
|
|
997
|
+
mergeDiffs,
|
|
998
|
+
} from '@hvakr/firestate'
|
|
971
999
|
|
|
972
1000
|
// Deep equality check (handles Timestamps, arrays, nested objects)
|
|
973
1001
|
isDeepEqual(obj1, obj2)
|
|
@@ -1005,8 +1033,15 @@ const store = createStore({
|
|
|
1005
1033
|
maxUndoLength: 50,
|
|
1006
1034
|
onError: (error, context) => {
|
|
1007
1035
|
// Send to error tracking service
|
|
1036
|
+
if (context.type === 'undo') {
|
|
1037
|
+
analytics.track('undo_error', { operation: context.operation })
|
|
1038
|
+
}
|
|
1008
1039
|
Sentry.captureException(error, { extra: context })
|
|
1009
|
-
}
|
|
1040
|
+
},
|
|
1041
|
+
onUndo: (action) =>
|
|
1042
|
+
analytics.track('undo', { description: action.description }),
|
|
1043
|
+
onRedo: (action) =>
|
|
1044
|
+
analytics.track('redo', { description: action.description }),
|
|
1010
1045
|
})
|
|
1011
1046
|
|
|
1012
1047
|
const subscription = createDocumentSubscription({
|
|
@@ -1035,13 +1070,17 @@ import { createUndoManager } from '@hvakr/firestate'
|
|
|
1035
1070
|
const undoManager = createUndoManager({
|
|
1036
1071
|
maxLength: 50,
|
|
1037
1072
|
onNavigate: (path) => router.push(path),
|
|
1073
|
+
onUndo: (action) =>
|
|
1074
|
+
analytics.track('undo', { description: action.description }),
|
|
1075
|
+
onRedo: (action) =>
|
|
1076
|
+
analytics.track('redo', { description: action.description }),
|
|
1038
1077
|
})
|
|
1039
1078
|
|
|
1040
1079
|
undoManager.push({
|
|
1041
1080
|
undo: () => restoreOldValue(),
|
|
1042
1081
|
redo: () => applyNewValue(),
|
|
1043
1082
|
groupId: 'myGroup',
|
|
1044
|
-
path: '/projects/123',
|
|
1083
|
+
path: '/projects/123', // Navigate here on undo/redo
|
|
1045
1084
|
description: 'Update project name',
|
|
1046
1085
|
})
|
|
1047
1086
|
|
|
@@ -1210,8 +1249,14 @@ export const spacesCollection = defineCollection<Space>({
|
|
|
1210
1249
|
|
|
1211
1250
|
// Component.tsx
|
|
1212
1251
|
function ProjectEditor({ projectId }) {
|
|
1213
|
-
const project = useDocument({
|
|
1214
|
-
|
|
1252
|
+
const project = useDocument({
|
|
1253
|
+
definition: projectDoc,
|
|
1254
|
+
params: { projectId },
|
|
1255
|
+
})
|
|
1256
|
+
const spaces = useCollection({
|
|
1257
|
+
definition: spacesCollection,
|
|
1258
|
+
params: { projectId },
|
|
1259
|
+
})
|
|
1215
1260
|
const isSynced = useIsSynced() // Automatic!
|
|
1216
1261
|
|
|
1217
1262
|
// That's it. Undo/redo is automatic.
|
package/dist/index.d.mts
CHANGED
|
@@ -153,8 +153,8 @@ interface CollectionHandle<T extends FirestoreObject> {
|
|
|
153
153
|
* before using the id to navigate or persist references.
|
|
154
154
|
*/
|
|
155
155
|
add: {
|
|
156
|
-
(id: string, data: Omit<T,
|
|
157
|
-
(data: Omit<T,
|
|
156
|
+
(id: string, data: Omit<T, 'id'>, options?: UpdateOptions): string | undefined;
|
|
157
|
+
(data: Omit<T, 'id'>, options?: UpdateOptions): string | undefined;
|
|
158
158
|
};
|
|
159
159
|
/** Remove a document from the collection */
|
|
160
160
|
remove: (id: string, options?: UpdateOptions) => void;
|
|
@@ -179,8 +179,8 @@ interface CollectionHandle<T extends FirestoreObject> {
|
|
|
179
179
|
ref: CollectionReference<T> | undefined;
|
|
180
180
|
}
|
|
181
181
|
/** Reactive status fields a selector drops unless it folds them into its slice. */
|
|
182
|
-
type DocumentStatusKeys =
|
|
183
|
-
type CollectionStatusKeys = DocumentStatusKeys |
|
|
182
|
+
type DocumentStatusKeys = 'isLoaded' | 'error';
|
|
183
|
+
type CollectionStatusKeys = DocumentStatusKeys | 'isActive';
|
|
184
184
|
/**
|
|
185
185
|
* A {@link DocumentHandle} reduced to a hook-level `selector`'s output. The
|
|
186
186
|
* selector receives the full observable state ({@link DocumentState}) and
|
|
@@ -201,7 +201,7 @@ type CollectionStatusKeys = DocumentStatusKeys | "isActive";
|
|
|
201
201
|
* to `set`, or you will overwrite every other field. Prefer `update` from a
|
|
202
202
|
* narrowed handle; reach for `set` only when you hold the full document.
|
|
203
203
|
*/
|
|
204
|
-
interface SelectedDocumentHandle<TData extends FirestoreObject, TSelected> extends Omit<DocumentHandle<TData>,
|
|
204
|
+
interface SelectedDocumentHandle<TData extends FirestoreObject, TSelected> extends Omit<DocumentHandle<TData>, 'data' | DocumentStatusKeys> {
|
|
205
205
|
/** The slice produced by the hook's `selector`. */
|
|
206
206
|
data: TSelected;
|
|
207
207
|
}
|
|
@@ -214,7 +214,7 @@ interface SelectedDocumentHandle<TData extends FirestoreObject, TSelected> exten
|
|
|
214
214
|
* folded into the slice. Writers stay typed against the full collection of
|
|
215
215
|
* `TData`.
|
|
216
216
|
*/
|
|
217
|
-
interface SelectedCollectionHandle<TData extends FirestoreObject, TSelected> extends Omit<CollectionHandle<TData>,
|
|
217
|
+
interface SelectedCollectionHandle<TData extends FirestoreObject, TSelected> extends Omit<CollectionHandle<TData>, 'data' | CollectionStatusKeys> {
|
|
218
218
|
/** The slice produced by the hook's `selector`. */
|
|
219
219
|
data: TSelected;
|
|
220
220
|
}
|
|
@@ -347,6 +347,10 @@ interface FirestateConfig {
|
|
|
347
347
|
* where a change occurred before reverting it.
|
|
348
348
|
*/
|
|
349
349
|
onNavigate?: (path: string) => void;
|
|
350
|
+
/** Called after an undo action has been successfully applied. */
|
|
351
|
+
onUndo?: (action: UndoAction) => void;
|
|
352
|
+
/** Called after a redo action has been successfully applied. */
|
|
353
|
+
onRedo?: (action: UndoAction) => void;
|
|
350
354
|
/** Custom error handler */
|
|
351
355
|
onError?: (error: Error, context: ErrorContext) => void;
|
|
352
356
|
}
|
|
@@ -354,9 +358,9 @@ interface FirestateConfig {
|
|
|
354
358
|
* Context for error handling
|
|
355
359
|
*/
|
|
356
360
|
interface ErrorContext {
|
|
357
|
-
type:
|
|
361
|
+
type: 'document' | 'collection' | 'undo';
|
|
358
362
|
path: string;
|
|
359
|
-
operation:
|
|
363
|
+
operation: 'read' | 'write' | 'undo' | 'redo';
|
|
360
364
|
}
|
|
361
365
|
/**
|
|
362
366
|
* Subscriber callback type
|
|
@@ -462,6 +466,12 @@ interface UndoManagerConfig {
|
|
|
462
466
|
maxLength?: number;
|
|
463
467
|
/** Callback when navigation is requested (for path-aware undo) */
|
|
464
468
|
onNavigate?: (path: string) => void;
|
|
469
|
+
/** Callback after an undo action has been successfully applied */
|
|
470
|
+
onUndo?: (action: UndoAction) => void;
|
|
471
|
+
/** Callback after a redo action has been successfully applied */
|
|
472
|
+
onRedo?: (action: UndoAction) => void;
|
|
473
|
+
/** Callback when an undo or redo action fails */
|
|
474
|
+
onError?: (error: Error, action: UndoAction, operation: 'undo' | 'redo') => void;
|
|
465
475
|
}
|
|
466
476
|
/**
|
|
467
477
|
* Create an undo manager instance.
|
|
@@ -517,6 +527,10 @@ interface FirestateStore {
|
|
|
517
527
|
* callback that changes reference on every render.
|
|
518
528
|
*/
|
|
519
529
|
setOnNavigate: (handler?: (path: string) => void) => void;
|
|
530
|
+
/** Replace the successful-undo handler without recreating the store. */
|
|
531
|
+
setOnUndo: (handler?: (action: UndoAction) => void) => void;
|
|
532
|
+
/** Replace the successful-redo handler without recreating the store. */
|
|
533
|
+
setOnRedo: (handler?: (action: UndoAction) => void) => void;
|
|
520
534
|
/** Subscribe to sync state changes */
|
|
521
535
|
subscribeToSyncState: (fn: Subscriber<boolean>) => Unsubscribe;
|
|
522
536
|
/** Report a document/collection sync state change */
|
|
@@ -1563,6 +1577,10 @@ interface FirestateProviderProps {
|
|
|
1563
1577
|
onNavigate?: (path: string) => void;
|
|
1564
1578
|
/** Custom error handler */
|
|
1565
1579
|
onError?: (error: Error, context: ErrorContext) => void;
|
|
1580
|
+
/** Called after an undo action has been successfully applied */
|
|
1581
|
+
onUndo?: (action: UndoAction) => void;
|
|
1582
|
+
/** Called after a redo action has been successfully applied */
|
|
1583
|
+
onRedo?: (action: UndoAction) => void;
|
|
1566
1584
|
/** React children */
|
|
1567
1585
|
children: React.ReactNode;
|
|
1568
1586
|
}
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/registry/schema.ts","../src/utils/undo.ts","../src/core/store.ts","../src/react/hooks.ts","../src/registry/firestate.ts","../src/utils/diff.ts","../src/utils/shallow.ts","../src/core/document.ts","../src/core/collection.ts","../src/react/provider.tsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/registry/schema.ts","../src/utils/undo.ts","../src/core/store.ts","../src/react/hooks.ts","../src/registry/firestate.ts","../src/utils/diff.ts","../src/utils/shallow.ts","../src/core/document.ts","../src/core/collection.ts","../src/react/provider.tsx"],"mappings":"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"}
|