@hvakr/firestate 0.1.5 → 0.1.7

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 CHANGED
@@ -340,9 +340,14 @@ This distinction is important for collaborative applications where multiple user
340
340
 
341
341
  ### Undo/Redo
342
342
 
343
- Every undoable update automatically creates an undo action. Actions with the same `undoGroupId` are merged:
343
+ Undo tracking is opt-in per resource. Enable it on the hook, then each update
344
+ automatically creates an undo action. Actions with the same `undoGroupId` are
345
+ merged:
344
346
 
345
347
  ```tsx
348
+ const project = useProject({ projectId }, { undoable: true })
349
+ const spaces = useSpaces({ projectId }, { undoable: true })
350
+
346
351
  const groupId = crypto.randomUUID()
347
352
 
348
353
  // These two updates become a single undo action
@@ -353,7 +358,7 @@ spaces.update({ space1: { name: 'Updated' } }, { undoGroupId: groupId })
353
358
  Grouped actions undo newest-first and redo oldest-first, so one undo/redo
354
359
  always applies the complete group in write order.
355
360
 
356
- To skip undo tracking:
361
+ After opting in, exclude an individual write from undo tracking with:
357
362
 
358
363
  ```tsx
359
364
  project.update({ lastViewed: Date.now() }, { undoable: false })
@@ -407,6 +412,35 @@ undoManager.push({
407
412
  })
408
413
  ```
409
414
 
415
+ Undo actions pushed by a normal handle write (`update`/`add`/`remove`) can't set
416
+ `path` at the call site, so on their own they never trigger `onNavigate`. Give
417
+ the store a `getUndoPath` callback and it stamps the current router path onto
418
+ every handle-pushed action, so navigation-aware undo works for ordinary writes —
419
+ not just manual `undoManager.push({ path })`. Read the path from your router:
420
+
421
+ ```tsx
422
+ import { useLocation, useNavigate } from 'react-router-dom'
423
+
424
+ function App() {
425
+ const location = useLocation()
426
+ const navigate = useNavigate()
427
+
428
+ return (
429
+ <FirestateProvider
430
+ firestore={db}
431
+ getUndoPath={() => location.pathname}
432
+ onNavigate={(path) => navigate(path)}
433
+ >
434
+ {children}
435
+ </FirestateProvider>
436
+ )
437
+ }
438
+ ```
439
+
440
+ `getUndoPath` also works on `createStore({ firestore: db, getUndoPath: () => router.currentPath })`.
441
+ Return `undefined` to leave an action pathless. When actions merge into one undo
442
+ group, the merged group keeps the newest action's path.
443
+
410
444
  ### Lazy Collections
411
445
 
412
446
  For large applications, you may not want to subscribe to every collection immediately:
@@ -654,7 +688,7 @@ const {
654
688
  definition: projectDoc,
655
689
  params: { projectId: '123' },
656
690
  readOnly: false, // Optional: override read-only
657
- undoable: true, // Optional: enable undo (default: true)
691
+ undoable: true, // Optional: enable undo (default: false)
658
692
  enabled: true, // Optional: set false until required params exist
659
693
  })
660
694
 
@@ -891,6 +925,7 @@ Main provider component.
891
925
  autosave={1000} // Optional: default debounce (ms)
892
926
  minLoadTime={0} // Optional: minimum loading time (ms)
893
927
  maxUndoLength={20} // Optional: max undo stack size
928
+ getUndoPath={() => location.pathname} // Optional: stamp router path onto handle-pushed undo actions
894
929
  onNavigate={(path) => navigate(path)} // Optional: router navigate for path-aware undo/redo
895
930
  onUndo={(action) =>
896
931
  analytics.track('undo', { description: action.description })
package/dist/index.d.mts CHANGED
@@ -347,6 +347,15 @@ interface FirestateConfig {
347
347
  * where a change occurred before reverting it.
348
348
  */
349
349
  onNavigate?: (path: string) => void;
350
+ /**
351
+ * Called when a handle write (`update`/`add`/`remove`) pushes an undo
352
+ * action, to stamp the current router path onto that action. The stamped
353
+ * `path` is what {@link FirestateConfig.onNavigate} later receives, so
354
+ * handle-driven undo can return the user to where the change happened
355
+ * before reverting it. Return `undefined` to leave the action pathless.
356
+ * Firestate can't know the router path itself — wire this to your router.
357
+ */
358
+ getUndoPath?: () => string | undefined;
350
359
  /** Called after an undo action has been successfully applied. */
351
360
  onUndo?: (action: UndoAction) => void;
352
361
  /** Called after a redo action has been successfully applied. */
@@ -527,6 +536,18 @@ interface FirestateStore {
527
536
  * callback that changes reference on every render.
528
537
  */
529
538
  setOnNavigate: (handler?: (path: string) => void) => void;
539
+ /**
540
+ * Resolve the router path to stamp onto a handle-pushed undo action.
541
+ * Delegates to the config's `getUndoPath`; returns `undefined` when none
542
+ * is configured. Called by handle writers as they push undo actions.
543
+ */
544
+ getUndoPath: () => string | undefined;
545
+ /**
546
+ * Replace the undo-path resolver at runtime. Used by FirestateProvider to
547
+ * keep the store identity stable when consumers pass an inline
548
+ * `getUndoPath` callback that changes reference on every render.
549
+ */
550
+ setGetUndoPath: (handler?: () => string | undefined) => void;
530
551
  /** Replace the successful-undo handler without recreating the store. */
531
552
  setOnUndo: (handler?: (action: UndoAction) => void) => void;
532
553
  /** Replace the successful-redo handler without recreating the store. */
@@ -653,7 +674,7 @@ interface UseDocumentOptions<TData extends FirestoreObject> {
653
674
  params?: Record<string, string>;
654
675
  /** Override read-only setting */
655
676
  readOnly?: boolean;
656
- /** Enable undo/redo for this document (default: true) */
677
+ /** Enable undo/redo for this document (default: false) */
657
678
  undoable?: boolean;
658
679
  /**
659
680
  * If false, no subscription is created and a no-op handle is returned
@@ -743,7 +764,7 @@ interface UseCollectionOptions<TData extends FirestoreObject> {
743
764
  readOnly?: boolean;
744
765
  /** Additional query constraints */
745
766
  queryConstraints?: QueryConstraint[];
746
- /** Enable undo/redo for this collection (default: true) */
767
+ /** Enable undo/redo for this collection (default: false) */
747
768
  undoable?: boolean;
748
769
  /**
749
770
  * If false, no subscription is created and a no-op handle is returned
@@ -1575,6 +1596,27 @@ interface FirestateProviderProps {
1575
1596
  * ```
1576
1597
  */
1577
1598
  onNavigate?: (path: string) => void;
1599
+ /**
1600
+ * Called when a handle write (`update`/`add`/`remove`) pushes an undo
1601
+ * action, to stamp the current router path onto it. That path is what
1602
+ * `onNavigate` later receives, so handle-driven undo can return users to
1603
+ * where a change occurred. Read the path from your router here.
1604
+ *
1605
+ * @example
1606
+ * ```tsx
1607
+ * import { useLocation } from 'react-router-dom'
1608
+ *
1609
+ * function App() {
1610
+ * const location = useLocation()
1611
+ * return (
1612
+ * <FirestateProvider getUndoPath={() => location.pathname}>
1613
+ * {children}
1614
+ * </FirestateProvider>
1615
+ * )
1616
+ * }
1617
+ * ```
1618
+ */
1619
+ getUndoPath?: () => string | undefined;
1578
1620
  /** Custom error handler */
1579
1621
  onError?: (error: Error, context: ErrorContext) => void;
1580
1622
  /** Called after an undo action has been successfully applied */
@@ -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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"}
package/dist/index.mjs CHANGED
@@ -1237,7 +1237,8 @@ const makeOnPushUndo = (store, entry) => (undoAction, redoAction, opts) => {
1237
1237
  store.undoManager.push({
1238
1238
  undo: undoAction,
1239
1239
  redo: redoAction,
1240
- groupId: opts?.undoGroupId
1240
+ groupId: opts?.undoGroupId,
1241
+ path: store.getUndoPath()
1241
1242
  });
1242
1243
  };
1243
1244
  const noop = () => {};
@@ -1278,14 +1279,14 @@ const getDocumentShared = ({ store, definition, collectionPath, docId, readOnly
1278
1279
  const entry = {
1279
1280
  sub: null,
1280
1281
  refCount: 0,
1281
- undoableEnabled: true,
1282
+ undoableEnabled: false,
1282
1283
  live: true
1283
1284
  };
1284
1285
  entry.sub = buildSub(entry);
1285
1286
  return entry;
1286
1287
  };
1287
1288
  let ent = map.get(key) ?? buildEntry();
1288
- let desiredUndoable = true;
1289
+ let desiredUndoable = false;
1289
1290
  let readOnlySource = null;
1290
1291
  let readOnlyHandle = null;
1291
1292
  return {
@@ -1360,7 +1361,7 @@ const getCollectionShared = ({ store, definition, collectionPath, readOnly, quer
1360
1361
  const entry = {
1361
1362
  sub: null,
1362
1363
  refCount: 0,
1363
- undoableEnabled: true,
1364
+ undoableEnabled: false,
1364
1365
  live: true,
1365
1366
  query: query$1
1366
1367
  };
@@ -1368,7 +1369,7 @@ const getCollectionShared = ({ store, definition, collectionPath, readOnly, quer
1368
1369
  return entry;
1369
1370
  };
1370
1371
  let ent = bucket.find((e) => sameQuery(e.query, query$1)) ?? buildEntry();
1371
- let desiredUndoable = true;
1372
+ let desiredUndoable = false;
1372
1373
  let readOnlySource = null;
1373
1374
  let readOnlyHandle = null;
1374
1375
  return {
@@ -1570,7 +1571,7 @@ const useIsSynced = () => {
1570
1571
  return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
1571
1572
  };
1572
1573
  function useDocument(options) {
1573
- const { definition, params = {}, readOnly, undoable = true, enabled = true, selector, isEqual } = options;
1574
+ const { definition, params = {}, readOnly, undoable = false, enabled = true, selector, isEqual } = options;
1574
1575
  const store = useStore();
1575
1576
  const docId = enabled ? typeof definition.id === "function" ? definition.id(params) : definition.id : void 0;
1576
1577
  const collectionPath = enabled ? typeof definition.collection === "function" ? definition.collection(params) : definition.collection : void 0;
@@ -1639,7 +1640,7 @@ function useDocument(options) {
1639
1640
  ]);
1640
1641
  }
1641
1642
  function useCollection(options) {
1642
- const { definition, params = {}, readOnly, queryConstraints, undoable = true, enabled = true, selector, isEqual } = options;
1643
+ const { definition, params = {}, readOnly, queryConstraints, undoable = false, enabled = true, selector, isEqual } = options;
1643
1644
  const store = useStore();
1644
1645
  const collectionPath = enabled ? typeof definition.path === "function" ? definition.path(params) : definition.path : void 0;
1645
1646
  const stableConstraintsRef = useRef(queryConstraints);
@@ -2334,6 +2335,7 @@ const createStore = (config) => {
2334
2335
  const { firestore, autosave = 1e3, minLoadTime = 0, maxUndoLength = 20 } = config;
2335
2336
  let onError = config.onError;
2336
2337
  let onNavigate = config.onNavigate;
2338
+ let getUndoPath = config.getUndoPath;
2337
2339
  let onUndo = config.onUndo;
2338
2340
  let onRedo = config.onRedo;
2339
2341
  const undoManager = createUndoManager({
@@ -2376,6 +2378,10 @@ const createStore = (config) => {
2376
2378
  setOnNavigate: (handler) => {
2377
2379
  onNavigate = handler;
2378
2380
  },
2381
+ getUndoPath: () => getUndoPath?.(),
2382
+ setGetUndoPath: (handler) => {
2383
+ getUndoPath = handler;
2384
+ },
2379
2385
  setOnUndo: (handler) => {
2380
2386
  onUndo = handler;
2381
2387
  },
@@ -2428,7 +2434,7 @@ const createStore = (config) => {
2428
2434
  * }
2429
2435
  * ```
2430
2436
  */
2431
- const FirestateProvider = ({ firestore, autosave = 1e3, minLoadTime = 0, maxUndoLength = 20, onError, onNavigate, onUndo, onRedo, children }) => {
2437
+ const FirestateProvider = ({ firestore, autosave = 1e3, minLoadTime = 0, maxUndoLength = 20, onError, onNavigate, getUndoPath, onUndo, onRedo, children }) => {
2432
2438
  const store = useMemo(() => createStore({
2433
2439
  firestore,
2434
2440
  autosave,
@@ -2436,6 +2442,7 @@ const FirestateProvider = ({ firestore, autosave = 1e3, minLoadTime = 0, maxUndo
2436
2442
  maxUndoLength,
2437
2443
  onError,
2438
2444
  onNavigate,
2445
+ getUndoPath,
2439
2446
  onUndo,
2440
2447
  onRedo
2441
2448
  }), [
@@ -2450,6 +2457,9 @@ const FirestateProvider = ({ firestore, autosave = 1e3, minLoadTime = 0, maxUndo
2450
2457
  useEffect(() => {
2451
2458
  store.setOnNavigate(onNavigate);
2452
2459
  }, [store, onNavigate]);
2460
+ useEffect(() => {
2461
+ store.setGetUndoPath(getUndoPath);
2462
+ }, [store, getUndoPath]);
2453
2463
  useEffect(() => {
2454
2464
  store.setOnUndo(onUndo);
2455
2465
  }, [store, onUndo]);