tinybase 3.2.0 → 3.3.0

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.
Files changed (60) hide show
  1. package/lib/cjs/store.cjs +1 -1
  2. package/lib/cjs/store.cjs.gz +0 -0
  3. package/lib/cjs/tinybase.cjs +1 -1
  4. package/lib/cjs/tinybase.cjs.gz +0 -0
  5. package/lib/cjs/tools.cjs +1 -1
  6. package/lib/cjs/tools.cjs.gz +0 -0
  7. package/lib/cjs/ui-react.cjs +1 -1
  8. package/lib/cjs/ui-react.cjs.gz +0 -0
  9. package/lib/cjs-es6/store.cjs +1 -1
  10. package/lib/cjs-es6/store.cjs.gz +0 -0
  11. package/lib/cjs-es6/tinybase.cjs +1 -1
  12. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  13. package/lib/cjs-es6/tools.cjs +1 -1
  14. package/lib/cjs-es6/tools.cjs.gz +0 -0
  15. package/lib/cjs-es6/ui-react.cjs +1 -1
  16. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  17. package/lib/debug/store.js +53 -13
  18. package/lib/debug/tinybase.js +53 -13
  19. package/lib/debug/tools.js +93 -1
  20. package/lib/debug/ui-react.js +24 -0
  21. package/lib/es6/store.js +1 -1
  22. package/lib/es6/store.js.gz +0 -0
  23. package/lib/es6/tinybase.js +1 -1
  24. package/lib/es6/tinybase.js.gz +0 -0
  25. package/lib/es6/tools.js +1 -1
  26. package/lib/es6/tools.js.gz +0 -0
  27. package/lib/es6/ui-react.js +1 -1
  28. package/lib/es6/ui-react.js.gz +0 -0
  29. package/lib/store.js +1 -1
  30. package/lib/store.js.gz +0 -0
  31. package/lib/tinybase.js +1 -1
  32. package/lib/tinybase.js.gz +0 -0
  33. package/lib/tools.js +1 -1
  34. package/lib/tools.js.gz +0 -0
  35. package/lib/types/store.d.ts +302 -9
  36. package/lib/types/tools.d.ts +2 -2
  37. package/lib/types/ui-react.d.ts +156 -0
  38. package/lib/types/with-schemas/store.d.ts +405 -16
  39. package/lib/types/with-schemas/tools.d.ts +2 -2
  40. package/lib/types/with-schemas/ui-react.d.ts +181 -5
  41. package/lib/ui-react.js +1 -1
  42. package/lib/ui-react.js.gz +0 -0
  43. package/lib/umd/store.js +1 -1
  44. package/lib/umd/store.js.gz +0 -0
  45. package/lib/umd/tinybase.js +1 -1
  46. package/lib/umd/tinybase.js.gz +0 -0
  47. package/lib/umd/tools.js +1 -1
  48. package/lib/umd/tools.js.gz +0 -0
  49. package/lib/umd/ui-react.js +1 -1
  50. package/lib/umd/ui-react.js.gz +0 -0
  51. package/lib/umd-es6/store.js +1 -1
  52. package/lib/umd-es6/store.js.gz +0 -0
  53. package/lib/umd-es6/tinybase.js +1 -1
  54. package/lib/umd-es6/tinybase.js.gz +0 -0
  55. package/lib/umd-es6/tools.js +1 -1
  56. package/lib/umd-es6/tools.js.gz +0 -0
  57. package/lib/umd-es6/ui-react.js +1 -1
  58. package/lib/umd-es6/ui-react.js.gz +0 -0
  59. package/package.json +15 -15
  60. package/readme.md +2 -2
@@ -79,6 +79,7 @@ import {
79
79
  SortedRowIdsListener,
80
80
  Store,
81
81
  Table,
82
+ TableCellIdsListener,
82
83
  TableIdsListener,
83
84
  TableListener,
84
85
  Tables,
@@ -699,6 +700,101 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
699
700
  storeOrStoreId?: StoreOrStoreId<Schemas>,
700
701
  ) => Table<Schemas[0], TableId>;
701
702
 
703
+ /**
704
+ * The useTableCellIds hook returns the Ids of every Cell used across the whole
705
+ * Table, and registers a listener so that any changes to that result will cause
706
+ * a re-render.
707
+ *
708
+ * This has schema-based typing. The following is a simplified representation:
709
+ *
710
+ * ```ts override
711
+ * useTableCellIds(
712
+ * tableId: Id,
713
+ * storeOrStoreId?: StoreOrStoreId,
714
+ * ): Ids;
715
+ * ```
716
+ *
717
+ * A Provider component is used to wrap part of an application in a context, and
718
+ * it can contain a default Store or a set of Store objects named by Id. The
719
+ * useTableCellIds hook lets you indicate which Store to get data for: omit the
720
+ * optional final parameter for the default context Store, provide an Id for a
721
+ * named context Store, or provide a Store explicitly by reference.
722
+ *
723
+ * When first rendered, this hook will create a listener so that changes to the
724
+ * Table Cell Ids will cause a re-render. When the component containing this
725
+ * hook is unmounted, the listener will be automatically removed.
726
+ *
727
+ * @param tableId The Id of the Table in the Store.
728
+ * @param storeOrStoreId The Store to be accessed: omit for the default context
729
+ * Store, provide an Id for a named context Store, or provide an explicit
730
+ * reference.
731
+ * @returns An array of the Ids of every Cell used across the whole Table.
732
+ * @example
733
+ * This example creates a Store outside the application, which is used in the
734
+ * useTableCellIds hook by reference. A change to the data in the Store
735
+ * re-renders the component.
736
+ *
737
+ * ```jsx
738
+ * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
739
+ * const App = () => (
740
+ * <span>{JSON.stringify(useTableCellIds('pets', store))}</span>
741
+ * );
742
+ *
743
+ * const app = document.createElement('div');
744
+ * ReactDOMClient.createRoot(app).render(<App />); // !act
745
+ * console.log(app.innerHTML);
746
+ * // -> '<span>["color"]</span>'
747
+ *
748
+ * store.setCell('pets', 'felix', 'species', 'cat'); // !act
749
+ * console.log(app.innerHTML);
750
+ * // -> '<span>["color","species"]</span>'
751
+ * ```
752
+ * @example
753
+ * This example creates a Provider context into which a default Store is
754
+ * provided. A component within it then uses the useTableCellIds hook.
755
+ *
756
+ * ```jsx
757
+ * const App = ({store}) => (
758
+ * <Provider store={store}>
759
+ * <Pane />
760
+ * </Provider>
761
+ * );
762
+ * const Pane = () => <span>{JSON.stringify(useTableCellIds('pets'))}</span>;
763
+ *
764
+ * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
765
+ * const app = document.createElement('div');
766
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
767
+ * console.log(app.innerHTML);
768
+ * // -> '<span>["color"]</span>'
769
+ * ```
770
+ * @example
771
+ * This example creates a Provider context into which a Store is provided, named
772
+ * by Id. A component within it then uses the useTableCellIds hook.
773
+ *
774
+ * ```jsx
775
+ * const App = ({store}) => (
776
+ * <Provider storesById={{petStore: store}}>
777
+ * <Pane />
778
+ * </Provider>
779
+ * );
780
+ * const Pane = () => (
781
+ * <span>{JSON.stringify(useTableCellIds('pets', 'petStore'))}</span>
782
+ * );
783
+ *
784
+ * const store = createStore().setCell('pets', 'fido', 'color', 'brown');
785
+ * const app = document.createElement('div');
786
+ * ReactDOMClient.createRoot(app).render(<App store={store} />); // !act
787
+ * console.log(app.innerHTML);
788
+ * // -> '<span>["color"]</span>'
789
+ * ```
790
+ * @category Store hooks
791
+ * @since v3.3
792
+ */
793
+ useTableCellIds: <TableId extends TableIdFromSchema<Schemas[0]>>(
794
+ tableId: TableId,
795
+ storeOrStoreId?: StoreOrStoreId<Schemas>,
796
+ ) => CellIdFromSchema<Schemas[0], TableId>[];
797
+
702
798
  /**
703
799
  * The useRowIds hook returns the Ids of every Row in a given Table, and
704
800
  * registers a listener so that any changes to that result will cause a
@@ -1112,14 +1208,11 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1112
1208
  * ```
1113
1209
  * @category Store hooks
1114
1210
  */
1115
- useCellIds: <
1116
- TableId extends TableIdFromSchema<Schemas[0]>,
1117
- Ids extends CellIdFromSchema<Schemas[0], TableId>[],
1118
- >(
1211
+ useCellIds: <TableId extends TableIdFromSchema<Schemas[0]>>(
1119
1212
  tableId: TableId,
1120
1213
  rowId: Id,
1121
1214
  storeOrStoreId?: StoreOrStoreId<Schemas>,
1122
- ) => Ids;
1215
+ ) => CellIdFromSchema<Schemas[0], TableId>[];
1123
1216
 
1124
1217
  /**
1125
1218
  * The useCell hook returns an object containing the value of a single Cell in a
@@ -3188,6 +3281,89 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
3188
3281
  storeOrStoreId?: StoreOrStoreId<Schemas>,
3189
3282
  ) => void;
3190
3283
 
3284
+ /**
3285
+ * The useTableCellIdsListener hook registers a listener function with a Store
3286
+ * that will be called whenever the Cell Ids that appear anywhere in a Table
3287
+ * change.
3288
+ *
3289
+ * This has schema-based typing. The following is a simplified representation:
3290
+ *
3291
+ * ```ts override
3292
+ * useTableCellIdsListener(
3293
+ * tableId: IdOrNull,
3294
+ * listener: TableCellIdsListener,
3295
+ * listenerDeps?: React.DependencyList,
3296
+ * mutator?: boolean,
3297
+ * storeOrStoreId?: StoreOrStoreId,
3298
+ * ): void;
3299
+ * ```
3300
+ *
3301
+ * This hook is useful for situations where a component needs to register its
3302
+ * own specific listener to do more than simply tracking the value (which is
3303
+ * more easily done with the useTableCellIds hook).
3304
+ *
3305
+ * You can either listen to a single Table (by specifying its Id as the method's
3306
+ * first parameter) or changes to any Table (by providing `null`).
3307
+ *
3308
+ * Unlike the addTableCellIdsListener method, which returns a listener Id and
3309
+ * requires you to remove it manually, the useTableCellIdsListener hook manages
3310
+ * this lifecycle for you: when the listener changes (per its `listenerDeps`
3311
+ * dependencies) or the component unmounts, the listener on the underlying Store
3312
+ * will be deleted.
3313
+ *
3314
+ * @param tableId The Id of the Table to listen to, or `null` as a wildcard.
3315
+ * @param listener The function that will be called whenever the Cell Ids that
3316
+ * appear anywhere in a Table change.
3317
+ * @param listenerDeps An optional array of dependencies for the `listener`
3318
+ * function, which, if any change, result in the re-registration of the
3319
+ * listener. This parameter defaults to an empty array.
3320
+ * @param mutator An optional boolean that indicates that the listener mutates
3321
+ * Store data.
3322
+ * @param storeOrStoreId The Store to register the listener with: omit for the
3323
+ * default context Store, provide an Id for a named context Store, or provide an
3324
+ * explicit reference.
3325
+ * @example
3326
+ * This example uses the useTableCellIdsListener hook to create a listener that
3327
+ * is scoped to a single component. When the component is unmounted, the
3328
+ * listener is removed from the Store.
3329
+ *
3330
+ * ```jsx
3331
+ * const App = ({store}) => (
3332
+ * <Provider store={store}>
3333
+ * <Pane />
3334
+ * </Provider>
3335
+ * );
3336
+ * const Pane = () => {
3337
+ * useTableCellIdsListener('pets', () => console.log('Cell Ids changed'));
3338
+ * return <span>App</span>;
3339
+ * };
3340
+ *
3341
+ * const store = createStore().setTables({pets: {fido: {color: 'brown'}}});
3342
+ * const app = document.createElement('div');
3343
+ * const root = ReactDOMClient.createRoot(app);
3344
+ * root.render(<App store={store} />); // !act
3345
+ * console.log(store.getListenerStats().tableCellIds);
3346
+ * // -> 1
3347
+ *
3348
+ * store.setRow('pets', 'felix', {species: 'cat'}); // !act
3349
+ * // -> 'Cell Ids changed'
3350
+ *
3351
+ * root.unmount(); // !act
3352
+ * console.log(store.getListenerStats().rowIds);
3353
+ * // -> 0
3354
+ * ```
3355
+ * @category Store hooks
3356
+ */
3357
+ useTableCellIdsListener: <
3358
+ TableIdOrNull extends TableIdFromSchema<Schemas[0]> | null,
3359
+ >(
3360
+ tableId: TableIdOrNull,
3361
+ listener: TableCellIdsListener<Schemas, TableIdOrNull>,
3362
+ listenerDeps?: React.DependencyList,
3363
+ mutator?: boolean,
3364
+ storeOrStoreId?: StoreOrStoreId<Schemas>,
3365
+ ) => void;
3366
+
3191
3367
  /**
3192
3368
  * The useRowIdsListener hook registers a listener function with a Store that
3193
3369
  * will be called whenever the Row Ids in a Table change.
package/lib/ui-react.js CHANGED
@@ -1 +1 @@
1
- import e,{useContext as o}from"react";const t=e=>typeof e,s="",d=t(s),r="Ids",n="Table",l=n+"s",I=n+r,u="Row",i=u+r,c="Sorted"+u+r,a="Cell",p=a+r,g="Value",b=g+"s",w=g+r,R=(e,o)=>e.map(o),C=e=>null==e,m=(e,o,t)=>C(e)?t?.():o(e),k=e=>t(e)==d,y=()=>{},{createContext:h,useContext:v}=e,q=h([]),P=(e,o)=>{const t=v(q);return C(e)?t[o]:k(e)?((e,o)=>m(e,(e=>e[o])))(t[o+1],e):e},x=(e,o)=>{const t=P(e,o);return C(e)||k(e)?t:e},S=e=>P(e,0),f=e=>P(e,2),T=e=>P(e,4),B=e=>P(e,6),L=e=>P(e,8),M=e=>P(e,10),V=e=>x(e,0),A=e=>x(e,2),E=e=>x(e,4),F=e=>x(e,6),j=e=>x(e,8),z=e=>x(e,10),{useCallback:D,useEffect:G,useMemo:H,useRef:J,useState:K}=e,N=(e,o,t=[])=>{const s=H((()=>o(e)),[e,...t]);return G((()=>()=>s.destroy()),[s]),s},O=(e,o,t,s=[],d)=>{const[,r]=K(),n=D((()=>o?.["get"+e]?.(...s)??t),[o,...s]),[l]=K(n),I=J(l);return H((()=>I.current=n()),[n]),Q(e,o,((...e)=>{I.current=C(d)?n():e[d],r([])}),[],s),I.current},Q=(e,o,t,s=[],d=[],...r)=>G((()=>{const s=o?.["add"+e+"Listener"]?.(...d,t,...r);return()=>o?.delListener(s)}),[o,...d,...s,...r]),U=(e,o,t,s=[],d=y,r=[],...n)=>{const l=V(e);return D((e=>m(l,(s=>m(t(e,s),(e=>d(s["set"+o](...n,e),e)))))),[l,o,...s,...r,...n])},W=(e,o,t=y,s=[],...d)=>{const r=V(e);return D((()=>t(r?.["del"+o](...d))),[r,o,...s,...d])},X=(e,o,t)=>{const s=z(e);return D((()=>s?.[o](t)),[s,o,t])},Y=(e,o=[])=>H(e,o),Z=e=>O(l,V(e),{}),$=e=>O(I,V(e),[],[]),_=(e,o)=>O(n,V(o),{},[e]),ee=(e,o)=>O(i,V(o),[],[e]),oe=(e,o,t,s=0,d,r)=>O(c,V(r),[],[e,o,t,s,d],6),te=(e,o,t)=>O(u,V(t),{},[e,o]),se=(e,o,t)=>O(p,V(t),[],[e,o]),de=(e,o,t,s)=>O(a,V(s),void 0,[e,o,t],4),re=e=>O(b,V(e),{}),ne=e=>O(w,V(e),[],[]),le=(e,o)=>O(g,V(o),void 0,[e]),Ie=(e,o,t,s,d)=>U(t,l,e,o,s,d),ue=(e,o,t,s,d,r)=>U(s,n,o,t,d,r,e),ie=(e,o,t,s,d,r,n)=>U(d,u,t,s,r,n,e,o),ce=(e,o,t=[],s,d=y,r=[],n=!0)=>{const l=V(s);return D((t=>m(l,(s=>m(o(t,s),(o=>d(s.addRow(e,o,n),s,o)))))),[l,e,...t,...r,n])},ae=(e,o,t,s,d,r,n)=>U(d,"PartialRow",t,s,r,n,e,o),pe=(e,o,t,s,d,r,n,l)=>U(r,a,s,d,n,l,e,o,t),ge=(e,o,t,s,d)=>U(t,b,e,o,s,d),be=(e,o,t,s,d)=>U(t,"PartialValues",e,o,s,d),we=(e,o,t,s,d,r)=>U(s,g,o,t,d,r,e),Re=(e,o,t)=>W(e,l,o,t),Ce=(e,o,t,s)=>W(o,n,t,s,e),me=(e,o,t,s,d)=>W(t,u,s,d,e,o),ke=(e,o,t,s,d,r,n)=>W(d,a,r,n,e,o,t,s),ye=(e,o,t)=>W(e,b,o,t),he=(e,o,t,s)=>W(o,g,t,s,e),ve=(e,o,t,s)=>Q(l,V(s),e,o,[],t),qe=(e,o,t,s)=>Q(I,V(s),e,o,[],t),Pe=(e,o,t,s,d)=>Q(n,V(d),o,t,[e],s),xe=(e,o,t,s,d)=>Q(i,V(d),o,t,[e],s),Se=(e,o,t,s,d,r,n,l,I)=>Q(c,V(I),r,n,[e,o,t,s,d],l),fe=(e,o,t,s,d,r)=>Q(u,V(r),t,s,[e,o],d),Te=(e,o,t,s,d,r)=>Q(p,V(r),t,s,[e,o],d),Be=(e,o,t,s,d,r,n)=>Q(a,V(n),s,d,[e,o,t],r),Le=(e,o,t,s)=>Q(b,V(s),e,o,[],t),Me=(e,o,t,s)=>Q(w,V(s),e,o,[],t),Ve=(e,o,t,s,d)=>Q(g,V(d),o,t,[e],s),Ae=(e,o,t)=>N(e,o,t),Ee=(e,o)=>O("Metric",A(o),void 0,[e]),Fe=(e,o,t,s)=>Q("Metric",A(s),o,t,[e]),je=(e,o,t)=>N(e,o,t),ze=(e,o)=>O("SliceIds",E(o),[],[e]),De=(e,o,t)=>O("SliceRowIds",E(t),[],[e,o]),Ge=(e,o,t,s)=>Q("SliceIds",E(s),o,t,[e]),He=(e,o,t,s,d)=>Q("SliceRowIds",E(d),t,s,[e,o]),Je=(e,o,t)=>N(e,o,t),Ke=(e,o,t)=>O("RemoteRowId",F(t),void 0,[e,o]),Ne=(e,o,t)=>O("LocalRowIds",F(t),[],[e,o]),Oe=(e,o,t)=>O("LinkedRowIds",F(t),[],[e,o]),Qe=(e,o,t,s,d)=>Q("RemoteRowId",F(d),t,s,[e,o]),Ue=(e,o,t,s,d)=>Q("LocalRowIds",F(d),t,s,[e,o]),We=(e,o,t,s,d)=>Q("LinkedRowIds",F(d),t,s,[e,o]),Xe=(e,o,t)=>N(e,o,t),Ye=(e,o)=>O("ResultTable",j(o),{},[e]),Ze=(e,o)=>O("ResultRowIds",j(o),[],[e]),$e=(e,o,t,s=0,d,r)=>O("ResultSortedRowIds",j(r),[],[e,o,t,s,d],6),_e=(e,o,t)=>O("ResultRow",j(t),{},[e,o]),eo=(e,o,t)=>O("ResultCellIds",j(t),[],[e,o]),oo=(e,o,t,s)=>O("ResultCell",j(s),void 0,[e,o,t]),to=(e,o,t,s)=>Q("ResultTable",j(s),o,t,[e]),so=(e,o,t,s)=>Q("ResultRowIds",j(s),o,t,[e]),ro=(e,o,t,s,d,r,n,l)=>Q("ResultSortedRowIds",j(l),r,n,[e,o,t,s,d]),no=(e,o,t,s,d)=>Q("ResultRow",j(d),t,s,[e,o]),lo=(e,o,t,s,d)=>Q("ResultCellIds",j(d),t,s,[e,o]),Io=(e,o,t,s,d,r)=>Q("ResultCell",j(r),s,d,[e,o,t]),uo=(e,o,t)=>N(e,o,t),io=e=>O("CheckpointIds",z(e),[[],void 0,[]]),co=(e,o)=>O("Checkpoint",z(o),void 0,[e]),ao=(e=y,o=[],t,s=y,d=[])=>{const r=z(t);return D((o=>m(r,(t=>{const d=e(o);s(t.addCheckpoint(d),t,d)}))),[r,...o,...d])},po=e=>X(e,"goBackward"),go=e=>X(e,"goForward"),bo=(e,o=[],t,s=y,d=[])=>{const r=z(t);return D((o=>m(r,(t=>m(e(o),(e=>s(t.goTo(e),e)))))),[r,...o,...d])},wo=e=>{const o=z(e),[t,d]=io(o);return[(r=t,!(0==(e=>e.length)(r))),po(o),d,m(d,(e=>o?.getCheckpoint(e)))??s];var r},Ro=e=>{const o=z(e),[,,[t]]=io(o);return[!C(t),go(o),t,m(t,(e=>o?.getCheckpoint(e)))??s]},Co=(e,o,t)=>Q("CheckpointIds",z(t),e,o),mo=(e,o,t,s)=>Q("Checkpoint",z(s),o,t,[e]),ko=(e,o,t=[],s,d=[])=>{const[,r]=K(),n=H((()=>o(e)),[e,...t]);return G((()=>((async()=>{await(s?.(n)),r(1)})(),()=>{n.destroy()})),[n,...d]),n},{createElement:yo,useMemo:ho}=e,vo=({tableId:e,store:o,rowComponent:t=Mo,getRowComponentProps:s,separator:d,debugIds:r},n)=>Bo(R(n,(d=>yo(t,{...fo(s,d),key:d,tableId:e,rowId:d,store:o,debugIds:r}))),d,r,e),qo=({queryId:e,queries:o,resultRowComponent:t=Oo,getResultRowComponentProps:s,separator:d,debugIds:r},n)=>Bo(R(n,(d=>yo(t,{...fo(s,d),key:d,queryId:e,rowId:d,queries:o,debugIds:r}))),d,r,e),Po=e=>{const o=F(e);return[o,o?.getStore()]},xo=({relationshipId:e,relationships:o,rowComponent:t=Mo,getRowComponentProps:s,separator:d,debugIds:r},n,l)=>{const[I,u]=Po(o),i=I?.getLocalTableId(e),c=n(e,l,I);return Bo(R(c,(e=>yo(t,{...fo(s,e),key:e,tableId:i,rowId:e,store:u,debugIds:r}))),d,r,l)},So=e=>({checkpoints:o,checkpointComponent:t=Wo,getCheckpointComponentProps:s,separator:d,debugIds:r})=>{const n=z(o);return Bo(R(e(io(n)),(e=>yo(t,{...fo(s,e),key:e,checkpoints:n,checkpointId:e,debugIds:r}))),d)},fo=(e,o)=>C(e)?{}:e(o),To=({store:e,storesById:t,metrics:s,metricsById:d,indexes:r,indexesById:n,relationships:l,relationshipsById:I,queries:u,queriesById:i,checkpoints:c,checkpointsById:a,children:p})=>{const g=o(q);return yo(q.Provider,{value:ho((()=>[e??g[0],{...g[1],...t},s??g[2],{...g[3],...d},r??g[4],{...g[5],...n},l??g[6],{...g[7],...I},u??g[8],{...g[9],...i},c??g[10],{...g[11],...a}]),[e,t,s,d,r,n,l,I,u,i,c,a,g])},p)},Bo=(e,o,t,s)=>{const d=C(o)||!Array.isArray(e)?e:R(e,((e,t)=>t>0?[o,e]:e));return t?[s,":{",d,"}"]:d},Lo=({tableId:e,rowId:o,cellId:t,store:d,debugIds:r})=>Bo(s+(de(e,o,t,d)??s),void 0,r,t),Mo=({tableId:e,rowId:o,store:t,cellComponent:s=Lo,getCellComponentProps:d,separator:r,debugIds:n})=>Bo(R(se(e,o,t),(r=>yo(s,{...fo(d,r),key:r,tableId:e,rowId:o,cellId:r,store:t,debugIds:n}))),r,n,o),Vo=e=>vo(e,ee(e.tableId,e.store)),Ao=({cellId:e,descending:o,offset:t,limit:s,...d})=>vo(d,oe(d.tableId,e,o,t,s,d.store)),Eo=({store:e,tableComponent:o=Vo,getTableComponentProps:t,separator:s,debugIds:d})=>Bo(R($(e),(s=>yo(o,{...fo(t,s),key:s,tableId:s,store:e,debugIds:d}))),s),Fo=({valueId:e,store:o,debugIds:t})=>Bo(s+(le(e,o)??s),void 0,t,e),jo=({store:e,valueComponent:o=Fo,getValueComponentProps:t,separator:s,debugIds:d})=>Bo(R(ne(e),(s=>yo(o,{...fo(t,s),key:s,valueId:s,store:e,debugIds:d}))),s),zo=({metricId:e,metrics:o,debugIds:t})=>Bo(Ee(e,o)??s,void 0,t,e),Do=({indexId:e,sliceId:o,indexes:t,rowComponent:s=Mo,getRowComponentProps:d,separator:r,debugIds:n})=>{const l=E(t),I=l?.getStore(),u=l?.getTableId(e),i=De(e,o,l);return Bo(R(i,(e=>yo(s,{...fo(d,e),key:e,tableId:u,rowId:e,store:I,debugIds:n}))),r,n,o)},Go=({indexId:e,indexes:o,sliceComponent:t=Do,getSliceComponentProps:s,separator:d,debugIds:r})=>Bo(R(ze(e,o),(d=>yo(t,{...fo(s,d),key:d,indexId:e,sliceId:d,indexes:o,debugIds:r}))),d,r,e),Ho=({relationshipId:e,localRowId:o,relationships:t,rowComponent:s=Mo,getRowComponentProps:d,debugIds:r})=>{const[n,l]=Po(t),I=n?.getRemoteTableId(e),u=Ke(e,o,n);return Bo(C(I)||C(u)?null:yo(s,{...fo(d,u),key:u,tableId:I,rowId:u,store:l,debugIds:r}),void 0,r,o)},Jo=e=>xo(e,Ne,e.remoteRowId),Ko=e=>xo(e,Oe,e.firstRowId),No=({queryId:e,rowId:o,cellId:t,queries:d,debugIds:r})=>Bo(s+(oo(e,o,t,d)??s),void 0,r,t),Oo=({queryId:e,rowId:o,queries:t,resultCellComponent:s=No,getResultCellComponentProps:d,separator:r,debugIds:n})=>Bo(R(eo(e,o,t),(r=>yo(s,{...fo(d,r),key:r,queryId:e,rowId:o,cellId:r,queries:t,debugIds:n}))),r,n,o),Qo=e=>qo(e,Ze(e.queryId,e.queries)),Uo=({cellId:e,descending:o,offset:t,limit:s,...d})=>qo(d,$e(d.queryId,e,o,t,s,d.queries)),Wo=({checkpoints:e,checkpointId:o,debugIds:t})=>Bo(co(o,e)??s,void 0,t,o),Xo=So((e=>e[0])),Yo=So((e=>C(e[1])?[]:[e[1]])),Zo=So((e=>e[2]));export{Xo as BackwardCheckpointsView,Lo as CellView,Wo as CheckpointView,Yo as CurrentCheckpointView,Zo as ForwardCheckpointsView,Go as IndexView,Ko as LinkedRowsView,Jo as LocalRowsView,zo as MetricView,To as Provider,Ho as RemoteRowView,No as ResultCellView,Oo as ResultRowView,Uo as ResultSortedTableView,Qo as ResultTableView,Mo as RowView,Do as SliceView,Ao as SortedTableView,Vo as TableView,Eo as TablesView,Fo as ValueView,jo as ValuesView,vo as tableView,ce as useAddRowCallback,de as useCell,se as useCellIds,Te as useCellIdsListener,Be as useCellListener,co as useCheckpoint,io as useCheckpointIds,Co as useCheckpointIdsListener,mo as useCheckpointListener,M as useCheckpoints,uo as useCreateCheckpoints,je as useCreateIndexes,Ae as useCreateMetrics,ko as useCreatePersister,Xe as useCreateQueries,Je as useCreateRelationships,Y as useCreateStore,ke as useDelCellCallback,me as useDelRowCallback,Ce as useDelTableCallback,Re as useDelTablesCallback,he as useDelValueCallback,ye as useDelValuesCallback,po as useGoBackwardCallback,go as useGoForwardCallback,bo as useGoToCallback,T as useIndexes,Oe as useLinkedRowIds,We as useLinkedRowIdsListener,Ne as useLocalRowIds,Ue as useLocalRowIdsListener,Ee as useMetric,Fe as useMetricListener,f as useMetrics,L as useQueries,Ro as useRedoInformation,B as useRelationships,Ke as useRemoteRowId,Qe as useRemoteRowIdListener,oo as useResultCell,eo as useResultCellIds,lo as useResultCellIdsListener,Io as useResultCellListener,_e as useResultRow,Ze as useResultRowIds,so as useResultRowIdsListener,no as useResultRowListener,$e as useResultSortedRowIds,ro as useResultSortedRowIdsListener,Ye as useResultTable,to as useResultTableListener,te as useRow,ee as useRowIds,xe as useRowIdsListener,fe as useRowListener,pe as useSetCellCallback,ao as useSetCheckpointCallback,ae as useSetPartialRowCallback,be as useSetPartialValuesCallback,ie as useSetRowCallback,ue as useSetTableCallback,Ie as useSetTablesCallback,we as useSetValueCallback,ge as useSetValuesCallback,ze as useSliceIds,Ge as useSliceIdsListener,De as useSliceRowIds,He as useSliceRowIdsListener,oe as useSortedRowIds,Se as useSortedRowIdsListener,S as useStore,_ as useTable,$ as useTableIds,qe as useTableIdsListener,Pe as useTableListener,Z as useTables,ve as useTablesListener,wo as useUndoInformation,le as useValue,ne as useValueIds,Me as useValueIdsListener,Ve as useValueListener,re as useValues,Le as useValuesListener};
1
+ import e,{useContext as o}from"react";const t=e=>typeof e,s="",d=t(s),r="Ids",n="Table",l=n+"s",I=n+r,u="Row",i=u+r,c="Sorted"+u+r,a="Cell",p=a+r,g="Value",b=g+"s",w=g+r,R=(e,o)=>e.map(o),C=e=>null==e,m=(e,o,t)=>C(e)?t?.():o(e),k=e=>t(e)==d,y=()=>{},{createContext:h,useContext:v}=e,q=h([]),P=(e,o)=>{const t=v(q);return C(e)?t[o]:k(e)?((e,o)=>m(e,(e=>e[o])))(t[o+1],e):e},x=(e,o)=>{const t=P(e,o);return C(e)||k(e)?t:e},S=e=>P(e,0),f=e=>P(e,2),T=e=>P(e,4),B=e=>P(e,6),L=e=>P(e,8),M=e=>P(e,10),V=e=>x(e,0),A=e=>x(e,2),E=e=>x(e,4),F=e=>x(e,6),j=e=>x(e,8),z=e=>x(e,10),{useCallback:D,useEffect:G,useMemo:H,useRef:J,useState:K}=e,N=(e,o,t=[])=>{const s=H((()=>o(e)),[e,...t]);return G((()=>()=>s.destroy()),[s]),s},O=(e,o,t,s=[],d)=>{const[,r]=K(),n=D((()=>o?.["get"+e]?.(...s)??t),[o,...s]),[l]=K(n),I=J(l);return H((()=>I.current=n()),[n]),Q(e,o,((...e)=>{I.current=C(d)?n():e[d],r([])}),[],s),I.current},Q=(e,o,t,s=[],d=[],...r)=>G((()=>{const s=o?.["add"+e+"Listener"]?.(...d,t,...r);return()=>o?.delListener(s)}),[o,...d,...s,...r]),U=(e,o,t,s=[],d=y,r=[],...n)=>{const l=V(e);return D((e=>m(l,(s=>m(t(e,s),(e=>d(s["set"+o](...n,e),e)))))),[l,o,...s,...r,...n])},W=(e,o,t=y,s=[],...d)=>{const r=V(e);return D((()=>t(r?.["del"+o](...d))),[r,o,...s,...d])},X=(e,o,t)=>{const s=z(e);return D((()=>s?.[o](t)),[s,o,t])},Y=(e,o=[])=>H(e,o),Z=e=>O(l,V(e),{}),$=e=>O(I,V(e),[],[]),_=(e,o)=>O(n,V(o),{},[e]),ee=(e,o)=>O(n+p,V(o),[],[e]),oe=(e,o)=>O(i,V(o),[],[e]),te=(e,o,t,s=0,d,r)=>O(c,V(r),[],[e,o,t,s,d],6),se=(e,o,t)=>O(u,V(t),{},[e,o]),de=(e,o,t)=>O(p,V(t),[],[e,o]),re=(e,o,t,s)=>O(a,V(s),void 0,[e,o,t],4),ne=e=>O(b,V(e),{}),le=e=>O(w,V(e),[],[]),Ie=(e,o)=>O(g,V(o),void 0,[e]),ue=(e,o,t,s,d)=>U(t,l,e,o,s,d),ie=(e,o,t,s,d,r)=>U(s,n,o,t,d,r,e),ce=(e,o,t,s,d,r,n)=>U(d,u,t,s,r,n,e,o),ae=(e,o,t=[],s,d=y,r=[],n=!0)=>{const l=V(s);return D((t=>m(l,(s=>m(o(t,s),(o=>d(s.addRow(e,o,n),s,o)))))),[l,e,...t,...r,n])},pe=(e,o,t,s,d,r,n)=>U(d,"PartialRow",t,s,r,n,e,o),ge=(e,o,t,s,d,r,n,l)=>U(r,a,s,d,n,l,e,o,t),be=(e,o,t,s,d)=>U(t,b,e,o,s,d),we=(e,o,t,s,d)=>U(t,"PartialValues",e,o,s,d),Re=(e,o,t,s,d,r)=>U(s,g,o,t,d,r,e),Ce=(e,o,t)=>W(e,l,o,t),me=(e,o,t,s)=>W(o,n,t,s,e),ke=(e,o,t,s,d)=>W(t,u,s,d,e,o),ye=(e,o,t,s,d,r,n)=>W(d,a,r,n,e,o,t,s),he=(e,o,t)=>W(e,b,o,t),ve=(e,o,t,s)=>W(o,g,t,s,e),qe=(e,o,t,s)=>Q(l,V(s),e,o,[],t),Pe=(e,o,t,s)=>Q(I,V(s),e,o,[],t),xe=(e,o,t,s,d)=>Q(n,V(d),o,t,[e],s),Se=(e,o,t,s,d)=>Q(n+p,V(d),o,t,[e],s),fe=(e,o,t,s,d)=>Q(i,V(d),o,t,[e],s),Te=(e,o,t,s,d,r,n,l,I)=>Q(c,V(I),r,n,[e,o,t,s,d],l),Be=(e,o,t,s,d,r)=>Q(u,V(r),t,s,[e,o],d),Le=(e,o,t,s,d,r)=>Q(p,V(r),t,s,[e,o],d),Me=(e,o,t,s,d,r,n)=>Q(a,V(n),s,d,[e,o,t],r),Ve=(e,o,t,s)=>Q(b,V(s),e,o,[],t),Ae=(e,o,t,s)=>Q(w,V(s),e,o,[],t),Ee=(e,o,t,s,d)=>Q(g,V(d),o,t,[e],s),Fe=(e,o,t)=>N(e,o,t),je=(e,o)=>O("Metric",A(o),void 0,[e]),ze=(e,o,t,s)=>Q("Metric",A(s),o,t,[e]),De=(e,o,t)=>N(e,o,t),Ge=(e,o)=>O("SliceIds",E(o),[],[e]),He=(e,o,t)=>O("SliceRowIds",E(t),[],[e,o]),Je=(e,o,t,s)=>Q("SliceIds",E(s),o,t,[e]),Ke=(e,o,t,s,d)=>Q("SliceRowIds",E(d),t,s,[e,o]),Ne=(e,o,t)=>N(e,o,t),Oe=(e,o,t)=>O("RemoteRowId",F(t),void 0,[e,o]),Qe=(e,o,t)=>O("LocalRowIds",F(t),[],[e,o]),Ue=(e,o,t)=>O("LinkedRowIds",F(t),[],[e,o]),We=(e,o,t,s,d)=>Q("RemoteRowId",F(d),t,s,[e,o]),Xe=(e,o,t,s,d)=>Q("LocalRowIds",F(d),t,s,[e,o]),Ye=(e,o,t,s,d)=>Q("LinkedRowIds",F(d),t,s,[e,o]),Ze=(e,o,t)=>N(e,o,t),$e=(e,o)=>O("ResultTable",j(o),{},[e]),_e=(e,o)=>O("ResultRowIds",j(o),[],[e]),eo=(e,o,t,s=0,d,r)=>O("ResultSortedRowIds",j(r),[],[e,o,t,s,d],6),oo=(e,o,t)=>O("ResultRow",j(t),{},[e,o]),to=(e,o,t)=>O("ResultCellIds",j(t),[],[e,o]),so=(e,o,t,s)=>O("ResultCell",j(s),void 0,[e,o,t]),ro=(e,o,t,s)=>Q("ResultTable",j(s),o,t,[e]),no=(e,o,t,s)=>Q("ResultRowIds",j(s),o,t,[e]),lo=(e,o,t,s,d,r,n,l)=>Q("ResultSortedRowIds",j(l),r,n,[e,o,t,s,d]),Io=(e,o,t,s,d)=>Q("ResultRow",j(d),t,s,[e,o]),uo=(e,o,t,s,d)=>Q("ResultCellIds",j(d),t,s,[e,o]),io=(e,o,t,s,d,r)=>Q("ResultCell",j(r),s,d,[e,o,t]),co=(e,o,t)=>N(e,o,t),ao=e=>O("CheckpointIds",z(e),[[],void 0,[]]),po=(e,o)=>O("Checkpoint",z(o),void 0,[e]),go=(e=y,o=[],t,s=y,d=[])=>{const r=z(t);return D((o=>m(r,(t=>{const d=e(o);s(t.addCheckpoint(d),t,d)}))),[r,...o,...d])},bo=e=>X(e,"goBackward"),wo=e=>X(e,"goForward"),Ro=(e,o=[],t,s=y,d=[])=>{const r=z(t);return D((o=>m(r,(t=>m(e(o),(e=>s(t.goTo(e),e)))))),[r,...o,...d])},Co=e=>{const o=z(e),[t,d]=ao(o);return[(r=t,!(0==(e=>e.length)(r))),bo(o),d,m(d,(e=>o?.getCheckpoint(e)))??s];var r},mo=e=>{const o=z(e),[,,[t]]=ao(o);return[!C(t),wo(o),t,m(t,(e=>o?.getCheckpoint(e)))??s]},ko=(e,o,t)=>Q("CheckpointIds",z(t),e,o),yo=(e,o,t,s)=>Q("Checkpoint",z(s),o,t,[e]),ho=(e,o,t=[],s,d=[])=>{const[,r]=K(),n=H((()=>o(e)),[e,...t]);return G((()=>((async()=>{await(s?.(n)),r(1)})(),()=>{n.destroy()})),[n,...d]),n},{createElement:vo,useMemo:qo}=e,Po=({tableId:e,store:o,rowComponent:t=Ao,getRowComponentProps:s,separator:d,debugIds:r},n)=>Mo(R(n,(d=>vo(t,{...Bo(s,d),key:d,tableId:e,rowId:d,store:o,debugIds:r}))),d,r,e),xo=({queryId:e,queries:o,resultRowComponent:t=Uo,getResultRowComponentProps:s,separator:d,debugIds:r},n)=>Mo(R(n,(d=>vo(t,{...Bo(s,d),key:d,queryId:e,rowId:d,queries:o,debugIds:r}))),d,r,e),So=e=>{const o=F(e);return[o,o?.getStore()]},fo=({relationshipId:e,relationships:o,rowComponent:t=Ao,getRowComponentProps:s,separator:d,debugIds:r},n,l)=>{const[I,u]=So(o),i=I?.getLocalTableId(e),c=n(e,l,I);return Mo(R(c,(e=>vo(t,{...Bo(s,e),key:e,tableId:i,rowId:e,store:u,debugIds:r}))),d,r,l)},To=e=>({checkpoints:o,checkpointComponent:t=Yo,getCheckpointComponentProps:s,separator:d,debugIds:r})=>{const n=z(o);return Mo(R(e(ao(n)),(e=>vo(t,{...Bo(s,e),key:e,checkpoints:n,checkpointId:e,debugIds:r}))),d)},Bo=(e,o)=>C(e)?{}:e(o),Lo=({store:e,storesById:t,metrics:s,metricsById:d,indexes:r,indexesById:n,relationships:l,relationshipsById:I,queries:u,queriesById:i,checkpoints:c,checkpointsById:a,children:p})=>{const g=o(q);return vo(q.Provider,{value:qo((()=>[e??g[0],{...g[1],...t},s??g[2],{...g[3],...d},r??g[4],{...g[5],...n},l??g[6],{...g[7],...I},u??g[8],{...g[9],...i},c??g[10],{...g[11],...a}]),[e,t,s,d,r,n,l,I,u,i,c,a,g])},p)},Mo=(e,o,t,s)=>{const d=C(o)||!Array.isArray(e)?e:R(e,((e,t)=>t>0?[o,e]:e));return t?[s,":{",d,"}"]:d},Vo=({tableId:e,rowId:o,cellId:t,store:d,debugIds:r})=>Mo(s+(re(e,o,t,d)??s),void 0,r,t),Ao=({tableId:e,rowId:o,store:t,cellComponent:s=Vo,getCellComponentProps:d,separator:r,debugIds:n})=>Mo(R(de(e,o,t),(r=>vo(s,{...Bo(d,r),key:r,tableId:e,rowId:o,cellId:r,store:t,debugIds:n}))),r,n,o),Eo=e=>Po(e,oe(e.tableId,e.store)),Fo=({cellId:e,descending:o,offset:t,limit:s,...d})=>Po(d,te(d.tableId,e,o,t,s,d.store)),jo=({store:e,tableComponent:o=Eo,getTableComponentProps:t,separator:s,debugIds:d})=>Mo(R($(e),(s=>vo(o,{...Bo(t,s),key:s,tableId:s,store:e,debugIds:d}))),s),zo=({valueId:e,store:o,debugIds:t})=>Mo(s+(Ie(e,o)??s),void 0,t,e),Do=({store:e,valueComponent:o=zo,getValueComponentProps:t,separator:s,debugIds:d})=>Mo(R(le(e),(s=>vo(o,{...Bo(t,s),key:s,valueId:s,store:e,debugIds:d}))),s),Go=({metricId:e,metrics:o,debugIds:t})=>Mo(je(e,o)??s,void 0,t,e),Ho=({indexId:e,sliceId:o,indexes:t,rowComponent:s=Ao,getRowComponentProps:d,separator:r,debugIds:n})=>{const l=E(t),I=l?.getStore(),u=l?.getTableId(e),i=He(e,o,l);return Mo(R(i,(e=>vo(s,{...Bo(d,e),key:e,tableId:u,rowId:e,store:I,debugIds:n}))),r,n,o)},Jo=({indexId:e,indexes:o,sliceComponent:t=Ho,getSliceComponentProps:s,separator:d,debugIds:r})=>Mo(R(Ge(e,o),(d=>vo(t,{...Bo(s,d),key:d,indexId:e,sliceId:d,indexes:o,debugIds:r}))),d,r,e),Ko=({relationshipId:e,localRowId:o,relationships:t,rowComponent:s=Ao,getRowComponentProps:d,debugIds:r})=>{const[n,l]=So(t),I=n?.getRemoteTableId(e),u=Oe(e,o,n);return Mo(C(I)||C(u)?null:vo(s,{...Bo(d,u),key:u,tableId:I,rowId:u,store:l,debugIds:r}),void 0,r,o)},No=e=>fo(e,Qe,e.remoteRowId),Oo=e=>fo(e,Ue,e.firstRowId),Qo=({queryId:e,rowId:o,cellId:t,queries:d,debugIds:r})=>Mo(s+(so(e,o,t,d)??s),void 0,r,t),Uo=({queryId:e,rowId:o,queries:t,resultCellComponent:s=Qo,getResultCellComponentProps:d,separator:r,debugIds:n})=>Mo(R(to(e,o,t),(r=>vo(s,{...Bo(d,r),key:r,queryId:e,rowId:o,cellId:r,queries:t,debugIds:n}))),r,n,o),Wo=e=>xo(e,_e(e.queryId,e.queries)),Xo=({cellId:e,descending:o,offset:t,limit:s,...d})=>xo(d,eo(d.queryId,e,o,t,s,d.queries)),Yo=({checkpoints:e,checkpointId:o,debugIds:t})=>Mo(po(o,e)??s,void 0,t,o),Zo=To((e=>e[0])),$o=To((e=>C(e[1])?[]:[e[1]])),_o=To((e=>e[2]));export{Zo as BackwardCheckpointsView,Vo as CellView,Yo as CheckpointView,$o as CurrentCheckpointView,_o as ForwardCheckpointsView,Jo as IndexView,Oo as LinkedRowsView,No as LocalRowsView,Go as MetricView,Lo as Provider,Ko as RemoteRowView,Qo as ResultCellView,Uo as ResultRowView,Xo as ResultSortedTableView,Wo as ResultTableView,Ao as RowView,Ho as SliceView,Fo as SortedTableView,Eo as TableView,jo as TablesView,zo as ValueView,Do as ValuesView,Po as tableView,ae as useAddRowCallback,re as useCell,de as useCellIds,Le as useCellIdsListener,Me as useCellListener,po as useCheckpoint,ao as useCheckpointIds,ko as useCheckpointIdsListener,yo as useCheckpointListener,M as useCheckpoints,co as useCreateCheckpoints,De as useCreateIndexes,Fe as useCreateMetrics,ho as useCreatePersister,Ze as useCreateQueries,Ne as useCreateRelationships,Y as useCreateStore,ye as useDelCellCallback,ke as useDelRowCallback,me as useDelTableCallback,Ce as useDelTablesCallback,ve as useDelValueCallback,he as useDelValuesCallback,bo as useGoBackwardCallback,wo as useGoForwardCallback,Ro as useGoToCallback,T as useIndexes,Ue as useLinkedRowIds,Ye as useLinkedRowIdsListener,Qe as useLocalRowIds,Xe as useLocalRowIdsListener,je as useMetric,ze as useMetricListener,f as useMetrics,L as useQueries,mo as useRedoInformation,B as useRelationships,Oe as useRemoteRowId,We as useRemoteRowIdListener,so as useResultCell,to as useResultCellIds,uo as useResultCellIdsListener,io as useResultCellListener,oo as useResultRow,_e as useResultRowIds,no as useResultRowIdsListener,Io as useResultRowListener,eo as useResultSortedRowIds,lo as useResultSortedRowIdsListener,$e as useResultTable,ro as useResultTableListener,se as useRow,oe as useRowIds,fe as useRowIdsListener,Be as useRowListener,ge as useSetCellCallback,go as useSetCheckpointCallback,pe as useSetPartialRowCallback,we as useSetPartialValuesCallback,ce as useSetRowCallback,ie as useSetTableCallback,ue as useSetTablesCallback,Re as useSetValueCallback,be as useSetValuesCallback,Ge as useSliceIds,Je as useSliceIdsListener,He as useSliceRowIds,Ke as useSliceRowIdsListener,te as useSortedRowIds,Te as useSortedRowIdsListener,S as useStore,_ as useTable,ee as useTableCellIds,Se as useTableCellIdsListener,$ as useTableIds,Pe as useTableIdsListener,xe as useTableListener,Z as useTables,qe as useTablesListener,Co as useUndoInformation,Ie as useValue,le as useValueIds,Ae as useValueIdsListener,Ee as useValueListener,ne as useValues,Ve as useValuesListener};
Binary file
package/lib/umd/store.js CHANGED
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),r=t(0),l=t(t),o="type",i="default",c="Ids",d="Table",u=d+"s",f=d+c,h="Row"+c,T="Cell",g=T+c,b="Value",V=b+"s",S=b+c,v=e=>s+e,y=(e,t)=>e.forEach(t),p=(e,t)=>e.map(t),w=e=>e.length,m=(e,t,s)=>e.slice(t,s),R=(e,...t)=>e.push(...t),J=e=>JSON.stringify(e,((e,t)=>{return L(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),n={},[...t].reduce(s,n)):t;var s,n})),C=JSON.parse,I=isFinite,L=(e,t)=>e instanceof t,E=e=>null==e,F=(e,t,s)=>E(e)?s?.():t(e),x=e=>e==n||e==a,z=e=>t(e)==l,O=(e,t)=>e?.has(t)??!1,j=e=>E(e)||0==(e=>e.size)(e),k=e=>e.clear(),A=(e,t)=>e?.forEach(t),M=(e,t)=>e?.delete(t),N=e=>new Map(e),P=e=>[...e?.keys()??[]],B=(e,t)=>e?.get(t),D=(e,t)=>A(e,((e,s)=>t(s,e))),W=(e,t,s)=>E(s)?(M(e,t),e):e?.set(t,s),$=(e,t,s)=>(O(e,t)||W(e,t,s()),B(e,t)),q=(e,t,s)=>{const n={},a=t??(e=>e);return A(e,((e,t)=>F(a(e),(e=>s?.(e)?0:n[t]=e)))),n},G=(e,t)=>{const s=N(),n=t??(e=>e);return A(e,((e,t)=>s.set(t,n(e)))),s},H=e=>G(e,G),K=(e,t,s,n,a=0)=>F((s?$:B)(e,t[a],a>w(t)-2?s:N),(r=>{if(a>w(t)-2)return n?.(r)&&W(e,t[a]),r;const l=K(r,t,s,n,a+1);return j(r)&&W(e,t[a]),l})),Q=e=>new Set(Array.isArray(e)||E(e)?e:[e]),U=(e,t)=>e?.add(t),X=/^\d+$/,Y=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{X.test(t)&&w(e)<1e3&&R(e,t)}]},Z=Object,_=Z.keys,ee=Z.isFrozen,te=Z.freeze,se=e=>L(e,Z)&&e.constructor==Z,ne=(e,t)=>!E(((e,t)=>F(e,(e=>e[t])))(e,t)),ae=(e,t)=>delete e[t],re=(e,t)=>p(Z.entries(e),(([e,s])=>t(s,e))),le=e=>{return se(e)&&(t=_(e),0==w(t));var t},oe=e=>[e,e],ie=()=>[N(),N()],ce=e=>{const s=t(e);return x(s)||s==r&&I(e)?s:void 0},de=(e,t,s,n=W)=>(re(t,((t,n)=>s(e,n,t))),D(e,(s=>ne(t,s)?0:n(e,s))),e),ue=(e,t,s)=>E(e)||!se(e)||le(e)||ee(e)?(s?.(),!1):(re(e,((s,n)=>{t(s,n)||ae(e,n)})),!le(e)),fe=(e,t,s)=>W(e,t,B(e,t)==-s?void 0:s),he=()=>{let e,t,n,a,l=0;const c=N(),I=N(),L=N(),X=N(),Z=N(),_=N(),ee=N(),se=N(),Te=N(),ge=N(),be=N(),Ve=N(),Se=Q(),ve=N(),ye=N(),pe=N(),we=ie(),me=ie(),Re=ie(),Je=ie(),Ce=ie(),Ie=ie(),Le=ie(),Ee=ie(),Fe=ie(),xe=ie(),ze=ie(),Oe=ie(),je=ie(),ke=N(),Ae=ie(),[Me,Ne,Pe,Be]=(e=>{let t;const[n,a]=Y(),r=N();return[(e,a,l,o=[],i=(()=>[]))=>{t??=Ut;const c=n(1);return W(r,c,[e,a,l,o,i]),U(K(a,l??[s],Q),c),c},(e,n,...a)=>y(((e,t=[s])=>{const n=[],a=(e,s)=>s==w(t)?R(n,e):null===t[s]?A(e,(e=>a(e,s+1))):y([t[s],null],(t=>a(B(e,t),s+1)));return a(e,0),n})(e,n),(e=>A(e,(e=>B(r,e)[0](t,...n??[],...a))))),e=>F(B(r,e),(([,t,n])=>(K(t,n??[s],void 0,(t=>(M(t,e),j(t)?1:0))),W(r,e),a(e),n))),e=>F(B(r,e),(([e,,s=[],n,a])=>{const r=(...l)=>{const o=w(l);o==w(s)?e(t,...l,...a(l)):E(s[o])?y(n[o]?.(...l)??[],(e=>r(...l,e))):r(...l,s[o])};r()}))]})(),De=e=>{if(!ue(e,((e,t)=>[o,i].includes(t))))return!1;const t=e[o];return!(!x(t)&&t!=r||(ce(e[i])!=t&&ae(e,i),0))},We=(t,s)=>(!e||O(Te,s)||St(s))&&ue(t,((e,t)=>$e(s,t,e)),(()=>St(s))),$e=(e,t,s,n)=>ue(n?s:Ke(s,e,t),((n,a)=>F(qe(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>St(e,t))),qe=(t,s,n,a)=>e?F(B(B(Te,t),n),(e=>ce(a)!=e[o]?St(t,s,n,a,e[i]):a),(()=>St(t,s,n,a))):E(ce(a))?St(t,s,n,a):a,Ge=(e,t)=>ue(t?e:Qe(e),((t,s)=>F(He(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>vt())),He=(e,s)=>t?F(B(be,e),(t=>ce(s)!=t[o]?vt(e,s,t[i]):s),(()=>vt(e,s))):E(ce(s))?vt(e,s):s,Ke=(e,t,s)=>(F(B(ge,t),(([n,a])=>{A(n,((t,s)=>{ne(e,s)||(e[s]=t)})),A(a,(n=>{ne(e,n)||St(t,s,n)}))})),e),Qe=e=>(t&&(A(Ve,((t,s)=>{ne(e,s)||(e[s]=t)})),A(Se,(t=>{ne(e,t)||vt(t)}))),e),Ue=e=>de(Te,e,((e,t,s)=>{const n=N(),a=Q();de($(Te,t,N),s,((e,t,s)=>{W(e,t,s),F(s[i],(e=>W(n,t,e)),(()=>U(a,t)))})),W(ge,t,[n,a])}),((e,t)=>{W(Te,t),W(ge,t)})),Xe=e=>de(be,e,((e,t,s)=>{W(be,t,s),F(s[i],(e=>W(Ve,t,e)),(()=>U(Se,t)))}),((e,t)=>{W(be,t),W(Ve,t),M(Se,t)})),Ye=e=>le(e)?Wt():Mt(e),Ze=e=>de(ye,e,((e,t,s)=>_e(t,s)),((e,t)=>it(t))),_e=(e,t)=>de($(ye,e,(()=>(ft(e,1),N()))),t,((t,s,n)=>et(e,t,s,n)),((t,s)=>ct(e,t,s))),et=(e,t,s,n,a)=>de($(t,s,(()=>(ht(e,s,1),N()))),n,((t,n,a)=>tt(e,s,t,n,a)),((n,r)=>dt(e,t,s,n,r,a))),tt=(e,t,s,n,a)=>{O(s,n)||Tt(e,t,n,1);const r=B(s,n);a!==r&&(gt(e,t,n,r,a),W(s,n,a))},st=(e,t,s,n,a)=>F(B(t,s),(t=>tt(e,s,t,n,a)),(()=>et(e,t,s,Ke({[n]:a},e,s)))),nt=e=>le(e)?$t():Nt(e),at=e=>de(pe,e,((e,t,s)=>rt(t,s)),((e,t)=>ut(t))),rt=(e,t)=>{O(pe,e)||bt(e,1);const s=B(pe,e);t!==s&&(Vt(e,s,t),W(pe,e,t))},lt=(e,t)=>{const[s]=$(ve,e,Y),n=s(t);return O(B(ye,e),n)?lt(e,t):n},ot=e=>B(ye,e)??_e(e,{}),it=e=>_e(e,{}),ct=(e,t,s)=>{const[,n]=$(ve,e,Y);n(s),et(e,t,s,{},!0)},dt=(e,t,s,n,a,r)=>{const l=B(B(ge,e)?.[0],a);if(!E(l)&&!r)return tt(e,s,n,a,l);const o=t=>{gt(e,s,t,B(n,t)),Tt(e,s,t,-1),W(n,t)};E(l)?o(a):D(n,o),j(n)&&(ht(e,s,-1),j(W(t,s))&&(ft(e,-1),W(ye,e),W(ve,e)))},ut=e=>{const t=B(Ve,e);if(!E(t))return rt(e,t);Vt(e,B(pe,e)),bt(e,-1),W(pe,e)},ft=(e,t)=>fe(c,e,t),ht=(e,t,s)=>fe($(I,e,N),t,s),Tt=(e,t,s,n)=>fe($($(L,e,N),t,N),s,n),gt=(e,t,s,n,a)=>$($($(X,e,N),t,N),s,(()=>[n,0]))[1]=a,bt=(e,t)=>fe(Z,e,t),Vt=(e,t,s)=>$(_,e,(()=>[t,0]))[1]=s,St=(e,t,s,n,a)=>(R($($($(ee,e,N),t,N),s,(()=>[])),n),a),vt=(e,t,s)=>(R($(se,e,(()=>[])),t),s),yt=(e,t,s)=>F(B(B(B(X,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...oe(Ot(e,t,s))])),pt=e=>F(B(_,e),(([e,t])=>[!0,e,t]),(()=>[!1,...oe(At(e))])),wt=e=>j(ee)||j(Fe[e])?0:A(e?G(ee,H):ee,((t,s)=>A(t,((t,n)=>A(t,((t,a)=>Ne(Fe[e],[s,n,a],t))))))),mt=e=>j(se)||j(xe[e])?0:A(e?G(se):se,((t,s)=>Ne(xe[e],[s],t))),Rt=(e,t,s)=>{if(!j(t))return Ne(e,s),1},Jt=e=>{const t=j(Ce[e]),s=j(Le[e])&&j(Je[e])&&t&&j(me[e]),n=j(Ee[e])&&j(Ie[e])&&j(Re[e])&&j(we[e]);if(!s||!n){const a=e?[G(c),H(I),G(L,H),G(X,H)]:[c,I,L,X];if(!s){A(a[2],((t,s)=>A(t,((t,n)=>Rt(Le[e],t,[s,n])))));const s=Q();A(a[1],((n,a)=>{Rt(Je[e],n,[a])&&!t&&(Ne(Ce[e],[a,null]),U(s,a))})),t||A(a[3],((t,n)=>{if(!O(s,n)){const s=Q();A(t,(e=>A(e,(([t,n],a)=>n!==t?U(s,a):M(e,a))))),A(s,(t=>Ne(Ce[e],[n,t])))}})),Rt(me[e],a[0])}if(!n){let t;A(a[3],((s,n)=>{let a;A(s,((s,r)=>{let l;A(s,(([s,o],i)=>{o!==s&&(Ne(Ee[e],[n,r,i],o,s,yt),t=a=l=1)})),l&&Ne(Ie[e],[n,r],yt)})),a&&Ne(Re[e],[n],yt)})),t&&Ne(we[e],void 0,yt)}}},Ct=e=>{const t=j(Oe[e]),s=j(je[e])&&j(ze[e]);if(!t||!s){const n=e?[G(Z),G(_)]:[Z,_];if(t||Rt(Oe[e],n[0]),!s){let t;A(n[1],(([s,n],a)=>{n!==s&&(Ne(je[e],[a],n,s,pt),t=1)})),t&&Ne(ze[e],void 0,pt)}}},It=(e,...t)=>(Ht((()=>e(...p(t,v)))),Ut),Lt=()=>q(ye,(e=>q(e,q))),Et=()=>P(ye),Ft=e=>P(B(ye,v(e))),xt=(e,t,s,n=0,a)=>{return p(m((l=B(ye,v(e)),o=(e,s)=>[E(t)?s:B(e,v(t)),s],r=([e],[t])=>(e<t?-1:1)*(s?-1:1),p([...l?.entries()??[]],(([e,t])=>o(t,e))).sort(r)),n,E(a)?a:n+a),(([,e])=>e));var r,l,o},zt=(e,t)=>P(B(B(ye,v(e)),v(t))),Ot=(e,t,s)=>B(B(B(ye,v(e)),v(t)),v(s)),jt=()=>q(pe),kt=()=>P(pe),At=e=>B(pe,v(e)),Mt=e=>It((()=>(e=>ue(e,We,St))(e)?Ze(e):0)),Nt=e=>It((()=>Ge(e)?at(e):0)),Pt=e=>{try{Ye(C(e))}catch{}return Ut},Bt=t=>It((()=>{if((e=ue(t,(e=>ue(e,De))))&&(Ue(t),!j(ye))){const e=Lt();Wt(),Mt(e)}})),Dt=e=>It((()=>{if(t=(e=>ue(e,De))(e)){const s=jt();Gt(),$t(),t=!0,Xe(e),Nt(s)}})),Wt=()=>It((()=>Ze({}))),$t=()=>It((()=>at({}))),qt=()=>It((()=>{Ue({}),e=!1})),Gt=()=>It((()=>{Xe({}),t=!1})),Ht=(e,t)=>{if(-1!=l){Kt();const s=e();return Qt(t),s}},Kt=()=>(-1!=l&&l++,1==l&&Ne(ke,void 0,!1,!1),Ut),Qt=e=>(l>0&&(l--,0==l&&(n=!j(X),a=!j(_),l=1,wt(1),n&&Jt(1),mt(1),a&&Ct(1),e?.(q(X,(e=>q(e,(e=>q(e,(e=>[...e]),(([e,t])=>e===t))),le)),le),q(ee,(e=>q(e,q))),q(_,(e=>[...e]),(([e,t])=>e===t)),q(se))&&(A(X,((e,t)=>A(e,((e,s)=>A(e,(([e],n)=>((e,t,s,n,a)=>E(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a))(Ut,t,s,n,e))))))),A(_,(([e],t)=>((e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s))(Ut,t,e))),n=a=!1),Ne(Ae[0],void 0,n,a),l=-1,wt(0),n&&Jt(0),mt(0),a&&Ct(0),Ne(Ae[1],void 0,n,a),l=0,y([c,I,L,X,ee,Z,_,se],k))),Ut),Ut={getTables:Lt,getTableIds:Et,getTable:e=>q(B(ye,v(e)),q),getRowIds:Ft,getSortedRowIds:xt,getRow:(e,t)=>q(B(B(ye,v(e)),v(t))),getCellIds:zt,getCell:Ot,getValues:jt,getValueIds:kt,getValue:At,hasTables:()=>!j(ye),hasTable:e=>O(ye,v(e)),hasRow:(e,t)=>O(B(ye,v(e)),v(t)),hasCell:(e,t,s)=>O(B(B(ye,v(e)),v(t)),v(s)),hasValues:()=>!j(pe),hasValue:e=>O(pe,v(e)),getTablesJson:()=>J(ye),getValuesJson:()=>J(pe),getJson:()=>J([ye,pe]),getTablesSchemaJson:()=>J(Te),getValuesSchemaJson:()=>J(be),getSchemaJson:()=>J([Te,be]),setTables:Mt,setTable:(e,t)=>It((e=>We(t,e)?_e(e,t):0),e),setRow:(e,t,s)=>It(((e,t)=>$e(e,t,s)?et(e,ot(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ht((()=>{let n;return $e(e,n,t)&&(e=v(e),et(e,ot(e),n=lt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>It(((e,t)=>{if($e(e,t,s,1)){const n=ot(e);re(s,((s,a)=>st(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>It(((e,t,s)=>F(qe(e,t,s,z(n)?n(Ot(e,t,s)):n),(n=>st(e,ot(e),t,s,n)))),e,t,s),setValues:Nt,setPartialValues:e=>It((()=>Ge(e,1)?re(e,((e,t)=>rt(t,e))):0)),setValue:(e,t)=>It((e=>F(He(e,z(t)?t(At(e)):t),(t=>rt(e,t)))),e),setTablesJson:Pt,setValuesJson:e=>{try{nt(C(e))}catch{}return Ut},setJson:e=>{try{const[t,s]=C(e);Ye(t),nt(s)}catch{Pt(e)}return Ut},setTablesSchema:Bt,setValuesSchema:Dt,setSchema:(e,t)=>It((()=>{Bt(e),Dt(t)})),delTables:Wt,delTable:e=>It((e=>O(ye,e)?it(e):0),e),delRow:(e,t)=>It(((e,t)=>F(B(ye,e),(s=>O(s,t)?ct(e,s,t):0))),e,t),delCell:(e,t,s,n)=>It(((e,t,s)=>F(B(ye,e),(a=>F(B(a,t),(r=>O(r,s)?dt(e,a,t,r,s,n):0))))),e,t,s),delValues:$t,delValue:e=>It((e=>O(pe,e)?ut(e):0),e),delTablesSchema:qt,delValuesSchema:Gt,delSchema:()=>It((()=>{qt(),Gt()})),transaction:Ht,startTransaction:Kt,finishTransaction:Qt,forEachTable:e=>A(ye,((t,s)=>e(s,(e=>A(t,((t,s)=>e(s,(e=>D(t,e))))))))),forEachRow:(e,t)=>A(B(ye,v(e)),((e,s)=>t(s,(t=>D(e,t))))),forEachCell:(e,t,s)=>D(B(B(ye,v(e)),v(t)),s),forEachValue:e=>D(pe,e),addSortedRowIdsListener:(e,t,s,n,a,r,l)=>{let o=xt(e,t,s,n,a);return Me((()=>{const l=xt(e,t,s,n,a);var i,c,d;c=o,w(i=l)===w(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(o=l,r(Ut,e,t,s,n,a,o))}),Ce[l?1:0],[e,t],[Et])},addStartTransactionListener:e=>Me(e,ke),addWillFinishTransactionListener:e=>Me(e,Ae[0]),addDidFinishTransactionListener:e=>Me(e,Ae[1]),callListener:e=>(Be(e),Ut),delListener:e=>(Pe(e),Ut),getListenerStats:()=>({}),createStore:he};return re({[u]:[0,we],[f]:[0,me],[d]:[1,Re,[Et]],[h]:[1,Je,[Et]],Row:[2,Ie,[Et,Ft]],[g]:[2,Le,[Et,Ft]],[T]:[3,Ee,[Et,Ft,zt],e=>oe(Ot(...e))],InvalidCell:[3,Fe],[V]:[0,ze],[S]:[0,Oe],[b]:[1,je,[kt],e=>oe(At(e[0]))],InvalidValue:[1,xe]},(([e,t,s,n],a)=>{Ut["add"+a+"Listener"]=(...a)=>Me(a[e],t[a[e+1]?1:0],e>0?m(a,0,e):void 0,s,n)})),te(Ut)};e.createStore=he},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),l=t(!0),a=t(0),r=t(t),o="type",c="default",i="Ids",d="Table",u=d+"s",f=d+i,h="Row"+i,T="Cell",g=T+i,b="Value",V=b+"s",S=b+i,v=e=>s+e,y=(e,t)=>e.forEach(t),p=(e,t)=>e.map(t),w=e=>e.length,C=(e,t,s)=>e.slice(t,s),m=(e,...t)=>e.push(...t),R=e=>JSON.stringify(e,((e,t)=>{return L(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),n={},[...t].reduce(s,n)):t;var s,n})),J=JSON.parse,I=isFinite,L=(e,t)=>e instanceof t,E=e=>null==e,F=(e,t,s)=>E(e)?s?.():t(e),x=e=>e==n||e==l,z=e=>t(e)==r,O=(e,t)=>e?.has(t)??!1,j=e=>E(e)||0==(e=>e.size)(e),k=e=>e.clear(),A=(e,t)=>e?.forEach(t),M=(e,t)=>e?.delete(t),N=e=>new Map(e),P=e=>[...e?.keys()??[]],B=(e,t)=>e?.get(t),D=(e,t)=>A(e,((e,s)=>t(s,e))),W=(e,t,s)=>E(s)?(M(e,t),e):e?.set(t,s),$=(e,t,s)=>(O(e,t)||W(e,t,s()),B(e,t)),q=(e,t,s)=>{const n={},l=t??(e=>e);return A(e,((e,t)=>F(l(e),(e=>s?.(e)?0:n[t]=e)))),n},G=(e,t)=>{const s=N(),n=t??(e=>e);return A(e,((e,t)=>s.set(t,n(e)))),s},H=e=>G(e,G),K=(e,t,s,n,l=0)=>F((s?$:B)(e,t[l],l>w(t)-2?s:N),(a=>{if(l>w(t)-2)return n?.(a)&&W(e,t[l]),a;const r=K(a,t,s,n,l+1);return j(a)&&W(e,t[l]),r})),Q=e=>new Set(Array.isArray(e)||E(e)?e:[e]),U=(e,t)=>e?.add(t),X=/^\d+$/,Y=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{X.test(t)&&w(e)<1e3&&m(e,t)}]},Z=Object,_=Z.keys,ee=Z.isFrozen,te=Z.freeze,se=e=>L(e,Z)&&e.constructor==Z,ne=(e,t)=>!E(((e,t)=>F(e,(e=>e[t])))(e,t)),le=(e,t)=>delete e[t],ae=(e,t)=>p(Z.entries(e),(([e,s])=>t(s,e))),re=e=>{return se(e)&&(t=_(e),0==w(t));var t},oe=e=>[e,e],ce=()=>[N(),N()],ie=e=>{const s=t(e);return x(s)||s==a&&I(e)?s:void 0},de=(e,t,s,n=W)=>(ae(t,((t,n)=>s(e,n,t))),D(e,(s=>ne(t,s)?0:n(e,s))),e),ue=(e,t,s)=>E(e)||!se(e)||re(e)||ee(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||le(e,n)})),!re(e)),fe=(e,t,s)=>W(e,t,B(e,t)==-s?void 0:s),he=()=>{let e,t,n,l,r=0;const i=N(),I=N(),L=N(),X=N(),Z=N(),_=N(),ee=N(),se=N(),Te=N(),ge=N(),be=N(),Ve=N(),Se=N(),ve=Q(),ye=N(),pe=N(),we=N(),Ce=N(),me=ce(),Re=ce(),Je=ce(),Ie=ce(),Le=ce(),Ee=ce(),Fe=ce(),xe=ce(),ze=ce(),Oe=ce(),je=ce(),ke=ce(),Ae=ce(),Me=ce(),Ne=N(),Pe=ce(),[Be,De,We,$e]=(e=>{let t;const[n,l]=Y(),a=N();return[(e,l,r,o=[],c=(()=>[]))=>{t??=Zt;const i=n(1);return W(a,i,[e,l,r,o,c]),U(K(l,r??[s],Q),i),i},(e,n,...l)=>y(((e,t=[s])=>{const n=[],l=(e,s)=>s==w(t)?m(n,e):null===t[s]?A(e,(e=>l(e,s+1))):y([t[s],null],(t=>l(B(e,t),s+1)));return l(e,0),n})(e,n),(e=>A(e,(e=>B(a,e)[0](t,...n??[],...l))))),e=>F(B(a,e),(([,t,n])=>(K(t,n??[s],void 0,(t=>(M(t,e),j(t)?1:0))),W(a,e),l(e),n))),e=>F(B(a,e),(([e,,s=[],n,l])=>{const a=(...r)=>{const o=w(r);o==w(s)?e(t,...r,...l(r)):E(s[o])?y(n[o]?.(...r)??[],(e=>a(...r,e))):a(...r,s[o])};a()}))]})(),qe=e=>{if(!ue(e,((e,t)=>[o,c].includes(t))))return!1;const t=e[o];return!(!x(t)&&t!=a||(ie(e[c])!=t&&le(e,c),0))},Ge=(t,s)=>(!e||O(ge,s)||pt(s))&&ue(t,((e,t)=>He(s,t,e)),(()=>pt(s))),He=(e,t,s,n)=>ue(n?s:Xe(s,e,t),((n,l)=>F(Ke(e,t,l,n),(e=>(s[l]=e,!0)),(()=>!1))),(()=>pt(e,t))),Ke=(t,s,n,l)=>e?F(B(B(ge,t),n),(e=>ie(l)!=e[o]?pt(t,s,n,l,e[c]):l),(()=>pt(t,s,n,l))):E(ie(l))?pt(t,s,n,l):l,Qe=(e,t)=>ue(t?e:Ye(e),((t,s)=>F(Ue(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>wt())),Ue=(e,s)=>t?F(B(Ve,e),(t=>ie(s)!=t[o]?wt(e,s,t[c]):s),(()=>wt(e,s))):E(ie(s))?wt(e,s):s,Xe=(e,t,s)=>(F(B(be,t),(([n,l])=>{A(n,((t,s)=>{ne(e,s)||(e[s]=t)})),A(l,(n=>{ne(e,n)||pt(t,s,n)}))})),e),Ye=e=>(t&&(A(Se,((t,s)=>{ne(e,s)||(e[s]=t)})),A(ve,(t=>{ne(e,t)||wt(t)}))),e),Ze=e=>de(ge,e,((e,t,s)=>{const n=N(),l=Q();de($(ge,t,N),s,((e,t,s)=>{W(e,t,s),F(s[c],(e=>W(n,t,e)),(()=>U(l,t)))})),W(be,t,[n,l])}),((e,t)=>{W(ge,t),W(be,t)})),_e=e=>de(Ve,e,((e,t,s)=>{W(Ve,t,s),F(s[c],(e=>W(Se,t,e)),(()=>U(ve,t)))}),((e,t)=>{W(Ve,t),W(Se,t),M(ve,t)})),et=e=>re(e)?Gt():Bt(e),tt=e=>de(we,e,((e,t,s)=>st(t,s)),((e,t)=>ut(t))),st=(e,t)=>de($(we,e,(()=>(gt(e,1),W(ye,e,Y()),W(pe,e,N()),N()))),t,((t,s,n)=>nt(e,t,s,n)),((t,s)=>ft(e,t,s))),nt=(e,t,s,n,l)=>de($(t,s,(()=>(bt(e,s,1),N()))),n,((t,n,l)=>lt(e,s,t,n,l)),((n,a)=>ht(e,t,s,n,a,l))),lt=(e,t,s,n,l)=>{O(s,n)||Vt(e,t,n,1);const a=B(s,n);l!==a&&(St(e,t,n,a,l),W(s,n,l))},at=(e,t,s,n,l)=>F(B(t,s),(t=>lt(e,s,t,n,l)),(()=>nt(e,t,s,Xe({[n]:l},e,s)))),rt=e=>re(e)?Ht():Dt(e),ot=e=>de(Ce,e,((e,t,s)=>ct(t,s)),((e,t)=>Tt(t))),ct=(e,t)=>{O(Ce,e)||vt(e,1);const s=B(Ce,e);t!==s&&(yt(e,s,t),W(Ce,e,t))},it=(e,t)=>{const[s]=B(ye,e),n=s(t);return O(B(we,e),n)?it(e,t):n},dt=e=>B(we,e)??st(e,{}),ut=e=>st(e,{}),ft=(e,t,s)=>{const[,n]=B(ye,e);n(s),nt(e,t,s,{},!0)},ht=(e,t,s,n,l,a)=>{const r=B(B(be,e)?.[0],l);if(!E(r)&&!a)return lt(e,s,n,l,r);const o=t=>{St(e,s,t,B(n,t)),Vt(e,s,t,-1),W(n,t)};E(r)?o(l):D(n,o),j(n)&&(bt(e,s,-1),j(W(t,s))&&(gt(e,-1),W(we,e),W(ye,e),W(pe,e)))},Tt=e=>{const t=B(Se,e);if(!E(t))return ct(e,t);yt(e,B(Ce,e)),vt(e,-1),W(Ce,e)},gt=(e,t)=>fe(i,e,t),bt=(e,t,s)=>fe($(L,e,N),t,s),Vt=(e,t,s,n)=>{const l=B(pe,e),a=B(l,s)??0;(0==a&&1==n||1==a&&-1==n)&&fe($(I,e,N),s,n),W(l,s,a!=-n?a+n:null),fe($($(X,e,N),t,N),s,n)},St=(e,t,s,n,l)=>$($($(Z,e,N),t,N),s,(()=>[n,0]))[1]=l,vt=(e,t)=>fe(_,e,t),yt=(e,t,s)=>$(ee,e,(()=>[t,0]))[1]=s,pt=(e,t,s,n,l)=>(m($($($(se,e,N),t,N),s,(()=>[])),n),l),wt=(e,t,s)=>(m($(Te,e,(()=>[])),t),s),Ct=(e,t,s)=>F(B(B(B(Z,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...oe(At(e,t,s))])),mt=e=>F(B(ee,e),(([e,t])=>[!0,e,t]),(()=>[!1,...oe(Pt(e))])),Rt=e=>j(se)||j(Oe[e])?0:A(e?G(se,H):se,((t,s)=>A(t,((t,n)=>A(t,((t,l)=>De(Oe[e],[s,n,l],t))))))),Jt=e=>j(Te)||j(je[e])?0:A(e?G(Te):Te,((t,s)=>De(je[e],[s],t))),It=(e,t,s)=>{if(!j(t))return De(e,s,(()=>q(t))),1},Lt=e=>{const t=j(Ee[e]),s=j(xe[e])&&j(Ie[e])&&j(Le[e])&&t&&j(Re[e]),n=j(ze[e])&&j(Fe[e])&&j(Je[e])&&j(me[e]);if(!s||!n){const l=e?[G(i),H(I),H(L),G(X,H),G(Z,H)]:[i,I,L,X,Z];if(!s){A(l[1],((t,s)=>It(Ie[e],t,[s]))),A(l[3],((t,s)=>A(t,((t,n)=>It(xe[e],t,[s,n])))));const s=Q();A(l[2],((n,l)=>{It(Le[e],n,[l])&&!t&&(De(Ee[e],[l,null]),U(s,l))})),t||A(l[4],((t,n)=>{if(!O(s,n)){const s=Q();A(t,(e=>A(e,(([t,n],l)=>n!==t?U(s,l):M(e,l))))),A(s,(t=>De(Ee[e],[n,t])))}})),It(Re[e],l[0])}if(!n){let t;A(l[4],((s,n)=>{let l;A(s,((s,a)=>{let r;A(s,(([s,o],c)=>{o!==s&&(De(ze[e],[n,a,c],o,s,Ct),t=l=r=1)})),r&&De(Fe[e],[n,a],Ct)})),l&&De(Je[e],[n],Ct)})),t&&De(me[e],void 0,Ct)}}},Et=e=>{const t=j(Ae[e]),s=j(Me[e])&&j(ke[e]);if(!t||!s){const n=e?[G(_),G(ee)]:[_,ee];if(t||It(Ae[e],n[0]),!s){let t;A(n[1],(([s,n],l)=>{n!==s&&(De(Me[e],[l],n,s,mt),t=1)})),t&&De(ke[e],void 0,mt)}}},Ft=(e,...t)=>(Ut((()=>e(...p(t,v)))),Zt),xt=()=>q(we,(e=>q(e,q))),zt=()=>P(we),Ot=e=>P(B(we,v(e))),jt=(e,t,s,n=0,l)=>{return p(C((r=B(we,v(e)),o=(e,s)=>[E(t)?s:B(e,v(t)),s],a=([e],[t])=>(e<t?-1:1)*(s?-1:1),p([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),n,E(l)?l:n+l),(([,e])=>e));var a,r,o},kt=(e,t)=>P(B(B(we,v(e)),v(t))),At=(e,t,s)=>B(B(B(we,v(e)),v(t)),v(s)),Mt=()=>q(Ce),Nt=()=>P(Ce),Pt=e=>B(Ce,v(e)),Bt=e=>Ft((()=>(e=>ue(e,Ge,pt))(e)?tt(e):0)),Dt=e=>Ft((()=>Qe(e)?ot(e):0)),Wt=e=>{try{et(J(e))}catch{}return Zt},$t=t=>Ft((()=>{if((e=ue(t,(e=>ue(e,qe))))&&(Ze(t),!j(we))){const e=xt();Gt(),Bt(e)}})),qt=e=>Ft((()=>{if(t=(e=>ue(e,qe))(e)){const s=Mt();Qt(),Ht(),t=!0,_e(e),Dt(s)}})),Gt=()=>Ft((()=>tt({}))),Ht=()=>Ft((()=>ot({}))),Kt=()=>Ft((()=>{Ze({}),e=!1})),Qt=()=>Ft((()=>{_e({}),t=!1})),Ut=(e,t)=>{if(-1!=r){Xt();const s=e();return Yt(t),s}},Xt=()=>(-1!=r&&r++,1==r&&De(Ne,void 0,!1,!1),Zt),Yt=e=>(r>0&&(r--,0==r&&(n=!j(Z),l=!j(ee),r=1,Rt(1),n&&Lt(1),Jt(1),l&&Et(1),e?.(q(Z,(e=>q(e,(e=>q(e,(e=>[...e]),(([e,t])=>e===t))),re)),re),q(se,(e=>q(e,q))),q(ee,(e=>[...e]),(([e,t])=>e===t)),q(Te))&&(A(Z,((e,t)=>A(e,((e,s)=>A(e,(([e],n)=>((e,t,s,n,l)=>E(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l))(Zt,t,s,n,e))))))),A(ee,(([e],t)=>((e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s))(Zt,t,e))),n=l=!1),De(Pe[0],void 0,n,l),r=-1,Rt(0),n&&Lt(0),Jt(0),l&&Et(0),De(Pe[1],void 0,n,l),r=0,y([i,I,L,X,Z,se,_,ee,Te],k))),Zt),Zt={getTables:xt,getTableIds:zt,getTable:e=>q(B(we,v(e)),q),getTableCellIds:e=>P(B(pe,v(e))),getRowIds:Ot,getSortedRowIds:jt,getRow:(e,t)=>q(B(B(we,v(e)),v(t))),getCellIds:kt,getCell:At,getValues:Mt,getValueIds:Nt,getValue:Pt,hasTables:()=>!j(we),hasTable:e=>O(we,v(e)),hasTableCell:(e,t)=>O(B(pe,v(e)),v(t)),hasRow:(e,t)=>O(B(we,v(e)),v(t)),hasCell:(e,t,s)=>O(B(B(we,v(e)),v(t)),v(s)),hasValues:()=>!j(Ce),hasValue:e=>O(Ce,v(e)),getTablesJson:()=>R(we),getValuesJson:()=>R(Ce),getJson:()=>R([we,Ce]),getTablesSchemaJson:()=>R(ge),getValuesSchemaJson:()=>R(Ve),getSchemaJson:()=>R([ge,Ve]),setTables:Bt,setTable:(e,t)=>Ft((e=>Ge(t,e)?st(e,t):0),e),setRow:(e,t,s)=>Ft(((e,t)=>He(e,t,s)?nt(e,dt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ut((()=>{let n;return He(e,n,t)&&(e=v(e),nt(e,dt(e),n=it(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Ft(((e,t)=>{if(He(e,t,s,1)){const n=dt(e);ae(s,((s,l)=>at(e,n,t,l,s)))}}),e,t),setCell:(e,t,s,n)=>Ft(((e,t,s)=>F(Ke(e,t,s,z(n)?n(At(e,t,s)):n),(n=>at(e,dt(e),t,s,n)))),e,t,s),setValues:Dt,setPartialValues:e=>Ft((()=>Qe(e,1)?ae(e,((e,t)=>ct(t,e))):0)),setValue:(e,t)=>Ft((e=>F(Ue(e,z(t)?t(Pt(e)):t),(t=>ct(e,t)))),e),setTablesJson:Wt,setValuesJson:e=>{try{rt(J(e))}catch{}return Zt},setJson:e=>{try{const[t,s]=J(e);et(t),rt(s)}catch{Wt(e)}return Zt},setTablesSchema:$t,setValuesSchema:qt,setSchema:(e,t)=>Ft((()=>{$t(e),qt(t)})),delTables:Gt,delTable:e=>Ft((e=>O(we,e)?ut(e):0),e),delRow:(e,t)=>Ft(((e,t)=>F(B(we,e),(s=>O(s,t)?ft(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Ft(((e,t,s)=>F(B(we,e),(l=>F(B(l,t),(a=>O(a,s)?ht(e,l,t,a,s,n):0))))),e,t,s),delValues:Ht,delValue:e=>Ft((e=>O(Ce,e)?Tt(e):0),e),delTablesSchema:Kt,delValuesSchema:Qt,delSchema:()=>Ft((()=>{Kt(),Qt()})),transaction:Ut,startTransaction:Xt,finishTransaction:Yt,forEachTable:e=>A(we,((t,s)=>e(s,(e=>A(t,((t,s)=>e(s,(e=>D(t,e))))))))),forEachTableCell:(e,t)=>D(B(pe,v(e)),t),forEachRow:(e,t)=>A(B(we,v(e)),((e,s)=>t(s,(t=>D(e,t))))),forEachCell:(e,t,s)=>D(B(B(we,v(e)),v(t)),s),forEachValue:e=>D(Ce,e),addSortedRowIdsListener:(e,t,s,n,l,a,r)=>{let o=jt(e,t,s,n,l);return Be((()=>{const r=jt(e,t,s,n,l);var c,i,d;i=o,w(c=r)===w(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,a(Zt,e,t,s,n,l,o))}),Ee[r?1:0],[e,t],[zt])},addStartTransactionListener:e=>Be(e,Ne),addWillFinishTransactionListener:e=>Be(e,Pe[0]),addDidFinishTransactionListener:e=>Be(e,Pe[1]),callListener:e=>($e(e),Zt),delListener:e=>(We(e),Zt),getListenerStats:()=>({}),createStore:he};return ae({[u]:[0,me],[f]:[0,Re],[d]:[1,Je,[zt]],[d+g]:[1,Ie,[zt]],[h]:[1,Le,[zt]],Row:[2,Fe,[zt,Ot]],[g]:[2,xe,[zt,Ot]],[T]:[3,ze,[zt,Ot,kt],e=>oe(At(...e))],InvalidCell:[3,Oe],[V]:[0,ke],[S]:[0,Ae],[b]:[1,Me,[Nt],e=>oe(Pt(e[0]))],InvalidValue:[1,je]},(([e,t,s,n],l)=>{Zt["add"+l+"Listener"]=(...l)=>Be(l[e],t[l[e+1]?1:0],e>0?C(l,0,e):void 0,s,n)})),te(Zt)};e.createStore=he},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
Binary file
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e,t){"use strict";const s=e=>typeof e,n="",o=s(n),r=s(!0),a=s(0),i=s(s),l="type",c="default",d="utf8",u="Listener",h="Result",f="add",g="Ids",L="Table",w=L+"s",v=L+g,S="Row",p=S+g,R="Sorted"+S+g,y="Cell",T=y+g,I="Value",b=I+"s",m=I+g,C=e=>n+e,V=(e,t)=>e.includes(t),E=(e,t)=>e.every(t),k=(e,t)=>F(e)===F(t)&&E(e,((e,s)=>t[s]===e)),J=(e,t)=>E(e,((s,n)=>0==n||t(e[n-1],s)<=0)),M=(e,t)=>e.sort(t),x=(e,t)=>e.forEach(t),A=(e,t)=>e.map(t),D=e=>Q(e,((e,t)=>e+t),0),F=e=>e.length,P=e=>0==F(e),Q=(e,t,s)=>e.reduce(t,s),j=(e,t,s)=>e.slice(t,s),z=(e,...t)=>e.push(...t),N=e=>e.pop(),O=e=>e.shift(),B=e=>JSON.stringify(e,((e,t)=>G(t,Map)?Q([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),W=JSON.parse,q=Math.max,H=Math.min,$=isFinite,G=(e,t)=>e instanceof t,K=e=>null==e,U=(e,t,s)=>K(e)?s?.():t(e),X=e=>e==o||e==r,Y=e=>s(e)==i,Z=e=>Array.isArray(e),_=()=>{},ee=e=>e.size,te=(e,t)=>e?.has(t)??!1,se=e=>K(e)||0==ee(e),ne=e=>[...e?.values()??[]],oe=e=>e.clear(),re=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),ie=e=>new Map(e),le=e=>[...e?.keys()??[]],ce=(e,t)=>e?.get(t),de=(e,t)=>re(e,((e,s)=>t(s,e))),ue=(e,t,s)=>K(s)?(ae(e,t),e):e?.set(t,s),he=(e,t,s)=>(te(e,t)||ue(e,t,s()),ce(e,t)),fe=(e,t,s)=>{const n={},o=t??(e=>e);return re(e,((e,t)=>U(o(e),(e=>s?.(e)?0:n[t]=e)))),n},ge=(e,t)=>{const s=ie(),n=t??(e=>e);return re(e,((e,t)=>s.set(t,n(e)))),s},Le=e=>ge(e,ge),we=(e,t,s,n,o=0)=>U((s?he:ce)(e,t[o],o>F(t)-2?s:ie),(r=>{if(o>F(t)-2)return n?.(r)&&ue(e,t[o]),r;const a=we(r,t,s,n,o+1);return se(r)&&ue(e,t[o]),a})),ve=e=>{const t=s(e);return X(t)||t==a&&$(e)?t:void 0},Se=(e,t,s,n,o)=>K(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),pe=(e,t,s)=>K(s)?e.delValue(t):e.setValue(t,s),Re=e=>new Set(Z(e)||K(e)?e:[e]),ye=(e,t)=>e?.add(t),Te=(e,t,s)=>{const n=e.hasRow,o=ie(),r=ie(),a=ie(),i=ie(),l=ie(),c=(t,s,...n)=>{const o=he(l,t,Re);return x(n,(t=>ye(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>U(ce(l,t),(n=>{x(P(s)?ne(n):s,(t=>{e.delListener(t),ae(n,t)})),se(n)&&ue(l,t)})),u=(e,s)=>{ue(o,e,s),te(r,e)||(ue(r,e,t()),ue(a,e,ie()),ue(i,e,ie()))},h=e=>{ue(o,e),ue(r,e),ue(a,e),ue(i,e),d(e)};return[()=>e,()=>le(o),e=>de(r,e),e=>te(r,e),e=>ce(o,e),e=>ce(r,e),(e,t)=>ue(r,e,t),u,(t,o,r,l,h)=>{u(t,o);const f=ie(),g=ie(),L=ce(a,t),w=ce(i,t),v=t=>{const r=s=>e.getCell(o,t,s),a=ce(L,t),i=n(o,t)?s(l(r,t)):void 0;if(a===i||Z(a)&&Z(i)&&k(a,i)||ue(f,t,[a,i]),!K(h)){const e=ce(w,t),s=n(o,t)?h(r,t):void 0;e!=s&&ue(g,t,s)}},S=e=>{r((()=>{re(f,(([,e],t)=>ue(L,t,e))),re(g,((e,t)=>ue(w,t,e)))}),f,g,L,w,e),oe(f),oe(g)};de(L,v),e.hasTable(o)&&x(e.getRowIds(o),(e=>{te(L,e)||v(e)})),S(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>v(s))),e.addTableListener(o,(()=>S())))},h,()=>de(l,h),c,d]},Ie=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),be=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},me=/^\d+$/,Ce=()=>{const e=[];let t=0;return[s=>(s?O(e):null)??n+t++,t=>{me.test(t)&&F(e)<1e3&&z(e,t)}]},Ve=e=>{let t;const[s,o]=Ce(),r=ie();return[(o,a,i,l=[],c=(()=>[]))=>{t??=e();const d=s(1);return ue(r,d,[o,a,i,l,c]),ye(we(a,i??[n],Re),d),d},(e,s,...o)=>x(((e,t=[n])=>{const s=[],o=(e,n)=>n==F(t)?z(s,e):null===t[n]?re(e,(e=>o(e,n+1))):x([t[n],null],(t=>o(ce(e,t),n+1)));return o(e,0),s})(e,s),(e=>re(e,(e=>ce(r,e)[0](t,...s??[],...o))))),e=>U(ce(r,e),(([,t,s])=>(we(t,s??[n],void 0,(t=>(ae(t,e),se(t)?1:0))),ue(r,e),o(e),s))),e=>U(ce(r,e),(([e,,s=[],n,o])=>{const r=(...a)=>{const i=F(a);i==F(s)?e(t,...a,...o(a)):K(s[i])?x(n[i]?.(...a)??[],(e=>r(...a,e))):r(...a,s[i])};r()}))]},Ee=Object,ke=Ee.keys,Je=Ee.isFrozen,Me=Ee.freeze,xe=e=>G(e,Ee)&&e.constructor==Ee,Ae=(e,t)=>!K(((e,t)=>U(e,(e=>e[t])))(e,t)),De=(e,t)=>delete e[t],Fe=(e,t)=>A(Ee.entries(e),(([e,s])=>t(s,e))),Pe=e=>xe(e)&&P(ke(e)),Qe=be((e=>{let t,s,o,r=100,a=ie(),i=ie(),l=1;const c=ie(),d=ie(),[u,h,f]=Ve((()=>Q)),g=ie(),L=ie(),w=[],v=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=ce(g,s);re(n,((s,n)=>re(s,((s,o)=>re(s,((s,r)=>Se(e,n,o,r,s[t]))))))),re(o,((s,n)=>pe(e,n,s[t])))})),l=1},p=e=>{ue(g,e),ue(L,e),h(d,[e])},R=(e,t)=>x(((e,t)=>e.splice(0,t))(e,t??F(e)),p),y=()=>R(w,F(w)-r),T=()=>U(t,(()=>{z(w,t),y(),R(v),t=void 0,o=1})),I=()=>{t=N(w),o=1},b=e.addCellListener(null,null,null,((e,t,s,n,o,r)=>{if(l){T();const e=he(a,t,ie),i=he(e,s,ie),l=he(i,n,(()=>[r,void 0]));l[1]=o,l[0]===o&&se(ue(i,n))&&se(ue(e,s))&&se(ue(a,t))&&I(),J()}})),m=e.addValueListener(null,((e,t,s,n)=>{if(l){T();const e=he(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&se(ue(i,t))&&I(),J()}})),C=(e="")=>(K(t)&&(t=n+s++,ue(g,t,[a,i]),A(t,e),a=ie(),i=ie(),o=1),t),E=()=>{P(w)||(((e,...t)=>{e.unshift(...t)})(v,C()),S(0,t),t=N(w),o=1)},k=()=>{P(v)||(z(w,t),t=O(v),S(1,t),o=1)},J=()=>{o&&(h(c),o=0)},M=e=>{const t=C(e);return J(),t},A=(e,t)=>(D(e)&&ce(L,e)!==t&&(ue(L,e,t),h(d,[e])),Q),D=e=>te(g,e),Q={setSize:e=>(r=e,y(),Q),addCheckpoint:M,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>de(L,e),hasCheckpoint:D,getCheckpoint:e=>ce(L,e),goBackward:()=>(E(),J(),Q),goForward:()=>(k(),J(),Q),goTo:e=>{const s=V(w,e)?E:V(v,e)?k:null;for(;!K(s)&&e!=t;)s();return J(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(f(e),Q),clear:()=>(R(w),R(v),K(t)||p(t),t=void 0,s=0,M(),Q),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return Me(Q.clear())})),je=(e,t)=>e<t?-1:1,ze=be((e=>{const t=ie(),s=ie(),[o,r,a,i,l,c,d,,u,h,f]=Te(e,ie,(e=>K(e)?n:Z(e)?A(e,C):C(e))),[g,L,w]=Ve((()=>S)),v=(t,s,n)=>{const o=l(t);re(n,((t,n)=>s(n,(s=>re(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},S={setIndexDefinition:(e,n,o,r,a,i=je)=>{const l=K(a)?void 0:([e],[t])=>a(e,t);return u(e,n,((n,o,a,u,h,f)=>{let g=0;const w=Re(),v=Re(),S=c(e);if(re(o,(([e,t],s)=>{const n=Re(e),o=Re(t);re(n,(e=>ae(o,e)?ae(n,e):0)),re(n,(e=>{ye(w,e),U(ce(S,e),(t=>{ae(t,s),se(t)&&(ue(S,e),g=1)}))})),re(o,(e=>{ye(w,e),te(S,e)||(ue(S,e,Re()),g=1),ye(ce(S,e),s),K(r)||ye(v,e)}))})),n(),se(h)||(f?de(S,(e=>ye(v,e))):de(a,(e=>U(ce(u,e),(e=>ye(v,e))))),re(v,(e=>{const t=(t,s)=>i(ce(h,t),ce(h,s),e),s=[...ce(S,e)];J(s,t)||(ue(S,e,Re(M(s,t))),ye(w,e))}))),(g||f)&&!K(l)){const t=[...S];J(t,l)||(d(e,ie(M(t,l))),g=1)}g&&L(t,[e]),re(w,(t=>L(s,[e,t])))}),Ie(o),U(r,Ie)),S},delIndexDefinition:e=>(h(e),S),getStore:o,getIndexIds:r,forEachIndex:e=>a(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>te(c(e),t),getTableId:l,getSliceIds:e=>le(c(e)),getSliceRowIds:(e,t)=>ne(ce(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>g(n,s,[e,t]),delListener:e=>(w(e),S),destroy:f,getListenerStats:()=>({})};return Me(S)})),Ne=ie([["avg",[(e,t)=>D(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>q(...e),(e,t)=>q(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:q(t,e)]],["min",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["sum",[e=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Oe=(e,t,s,n,o,r=!1)=>{if(se(s))return;const[a,i,l,c]=o;return r||=K(e),re(n,(([s,n])=>{r||(e=K(s)?i?.(e,n,t++):K(n)?l?.(e,s,t--):c?.(e,n,s,t),r||=K(e))})),r?a(ne(s),ee(s)):e},Be=be((e=>{const t=ie(),[s,o,r,a,i,l,c,,d,u,h]=Te(e,_,(e=>isNaN(e)||K(e)||!0===e||!1===e||e===n?void 0:1*e)),[f,g,L]=Ve((()=>w)),w={setMetricDefinition:(e,s,n,o,r,a,i)=>{const u=Y(n)?[n,r,a,i]:ce(Ne,n)??ce(Ne,"sum");return d(e,s,((s,n,o,r,a,i)=>{const d=l(e),h=ee(r);i||=K(d),s();let f=Oe(d,h,r,n,u,i);$(f)||(f=void 0),f!=d&&(c(e,f),g(t,[e],f,d))}),Ie(o,1)),w},delMetricDefinition:e=>(u(e),w),getStore:s,getMetricIds:o,forEachMetric:r,hasMetric:a,getTableId:i,getMetric:l,addMetricListener:(e,s)=>f(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return Me(w)})),We=(e,t,s,o,r)=>{let a,i,l=0;const c={load:async(s={},o={})=>{if(2!=l){l=1;const r=await t();K(r)||r==n?e.transaction((()=>e.setTables(s).setValues(o))):e.setJson(r),l=0}return c},startAutoLoad:async(e={},t={})=>(c.stopAutoLoad(),await c.load(e,t),o(c.load),c),stopAutoLoad:()=>(r(),c),save:async()=>(1!=l&&(l=2,await s(e.getJson()),l=0),c),startAutoSave:async()=>(await c.stopAutoSave().save(),a=e.addTablesListener(c.save),i=e.addValuesListener(c.save),c),stopAutoSave:()=>(U(a,e.delListener),U(i,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Me(c)},qe="storage",He=globalThis.window,$e=(e,t,s)=>{let n;return We(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},He.addEventListener(qe,n)}),(()=>{He.removeEventListener(qe,n),n=void 0}))},Ge=e=>e.headers.get("ETag"),Ke=be((e=>{const t=e.createStore,[s,o,r,a,i,,,l,,c,d,g,w]=Te(e,(()=>!0),_),v=t(),I=t(),b=ie(),m=(e,t,...s)=>x(s,(s=>ye(he(he(b,t,ie),e,Re),s))),C=e=>{U(ce(b,e),(e=>{de(e,((e,t)=>re(t,(t=>e.delListener(t))))),oe(e)})),x([I,v],(t=>t.delTable(e)))},V=(e,t,s)=>m(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(t,s,o)=>{l(t,s),C(t);const r=[],a=[[null,[s,null,null,[],ie()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=Y(e)?[F(r)+n,e]:[K(t)?e:t,s=>s(e,t)];return z(r,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=K(s)||Y(t)?null:t,o=K(n)?t:s,r=[e,[e,n,Y(o)?o:e=>e(o),[],ie()]];return z(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>z(i,Y(e)?e:K(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const r=[e,[e,Y(t)?[t,s,n,o]:ce(Ne,t)??[(e,t)=>t]]];return z(c,r),{as:e=>r[0]=e}},having:(e,t)=>z(d,Y(e)?e:s=>s(e)===t)});const u=ie(r);if(se(u))return k;const h=ie(a);de(h,((e,[,t])=>U(ce(h,t),(({3:t})=>K(e)?0:z(t,e)))));const f=ie(c);let L=v;if(se(f)&&P(d))L=I;else{V(t,L,I);const e=ie();de(f,((t,[s,n])=>ye(he(e,s,Re),[t,n])));const s=Re();de(u,(t=>te(e,t)?0:ye(s,t)));const n=ie(),o=(s,n,o,r)=>U(s,(([a,i,l,c])=>{de(n,((t,[s])=>{const n=he(a,t,ie),i=ce(n,o),l=r?void 0:s;if(i!==l){const s=Re([[i,l]]),r=ee(n);ue(n,o,l),re(ce(e,t),(([e,t])=>{const o=Oe(c[e],r,n,s,t);c[e]=K(ve(o))?null:o}))}})),se(i)||!E(d,(e=>e((e=>c[e]))))?I.delRow(t,l):K(l)?s[2]=I.addRow(t,c):I.setRow(t,l,c)}));m(L,t,L.addRowListener(t,null,((r,a,i,l)=>{const c=[],d=[],u=ie(),h=L.hasRow(t,i);let f=!h;re(s,(e=>{const[s,n,o]=l(t,i,e);z(c,n),z(d,o),f||=s})),de(e,(e=>{const[s,,n]=l(t,i,e);(f||s)&&ue(u,e,[n])})),f&&o(we(n,c,void 0,(([,e])=>(ae(e,i),se(e)))),u,i,1),h&&o(we(n,d,(()=>{const e={};return re(s,(s=>e[s]=L.getCell(t,i,s))),[ie(),Re(),void 0,e]}),(([,e])=>{ye(e,i)})),u,i)})))}V(t,e,L);const S=(n,o,r,a)=>{const l=t=>e.getCell(o,r,t);x(a,(s=>{const[o,,r,a,i]=ce(h,s),c=r?.(l,n),[d,u]=ce(i,n)??[];c!=d&&(K(u)||w(t,u),ue(i,n,K(c)?null:[c,...g(t,1,e.addRowListener(o,c,(()=>S(n,o,c,a))))]))})),(n=>{const o=(t,o)=>e.getCell(...K(o)?[s,n,t]:t===s?[s,n,o]:[ce(h,t)?.[0],ce(ce(h,t)?.[4],n)?.[0],o]);L.transaction((()=>E(i,(e=>e(o)))?de(u,((e,s)=>Se(L,t,n,e,s(o,n)))):L.delRow(t,n)))})(n)},{3:p}=ce(h,null);return L.transaction((()=>g(t,1,e.addRowListener(s,null,((n,o,r)=>{e.hasRow(s,r)?S(r,s,r,p):(L.delRow(t,r),re(h,(({4:e})=>U(ce(e,r),(([,s])=>{w(t,s),ue(e,r)})))))}))))),k},delQueryDefinition:e=>(C(e),c(e),k),getStore:s,getQueryIds:o,forEachQuery:r,hasQuery:a,getTableId:i,delListener:e=>(I.delListener(e),k),destroy:d,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=I.getListenerStats();return n}};return Fe({[L]:[1,1],[p]:[0,1],[R]:[0,5],[S]:[1,2],[T]:[0,2],[y]:[1,3]},(([e,t],s)=>{x(e?["get","has","forEach"]:["get"],(e=>k[e+h+s]=(...t)=>I[e+s](...t))),k[f+h+s+u]=(...e)=>I[f+s+u](...j(e,0,t),((s,...n)=>e[t](k,...n)))})),Me(k)})),Ue=be((e=>{const t=ie(),s=ie(),o=ie(),r=ie(),[a,i,l,c,d,u,,,h,f,g]=Te(e,(()=>[ie(),ie(),ie(),ie()]),(e=>K(e)?void 0:e+n)),[L,w,v]=Ve((()=>y)),S=(e,t,s)=>U(u(e),(([n,,o])=>{if(!te(o,t)){const r=Re();if(d(e)!=R(e))ye(r,t);else{let e=t;for(;!K(e)&&!te(r,e);)ye(r,e),e=ce(n,e)}if(s)return r;ue(o,t,r)}return ce(o,t)})),p=(e,t)=>U(u(e),(([,,e])=>ue(e,t))),R=e=>ce(t,e),y={setRelationshipDefinition:(e,n,a,i)=>(ue(t,e,a),h(e,n,((t,n)=>{const a=Re(),i=Re(),l=Re(),[c,d]=u(e);re(n,(([t,s],n)=>{K(t)||(ye(i,t),U(ce(d,t),(e=>{ae(e,n),se(e)&&ue(d,t)}))),K(s)||(ye(i,s),te(d,s)||ue(d,s,Re()),ye(ce(d,s),n)),ye(a,n),ue(c,n,s),de(ce(r,e),(t=>{te(S(e,t),n)&&ye(l,t)}))})),t(),re(a,(t=>w(s,[e,t]))),re(i,(t=>w(o,[e,t]))),re(l,(t=>{p(e,t),w(r,[e,t])}))}),Ie(i)),y),delRelationshipDefinition:e=>(ue(t,e),f(e),y),getStore:a,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:R,getRemoteRowId:(e,t)=>ce(u(e)?.[0],t),getLocalRowIds:(e,t)=>ne(ce(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>K(u(e))?[t]:ne(S(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>L(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),L(s,r,[e,t])),delListener:e=>(p(...v(e)),y),destroy:g,getListenerStats:()=>({})};return Me(y)})),Xe=e=>[e,e],Ye=()=>[ie(),ie()],Ze=(e,t,s,n=ue)=>(Fe(t,((t,n)=>s(e,n,t))),de(e,(s=>Ae(t,s)?0:n(e,s))),e),_e=(e,t,s)=>K(e)||!xe(e)||Pe(e)||Je(e)?(s?.(),!1):(Fe(e,((s,n)=>{t(s,n)||De(e,n)})),!Pe(e)),et=(e,t,s)=>ue(e,t,ce(e,t)==-s?void 0:s),tt=()=>{let e,t,s,n,o=0;const r=ie(),i=ie(),d=ie(),h=ie(),g=ie(),R=ie(),E=ie(),J=ie(),D=ie(),F=ie(),P=ie(),Q=ie(),N=Re(),O=ie(),q=ie(),H=ie(),$=Ye(),G=Ye(),Z=Ye(),_=Ye(),ee=Ye(),ne=Ye(),we=Ye(),Te=Ye(),Ie=Ye(),be=Ye(),me=Ye(),Ee=Ye(),ke=Ye(),Je=ie(),xe=Ye(),[Qe,ze,Ne,Oe]=Ve((()=>ss)),Be=e=>{if(!_e(e,((e,t)=>V([l,c],t))))return!1;const t=e[l];return!(!X(t)&&t!=a||(ve(e[c])!=t&&De(e,c),0))},We=(t,s)=>(!e||te(D,s)||mt(s))&&_e(t,((e,t)=>qe(s,t,e)),(()=>mt(s))),qe=(e,t,s,n)=>_e(n?s:Ke(s,e,t),((n,o)=>U(He(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>mt(e,t))),He=(t,s,n,o)=>e?U(ce(ce(D,t),n),(e=>ve(o)!=e[l]?mt(t,s,n,o,e[c]):o),(()=>mt(t,s,n,o))):K(ve(o))?mt(t,s,n,o):o,$e=(e,t)=>_e(t?e:Ue(e),((t,s)=>U(Ge(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Ct())),Ge=(e,s)=>t?U(ce(P,e),(t=>ve(s)!=t[l]?Ct(e,s,t[c]):s),(()=>Ct(e,s))):K(ve(s))?Ct(e,s):s,Ke=(e,t,s)=>(U(ce(F,t),(([n,o])=>{re(n,((t,s)=>{Ae(e,s)||(e[s]=t)})),re(o,(n=>{Ae(e,n)||mt(t,s,n)}))})),e),Ue=e=>(t&&(re(Q,((t,s)=>{Ae(e,s)||(e[s]=t)})),re(N,(t=>{Ae(e,t)||Ct(t)}))),e),st=e=>Ze(D,e,((e,t,s)=>{const n=ie(),o=Re();Ze(he(D,t,ie),s,((e,t,s)=>{ue(e,t,s),U(s[c],(e=>ue(n,t,e)),(()=>ye(o,t)))})),ue(F,t,[n,o])}),((e,t)=>{ue(D,t),ue(F,t)})),nt=e=>Ze(P,e,((e,t,s)=>{ue(P,t,s),U(s[c],(e=>ue(Q,t,e)),(()=>ye(N,t)))}),((e,t)=>{ue(P,t),ue(Q,t),ae(N,t)})),ot=e=>Pe(e)?Ut():qt(e),rt=e=>Ze(q,e,((e,t,s)=>at(t,s)),((e,t)=>Lt(t))),at=(e,t)=>Ze(he(q,e,(()=>(pt(e,1),ie()))),t,((t,s,n)=>it(e,t,s,n)),((t,s)=>wt(e,t,s))),it=(e,t,s,n,o)=>Ze(he(t,s,(()=>(Rt(e,s,1),ie()))),n,((t,n,o)=>lt(e,s,t,n,o)),((n,r)=>vt(e,t,s,n,r,o))),lt=(e,t,s,n,o)=>{te(s,n)||yt(e,t,n,1);const r=ce(s,n);o!==r&&(Tt(e,t,n,r,o),ue(s,n,o))},ct=(e,t,s,n,o)=>U(ce(t,s),(t=>lt(e,s,t,n,o)),(()=>it(e,t,s,Ke({[n]:o},e,s)))),dt=e=>Pe(e)?Xt():Ht(e),ut=e=>Ze(H,e,((e,t,s)=>ht(t,s)),((e,t)=>St(t))),ht=(e,t)=>{te(H,e)||It(e,1);const s=ce(H,e);t!==s&&(bt(e,s,t),ue(H,e,t))},ft=(e,t)=>{const[s]=he(O,e,Ce),n=s(t);return te(ce(q,e),n)?ft(e,t):n},gt=e=>ce(q,e)??at(e,{}),Lt=e=>at(e,{}),wt=(e,t,s)=>{const[,n]=he(O,e,Ce);n(s),it(e,t,s,{},!0)},vt=(e,t,s,n,o,r)=>{const a=ce(ce(F,e)?.[0],o);if(!K(a)&&!r)return lt(e,s,n,o,a);const i=t=>{Tt(e,s,t,ce(n,t)),yt(e,s,t,-1),ue(n,t)};K(a)?i(o):de(n,i),se(n)&&(Rt(e,s,-1),se(ue(t,s))&&(pt(e,-1),ue(q,e),ue(O,e)))},St=e=>{const t=ce(Q,e);if(!K(t))return ht(e,t);bt(e,ce(H,e)),It(e,-1),ue(H,e)},pt=(e,t)=>et(r,e,t),Rt=(e,t,s)=>et(he(i,e,ie),t,s),yt=(e,t,s,n)=>et(he(he(d,e,ie),t,ie),s,n),Tt=(e,t,s,n,o)=>he(he(he(h,e,ie),t,ie),s,(()=>[n,0]))[1]=o,It=(e,t)=>et(g,e,t),bt=(e,t,s)=>he(R,e,(()=>[t,0]))[1]=s,mt=(e,t,s,n,o)=>(z(he(he(he(E,e,ie),t,ie),s,(()=>[])),n),o),Ct=(e,t,s)=>(z(he(J,e,(()=>[])),t),s),Vt=(e,t,s)=>U(ce(ce(ce(h,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(Nt(e,t,s))])),Et=e=>U(ce(R,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(Wt(e))])),kt=e=>se(E)||se(Ie[e])?0:re(e?ge(E,Le):E,((t,s)=>re(t,((t,n)=>re(t,((t,o)=>ze(Ie[e],[s,n,o],t))))))),Jt=e=>se(J)||se(be[e])?0:re(e?ge(J):J,((t,s)=>ze(be[e],[s],t))),Mt=(e,t,s)=>{if(!se(t))return ze(e,s),1},xt=e=>{const t=se(ee[e]),s=se(we[e])&&se(_[e])&&t&&se(G[e]),n=se(Te[e])&&se(ne[e])&&se(Z[e])&&se($[e]);if(!s||!n){const o=e?[ge(r),Le(i),ge(d,Le),ge(h,Le)]:[r,i,d,h];if(!s){re(o[2],((t,s)=>re(t,((t,n)=>Mt(we[e],t,[s,n])))));const s=Re();re(o[1],((n,o)=>{Mt(_[e],n,[o])&&!t&&(ze(ee[e],[o,null]),ye(s,o))})),t||re(o[3],((t,n)=>{if(!te(s,n)){const s=Re();re(t,(e=>re(e,(([t,n],o)=>n!==t?ye(s,o):ae(e,o))))),re(s,(t=>ze(ee[e],[n,t])))}})),Mt(G[e],o[0])}if(!n){let t;re(o[3],((s,n)=>{let o;re(s,((s,r)=>{let a;re(s,(([s,i],l)=>{i!==s&&(ze(Te[e],[n,r,l],i,s,Vt),t=o=a=1)})),a&&ze(ne[e],[n,r],Vt)})),o&&ze(Z[e],[n],Vt)})),t&&ze($[e],void 0,Vt)}}},At=e=>{const t=se(Ee[e]),s=se(ke[e])&&se(me[e]);if(!t||!s){const n=e?[ge(g),ge(R)]:[g,R];if(t||Mt(Ee[e],n[0]),!s){let t;re(n[1],(([s,n],o)=>{n!==s&&(ze(ke[e],[o],n,s,Et),t=1)})),t&&ze(me[e],void 0,Et)}}},Dt=(e,...t)=>(_t((()=>e(...A(t,C)))),ss),Ft=()=>fe(q,(e=>fe(e,fe))),Pt=()=>le(q),Qt=e=>le(ce(q,C(e))),jt=(e,t,s,n=0,o)=>{return A(j(M((r=ce(q,C(e)),a=(e,s)=>[K(t)?s:ce(e,C(t)),s],A([...r?.entries()??[]],(([e,t])=>a(t,e)))),(([e],[t])=>je(e,t)*(s?-1:1))),n,K(o)?o:n+o),(([,e])=>e));var r,a},zt=(e,t)=>le(ce(ce(q,C(e)),C(t))),Nt=(e,t,s)=>ce(ce(ce(q,C(e)),C(t)),C(s)),Ot=()=>fe(H),Bt=()=>le(H),Wt=e=>ce(H,C(e)),qt=e=>Dt((()=>(e=>_e(e,We,mt))(e)?rt(e):0)),Ht=e=>Dt((()=>$e(e)?ut(e):0)),$t=e=>{try{ot(W(e))}catch{}return ss},Gt=t=>Dt((()=>{if((e=_e(t,(e=>_e(e,Be))))&&(st(t),!se(q))){const e=Ft();Ut(),qt(e)}})),Kt=e=>Dt((()=>{if(t=(e=>_e(e,Be))(e)){const s=Ot();Zt(),Xt(),t=!0,nt(e),Ht(s)}})),Ut=()=>Dt((()=>rt({}))),Xt=()=>Dt((()=>ut({}))),Yt=()=>Dt((()=>{st({}),e=!1})),Zt=()=>Dt((()=>{nt({}),t=!1})),_t=(e,t)=>{if(-1!=o){es();const s=e();return ts(t),s}},es=()=>(-1!=o&&o++,1==o&&ze(Je,void 0,!1,!1),ss),ts=e=>(o>0&&(o--,0==o&&(s=!se(h),n=!se(R),o=1,kt(1),s&&xt(1),Jt(1),n&&At(1),e?.(fe(h,(e=>fe(e,(e=>fe(e,(e=>[...e]),(([e,t])=>e===t))),Pe)),Pe),fe(E,(e=>fe(e,fe))),fe(R,(e=>[...e]),(([e,t])=>e===t)),fe(J))&&(re(h,((e,t)=>re(e,((e,s)=>re(e,(([e],n)=>Se(ss,t,s,n,e))))))),re(R,(([e],t)=>pe(ss,t,e))),s=n=!1),ze(xe[0],void 0,s,n),o=-1,kt(0),s&&xt(0),Jt(0),n&&At(0),ze(xe[1],void 0,s,n),o=0,x([r,i,d,h,E,g,R,J],oe))),ss),ss={getTables:Ft,getTableIds:Pt,getTable:e=>fe(ce(q,C(e)),fe),getRowIds:Qt,getSortedRowIds:jt,getRow:(e,t)=>fe(ce(ce(q,C(e)),C(t))),getCellIds:zt,getCell:Nt,getValues:Ot,getValueIds:Bt,getValue:Wt,hasTables:()=>!se(q),hasTable:e=>te(q,C(e)),hasRow:(e,t)=>te(ce(q,C(e)),C(t)),hasCell:(e,t,s)=>te(ce(ce(q,C(e)),C(t)),C(s)),hasValues:()=>!se(H),hasValue:e=>te(H,C(e)),getTablesJson:()=>B(q),getValuesJson:()=>B(H),getJson:()=>B([q,H]),getTablesSchemaJson:()=>B(D),getValuesSchemaJson:()=>B(P),getSchemaJson:()=>B([D,P]),setTables:qt,setTable:(e,t)=>Dt((e=>We(t,e)?at(e,t):0),e),setRow:(e,t,s)=>Dt(((e,t)=>qe(e,t,s)?it(e,gt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>_t((()=>{let n;return qe(e,n,t)&&(e=C(e),it(e,gt(e),n=ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Dt(((e,t)=>{if(qe(e,t,s,1)){const n=gt(e);Fe(s,((s,o)=>ct(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Dt(((e,t,s)=>U(He(e,t,s,Y(n)?n(Nt(e,t,s)):n),(n=>ct(e,gt(e),t,s,n)))),e,t,s),setValues:Ht,setPartialValues:e=>Dt((()=>$e(e,1)?Fe(e,((e,t)=>ht(t,e))):0)),setValue:(e,t)=>Dt((e=>U(Ge(e,Y(t)?t(Wt(e)):t),(t=>ht(e,t)))),e),setTablesJson:$t,setValuesJson:e=>{try{dt(W(e))}catch{}return ss},setJson:e=>{try{const[t,s]=W(e);ot(t),dt(s)}catch{$t(e)}return ss},setTablesSchema:Gt,setValuesSchema:Kt,setSchema:(e,t)=>Dt((()=>{Gt(e),Kt(t)})),delTables:Ut,delTable:e=>Dt((e=>te(q,e)?Lt(e):0),e),delRow:(e,t)=>Dt(((e,t)=>U(ce(q,e),(s=>te(s,t)?wt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Dt(((e,t,s)=>U(ce(q,e),(o=>U(ce(o,t),(r=>te(r,s)?vt(e,o,t,r,s,n):0))))),e,t,s),delValues:Xt,delValue:e=>Dt((e=>te(H,e)?St(e):0),e),delTablesSchema:Yt,delValuesSchema:Zt,delSchema:()=>Dt((()=>{Yt(),Zt()})),transaction:_t,startTransaction:es,finishTransaction:ts,forEachTable:e=>re(q,((t,s)=>e(s,(e=>re(t,((t,s)=>e(s,(e=>de(t,e))))))))),forEachRow:(e,t)=>re(ce(q,C(e)),((e,s)=>t(s,(t=>de(e,t))))),forEachCell:(e,t,s)=>de(ce(ce(q,C(e)),C(t)),s),forEachValue:e=>de(H,e),addSortedRowIdsListener:(e,t,s,n,o,r,a)=>{let i=jt(e,t,s,n,o);return Qe((()=>{const a=jt(e,t,s,n,o);k(a,i)||(i=a,r(ss,e,t,s,n,o,i))}),ee[a?1:0],[e,t],[Pt])},addStartTransactionListener:e=>Qe(e,Je),addWillFinishTransactionListener:e=>Qe(e,xe[0]),addDidFinishTransactionListener:e=>Qe(e,xe[1]),callListener:e=>(Oe(e),ss),delListener:e=>(Ne(e),ss),getListenerStats:()=>({}),createStore:tt};return Fe({[w]:[0,$],[v]:[0,G],[L]:[1,Z,[Pt]],[p]:[1,_,[Pt]],[S]:[2,ne,[Pt,Qt]],[T]:[2,we,[Pt,Qt]],[y]:[3,Te,[Pt,Qt,zt],e=>Xe(Nt(...e))],InvalidCell:[3,Ie],[b]:[0,me],[m]:[0,Ee],[I]:[1,ke,[Bt],e=>Xe(Wt(e[0]))],InvalidValue:[1,be]},(([e,t,s,n],o)=>{ss[f+o+u]=(...o)=>Qe(o[e],t[o[e+1]?1:0],e>0?j(o,0,e):void 0,s,n)})),Me(ss)};e.createCheckpoints=Qe,e.createCustomPersister=We,e.createFilePersister=(e,s)=>{let n;return We(e,(async()=>{try{return await t.promises.readFile(s,d)}catch{}}),(async e=>{try{await t.promises.writeFile(s,e,d)}catch{}}),(e=>{n=t.watch(s,e)}),(()=>{n?.close(),n=void 0}))},e.createIndexes=ze,e.createLocalPersister=(e,t)=>$e(e,t,localStorage),e.createMetrics=Be,e.createQueries=Ke,e.createRelationships=Ue,e.createRemotePersister=(e,t,s,n)=>{let o,r;return We(e,(async()=>{const e=await fetch(t);return r=Ge(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{o=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=Ge(s);K(r)||K(n)||n==r||(r=n,e())}),1e3*n)}),(()=>{U(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>$e(e,t,sessionStorage),e.createStore=tt,e.defaultSorter=je},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs")):"function"==typeof define&&define.amd?define(["exports","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={},e.fs);
1
+ var e,t;e=this,t=function(e,t){"use strict";const s=e=>typeof e,n="",o=s(n),a=s(!0),r=s(0),i=s(s),l="type",c="default",d="utf8",u="Listener",h="Result",f="add",g="Ids",L="Table",w=L+"s",v=L+g,S="Row",T=S+g,p="Sorted"+S+g,R="Cell",y=R+g,I="Value",b=I+"s",m=I+g,C=e=>n+e,V=(e,t)=>e.includes(t),E=(e,t)=>e.every(t),k=(e,t)=>F(e)===F(t)&&E(e,((e,s)=>t[s]===e)),J=(e,t)=>E(e,((s,n)=>0==n||t(e[n-1],s)<=0)),M=(e,t)=>e.sort(t),x=(e,t)=>e.forEach(t),A=(e,t)=>e.map(t),D=e=>Q(e,((e,t)=>e+t),0),F=e=>e.length,P=e=>0==F(e),Q=(e,t,s)=>e.reduce(t,s),j=(e,t,s)=>e.slice(t,s),z=(e,...t)=>e.push(...t),N=e=>e.pop(),O=e=>e.shift(),B=e=>JSON.stringify(e,((e,t)=>G(t,Map)?Q([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),W=JSON.parse,q=Math.max,H=Math.min,$=isFinite,G=(e,t)=>e instanceof t,K=e=>null==e,U=(e,t,s)=>K(e)?s?.():t(e),X=e=>e==o||e==a,Y=e=>s(e)==i,Z=e=>Array.isArray(e),_=()=>{},ee=e=>e.size,te=(e,t)=>e?.has(t)??!1,se=e=>K(e)||0==ee(e),ne=e=>[...e?.values()??[]],oe=e=>e.clear(),ae=(e,t)=>e?.forEach(t),re=(e,t)=>e?.delete(t),ie=e=>new Map(e),le=e=>[...e?.keys()??[]],ce=(e,t)=>e?.get(t),de=(e,t)=>ae(e,((e,s)=>t(s,e))),ue=(e,t,s)=>K(s)?(re(e,t),e):e?.set(t,s),he=(e,t,s)=>(te(e,t)||ue(e,t,s()),ce(e,t)),fe=(e,t,s)=>{const n={},o=t??(e=>e);return ae(e,((e,t)=>U(o(e),(e=>s?.(e)?0:n[t]=e)))),n},ge=(e,t)=>{const s=ie(),n=t??(e=>e);return ae(e,((e,t)=>s.set(t,n(e)))),s},Le=e=>ge(e,ge),we=(e,t,s,n,o=0)=>U((s?he:ce)(e,t[o],o>F(t)-2?s:ie),(a=>{if(o>F(t)-2)return n?.(a)&&ue(e,t[o]),a;const r=we(a,t,s,n,o+1);return se(a)&&ue(e,t[o]),r})),ve=e=>{const t=s(e);return X(t)||t==r&&$(e)?t:void 0},Se=(e,t,s,n,o)=>K(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Te=(e,t,s)=>K(s)?e.delValue(t):e.setValue(t,s),pe=e=>new Set(Z(e)||K(e)?e:[e]),Re=(e,t)=>e?.add(t),ye=(e,t,s)=>{const n=e.hasRow,o=ie(),a=ie(),r=ie(),i=ie(),l=ie(),c=(t,s,...n)=>{const o=he(l,t,pe);return x(n,(t=>Re(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>U(ce(l,t),(n=>{x(P(s)?ne(n):s,(t=>{e.delListener(t),re(n,t)})),se(n)&&ue(l,t)})),u=(e,s)=>{ue(o,e,s),te(a,e)||(ue(a,e,t()),ue(r,e,ie()),ue(i,e,ie()))},h=e=>{ue(o,e),ue(a,e),ue(r,e),ue(i,e),d(e)};return[()=>e,()=>le(o),e=>de(a,e),e=>te(a,e),e=>ce(o,e),e=>ce(a,e),(e,t)=>ue(a,e,t),u,(t,o,a,l,h)=>{u(t,o);const f=ie(),g=ie(),L=ce(r,t),w=ce(i,t),v=t=>{const a=s=>e.getCell(o,t,s),r=ce(L,t),i=n(o,t)?s(l(a,t)):void 0;if(r===i||Z(r)&&Z(i)&&k(r,i)||ue(f,t,[r,i]),!K(h)){const e=ce(w,t),s=n(o,t)?h(a,t):void 0;e!=s&&ue(g,t,s)}},S=e=>{a((()=>{ae(f,(([,e],t)=>ue(L,t,e))),ae(g,((e,t)=>ue(w,t,e)))}),f,g,L,w,e),oe(f),oe(g)};de(L,v),e.hasTable(o)&&x(e.getRowIds(o),(e=>{te(L,e)||v(e)})),S(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>v(s))),e.addTableListener(o,(()=>S())))},h,()=>de(l,h),c,d]},Ie=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),be=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},me=/^\d+$/,Ce=()=>{const e=[];let t=0;return[s=>(s?O(e):null)??n+t++,t=>{me.test(t)&&F(e)<1e3&&z(e,t)}]},Ve=e=>{let t;const[s,o]=Ce(),a=ie();return[(o,r,i,l=[],c=(()=>[]))=>{t??=e();const d=s(1);return ue(a,d,[o,r,i,l,c]),Re(we(r,i??[n],pe),d),d},(e,s,...o)=>x(((e,t=[n])=>{const s=[],o=(e,n)=>n==F(t)?z(s,e):null===t[n]?ae(e,(e=>o(e,n+1))):x([t[n],null],(t=>o(ce(e,t),n+1)));return o(e,0),s})(e,s),(e=>ae(e,(e=>ce(a,e)[0](t,...s??[],...o))))),e=>U(ce(a,e),(([,t,s])=>(we(t,s??[n],void 0,(t=>(re(t,e),se(t)?1:0))),ue(a,e),o(e),s))),e=>U(ce(a,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const i=F(r);i==F(s)?e(t,...r,...o(r)):K(s[i])?x(n[i]?.(...r)??[],(e=>a(...r,e))):a(...r,s[i])};a()}))]},Ee=Object,ke=Ee.keys,Je=Ee.isFrozen,Me=Ee.freeze,xe=e=>G(e,Ee)&&e.constructor==Ee,Ae=(e,t)=>!K(((e,t)=>U(e,(e=>e[t])))(e,t)),De=(e,t)=>delete e[t],Fe=(e,t)=>A(Ee.entries(e),(([e,s])=>t(s,e))),Pe=e=>xe(e)&&P(ke(e)),Qe=be((e=>{let t,s,o,a=100,r=ie(),i=ie(),l=1;const c=ie(),d=ie(),[u,h,f]=Ve((()=>Q)),g=ie(),L=ie(),w=[],v=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=ce(g,s);ae(n,((s,n)=>ae(s,((s,o)=>ae(s,((s,a)=>Se(e,n,o,a,s[t]))))))),ae(o,((s,n)=>Te(e,n,s[t])))})),l=1},T=e=>{ue(g,e),ue(L,e),h(d,[e])},p=(e,t)=>x(((e,t)=>e.splice(0,t))(e,t??F(e)),T),R=()=>p(w,F(w)-a),y=()=>U(t,(()=>{z(w,t),R(),p(v),t=void 0,o=1})),I=()=>{t=N(w),o=1},b=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(l){y();const e=he(r,t,ie),i=he(e,s,ie),l=he(i,n,(()=>[a,void 0]));l[1]=o,l[0]===o&&se(ue(i,n))&&se(ue(e,s))&&se(ue(r,t))&&I(),J()}})),m=e.addValueListener(null,((e,t,s,n)=>{if(l){y();const e=he(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&se(ue(i,t))&&I(),J()}})),C=(e="")=>(K(t)&&(t=n+s++,ue(g,t,[r,i]),A(t,e),r=ie(),i=ie(),o=1),t),E=()=>{P(w)||(((e,...t)=>{e.unshift(...t)})(v,C()),S(0,t),t=N(w),o=1)},k=()=>{P(v)||(z(w,t),t=O(v),S(1,t),o=1)},J=()=>{o&&(h(c),o=0)},M=e=>{const t=C(e);return J(),t},A=(e,t)=>(D(e)&&ce(L,e)!==t&&(ue(L,e,t),h(d,[e])),Q),D=e=>te(g,e),Q={setSize:e=>(a=e,R(),Q),addCheckpoint:M,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>de(L,e),hasCheckpoint:D,getCheckpoint:e=>ce(L,e),goBackward:()=>(E(),J(),Q),goForward:()=>(k(),J(),Q),goTo:e=>{const s=V(w,e)?E:V(v,e)?k:null;for(;!K(s)&&e!=t;)s();return J(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(f(e),Q),clear:()=>(p(w),p(v),K(t)||T(t),t=void 0,s=0,M(),Q),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return Me(Q.clear())})),je=(e,t)=>e<t?-1:1,ze=be((e=>{const t=ie(),s=ie(),[o,a,r,i,l,c,d,,u,h,f]=ye(e,ie,(e=>K(e)?n:Z(e)?A(e,C):C(e))),[g,L,w]=Ve((()=>S)),v=(t,s,n)=>{const o=l(t);ae(n,((t,n)=>s(n,(s=>ae(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},S={setIndexDefinition:(e,n,o,a,r,i=je)=>{const l=K(r)?void 0:([e],[t])=>r(e,t);return u(e,n,((n,o,r,u,h,f)=>{let g=0;const w=pe(),v=pe(),S=c(e);if(ae(o,(([e,t],s)=>{const n=pe(e),o=pe(t);ae(n,(e=>re(o,e)?re(n,e):0)),ae(n,(e=>{Re(w,e),U(ce(S,e),(t=>{re(t,s),se(t)&&(ue(S,e),g=1)}))})),ae(o,(e=>{Re(w,e),te(S,e)||(ue(S,e,pe()),g=1),Re(ce(S,e),s),K(a)||Re(v,e)}))})),n(),se(h)||(f?de(S,(e=>Re(v,e))):de(r,(e=>U(ce(u,e),(e=>Re(v,e))))),ae(v,(e=>{const t=(t,s)=>i(ce(h,t),ce(h,s),e),s=[...ce(S,e)];J(s,t)||(ue(S,e,pe(M(s,t))),Re(w,e))}))),(g||f)&&!K(l)){const t=[...S];J(t,l)||(d(e,ie(M(t,l))),g=1)}g&&L(t,[e]),ae(w,(t=>L(s,[e,t])))}),Ie(o),U(a,Ie)),S},delIndexDefinition:e=>(h(e),S),getStore:o,getIndexIds:a,forEachIndex:e=>r(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>te(c(e),t),getTableId:l,getSliceIds:e=>le(c(e)),getSliceRowIds:(e,t)=>ne(ce(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>g(n,s,[e,t]),delListener:e=>(w(e),S),destroy:f,getListenerStats:()=>({})};return Me(S)})),Ne=ie([["avg",[(e,t)=>D(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>q(...e),(e,t)=>q(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:q(t,e)]],["min",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["sum",[e=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Oe=(e,t,s,n,o,a=!1)=>{if(se(s))return;const[r,i,l,c]=o;return a||=K(e),ae(n,(([s,n])=>{a||(e=K(s)?i?.(e,n,t++):K(n)?l?.(e,s,t--):c?.(e,n,s,t),a||=K(e))})),a?r(ne(s),ee(s)):e},Be=be((e=>{const t=ie(),[s,o,a,r,i,l,c,,d,u,h]=ye(e,_,(e=>isNaN(e)||K(e)||!0===e||!1===e||e===n?void 0:1*e)),[f,g,L]=Ve((()=>w)),w={setMetricDefinition:(e,s,n,o,a,r,i)=>{const u=Y(n)?[n,a,r,i]:ce(Ne,n)??ce(Ne,"sum");return d(e,s,((s,n,o,a,r,i)=>{const d=l(e),h=ee(a);i||=K(d),s();let f=Oe(d,h,a,n,u,i);$(f)||(f=void 0),f!=d&&(c(e,f),g(t,[e],f,d))}),Ie(o,1)),w},delMetricDefinition:e=>(u(e),w),getStore:s,getMetricIds:o,forEachMetric:a,hasMetric:r,getTableId:i,getMetric:l,addMetricListener:(e,s)=>f(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return Me(w)})),We=(e,t,s,o,a)=>{let r,i,l=0;const c={load:async(s={},o={})=>{if(2!=l){l=1;const a=await t();K(a)||a==n?e.transaction((()=>e.setTables(s).setValues(o))):e.setJson(a),l=0}return c},startAutoLoad:async(e={},t={})=>(c.stopAutoLoad(),await c.load(e,t),o(c.load),c),stopAutoLoad:()=>(a(),c),save:async()=>(1!=l&&(l=2,await s(e.getJson()),l=0),c),startAutoSave:async()=>(await c.stopAutoSave().save(),r=e.addTablesListener(c.save),i=e.addValuesListener(c.save),c),stopAutoSave:()=>(U(r,e.delListener),U(i,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Me(c)},qe="storage",He=globalThis.window,$e=(e,t,s)=>{let n;return We(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},He.addEventListener(qe,n)}),(()=>{He.removeEventListener(qe,n),n=void 0}))},Ge=e=>e.headers.get("ETag"),Ke=be((e=>{const t=e.createStore,[s,o,a,r,i,,,l,,c,d,g,w]=ye(e,(()=>!0),_),v=t(),I=t(),b=ie(),m=(e,t,...s)=>x(s,(s=>Re(he(he(b,t,ie),e,pe),s))),C=e=>{U(ce(b,e),(e=>{de(e,((e,t)=>ae(t,(t=>e.delListener(t))))),oe(e)})),x([I,v],(t=>t.delTable(e)))},V=(e,t,s)=>m(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(t,s,o)=>{l(t,s),C(t);const a=[],r=[[null,[s,null,null,[],ie()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=Y(e)?[F(a)+n,e]:[K(t)?e:t,s=>s(e,t)];return z(a,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=K(s)||Y(t)?null:t,o=K(n)?t:s,a=[e,[e,n,Y(o)?o:e=>e(o),[],ie()]];return z(r,a),{as:e=>a[0]=e}},where:(e,t,s)=>z(i,Y(e)?e:K(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,Y(t)?[t,s,n,o]:ce(Ne,t)??[(e,t)=>t]]];return z(c,a),{as:e=>a[0]=e}},having:(e,t)=>z(d,Y(e)?e:s=>s(e)===t)});const u=ie(a);if(se(u))return k;const h=ie(r);de(h,((e,[,t])=>U(ce(h,t),(({3:t})=>K(e)?0:z(t,e)))));const f=ie(c);let L=v;if(se(f)&&P(d))L=I;else{V(t,L,I);const e=ie();de(f,((t,[s,n])=>Re(he(e,s,pe),[t,n])));const s=pe();de(u,(t=>te(e,t)?0:Re(s,t)));const n=ie(),o=(s,n,o,a)=>U(s,(([r,i,l,c])=>{de(n,((t,[s])=>{const n=he(r,t,ie),i=ce(n,o),l=a?void 0:s;if(i!==l){const s=pe([[i,l]]),a=ee(n);ue(n,o,l),ae(ce(e,t),(([e,t])=>{const o=Oe(c[e],a,n,s,t);c[e]=K(ve(o))?null:o}))}})),se(i)||!E(d,(e=>e((e=>c[e]))))?I.delRow(t,l):K(l)?s[2]=I.addRow(t,c):I.setRow(t,l,c)}));m(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=ie(),h=L.hasRow(t,i);let f=!h;ae(s,(e=>{const[s,n,o]=l(t,i,e);z(c,n),z(d,o),f||=s})),de(e,(e=>{const[s,,n]=l(t,i,e);(f||s)&&ue(u,e,[n])})),f&&o(we(n,c,void 0,(([,e])=>(re(e,i),se(e)))),u,i,1),h&&o(we(n,d,(()=>{const e={};return ae(s,(s=>e[s]=L.getCell(t,i,s))),[ie(),pe(),void 0,e]}),(([,e])=>{Re(e,i)})),u,i)})))}V(t,e,L);const S=(n,o,a,r)=>{const l=t=>e.getCell(o,a,t);x(r,(s=>{const[o,,a,r,i]=ce(h,s),c=a?.(l,n),[d,u]=ce(i,n)??[];c!=d&&(K(u)||w(t,u),ue(i,n,K(c)?null:[c,...g(t,1,e.addRowListener(o,c,(()=>S(n,o,c,r))))]))})),(n=>{const o=(t,o)=>e.getCell(...K(o)?[s,n,t]:t===s?[s,n,o]:[ce(h,t)?.[0],ce(ce(h,t)?.[4],n)?.[0],o]);L.transaction((()=>E(i,(e=>e(o)))?de(u,((e,s)=>Se(L,t,n,e,s(o,n)))):L.delRow(t,n)))})(n)},{3:T}=ce(h,null);return L.transaction((()=>g(t,1,e.addRowListener(s,null,((n,o,a)=>{e.hasRow(s,a)?S(a,s,a,T):(L.delRow(t,a),ae(h,(({4:e})=>U(ce(e,a),(([,s])=>{w(t,s),ue(e,a)})))))}))))),k},delQueryDefinition:e=>(C(e),c(e),k),getStore:s,getQueryIds:o,forEachQuery:a,hasQuery:r,getTableId:i,delListener:e=>(I.delListener(e),k),destroy:d,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=I.getListenerStats();return n}};return Fe({[L]:[1,1],[T]:[0,1],[p]:[0,5],[S]:[1,2],[y]:[0,2],[R]:[1,3]},(([e,t],s)=>{x(e?["get","has","forEach"]:["get"],(e=>k[e+h+s]=(...t)=>I[e+s](...t))),k[f+h+s+u]=(...e)=>I[f+s+u](...j(e,0,t),((s,...n)=>e[t](k,...n)))})),Me(k)})),Ue=be((e=>{const t=ie(),s=ie(),o=ie(),a=ie(),[r,i,l,c,d,u,,,h,f,g]=ye(e,(()=>[ie(),ie(),ie(),ie()]),(e=>K(e)?void 0:e+n)),[L,w,v]=Ve((()=>R)),S=(e,t,s)=>U(u(e),(([n,,o])=>{if(!te(o,t)){const a=pe();if(d(e)!=p(e))Re(a,t);else{let e=t;for(;!K(e)&&!te(a,e);)Re(a,e),e=ce(n,e)}if(s)return a;ue(o,t,a)}return ce(o,t)})),T=(e,t)=>U(u(e),(([,,e])=>ue(e,t))),p=e=>ce(t,e),R={setRelationshipDefinition:(e,n,r,i)=>(ue(t,e,r),h(e,n,((t,n)=>{const r=pe(),i=pe(),l=pe(),[c,d]=u(e);ae(n,(([t,s],n)=>{K(t)||(Re(i,t),U(ce(d,t),(e=>{re(e,n),se(e)&&ue(d,t)}))),K(s)||(Re(i,s),te(d,s)||ue(d,s,pe()),Re(ce(d,s),n)),Re(r,n),ue(c,n,s),de(ce(a,e),(t=>{te(S(e,t),n)&&Re(l,t)}))})),t(),ae(r,(t=>w(s,[e,t]))),ae(i,(t=>w(o,[e,t]))),ae(l,(t=>{T(e,t),w(a,[e,t])}))}),Ie(i)),R),delRelationshipDefinition:e=>(ue(t,e),f(e),R),getStore:r,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:p,getRemoteRowId:(e,t)=>ce(u(e)?.[0],t),getLocalRowIds:(e,t)=>ne(ce(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>K(u(e))?[t]:ne(S(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>L(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),L(s,a,[e,t])),delListener:e=>(T(...v(e)),R),destroy:g,getListenerStats:()=>({})};return Me(R)})),Xe=e=>[e,e],Ye=()=>[ie(),ie()],Ze=(e,t,s,n=ue)=>(Fe(t,((t,n)=>s(e,n,t))),de(e,(s=>Ae(t,s)?0:n(e,s))),e),_e=(e,t,s)=>K(e)||!xe(e)||Pe(e)||Je(e)?(s?.(),!1):(Fe(e,((s,n)=>{t(s,n)||De(e,n)})),!Pe(e)),et=(e,t,s)=>ue(e,t,ce(e,t)==-s?void 0:s),tt=()=>{let e,t,s,n,o=0;const a=ie(),i=ie(),d=ie(),h=ie(),g=ie(),p=ie(),E=ie(),J=ie(),D=ie(),F=ie(),P=ie(),Q=ie(),N=ie(),O=pe(),q=ie(),H=ie(),$=ie(),G=ie(),Z=Ye(),_=Ye(),ee=Ye(),ne=Ye(),we=Ye(),ye=Ye(),Ie=Ye(),be=Ye(),me=Ye(),Ee=Ye(),ke=Ye(),Je=Ye(),xe=Ye(),Qe=Ye(),ze=ie(),Ne=Ye(),[Oe,Be,We,qe]=Ve((()=>as)),He=e=>{if(!_e(e,((e,t)=>V([l,c],t))))return!1;const t=e[l];return!(!X(t)&&t!=r||(ve(e[c])!=t&&De(e,c),0))},$e=(t,s)=>(!e||te(F,s)||Et(s))&&_e(t,((e,t)=>Ge(s,t,e)),(()=>Et(s))),Ge=(e,t,s,n)=>_e(n?s:nt(s,e,t),((n,o)=>U(Ke(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>Et(e,t))),Ke=(t,s,n,o)=>e?U(ce(ce(F,t),n),(e=>ve(o)!=e[l]?Et(t,s,n,o,e[c]):o),(()=>Et(t,s,n,o))):K(ve(o))?Et(t,s,n,o):o,Ue=(e,t)=>_e(t?e:ot(e),((t,s)=>U(st(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>kt())),st=(e,s)=>t?U(ce(Q,e),(t=>ve(s)!=t[l]?kt(e,s,t[c]):s),(()=>kt(e,s))):K(ve(s))?kt(e,s):s,nt=(e,t,s)=>(U(ce(P,t),(([n,o])=>{ae(n,((t,s)=>{Ae(e,s)||(e[s]=t)})),ae(o,(n=>{Ae(e,n)||Et(t,s,n)}))})),e),ot=e=>(t&&(ae(N,((t,s)=>{Ae(e,s)||(e[s]=t)})),ae(O,(t=>{Ae(e,t)||kt(t)}))),e),at=e=>Ze(F,e,((e,t,s)=>{const n=ie(),o=pe();Ze(he(F,t,ie),s,((e,t,s)=>{ue(e,t,s),U(s[c],(e=>ue(n,t,e)),(()=>Re(o,t)))})),ue(P,t,[n,o])}),((e,t)=>{ue(F,t),ue(P,t)})),rt=e=>Ze(Q,e,((e,t,s)=>{ue(Q,t,s),U(s[c],(e=>ue(N,t,e)),(()=>Re(O,t)))}),((e,t)=>{ue(Q,t),ue(N,t),re(O,t)})),it=e=>Pe(e)?Zt():Gt(e),lt=e=>Ze($,e,((e,t,s)=>ct(t,s)),((e,t)=>St(t))),ct=(e,t)=>Ze(he($,e,(()=>(yt(e,1),ue(q,e,Ce()),ue(H,e,ie()),ie()))),t,((t,s,n)=>dt(e,t,s,n)),((t,s)=>Tt(e,t,s))),dt=(e,t,s,n,o)=>Ze(he(t,s,(()=>(It(e,s,1),ie()))),n,((t,n,o)=>ut(e,s,t,n,o)),((n,a)=>pt(e,t,s,n,a,o))),ut=(e,t,s,n,o)=>{te(s,n)||bt(e,t,n,1);const a=ce(s,n);o!==a&&(mt(e,t,n,a,o),ue(s,n,o))},ht=(e,t,s,n,o)=>U(ce(t,s),(t=>ut(e,s,t,n,o)),(()=>dt(e,t,s,nt({[n]:o},e,s)))),ft=e=>Pe(e)?_t():Kt(e),gt=e=>Ze(G,e,((e,t,s)=>Lt(t,s)),((e,t)=>Rt(t))),Lt=(e,t)=>{te(G,e)||Ct(e,1);const s=ce(G,e);t!==s&&(Vt(e,s,t),ue(G,e,t))},wt=(e,t)=>{const[s]=ce(q,e),n=s(t);return te(ce($,e),n)?wt(e,t):n},vt=e=>ce($,e)??ct(e,{}),St=e=>ct(e,{}),Tt=(e,t,s)=>{const[,n]=ce(q,e);n(s),dt(e,t,s,{},!0)},pt=(e,t,s,n,o,a)=>{const r=ce(ce(P,e)?.[0],o);if(!K(r)&&!a)return ut(e,s,n,o,r);const i=t=>{mt(e,s,t,ce(n,t)),bt(e,s,t,-1),ue(n,t)};K(r)?i(o):de(n,i),se(n)&&(It(e,s,-1),se(ue(t,s))&&(yt(e,-1),ue($,e),ue(q,e),ue(H,e)))},Rt=e=>{const t=ce(N,e);if(!K(t))return Lt(e,t);Vt(e,ce(G,e)),Ct(e,-1),ue(G,e)},yt=(e,t)=>et(a,e,t),It=(e,t,s)=>et(he(d,e,ie),t,s),bt=(e,t,s,n)=>{const o=ce(H,e),a=ce(o,s)??0;(0==a&&1==n||1==a&&-1==n)&&et(he(i,e,ie),s,n),ue(o,s,a!=-n?a+n:null),et(he(he(h,e,ie),t,ie),s,n)},mt=(e,t,s,n,o)=>he(he(he(g,e,ie),t,ie),s,(()=>[n,0]))[1]=o,Ct=(e,t)=>et(p,e,t),Vt=(e,t,s)=>he(E,e,(()=>[t,0]))[1]=s,Et=(e,t,s,n,o)=>(z(he(he(he(J,e,ie),t,ie),s,(()=>[])),n),o),kt=(e,t,s)=>(z(he(D,e,(()=>[])),t),s),Jt=(e,t,s)=>U(ce(ce(ce(g,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(Wt(e,t,s))])),Mt=e=>U(ce(E,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe($t(e))])),xt=e=>se(J)||se(Ee[e])?0:ae(e?ge(J,Le):J,((t,s)=>ae(t,((t,n)=>ae(t,((t,o)=>Be(Ee[e],[s,n,o],t))))))),At=e=>se(D)||se(ke[e])?0:ae(e?ge(D):D,((t,s)=>Be(ke[e],[s],t))),Dt=(e,t,s)=>{if(!se(t))return Be(e,s,(()=>fe(t))),1},Ft=e=>{const t=se(ye[e]),s=se(be[e])&&se(ne[e])&&se(we[e])&&t&&se(_[e]),n=se(me[e])&&se(Ie[e])&&se(ee[e])&&se(Z[e]);if(!s||!n){const o=e?[ge(a),Le(i),Le(d),ge(h,Le),ge(g,Le)]:[a,i,d,h,g];if(!s){ae(o[1],((t,s)=>Dt(ne[e],t,[s]))),ae(o[3],((t,s)=>ae(t,((t,n)=>Dt(be[e],t,[s,n])))));const s=pe();ae(o[2],((n,o)=>{Dt(we[e],n,[o])&&!t&&(Be(ye[e],[o,null]),Re(s,o))})),t||ae(o[4],((t,n)=>{if(!te(s,n)){const s=pe();ae(t,(e=>ae(e,(([t,n],o)=>n!==t?Re(s,o):re(e,o))))),ae(s,(t=>Be(ye[e],[n,t])))}})),Dt(_[e],o[0])}if(!n){let t;ae(o[4],((s,n)=>{let o;ae(s,((s,a)=>{let r;ae(s,(([s,i],l)=>{i!==s&&(Be(me[e],[n,a,l],i,s,Jt),t=o=r=1)})),r&&Be(Ie[e],[n,a],Jt)})),o&&Be(ee[e],[n],Jt)})),t&&Be(Z[e],void 0,Jt)}}},Pt=e=>{const t=se(xe[e]),s=se(Qe[e])&&se(Je[e]);if(!t||!s){const n=e?[ge(p),ge(E)]:[p,E];if(t||Dt(xe[e],n[0]),!s){let t;ae(n[1],(([s,n],o)=>{n!==s&&(Be(Qe[e],[o],n,s,Mt),t=1)})),t&&Be(Je[e],void 0,Mt)}}},Qt=(e,...t)=>(ss((()=>e(...A(t,C)))),as),jt=()=>fe($,(e=>fe(e,fe))),zt=()=>le($),Nt=e=>le(ce($,C(e))),Ot=(e,t,s,n=0,o)=>{return A(j(M((a=ce($,C(e)),r=(e,s)=>[K(t)?s:ce(e,C(t)),s],A([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(s?-1:1))),n,K(o)?o:n+o),(([,e])=>e));var a,r},Bt=(e,t)=>le(ce(ce($,C(e)),C(t))),Wt=(e,t,s)=>ce(ce(ce($,C(e)),C(t)),C(s)),qt=()=>fe(G),Ht=()=>le(G),$t=e=>ce(G,C(e)),Gt=e=>Qt((()=>(e=>_e(e,$e,Et))(e)?lt(e):0)),Kt=e=>Qt((()=>Ue(e)?gt(e):0)),Ut=e=>{try{it(W(e))}catch{}return as},Xt=t=>Qt((()=>{if((e=_e(t,(e=>_e(e,He))))&&(at(t),!se($))){const e=jt();Zt(),Gt(e)}})),Yt=e=>Qt((()=>{if(t=(e=>_e(e,He))(e)){const s=qt();ts(),_t(),t=!0,rt(e),Kt(s)}})),Zt=()=>Qt((()=>lt({}))),_t=()=>Qt((()=>gt({}))),es=()=>Qt((()=>{at({}),e=!1})),ts=()=>Qt((()=>{rt({}),t=!1})),ss=(e,t)=>{if(-1!=o){ns();const s=e();return os(t),s}},ns=()=>(-1!=o&&o++,1==o&&Be(ze,void 0,!1,!1),as),os=e=>(o>0&&(o--,0==o&&(s=!se(g),n=!se(E),o=1,xt(1),s&&Ft(1),At(1),n&&Pt(1),e?.(fe(g,(e=>fe(e,(e=>fe(e,(e=>[...e]),(([e,t])=>e===t))),Pe)),Pe),fe(J,(e=>fe(e,fe))),fe(E,(e=>[...e]),(([e,t])=>e===t)),fe(D))&&(ae(g,((e,t)=>ae(e,((e,s)=>ae(e,(([e],n)=>Se(as,t,s,n,e))))))),ae(E,(([e],t)=>Te(as,t,e))),s=n=!1),Be(Ne[0],void 0,s,n),o=-1,xt(0),s&&Ft(0),At(0),n&&Pt(0),Be(Ne[1],void 0,s,n),o=0,x([a,i,d,h,g,J,p,E,D],oe))),as),as={getTables:jt,getTableIds:zt,getTable:e=>fe(ce($,C(e)),fe),getTableCellIds:e=>le(ce(H,C(e))),getRowIds:Nt,getSortedRowIds:Ot,getRow:(e,t)=>fe(ce(ce($,C(e)),C(t))),getCellIds:Bt,getCell:Wt,getValues:qt,getValueIds:Ht,getValue:$t,hasTables:()=>!se($),hasTable:e=>te($,C(e)),hasTableCell:(e,t)=>te(ce(H,C(e)),C(t)),hasRow:(e,t)=>te(ce($,C(e)),C(t)),hasCell:(e,t,s)=>te(ce(ce($,C(e)),C(t)),C(s)),hasValues:()=>!se(G),hasValue:e=>te(G,C(e)),getTablesJson:()=>B($),getValuesJson:()=>B(G),getJson:()=>B([$,G]),getTablesSchemaJson:()=>B(F),getValuesSchemaJson:()=>B(Q),getSchemaJson:()=>B([F,Q]),setTables:Gt,setTable:(e,t)=>Qt((e=>$e(t,e)?ct(e,t):0),e),setRow:(e,t,s)=>Qt(((e,t)=>Ge(e,t,s)?dt(e,vt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ss((()=>{let n;return Ge(e,n,t)&&(e=C(e),dt(e,vt(e),n=wt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Qt(((e,t)=>{if(Ge(e,t,s,1)){const n=vt(e);Fe(s,((s,o)=>ht(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Qt(((e,t,s)=>U(Ke(e,t,s,Y(n)?n(Wt(e,t,s)):n),(n=>ht(e,vt(e),t,s,n)))),e,t,s),setValues:Kt,setPartialValues:e=>Qt((()=>Ue(e,1)?Fe(e,((e,t)=>Lt(t,e))):0)),setValue:(e,t)=>Qt((e=>U(st(e,Y(t)?t($t(e)):t),(t=>Lt(e,t)))),e),setTablesJson:Ut,setValuesJson:e=>{try{ft(W(e))}catch{}return as},setJson:e=>{try{const[t,s]=W(e);it(t),ft(s)}catch{Ut(e)}return as},setTablesSchema:Xt,setValuesSchema:Yt,setSchema:(e,t)=>Qt((()=>{Xt(e),Yt(t)})),delTables:Zt,delTable:e=>Qt((e=>te($,e)?St(e):0),e),delRow:(e,t)=>Qt(((e,t)=>U(ce($,e),(s=>te(s,t)?Tt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Qt(((e,t,s)=>U(ce($,e),(o=>U(ce(o,t),(a=>te(a,s)?pt(e,o,t,a,s,n):0))))),e,t,s),delValues:_t,delValue:e=>Qt((e=>te(G,e)?Rt(e):0),e),delTablesSchema:es,delValuesSchema:ts,delSchema:()=>Qt((()=>{es(),ts()})),transaction:ss,startTransaction:ns,finishTransaction:os,forEachTable:e=>ae($,((t,s)=>e(s,(e=>ae(t,((t,s)=>e(s,(e=>de(t,e))))))))),forEachTableCell:(e,t)=>de(ce(H,C(e)),t),forEachRow:(e,t)=>ae(ce($,C(e)),((e,s)=>t(s,(t=>de(e,t))))),forEachCell:(e,t,s)=>de(ce(ce($,C(e)),C(t)),s),forEachValue:e=>de(G,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let i=Ot(e,t,s,n,o);return Oe((()=>{const r=Ot(e,t,s,n,o);k(r,i)||(i=r,a(as,e,t,s,n,o,i))}),ye[r?1:0],[e,t],[zt])},addStartTransactionListener:e=>Oe(e,ze),addWillFinishTransactionListener:e=>Oe(e,Ne[0]),addDidFinishTransactionListener:e=>Oe(e,Ne[1]),callListener:e=>(qe(e),as),delListener:e=>(We(e),as),getListenerStats:()=>({}),createStore:tt};return Fe({[w]:[0,Z],[v]:[0,_],[L]:[1,ee,[zt]],[L+y]:[1,ne,[zt]],[T]:[1,we,[zt]],[S]:[2,Ie,[zt,Nt]],[y]:[2,be,[zt,Nt]],[R]:[3,me,[zt,Nt,Bt],e=>Xe(Wt(...e))],InvalidCell:[3,Ee],[b]:[0,Je],[m]:[0,xe],[I]:[1,Qe,[Ht],e=>Xe($t(e[0]))],InvalidValue:[1,ke]},(([e,t,s,n],o)=>{as[f+o+u]=(...o)=>Oe(o[e],t[o[e+1]?1:0],e>0?j(o,0,e):void 0,s,n)})),Me(as)};e.createCheckpoints=Qe,e.createCustomPersister=We,e.createFilePersister=(e,s)=>{let n;return We(e,(async()=>{try{return await t.promises.readFile(s,d)}catch{}}),(async e=>{try{await t.promises.writeFile(s,e,d)}catch{}}),(e=>{n=t.watch(s,e)}),(()=>{n?.close(),n=void 0}))},e.createIndexes=ze,e.createLocalPersister=(e,t)=>$e(e,t,localStorage),e.createMetrics=Be,e.createQueries=Ke,e.createRelationships=Ue,e.createRemotePersister=(e,t,s,n)=>{let o,a;return We(e,(async()=>{const e=await fetch(t);return a=Ge(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{o=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=Ge(s);K(a)||K(n)||n==a||(a=n,e())}),1e3*n)}),(()=>{U(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>$e(e,t,sessionStorage),e.createStore=tt,e.defaultSorter=je},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs")):"function"==typeof define&&define.amd?define(["exports","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={},e.fs);
Binary file
package/lib/umd/tools.js CHANGED
@@ -1 +1 @@
1
- var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,l="",a=t(l),n=t(!0),o=t(0),d="type",r="default",s="Listener",I="get",c="add",$="Ids",i="Table",u=i+"s",p=i+$,b="Row",C=b+$,h="Sorted"+b+$,g="Cell",m=g+$,f="Value",w=f+"s",y=f+$,T=(e,t)=>e.every(t),v=(e,t)=>e.sort(t),V=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),R=e=>e.length,k=e=>0==R(e),S=(e,t)=>e.filter(t),P=(e,...t)=>e.push(...t),A=e=>e.pop(),E=(e,...t)=>e.unshift(...t),D=e=>e.shift(),O=JSON.parse,N=isFinite,j=(e,t)=>e instanceof t,L=e=>null==e,M=e=>e==a||e==n,G=e=>t(e)==a,J=e=>Array.isArray(e),z=e=>{const l=t(e);return M(l)||l==o&&N(e)?l:void 0},W=(e,t)=>e?.has(t)??!1,B=e=>[...e?.values()??[]],F=(e,t)=>e?.forEach(t),U=(e,t)=>e?.delete(t),_=e=>new Map(e),Z=(e,t)=>e?.get(t),H=(e,t)=>F(e,((e,l)=>t(l,e))),Q=(e,t)=>x([...e?.entries()??[]],(([e,l])=>t(l,e))),q=(e,t,l)=>L(l)?(U(e,t),e):e?.set(t,l),K=(e,t,l)=>(W(e,t)||q(e,t,l()),Z(e,t)),X=e=>e.toUpperCase(),Y=e=>e.toLowerCase(),ee="a ",te="A function for",le=", and registers a listener so that any changes to that result will cause a re-render",ae="Callback",ne="Del",oe="Deps",de=oe+"?: React.DependencyList",re="doRollback?: DoRollback",se="actions: () => Return, "+re,Ie="export",ce="Id",$e="Invalid",ie="Json",ue=Y(s),pe="?: ",be=" | undefined",Ce="NonNullable",he="Partial",ge="Props",me="Provider",fe=`Registers a ${ue} that will be called`,we="Represents",ye="rowId: "+ce,Te="Schema",ve="Set",Ve=", descending?: boolean, offset?: number, limit?: number",xe="[]",Re="the Store",ke="Transaction",Se=Y(ke),Pe="Execute a "+Se+" to make multiple mutations",Ae="Explicitly starts a "+Se,Ee="Explicitly finishes a "+Se,De="the end of the "+Se,Oe="void",Ne=" => "+Oe,je="WhenSet",Le=" when setting it",Me=ee+"string serialization of",Ge=" ",Je="Gets a callback that can ",ze="the ",We=" the schema for",Be=(e=0,t=0)=>`the ${rt[e]}content of`+(t?Ge+Re:l),Fe=(e=0,t,a=0)=>nt[t]+Ge+Be(e,1)+(a?" when setting it":l),Ue=(e,t=0)=>we+` a Row when ${t?"s":"g"}etting ${Be()} the '${e}' `+i,_e=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,Ze=(e,t)=>`Calls a function for each ${e} in `+t,He=e=>"The props passed to a component that renders "+e,Qe=e=>"A function that takes "+e,qe=(e,t=0)=>te+" listening to changes to "+dt[e]+" in "+dt[t],Ke=(e,t,a=0)=>fe+" whenever "+dt[e]+" in "+dt[t]+" change"+(a?l:"s"),Xe=e=>`the '${e}' `+i,Ye=e=>"the specified Row in "+Xe(e),et=(e,t=0)=>nt[t]+` ${Be()} `+Xe(e),tt=(e,t=0)=>nt[t]+` ${Be()} `+Ye(e),lt=(e,t,l=0)=>nt[l]+` the '${t}' Cell for `+Ye(e),at=(e,t=0)=>nt[t]+` the '${e}' Value`,nt=["Gets","Checks existence of","Sets","Deletes","Sets part of",we,"Gets "+Me,"Sets "+Me,fe+" whenever",Je+"set",Je+"add",Je+"set part of",Je+"delete","Renders","Gets "+Me+We,"Sets"+We,"Deletes"+We],ot=[I,"has","set","del","set","forEach",c,l],dt=[Re,u,ze+i+Ge+$,ee+i,ze+b+Ge+$,ee+b,ze+g+Ge+$,ee+g,"invalid Cell changes",w,ze+f+Ge+$,ee+f,"invalid Value changes",ze+"sorted "+b+Ge+$],rt=[l,"tabular ","keyed value "],st=e=>new Set(J(e)||L(e)?e:[e]),It=(e,t)=>e?.add(t),ct=/[^A-Za-z]+/,$t=/[^A-Za-z0-9]+/,it=/^( *)\/\*\* *(.*?) *\*\/$/gm,ut=(e,t,l)=>e.substring(t,l),pt=e=>e.includes(","),bt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return W(e,n)?bt(e,t,l,a+1):(q(e,n,l),n)},Ct=e=>e.replace(it,((e,t,l)=>{const a=77-ht(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),ht=e=>e.length,gt=(e,t=l)=>e.join(t),mt=e=>e.flat(1e3),ft=(e,t=0)=>gt(x(e.split($t),((e,l)=>(l>0||t?X:Y)(ut(e,0,1))+ut(e,1)))),wt=e=>X(gt((e&&!ct.test(e[0])?e:" "+e).split($t),"_")),yt=e=>`/** ${e}. */`,Tt=(...e)=>gt(S(e,(e=>e)),", "),vt=(...e)=>"{"+gt(e,"; ")+"}",Vt=(...e)=>vt(...x(e,(e=>"readonly "+e))),xt=()=>{const e=[_(),_(),_(),_()],t=_(),a=_();return[(...e)=>gt(mt(e),"\n"),(t,l,...a)=>V(a,(a=>V([0,1],(n=>(t??n)==n?It(K(e[n],l,st),a):0)))),(e,a,n,o=l,d=1)=>bt(t,e,[a,n,o,d]),(e,t,l)=>bt(a,e,J(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>Z(a,e)===t?e:bt(a,e,t),(t=0)=>x([...v(Q(e[t],((e,t)=>`import {${gt(v(B(e)),", ")}} from '${t}';`)),((e,t)=>pt(e)!=pt(t)?pt(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>Q(t,(([e,t,a,n],o)=>[yt(t),`${n?Ie+" ":l}type ${o}${a} = ${e};`,l])),()=>Q(a,((e,t)=>(e=J(e)?e:[e],P(e,A(e)+";"),[`const ${t} = ${D(e)}`,e,l])))]},Rt=Object,kt=Rt.keys,St=Rt.freeze,Pt=e=>j(e,Rt)&&e.constructor==Rt,At=(e,t)=>x(Rt.entries(e),(([e,l])=>t(l,e))),Et=e=>Pt(e)&&k(kt(e)),Dt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Ot=(e,t,l)=>[t=>At(e,((e,a)=>t(a,ft(a,1),l(wt(a),`'${a}'`)))),(t,a)=>At(e[t],((e,t)=>a(t,e[d],e[r],l(wt(t),`'${t}'`),ft(t,1)))),e=>At(t,((t,a)=>e(a,t[d],t[r],l(wt(a),`'${a}'`),ft(a,1))))],Nt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,r=e(u,vt(...t((e=>`'${e}'?: {[rowId: Id]: `+vt(...a(e,((e,t,a)=>`'${e}'${L(a)?"?":l}: ${t}`)))+"}"))),Fe(1,5)),I=e(u+je,vt(...t((e=>`'${e}'?: {[rowId: Id]: `+vt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Fe(1,5,1)),c=e(i+ce,"keyof "+r,"A "+i+" Id in "+Re),$=`<TId extends ${c}>`,f=e(i,Ce+`<${r}[TId]>`,"A "+i+" in "+Re,$),w=e(i+je,Ce+`<${I}[TId]>`,"A "+i+" in "+Re+Le,$),y=e(b,f+"<TId>[Id]","A "+b+" in a "+i,$),T=e(b+je,w+"<TId>[Id]","A "+b+" in a "+i+Le,$),v=e(g+ce,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+b,$),V=e(g,Ce+`<${r}[TId]>[Id][CId]`,"A "+g+" in a "+b,`<TId extends ${c}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,g+" Ids and types in a "+b,`<TId extends ${c}, CId = ${v}<TId>>`,0),R=e(g+ae,`(...[cellId, cell]: ${x}<TId>)`+Ne,Qe(ee+g+" Id, and "+g),$),k=e(b+ae,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Ne+") "+Ne,Qe(ee+b+" Id, and a "+g+" iterator"),$),S=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${Ne}] : never`,i+" Ids and callback types",`<TId = ${c}>`,0),P=e(i+ae,`(...[tableId, forEachRow]: ${S})`+Ne,Qe(ee+i+" Id, and a "+b+" iterator"),l),A=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),E=e("GetCellChange",`(...[tableId, rowId, cellId]: ${A}) => CellChange`,te+" returning information about any Cell's changes during a "+Se),D=e(u+s,`(${d}, getCellChange: ${E}${be})`+Ne,qe(1)),O=e(p+s,`(${d})`+Ne,qe(2)),N=e(i+s,`(${d}, tableId: ${c}, getCellChange: ${E}${be})`+Ne,qe(3)),j=e(C+s,`(${d}, tableId: ${c})`+Ne,qe(4,3)),M=e(h+s,"("+Tt(d,"tableId: "+c,"cellId: Id"+be,"descending: boolean","offset: number","limit: number"+be,"sortedRowIds: Ids")+")"+Ne,qe(13,3)),G=e(b+s,"("+Tt(""+d,"tableId: "+c,ye,`getCellChange: ${E}${be}`)+")"+Ne,qe(5,3)),J=e(m+s,"("+Tt(""+d,"tableId: "+c,ye)+")"+Ne,qe(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${ye}, cellId: CId, newCell: ${V}<TId, CId> ${be}, oldCell: ${V}<TId, CId> ${be}, getCellChange: ${E} ${be}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${v}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[r,I,c,f,w,y,T,v,V,R,k,P,D,O,N,j,M,G,J,e(g+s,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${W})`+Ne,qe(7,5)),e($e+g+s,`(${d}, tableId: Id, ${ye}, cellId: Id, invalidCells: any[])`+Ne,qe(8))]},(t,a)=>{const o=t+": "+a,d=e(w,vt(...n(((e,t,a)=>`'${e}'${L(a)?"?":l}: ${t}`))),Fe(2,5)),r=e(w+je,vt(...n(((e,t)=>`'${e}'?: ${t}`))),Fe(2,5,1)),I=e(f+ce,"keyof "+d,"A "+f+" Id in "+Re),c=e(f,Ce+`<${d}[VId]>`,"A "+f+" Id in "+Re,`<VId extends ${I}>`),$=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${c}<VId>] : never`,f+" Ids and types in "+Re,`<VId = ${I}>`,0),i=e(f+ae,`(...[valueId, value]: ${$})`+Ne,Qe(ee+f+" Id, and "+f)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,te+" returning information about any Value's changes during a "+Se),p=e(w+s,`(${o}, getValueChange: ${u}${be})`+Ne,qe(9)),b=e(y+s,`(${o})`+Ne,qe(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${c}<VId> ${be}, oldValue: ${c}<VId> ${be}, getValueChange: ${u} ${be}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,r,I,c,i,p,b,e(f+s,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Ne,qe(11)),e($e+f+s,`(${o}, valueId: Id, invalidValues: any[])`+Ne,qe(12))]},(t,l)=>e(ke+s,`(${t}: ${l}, cellsTouched: boolean, valuesTouched: boolean)`+Ne,te+" listening to the completion of a "+Se)],jt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),Lt=(e,t=l)=>`fluent(() => ${jt(e,t)})`,Mt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,Gt=(e,t,a)=>{const[o,I,T,v,x,R,k,S]=xt(),[A,D,O]=Ot(e,t,x),[N,j,M]=Nt(T,A,D,O),J=_(),z=(e=0)=>Q(J,(([t,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${t}): ${a} => ${n},`]:[r+d+`(${t}): ${a};`];return e||E(s,yt(o)),P(s,l),s})),W=(e,t,a,n,o,d=l)=>bt(J,e,[t,a,n,o,d]),F=(e,t,a,n,o,d=l,r=l,s=l)=>W(ot[e]+t+(4==e?he:l)+a,d,n,(n==X?Lt:jt)(ot[e]+(4==e?he:l)+a,r,e?void 0:n),o,s),U=(e,t,a,n=l,o=l,d=1,r=l)=>W(c+e+s,(n?n+", ":l)+ue+": "+t+(d?", mutator?: boolean":l),ce,Mt(c+e+s,o,d?"mutator":l),a,r),K=`./${ft(a)}.d`,X=ft(a,1),Y=ft(X),ee=[],te=_();let le=[],ne=[];if(I(1,K,X,`create${X} as create${X}Decl`),!Et(e)){I(0,"tinybase","CellChange"),I(null,"tinybase",$);const[e,t,a,o,s,c,f,w,y,v,R,k,S,E,O,j,M,J,z,W,H]=N(Y,X),Q=_();A(((e,t)=>{const l=`<'${e}'>`,a=[T(t+i,o+l,we+` the '${e}' `+i),T(t+i+je,s+l,we+` the '${e}' `+i+Le),T(t+b,c+l,Ue(e)),T(t+b+je,f+l,Ue(e,1)),T(t+g+ce,w+l,`A Cell Id for the '${e}' `+i),T(t+g+ae,v+l,Qe(`a Cell Id and value from a Row in the '${e}' `+i)),T(t+b+ae,R+l,Qe(`a Row Id from the '${e}' Table, and a Cell iterator`))];q(Q,e,a),I(1,K,...a)})),I(1,K,e,t,a,w,k,S,E,O,j,M,J,z,W,H),le=[e,t,a,w,S,E,O,j,M,J,z,W,Q],V([[e],[n],[X,"tables: "+t,"tables"],[X]],(([e,t,a],n)=>F(n,l,u,e,Fe(1,n),t,a))),F(0,l,p,a+xe,_e(i,Re)),F(5,l,i,Oe,Ze(i,Re),"tableCallback: "+k,"tableCallback as any"),A(((e,t,a)=>{const[o,d,r,s,I,c,u]=Z(Q,e);V([[o],[n],[X,"table: "+d,", table"],[X]],(([n,o,d=l],r)=>F(r,t,i,n,et(e,r),o,a+d))),F(0,t,C,$,_e(b,Xe(e)),l,a),F(0,t,h,$,_e(b,Xe(e),1),"cellId?: "+I+Ve,a+", cellId, descending, offset, limit"),F(5,t,b,Oe,Ze(b,Xe(e)),"rowCallback: "+u,a+", rowCallback as any"),V([[r],[n],[X,", row: "+s,", row"],[X],[X,", partialRow: "+s,", partialRow"]],(([n,o=l,d=l],r)=>F(r,t,b,n,tt(e,r),ye+o,a+", rowId"+d))),F(6,t,b,ce+be,"Add a new Row to "+Xe(e),"row: "+s+", reuseIds?: boolean",a+", row, reuseIds"),F(0,t,m,I+xe,_e(g,Ye(e)),ye,a+", rowId"),F(5,t,g,Oe,Ze(g,Ye(e)),ye+", cellCallback: "+c,a+", rowId, cellCallback as any"),D(e,((o,d,r,s,I)=>{const c="Map"+ft(d,1);q(te,d,c);const $=d+(L(r)?be:l);V([[$],[n],[X,`, cell: ${d} | `+c,", cell as any"],[X]],(([n,d=l,r=l],c)=>F(c,t+I,g,n,lt(e,o,c),ye+d,a+", rowId, "+s+r)))}))})),F(0,l,u+ie,ie,Fe(1,6)),F(2,l,u+ie,X,Fe(1,7),"tablesJson: "+ie,"tables"+ie),U(u,S,Fe(1,8)+" changes"),U(p,E,Ke(2,0,1)),U(i,O,Ke(3,0),`tableId: ${a} | null`,"tableId"),U(C,j,Ke(4,3,1),`tableId: ${a} | null`,"tableId"),U(h,M,Ke(13,3,1),Tt("tableId: TId",`cellId: ${w}<TId>`+be,"descending: boolean","offset: number","limit: number"+be),Tt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),U(b,J,Ke(5,3),`tableId: ${a} | null, rowId: IdOrNull`,"tableId, rowId"),U(m,z,Ke(6,5,1),`tableId: ${a} | null, rowId: IdOrNull`,"tableId, rowId"),U(g,W,Ke(7,5),`tableId: ${a} | null, rowId: IdOrNull, cellId: ${gt(A((e=>Z(Q,e)?.[4]??l))," | ")} | null`,"tableId, rowId, cellId"),U($e+g,H,fe+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),I(1,K,...B(te)),P(ee,".set"+u+Te+"({",mt(A(((e,t,a)=>[`[${a}]: {`,...D(e,((e,t,a,n)=>`[${n}]: {[${x(wt(d),`'${d}'`)}]: ${x(wt(t),`'${t}'`)}${L(a)?l:`, [${x(wt(r),`'${r}'`)}]: `+(G(a)?x(wt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(!Et(t)){const[e,t,a,o,s,c,$,i,u]=j(Y,X);I(1,K,e,t,a,s,c,$,i,u),ne=[e,t,a,c,$,i],V([[e],[n],[X,"values: "+t,"values"],[X],[X,"partialValues: "+t,"partialValues"]],(([e,t,a],n)=>F(n,l,w,e,Fe(2,n),t,a))),F(0,l,y,a+xe,_e(f,Re)),F(5,l,f,"void",Ze(f,Re),"valueCallback: "+s,"valueCallback as any"),O(((e,t,a,o,d)=>{const r="Map"+ft(t,1);q(te,t,r),V([[t],[n],[X,`value: ${t} | `+r,", value as any"],[X]],(([t,a,n=l],r)=>F(r,d,f,t,at(e,r),a,o+n)))})),F(0,l,w+ie,ie,Fe(2,6)),F(2,l,w+ie,X,Fe(2,7),"valuesJson: "+ie,"values"+ie),U(w,c,Fe(2,8)+" changes"),U(y,$,Ke(10,0,1)),U(f,i,Ke(11,0),`valueId: ${a} | null`,"valueId"),U($e+f,u,fe+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),I(1,K,...B(te)),I(0,"tinybase","ValueChange"),P(ee,".set"+w+Te+"({",O(((e,t,a,n)=>[`[${n}]: {[${x(wt(d),`'${d}'`)}]: ${x(wt(t),`'${t}'`)}${L(a)?l:`, [${x(wt(r),`'${r}'`)}]: `+(G(a)?x(wt(a),`'${a}'`):a)}},`])),"})")}H(te,((e,t)=>T(t,`(cell: ${e}${be}) => `+e,`Takes a ${e} Cell value and returns another`))),I(null,"tinybase","DoRollback",ce,"IdOrNull",ie,"Store"),F(0,l,ie,ie,Fe(0,6)),F(2,l,ie,X,Fe(0,7),"tablesAndValuesJson: "+ie,"tablesAndValuesJson"),F(7,l,Se,"Return",Pe,se,"actions, doRollback","<Return>"),F(7,l,"start"+ke,X,Ae),F(7,l,"finish"+ke,X,Ee,re,"doRollback");const oe=M(Y,X);return U("Start"+ke,oe,fe+" just before the start of the "+Se,l,l,0),U("WillFinish"+ke,oe,fe+" just before "+De,l,l,0),U("DidFinish"+ke,oe,fe+" just after "+De,l,l,0),F(7,l,"call"+s,X,"Manually provoke a listener to be called","listenerId: Id","listenerId"),F(3,l,s,X,"Remove a listener that was previously added to "+Re,"listenerId: Id","listenerId"),W("getStore",l,"Store","store",nt[0]+" the underlying Store object"),I(1,"tinybase","createStore"),I(1,K,X,`create${X} as create${X}Decl`,oe),x("store",["createStore()",...ee]),v("fluent","actions: () => Store",["actions();",`return ${Y};`]),v("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Y}, ...params)`),x(Y,["{",...z(1),"}"]),[o(...R(0),...k(),Ie+" interface "+X+" {",...z(0),"}",l,yt(`Creates a ${X} object`),Ie+" function create"+X+"(): "+X+";"),o(...R(1),Ie+" const create"+X+": typeof create"+X+"Decl = () => {",...S(),`return Object.freeze(${Y});`,"};"),le,ne]},Jt=e=>I+e,zt=e=>Tt(Jt(e),Jt(e)+oe),Wt="debugIds?: boolean",Bt="debugIds={debugIds}",Ft="then"+de,Ut="Parameter",_t=": (parameter: "+Ut+", store: Store) => ",Zt="const contextValue = useContext(Context);",Ht=", based on a parameter",Qt=": ",qt="<"+Ut+",>",Kt=Ut+"ized"+ae+"<"+Ut+">",Xt="rowId",Yt="rowId={rowId}",el=", separator, debugIds",tl="separator?: ReactElement | string",ll="then?: (store: Store",al=Tt(ll+")"+Ne,Ft),nl="then, then"+oe,ol=Xt+Qt+ce,dl="View",rl=(e,...t)=>Tt(...t,ue+": "+e,ue+de,"mutator?: boolean"),sl=(...e)=>Tt(...e,ue,ue+oe,"mutator"),Il=(e,t,a,n,o)=>{const[d,r,I,c,T,v,V,x]=xt(),[R,k,S]=Ot(e,t,T),A=`./${ft(a)}.d`,D=`./${ft(a)}-ui-react.d`,O="tinybase/ui-react",N=ft(a,1),j=ft(N),M=N+"Or"+N+ce,G=j+"Or"+N+ce,J=j+`={${j}}`,z=_(),W=(e,t,a,n,o,d=l)=>(r(1,D,e+" as "+e+"Decl"),bt(z,e,[t,a,n,o,d])),B=(e,t,a,n,o,d=l)=>W("use"+e,t,a,n,o,d),F=(e,t,a,n,o=l,d=l,s=l,I=l,c=l)=>(r(1,O,`use${t} as use${t}Core`),B(e,Tt(o,X,I),a,te+`(${G}, use${t}Core, [`+(d||l)+(c?"], ["+c:l)+"]);",n,s)),U=(e,t,l,a)=>W(e,t,1,l,a),H=(e=0)=>Q(z,(([t,a,n,o,d],r)=>{const s=e?[Ie+` const ${r}: typeof ${r}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[Ie+` function ${r}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||E(s,yt(o)),P(s,l),s}));r(null,"tinybase",ce,"Store",ae,Ut+"ized"+ae),r(0,O,"ComponentReturnType"),r(null,O,"ExtraProps"),r(0,A,N);const q=I(M,N+" | "+ce,`Used when you need to refer to a ${N} in a React hook or component`),K=I(me+ge,Vt(j+pe+N,j+`ById?: {[${j}Id: Id]: ${N}}`),`Used with the ${me} component, so that a `+N+" can be passed into the context of an application");r(0,"react","ReactElement","ComponentType"),r(1,"react","React"),r(1,D,q,K);const X=G+pe+q;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${N}?, {[${j}Id: Id]: ${N}}?]>([])`),B("Create"+N,`create: () => ${N}, create`+de,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const Y=B(N,"id?: Id",N+be,["{",Zt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${me} component context`),te=c("useHook",G+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${j} = ${Y}(${G} as Id);`,`return hook(...preParams, ((${G} == null || typeof ${G} == 'string')`,`? ${j} : ${G})?.getStore(), ...postParams)`]),oe=c("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),re=c("wrap",Tt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),se=T("NullComponent","() => null");if(!Et(e)){const[e,t,a,o,d,f,w,y,T,v,V,x,S]=n;r(null,A,e,t,a,d,f,w,y,T,v,V,x),r(0,A,o),r(1,A,N),r(null,"tinybase",$,"IdOrNull");const P=c("tableView",`{${j}, rowComponent, getRowComponentProps`+el+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${re}(rowIds.map((rowId) => (`,"<Row","{..."+oe+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Yt,J,Bt,"/>","))",el,", tableId,",");"]),E=c("getDefaultTableComponent","tableId: Id",gt(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+se),O=c("getDefaultCellComponent","tableId: Id, cellId: Id",gt(R(((e,t,l)=>`tableId == ${l} ? ${gt(k(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+se} : `)))+se);F(u,u,e,Fe(1,0)+le);const M=F(p,p,a+xe,_e(i,Re)+le);F(ve+u+ae,ve+u+ae,Kt,Fe(1,9)+Ht,Tt(Jt(u)+_t+t,Jt(u)+de),zt(u),qt,Tt(ll,`tables: ${t})`+Ne,Ft),nl),F(ne+u+ae,ne+u+ae,ae,Fe(1,12),l,l,l,al,nl);const G=I(g+ge,Vt("tableId?: TId","rowId: Id","cellId?: CId",j+pe+N,Wt),He(ee+g),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(b+ge,Vt("tableId?: TId","rowId: Id",j+pe+N,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${G}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,tl,Wt),He(ee+b),`<TId extends ${a}>`),W=I(i+ge,Vt("tableId?: TId",j+pe+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),He(ee+i),`<TId extends ${a}>`),B=I("Sorted"+i+ge,Vt("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",j+pe+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),He(ee+"sorted "+i),`<TId extends ${a}>`),_=I(u+ge,Vt(j+pe+N,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,tl,Wt),He(Be(1,1)));r(1,D,_,W,B,z,G),U(u+dl,"{"+j+", tableComponents, getTableComponentProps"+el+"}: "+_,[re+`(${M}(${j}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+E+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${oe}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Bt,"/>;","}), separator)"],Fe(1,13)+le),R(((e,t,a)=>{const[n,o,d,s,I]=Z(S,e);r(null,A,n,o,d,s,I),F(t+i,i,n,et(e)+le,l,a);const c=F(t+C,C,$,_e(b,Xe(e))+le,l,a),u=F(t+h,h,$,_e(b,Xe(e),1)+le,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(t+b,b,d,tt(e)+le,ol,Tt(a,Xt));const p=F(t+m,m,I+xe,_e(g,Ye(e))+le,ol,Tt(a,Xt));F(ve+t+i+ae,ve+i+ae,Kt,et(e,9)+Ht,Tt(Jt(i)+_t+o,Jt(i)+de),Tt(a,zt(i)),qt,Tt(ll,`table: ${o})`+Ne,Ft),nl),F(ne+t+i+ae,ne+i+ae,ae,et(e,12),l,a,l,al,nl),F(ve+t+b+ae,ve+b+ae,Kt,tt(e,9)+Ht,Tt(ol,Jt(b)+_t+s,Jt(b)+de),Tt(a,Xt,zt(b)),qt,Tt(ll,`row: ${s})`+Ne,Ft),nl),F("Add"+t+b+ae,"Add"+b+ae,Kt,tt(e,10)+Ht,Tt(Jt(b)+_t+s,Jt(b)+de),Tt(a,zt(b)),qt,"then?: ("+Tt(ol+be,"store: Store","row: "+s+")"+Ne,"then"+de)+", reuseRowIds?: boolean",nl+", reuseRowIds"),F(ve+t+he+b+ae,ve+he+b+ae,Kt,tt(e,11)+Ht,Tt(ol,Jt(he+b)+_t+s,Jt(he+b)+de),Tt(a,Xt,zt(he+b)),qt,Tt(ll,`partialRow: ${s})`+Ne,Ft),nl),F(ne+t+b+ae,ne+b+ae,ae,tt(e,12),ol,Tt(a,Xt),l,al,nl);const f=U(t+b+dl,"{rowId, "+j+", cellComponents, getCellComponentProps"+el+`}: ${z}<'${e}'>`,[re+`(${p}(rowId, ${j}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+O+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${oe}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Yt,"cellId={cellId}",J,Bt,"/>;","})"+el+", rowId)"],tt(e,13)+le);U(t+"Sorted"+i+dl,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,P+"(props, "+u+`(cellId, descending, offset, limit, props.${j}), ${a}, ${f});`,et(e,13)+", sorted"+le),U(t+i+dl,`props: ${W}<'${e}'>`,P+"(props, "+c+`(props.${j}), ${a}, ${f});`,et(e,13)+le),k(e,((n,o,d,s,I)=>{const c="Map"+ft(o,1);r(0,A,c),r(1,A,c);const $=F(t+I+g,g,o+(L(d)?be:l),lt(e,n)+le,ol,Tt(a,Xt,s));F(ve+t+I+g+ae,ve+g+ae,Kt,lt(e,n,9)+Ht,Tt(ol,Jt(g)+_t+o+" | "+c,Jt(g)+de),Tt(a,Xt,s,zt(g)),qt,Tt(ll,`cell: ${o} | ${c})`+Ne,Ft),nl),F(ne+t+I+g+ae,ne+g+ae,ae,lt(e,n,12),Tt(ol,"forceDel?: boolean"),Tt(a,Xt,s,"forceDel"),l,al,nl),U(t+I+g+dl,`{rowId, ${j}, debugIds}: `+G+`<'${e}', '${n}'>`,[re+`('' + ${$}(rowId, `+j+`) ?? '', undefined, debugIds, ${s})`],lt(e,n,13)+le)}))}));const H=gt(R((e=>Z(S,e)?.[4]??l))," | ");F(u+s,u+s,Oe,Fe(1,8)+" changes",rl(d),sl()),F(p+s,p+s,Oe,Ke(2,0,1),rl(f),sl()),F(i+s,i+s,Oe,Ke(3,0),rl(w,`tableId: ${a} | null`),sl("tableId")),F(C+s,C+s,Oe,Ke(4,3,1),rl(y,`tableId: ${a} | null`),sl("tableId")),F(h+s,h+s,Oe,Ke(13,3,1),rl(T,`tableId: ${a} | null`,"cellId: "+H+be,"descending: boolean","offset: number","limit: number"+be),sl("tableId","cellId","descending","offset","limit")),F(b+s,b+s,Oe,Ke(5,3),rl(v,`tableId: ${a} | null`,Xt+": IdOrNull"),sl("tableId",Xt)),F(m+s,m+s,Oe,Ke(6,5,1),rl(V,`tableId: ${a} | null`,Xt+": IdOrNull"),sl("tableId",Xt)),F(g+s,g+s,Oe,Ke(7,5),rl(x,`tableId: ${a} | null`,Xt+": IdOrNull",`cellId: ${H} | null`),sl("tableId",Xt,"cellId"))}if(!Et(t)){const[e,t,a,n,d,$]=o;r(null,A,...o),r(1,A,N);const i=c("getDefaultValueComponent","valueId: Id",gt(S(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+se);F(w,w,e,Fe(2,0)+le);const u=F(y,y,a+xe,_e(f,Re)+le);F(ve+w+ae,ve+w+ae,Kt,Fe(2,9)+Ht,Tt(Jt(w)+_t+t,Jt(w)+de),zt(w),qt,Tt(ll,`values: ${t})`+Ne,Ft),nl),F(ve+he+w+ae,ve+he+w+ae,Kt,Fe(2,11)+Ht,Tt(Jt(he+w)+_t+t,Jt(he+w)+de),zt(he+w),qt,Tt(ll,`partialValues: ${t})`+Ne,Ft),nl),F(ne+w+ae,ne+w+ae,ae,Fe(2,12),l,l,l,al,nl);const p=I(f+ge,Vt("valueId?: VId",j+pe+N,Wt),He("a Value"),`<VId extends ${a}>`),b=I(w+ge,Vt(j+pe+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,tl,Wt),He(Be(2,1)));r(1,D,b,p),U(w+dl,"{"+j+", valueComponents, getValueComponentProps"+el+"}: "+b,[re+`(${u}(${j}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${oe}(getValueComponentProps, valueId)}`,"key={valueId}",J,Bt,"/>;","}), separator)"],Fe(2,13)+le),S(((e,t,a,n,o)=>{const d="Map"+ft(t,1);r(0,A,d),r(1,A,d);const s=F(o+f,f,t,at(e)+le,l,n);F(ve+o+f+ae,ve+f+ae,Kt,at(e,9)+Ht,Tt(Jt(f)+_t+t+" | "+d,Jt(f)+de),Tt(n,zt(f)),qt,Tt(ll,`value: ${t} | ${d})`+Ne,Ft),nl),F(ne+o+f+ae,ne+f+ae,ae,at(e,12),l,n,l,al,nl),U(o+f+dl,`{${j}, debugIds}: ${p}<'${e}'>`,[re+`('' + ${s}(`+j+`) ?? '', undefined, debugIds, ${n})`],at(e,13)+le)})),F(w+s,w+s,Oe,Fe(2,8)+" changes",rl(n),sl()),F(y+s,y+s,Oe,Ke(10,0,1),rl(d),sl()),F(f+s,f+s,Oe,Ke(11,0),rl($,`valueId: ${a} | null`),sl("valueId"))}return U(me,`{${j}, ${j}ById, children}: `+K+" & {children: React.ReactNode}",["{",Zt,"return (","<Context."+me,"value={useMemo(",`() => [${j} ?? contextValue[0], {...contextValue[1], ...${j}ById}],`,`[${j}, ${j}ById, contextValue],`,")}>","{children}",`</Context.${me}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...v(0),...V(),...H(0)),d(...v(1),...x(),...H(1))]},cl=(e,t,a)=>{if(Et(e)&&Et(t))return[l,l,l,l];const[n,o,d,r]=Gt(e,t,a);return[n,o,...Il(e,t,a,d,r)]},$l={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},il=Dt((e=>{const t=()=>{const t=O(e.getTablesSchemaJson());return!Et(t)||T(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=_();if(T(a,(t=>T(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=K(n,a,(()=>[z(o),_(),[0],0])),[r,s,[I]]=d,c=K(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),q(s,o,c),d[3]++,r==z(o)})))))return t[l]={},F(n,(([e,,[,n],o],s)=>{t[l][s]={[d]:e,...o==R(a)?{[r]:n}:{}}})),1}))?t:{}},l=()=>{const t=O(e.getValuesSchemaJson());return Et(t)&&e.forEachValue(((e,l)=>{t[e]={[d]:z(l)}})),t},a=e=>cl(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(await import("prettier")).format}catch(e){l=e=>e}return x(a(e),((e,a)=>Ct(l(e,{...$l,filepath:"_."+t[a]}))))};return St({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:R(e.getValueIds()),jsonLength:ht(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=il},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
1
+ var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,l="",a=t(l),n=t(!0),o=t(0),d="type",r="default",s="Listener",I="get",c="add",$="Ids",i="Table",u=i+"s",p=i+$,b="Row",C=b+$,h="Sorted"+b+$,m="Cell",f=m+$,g="Value",w=g+"s",y=g+$,T=(e,t)=>e.every(t),v=(e,t)=>e.sort(t),V=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),R=e=>e.length,k=e=>0==R(e),S=(e,t)=>e.filter(t),P=(e,...t)=>e.push(...t),A=e=>e.pop(),E=(e,...t)=>e.unshift(...t),D=e=>e.shift(),O=JSON.parse,N=isFinite,j=(e,t)=>e instanceof t,L=e=>null==e,M=e=>e==a||e==n,G=e=>t(e)==a,J=e=>Array.isArray(e),z=e=>{const l=t(e);return M(l)||l==o&&N(e)?l:void 0},W=(e,t)=>e?.has(t)??!1,B=e=>[...e?.values()??[]],F=(e,t)=>e?.forEach(t),U=(e,t)=>e?.delete(t),_=e=>new Map(e),Z=(e,t)=>e?.get(t),H=(e,t)=>F(e,((e,l)=>t(l,e))),Q=(e,t)=>x([...e?.entries()??[]],(([e,l])=>t(l,e))),q=(e,t,l)=>L(l)?(U(e,t),e):e?.set(t,l),K=(e,t,l)=>(W(e,t)||q(e,t,l()),Z(e,t)),X=e=>e.toUpperCase(),Y=e=>e.toLowerCase(),ee="a ",te="A function for",le=", and registers a listener so that any changes to that result will cause a re-render",ae="Callback",ne="Del",oe="Deps",de=oe+"?: React.DependencyList",re="doRollback?: DoRollback",se="actions: () => Return, "+re,Ie="export",ce="Id",$e="Invalid",ie="Json",ue=Y(s),pe="?: ",be=" | undefined",Ce="NonNullable",he="Partial",me="Props",fe="Provider",ge=`Registers a ${ue} that will be called`,we="Represents",ye="rowId: "+ce,Te="Schema",ve="Set",Ve=", descending?: boolean, offset?: number, limit?: number",xe="[]",Re="the Store",ke="Transaction",Se=Y(ke),Pe="Execute a "+Se+" to make multiple mutations",Ae="Explicitly starts a "+Se,Ee="Explicitly finishes a "+Se,De="the end of the "+Se,Oe="void",Ne=" => "+Oe,je="WhenSet",Le=" when setting it",Me=ee+"string serialization of",Ge=" ",Je="Gets a callback that can ",ze="the ",We=" the schema for",Be=(e=0,t=0)=>`the ${rt[e]}content of`+(t?Ge+Re:l),Fe=(e=0,t,a=0)=>nt[t]+Ge+Be(e,1)+(a?" when setting it":l),Ue=(e,t=0)=>we+` a Row when ${t?"s":"g"}etting ${Be()} the '${e}' `+i,_e=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,Ze=(e,t)=>`Calls a function for each ${e} in `+t,He=e=>"The props passed to a component that renders "+e,Qe=e=>"A function that takes "+e,qe=(e,t=0)=>te+" listening to changes to "+dt[e]+" in "+dt[t],Ke=(e,t,a=0)=>ge+" whenever "+dt[e]+" in "+dt[t]+" change"+(a?l:"s"),Xe=e=>`the '${e}' `+i,Ye=e=>"the specified Row in "+Xe(e),et=(e,t=0)=>nt[t]+` ${Be()} `+Xe(e),tt=(e,t=0)=>nt[t]+` ${Be()} `+Ye(e),lt=(e,t,l=0)=>nt[l]+` the '${t}' Cell for `+Ye(e),at=(e,t=0)=>nt[t]+` the '${e}' Value`,nt=["Gets","Checks existence of","Sets","Deletes","Sets part of",we,"Gets "+Me,"Sets "+Me,ge+" whenever",Je+"set",Je+"add",Je+"set part of",Je+"delete","Renders","Gets "+Me+We,"Sets"+We,"Deletes"+We],ot=[I,"has","set","del","set","forEach",c,l],dt=[Re,u,ze+i+Ge+$,ee+i,ze+b+Ge+$,ee+b,ze+m+Ge+$,ee+m,"invalid Cell changes",w,ze+g+Ge+$,ee+g,"invalid Value changes",ze+"sorted "+b+Ge+$,ze+m+Ge+$+" anywhere"],rt=[l,"tabular ","keyed value "],st=e=>new Set(J(e)||L(e)?e:[e]),It=(e,t)=>e?.add(t),ct=/[^A-Za-z]+/,$t=/[^A-Za-z0-9]+/,it=/^( *)\/\*\* *(.*?) *\*\/$/gm,ut=(e,t,l)=>e.substring(t,l),pt=e=>e.includes(","),bt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return W(e,n)?bt(e,t,l,a+1):(q(e,n,l),n)},Ct=e=>e.replace(it,((e,t,l)=>{const a=77-ht(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),ht=e=>e.length,mt=(e,t=l)=>e.join(t),ft=e=>e.flat(1e3),gt=(e,t=0)=>mt(x(e.split($t),((e,l)=>(l>0||t?X:Y)(ut(e,0,1))+ut(e,1)))),wt=e=>X(mt((e&&!ct.test(e[0])?e:" "+e).split($t),"_")),yt=e=>`/** ${e}. */`,Tt=(...e)=>mt(S(e,(e=>e)),", "),vt=(...e)=>"{"+mt(e,"; ")+"}",Vt=(...e)=>vt(...x(e,(e=>"readonly "+e))),xt=()=>{const e=[_(),_(),_(),_()],t=_(),a=_(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>mt(ft(e),"\n"),(t,l,...a)=>V(a,(a=>V([0,1],(n=>(t??n)==n?It(K(e[n],l,st),a):0)))),(e,a,n,o=l,d=1)=>bt(t,e,[a,n,o,d]),(e,t,l)=>bt(a,e,J(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>Z(a,e)===t?e:bt(a,e,t),(t=0)=>x([...v(Q(e[t],((e,t)=>`import {${mt(v(B(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>pt(e)!=pt(t)?pt(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>Q(t,(([e,t,a,n],o)=>[yt(t),`${n?Ie+" ":l}type ${o}${a} = ${e};`,l])),()=>Q(a,((e,t)=>(e=J(e)?e:[e],P(e,A(e)+";"),[`const ${t} = ${D(e)}`,e,l])))]},Rt=Object,kt=Rt.keys,St=Rt.freeze,Pt=e=>j(e,Rt)&&e.constructor==Rt,At=(e,t)=>x(Rt.entries(e),(([e,l])=>t(l,e))),Et=e=>Pt(e)&&k(kt(e)),Dt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Ot=(e,t,l)=>[t=>At(e,((e,a)=>t(a,gt(a,1),l(wt(a),`'${a}'`)))),(t,a)=>At(e[t],((e,t)=>a(t,e[d],e[r],l(wt(t),`'${t}'`),gt(t,1)))),e=>At(t,((t,a)=>e(a,t[d],t[r],l(wt(a),`'${a}'`),gt(a,1))))],Nt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,r=e(u,vt(...t((e=>`'${e}'?: {[rowId: Id]: `+vt(...a(e,((e,t,a)=>`'${e}'${L(a)?"?":l}: ${t}`)))+"}"))),Fe(1,5)),I=e(u+je,vt(...t((e=>`'${e}'?: {[rowId: Id]: `+vt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Fe(1,5,1)),c=e(i+ce,"keyof "+r,"A "+i+" Id in "+Re),$=`<TId extends ${c}>`,g=e(i,Ce+`<${r}[TId]>`,"A "+i+" in "+Re,$),w=e(i+je,Ce+`<${I}[TId]>`,"A "+i+" in "+Re+Le,$),y=e(b,g+"<TId>[Id]","A "+b+" in a "+i,$),T=e(b+je,w+"<TId>[Id]","A "+b+" in a "+i+Le,$),v=e(m+ce,`Extract<keyof ${y}<TId>, Id>`,"A "+m+" Id in a "+b,$),V=e(m,Ce+`<${r}[TId]>[Id][CId]`,"A "+m+" in a "+b,`<TId extends ${c}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,m+" Ids and types in a "+b,`<TId extends ${c}, CId = ${v}<TId>>`,0),R=e(m+ae,`(...[cellId, cell]: ${x}<TId>)`+Ne,Qe(ee+m+" Id, and "+m),$),k=e(b+ae,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Ne+") "+Ne,Qe(ee+b+" Id, and a "+m+" iterator"),$),S=e(i+m+ae,`(cellId: ${v}<TId>, count: number) `+Ne,Qe(ee+m+" Id, and count of how many times it appears"),$),P=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${Ne}] : never`,i+" Ids and callback types",`<TId = ${c}>`,0),A=e(i+ae,`(...[tableId, forEachRow]: ${P})`+Ne,Qe(ee+i+" Id, and a "+b+" iterator"),l),E=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${E}) => CellChange`,te+" returning information about any Cell's changes during a "+Se),O=e(u+s,`(${d}, getCellChange: ${D}${be})`+Ne,qe(1)),N=e(p+s,`(${d})`+Ne,qe(2)),j=e(i+s,`(${d}, tableId: ${c}, getCellChange: ${D}${be})`+Ne,qe(3)),M=e(i+f+s,`(${d}, tableId: ${c})`+Ne,qe(14,3)),G=e(C+s,`(${d}, tableId: ${c})`+Ne,qe(4,3)),J=e(h+s,"("+Tt(d,"tableId: "+c,"cellId: Id"+be,"descending: boolean","offset: number","limit: number"+be,"sortedRowIds: Ids")+")"+Ne,qe(13,3)),z=e(b+s,"("+Tt(""+d,"tableId: "+c,ye,`getCellChange: ${D}${be}`)+")"+Ne,qe(5,3)),W=e(f+s,"("+Tt(""+d,"tableId: "+c,ye)+")"+Ne,qe(6,5)),B=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${ye}, cellId: CId, newCell: ${V}<TId, CId> ${be}, oldCell: ${V}<TId, CId> ${be}, getCellChange: ${D} ${be}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${v}<TId>>`,0),F=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+B+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[r,I,c,g,w,y,T,v,V,R,k,S,A,O,N,j,M,G,J,z,W,e(m+s,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${F})`+Ne,qe(7,5)),e($e+m+s,`(${d}, tableId: Id, ${ye}, cellId: Id, invalidCells: any[])`+Ne,qe(8))]},(t,a)=>{const o=t+": "+a,d=e(w,vt(...n(((e,t,a)=>`'${e}'${L(a)?"?":l}: ${t}`))),Fe(2,5)),r=e(w+je,vt(...n(((e,t)=>`'${e}'?: ${t}`))),Fe(2,5,1)),I=e(g+ce,"keyof "+d,"A "+g+" Id in "+Re),c=e(g,Ce+`<${d}[VId]>`,"A "+g+" Id in "+Re,`<VId extends ${I}>`),$=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${c}<VId>] : never`,g+" Ids and types in "+Re,`<VId = ${I}>`,0),i=e(g+ae,`(...[valueId, value]: ${$})`+Ne,Qe(ee+g+" Id, and "+g)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,te+" returning information about any Value's changes during a "+Se),p=e(w+s,`(${o}, getValueChange: ${u}${be})`+Ne,qe(9)),b=e(y+s,`(${o})`+Ne,qe(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${c}<VId> ${be}, oldValue: ${c}<VId> ${be}, getValueChange: ${u} ${be}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,r,I,c,i,p,b,e(g+s,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Ne,qe(11)),e($e+g+s,`(${o}, valueId: Id, invalidValues: any[])`+Ne,qe(12))]},(t,l)=>e(ke+s,`(${t}: ${l}, cellsTouched: boolean, valuesTouched: boolean)`+Ne,te+" listening to the completion of a "+Se)],jt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),Lt=(e,t=l)=>`fluent(() => ${jt(e,t)})`,Mt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,Gt=(e,t,a)=>{const[o,I,T,v,x,R,k,S]=xt(),[A,D,O]=Ot(e,t,x),[N,j,M]=Nt(T,A,D,O),J=_(),z=(e=0)=>Q(J,(([t,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${t}): ${a} => ${n},`]:[r+d+`(${t}): ${a};`];return e||E(s,yt(o)),P(s,l),s})),W=(e,t,a,n,o,d=l)=>bt(J,e,[t,a,n,o,d]),F=(e,t,a,n,o,d=l,r=l,s=l)=>W(ot[e]+t+(4==e?he:l)+a,d,n,(n==X?Lt:jt)(ot[e]+(4==e?he:l)+a,r,e?void 0:n),o,s),U=(e,t,a,n=l,o=l,d=1,r=l)=>W(c+e+s,(n?n+", ":l)+ue+": "+t+(d?", mutator?: boolean":l),ce,Mt(c+e+s,o,d?"mutator":l),a,r),K=`./${gt(a)}.d`,X=gt(a,1),Y=gt(X),ee=[],te=_();let le=[],ne=[];if(I(1,K,X,`create${X} as create${X}Decl`),!Et(e)){I(0,"tinybase","CellChange"),I(null,"tinybase",$);const[e,t,a,o,s,c,g,w,y,v,R,k,S,E,O,j,M,J,z,W,H,Q,ne]=N(Y,X),oe=_();A(((e,t)=>{const l=`<'${e}'>`,a=[T(t+i,o+l,we+` the '${e}' `+i),T(t+i+je,s+l,we+` the '${e}' `+i+Le),T(t+b,c+l,Ue(e)),T(t+b+je,g+l,Ue(e,1)),T(t+m+ce,w+l,`A Cell Id for the '${e}' `+i),T(t+m+ae,v+l,Qe(`a Cell Id and value from a Row in the '${e}' `+i)),T(t+b+ae,R+l,Qe(`a Row Id from the '${e}' Table, and a Cell iterator`)),T(t+i+m+ae,k+l,Qe(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];q(oe,e,a),I(1,K,...a)})),I(1,K,e,t,a,w,S,E,O,j,M,J,z,W,H,Q,ne),le=[e,t,a,w,E,O,j,M,J,z,W,H,Q,oe],V([[e],[n],[X,"tables: "+t,"tables"],[X]],(([e,t,a],n)=>F(n,l,u,e,Fe(1,n),t,a))),F(0,l,p,a+xe,_e(i,Re)),F(5,l,i,Oe,Ze(i,Re),"tableCallback: "+S,"tableCallback as any"),A(((e,t,a)=>{const[o,d,r,s,I,c,u,p]=Z(oe,e);V([[o],[n],[X,"table: "+d,", table"],[X]],(([n,o,d=l],r)=>F(r,t,i,n,et(e,r),o,a+d))),F(0,t,i+f,$,_e(m,"the whole of "+Xe(e)),l,a),F(5,t,i+m,Oe,Ze(i+m,"the whole of "+Xe(e)),"tableCellCallback: "+p,a+", tableCellCallback as any"),F(0,t,C,$,_e(b,Xe(e)),l,a),F(0,t,h,$,_e(b,Xe(e),1),"cellId?: "+I+Ve,a+", cellId, descending, offset, limit"),F(5,t,b,Oe,Ze(b,Xe(e)),"rowCallback: "+u,a+", rowCallback as any"),V([[r],[n],[X,", row: "+s,", row"],[X],[X,", partialRow: "+s,", partialRow"]],(([n,o=l,d=l],r)=>F(r,t,b,n,tt(e,r),ye+o,a+", rowId"+d))),F(6,t,b,ce+be,"Add a new Row to "+Xe(e),"row: "+s+", reuseIds?: boolean",a+", row, reuseIds"),F(0,t,f,I+xe,_e(m,Ye(e)),ye,a+", rowId"),F(5,t,m,Oe,Ze(m,Ye(e)),ye+", cellCallback: "+c,a+", rowId, cellCallback as any"),D(e,((o,d,r,s,I)=>{const c="Map"+gt(d,1);q(te,d,c);const $=d+(L(r)?be:l);V([[$],[n],[X,`, cell: ${d} | `+c,", cell as any"],[X]],(([n,d=l,r=l],c)=>F(c,t+I,m,n,lt(e,o,c),ye+d,a+", rowId, "+s+r))),F(1,t+I,i+m,n,nt[1]+` the '${o}' Cell anywhere in `+Xe(e),l,a+", "+s)}))})),F(0,l,u+ie,ie,Fe(1,6)),F(2,l,u+ie,X,Fe(1,7),"tablesJson: "+ie,"tables"+ie),U(u,E,Fe(1,8)+" changes"),U(p,O,Ke(2,0,1)),U(i,j,Ke(3,0),`tableId: ${a} | null`,"tableId"),U(i+f,M,Ke(14,3,1),`tableId: ${a} | null`,"tableId"),U(C,J,Ke(4,3,1),`tableId: ${a} | null`,"tableId"),U(h,z,Ke(13,3,1),Tt("tableId: TId",`cellId: ${w}<TId>`+be,"descending: boolean","offset: number","limit: number"+be),Tt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),U(b,W,Ke(5,3),`tableId: ${a} | null, rowId: IdOrNull`,"tableId, rowId"),U(f,H,Ke(6,5,1),`tableId: ${a} | null, rowId: IdOrNull`,"tableId, rowId"),U(m,Q,Ke(7,5),`tableId: ${a} | null, rowId: IdOrNull, cellId: ${mt(A((e=>Z(oe,e)?.[4]??l))," | ")} | null`,"tableId, rowId, cellId"),U($e+m,ne,ge+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),I(1,K,...B(te)),P(ee,".set"+u+Te+"({",ft(A(((e,t,a)=>[`[${a}]: {`,...D(e,((e,t,a,n)=>`[${n}]: {[${x(wt(d),`'${d}'`)}]: ${x(wt(t),`'${t}'`)}${L(a)?l:`, [${x(wt(r),`'${r}'`)}]: `+(G(a)?x(wt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(!Et(t)){const[e,t,a,o,s,c,$,i,u]=j(Y,X);I(1,K,e,t,a,s,c,$,i,u),ne=[e,t,a,c,$,i],V([[e],[n],[X,"values: "+t,"values"],[X],[X,"partialValues: "+t,"partialValues"]],(([e,t,a],n)=>F(n,l,w,e,Fe(2,n),t,a))),F(0,l,y,a+xe,_e(g,Re)),F(5,l,g,"void",Ze(g,Re),"valueCallback: "+s,"valueCallback as any"),O(((e,t,a,o,d)=>{const r="Map"+gt(t,1);q(te,t,r),V([[t],[n],[X,`value: ${t} | `+r,", value as any"],[X]],(([t,a,n=l],r)=>F(r,d,g,t,at(e,r),a,o+n)))})),F(0,l,w+ie,ie,Fe(2,6)),F(2,l,w+ie,X,Fe(2,7),"valuesJson: "+ie,"values"+ie),U(w,c,Fe(2,8)+" changes"),U(y,$,Ke(10,0,1)),U(g,i,Ke(11,0),`valueId: ${a} | null`,"valueId"),U($e+g,u,ge+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),I(1,K,...B(te)),I(0,"tinybase","ValueChange"),P(ee,".set"+w+Te+"({",O(((e,t,a,n)=>[`[${n}]: {[${x(wt(d),`'${d}'`)}]: ${x(wt(t),`'${t}'`)}${L(a)?l:`, [${x(wt(r),`'${r}'`)}]: `+(G(a)?x(wt(a),`'${a}'`):a)}},`])),"})")}H(te,((e,t)=>T(t,`(cell: ${e}${be}) => `+e,`Takes a ${e} Cell value and returns another`))),I(null,"tinybase","DoRollback",ce,"IdOrNull",ie,"Store"),F(0,l,ie,ie,Fe(0,6)),F(2,l,ie,X,Fe(0,7),"tablesAndValuesJson: "+ie,"tablesAndValuesJson"),F(7,l,Se,"Return",Pe,se,"actions, doRollback","<Return>"),F(7,l,"start"+ke,X,Ae),F(7,l,"finish"+ke,X,Ee,re,"doRollback");const oe=M(Y,X);return U("Start"+ke,oe,ge+" just before the start of the "+Se,l,l,0),U("WillFinish"+ke,oe,ge+" just before "+De,l,l,0),U("DidFinish"+ke,oe,ge+" just after "+De,l,l,0),F(7,l,"call"+s,X,"Manually provoke a listener to be called","listenerId: Id","listenerId"),F(3,l,s,X,"Remove a listener that was previously added to "+Re,"listenerId: Id","listenerId"),W("getStore",l,"Store","store",nt[0]+" the underlying Store object"),I(1,"tinybase","createStore"),I(1,K,X,`create${X} as create${X}Decl`,oe),x("store",["createStore()",...ee]),v("fluent","actions: () => Store",["actions();",`return ${Y};`]),v("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Y}, ...params)`),x(Y,["{",...z(1),"}"]),[o(...R(0),...k(),Ie+" interface "+X+" {",...z(0),"}",l,yt(`Creates a ${X} object`),Ie+" function create"+X+"(): "+X+";"),o(...R(1),Ie+" const create"+X+": typeof create"+X+"Decl = () => {",...S(),`return Object.freeze(${Y});`,"};"),le,ne]},Jt=e=>I+e,zt=e=>Tt(Jt(e),Jt(e)+oe),Wt="debugIds?: boolean",Bt="debugIds={debugIds}",Ft="then"+de,Ut="Parameter",_t=": (parameter: "+Ut+", store: Store) => ",Zt="const contextValue = useContext(Context);",Ht=", based on a parameter",Qt=": ",qt="<"+Ut+",>",Kt=Ut+"ized"+ae+"<"+Ut+">",Xt="rowId",Yt="rowId={rowId}",el=", separator, debugIds",tl="separator?: ReactElement | string",ll="then?: (store: Store",al=Tt(ll+")"+Ne,Ft),nl="then, then"+oe,ol=Xt+Qt+ce,dl="View",rl=(e,...t)=>Tt(...t,ue+": "+e,ue+de,"mutator?: boolean"),sl=(...e)=>Tt(...e,ue,ue+oe,"mutator"),Il=(e,t,a,n,o)=>{const[d,r,I,c,T,v,V,x]=xt(),[R,k,S]=Ot(e,t,T),A=`./${gt(a)}.d`,D=`./${gt(a)}-ui-react.d`,O="tinybase/ui-react",N=gt(a,1),j=gt(N),M=N+"Or"+N+ce,G=j+"Or"+N+ce,J=j+`={${j}}`,z=_(),W=(e,t,a,n,o,d=l)=>(r(1,D,e+" as "+e+"Decl"),bt(z,e,[t,a,n,o,d])),B=(e,t,a,n,o,d=l)=>W("use"+e,t,a,n,o,d),F=(e,t,a,n,o=l,d=l,s=l,I=l,c=l)=>(r(1,O,`use${t} as use${t}Core`),B(e,Tt(o,X,I),a,te+`(${G}, use${t}Core, [`+(d||l)+(c?"], ["+c:l)+"]);",n,s)),U=(e,t,l,a)=>W(e,t,1,l,a),H=(e=0)=>Q(z,(([t,a,n,o,d],r)=>{const s=e?[Ie+` const ${r}: typeof ${r}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[Ie+` function ${r}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||E(s,yt(o)),P(s,l),s}));r(null,"tinybase",ce,"Store",ae,Ut+"ized"+ae),r(0,O,"ComponentReturnType"),r(null,O,"ExtraProps"),r(0,A,N);const q=I(M,N+" | "+ce,`Used when you need to refer to a ${N} in a React hook or component`),K=I(fe+me,Vt(j+pe+N,j+`ById?: {[${j}Id: Id]: ${N}}`),`Used with the ${fe} component, so that a `+N+" can be passed into the context of an application");r(0,"react","ReactElement","ComponentType"),r(1,"react","React"),r(1,D,q,K);const X=G+pe+q;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${N}?, {[${j}Id: Id]: ${N}}?]>([])`),B("Create"+N,`create: () => ${N}, create`+de,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const Y=B(N,"id?: Id",N+be,["{",Zt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${fe} component context`),te=c("useHook",G+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${j} = ${Y}(${G} as Id);`,`return hook(...preParams, ((${G} == null || typeof ${G} == 'string')`,`? ${j} : ${G})?.getStore(), ...postParams)`]),oe=c("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),re=c("wrap",Tt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),se=T("NullComponent","() => null");if(!Et(e)){const[e,t,a,o,d,g,w,y,T,v,V,x,S,P]=n;r(null,A,e,t,a,d,g,w,y,T,v,V,x,S),r(0,A,o),r(1,A,N),r(null,"tinybase",$,"IdOrNull");const E=c("tableView",`{${j}, rowComponent, getRowComponentProps`+el+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${re}(rowIds.map((rowId) => (`,"<Row","{..."+oe+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Yt,J,Bt,"/>","))",el,", tableId,",");"]),O=c("getDefaultTableComponent","tableId: Id",mt(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+se),M=c("getDefaultCellComponent","tableId: Id, cellId: Id",mt(R(((e,t,l)=>`tableId == ${l} ? ${mt(k(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+se} : `)))+se);F(u,u,e,Fe(1,0)+le);const G=F(p,p,a+xe,_e(i,Re)+le);F(ve+u+ae,ve+u+ae,Kt,Fe(1,9)+Ht,Tt(Jt(u)+_t+t,Jt(u)+de),zt(u),qt,Tt(ll,`tables: ${t})`+Ne,Ft),nl),F(ne+u+ae,ne+u+ae,ae,Fe(1,12),l,l,l,al,nl);const z=I(m+me,Vt("tableId?: TId","rowId: Id","cellId?: CId",j+pe+N,Wt),He(ee+m),`<TId extends ${a}, CId extends ${o}<TId>>`),W=I(b+me,Vt("tableId?: TId","rowId: Id",j+pe+N,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${z}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,tl,Wt),He(ee+b),`<TId extends ${a}>`),B=I(i+me,Vt("tableId?: TId",j+pe+N,`rowComponent?: ComponentType<${W}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),He(ee+i),`<TId extends ${a}>`),_=I("Sorted"+i+me,Vt("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",j+pe+N,`rowComponent?: ComponentType<${W}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),He(ee+"sorted "+i),`<TId extends ${a}>`),H=I(u+me,Vt(j+pe+N,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${B}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,tl,Wt),He(Be(1,1)));r(1,D,H,B,_,W,z),U(u+dl,"{"+j+", tableComponents, getTableComponentProps"+el+"}: "+H,[re+`(${G}(${j}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+O+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${oe}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Bt,"/>;","}), separator)"],Fe(1,13)+le),R(((e,t,a)=>{const[n,o,d,s,I]=Z(P,e);r(null,A,n,o,d,s,I),F(t+i,i,n,et(e)+le,l,a),F(t+i+f,i+f,$,_e(m,"the whole of "+Xe(e))+le,l,a);const c=F(t+C,C,$,_e(b,Xe(e))+le,l,a),u=F(t+h,h,$,_e(b,Xe(e),1)+le,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(t+b,b,d,tt(e)+le,ol,Tt(a,Xt));const p=F(t+f,f,I+xe,_e(m,Ye(e))+le,ol,Tt(a,Xt));F(ve+t+i+ae,ve+i+ae,Kt,et(e,9)+Ht,Tt(Jt(i)+_t+o,Jt(i)+de),Tt(a,zt(i)),qt,Tt(ll,`table: ${o})`+Ne,Ft),nl),F(ne+t+i+ae,ne+i+ae,ae,et(e,12),l,a,l,al,nl),F(ve+t+b+ae,ve+b+ae,Kt,tt(e,9)+Ht,Tt(ol,Jt(b)+_t+s,Jt(b)+de),Tt(a,Xt,zt(b)),qt,Tt(ll,`row: ${s})`+Ne,Ft),nl),F("Add"+t+b+ae,"Add"+b+ae,Kt,tt(e,10)+Ht,Tt(Jt(b)+_t+s,Jt(b)+de),Tt(a,zt(b)),qt,"then?: ("+Tt(ol+be,"store: Store","row: "+s+")"+Ne,"then"+de)+", reuseRowIds?: boolean",nl+", reuseRowIds"),F(ve+t+he+b+ae,ve+he+b+ae,Kt,tt(e,11)+Ht,Tt(ol,Jt(he+b)+_t+s,Jt(he+b)+de),Tt(a,Xt,zt(he+b)),qt,Tt(ll,`partialRow: ${s})`+Ne,Ft),nl),F(ne+t+b+ae,ne+b+ae,ae,tt(e,12),ol,Tt(a,Xt),l,al,nl);const g=U(t+b+dl,"{rowId, "+j+", cellComponents, getCellComponentProps"+el+`}: ${W}<'${e}'>`,[re+`(${p}(rowId, ${j}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+M+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${oe}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Yt,"cellId={cellId}",J,Bt,"/>;","})"+el+", rowId)"],tt(e,13)+le);U(t+"Sorted"+i+dl,"{cellId, descending, offset, limit, ...props}: "+_+`<'${e}'>`,E+"(props, "+u+`(cellId, descending, offset, limit, props.${j}), ${a}, ${g});`,et(e,13)+", sorted"+le),U(t+i+dl,`props: ${B}<'${e}'>`,E+"(props, "+c+`(props.${j}), ${a}, ${g});`,et(e,13)+le),k(e,((n,o,d,s,I)=>{const c="Map"+gt(o,1);r(0,A,c),r(1,A,c);const $=F(t+I+m,m,o+(L(d)?be:l),lt(e,n)+le,ol,Tt(a,Xt,s));F(ve+t+I+m+ae,ve+m+ae,Kt,lt(e,n,9)+Ht,Tt(ol,Jt(m)+_t+o+" | "+c,Jt(m)+de),Tt(a,Xt,s,zt(m)),qt,Tt(ll,`cell: ${o} | ${c})`+Ne,Ft),nl),F(ne+t+I+m+ae,ne+m+ae,ae,lt(e,n,12),Tt(ol,"forceDel?: boolean"),Tt(a,Xt,s,"forceDel"),l,al,nl),U(t+I+m+dl,`{rowId, ${j}, debugIds}: `+z+`<'${e}', '${n}'>`,[re+`('' + ${$}(rowId, `+j+`) ?? '', undefined, debugIds, ${s})`],lt(e,n,13)+le)}))}));const Q=mt(R((e=>Z(P,e)?.[4]??l))," | ");F(u+s,u+s,Oe,Fe(1,8)+" changes",rl(d),sl()),F(p+s,p+s,Oe,Ke(2,0,1),rl(g),sl()),F(i+s,i+s,Oe,Ke(3,0),rl(w,`tableId: ${a} | null`),sl("tableId")),F(i+f+s,i+f+s,Oe,Ke(14,3,1),rl(y,`tableId: ${a} | null`),sl("tableId")),F(C+s,C+s,Oe,Ke(4,3,1),rl(T,`tableId: ${a} | null`),sl("tableId")),F(h+s,h+s,Oe,Ke(13,3,1),rl(v,`tableId: ${a} | null`,"cellId: "+Q+be,"descending: boolean","offset: number","limit: number"+be),sl("tableId","cellId","descending","offset","limit")),F(b+s,b+s,Oe,Ke(5,3),rl(V,`tableId: ${a} | null`,Xt+": IdOrNull"),sl("tableId",Xt)),F(f+s,f+s,Oe,Ke(6,5,1),rl(x,`tableId: ${a} | null`,Xt+": IdOrNull"),sl("tableId",Xt)),F(m+s,m+s,Oe,Ke(7,5),rl(S,`tableId: ${a} | null`,Xt+": IdOrNull",`cellId: ${Q} | null`),sl("tableId",Xt,"cellId"))}if(!Et(t)){const[e,t,a,n,d,$]=o;r(null,A,...o),r(1,A,N);const i=c("getDefaultValueComponent","valueId: Id",mt(S(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+se);F(w,w,e,Fe(2,0)+le);const u=F(y,y,a+xe,_e(g,Re)+le);F(ve+w+ae,ve+w+ae,Kt,Fe(2,9)+Ht,Tt(Jt(w)+_t+t,Jt(w)+de),zt(w),qt,Tt(ll,`values: ${t})`+Ne,Ft),nl),F(ve+he+w+ae,ve+he+w+ae,Kt,Fe(2,11)+Ht,Tt(Jt(he+w)+_t+t,Jt(he+w)+de),zt(he+w),qt,Tt(ll,`partialValues: ${t})`+Ne,Ft),nl),F(ne+w+ae,ne+w+ae,ae,Fe(2,12),l,l,l,al,nl);const p=I(g+me,Vt("valueId?: VId",j+pe+N,Wt),He("a Value"),`<VId extends ${a}>`),b=I(w+me,Vt(j+pe+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,tl,Wt),He(Be(2,1)));r(1,D,b,p),U(w+dl,"{"+j+", valueComponents, getValueComponentProps"+el+"}: "+b,[re+`(${u}(${j}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${oe}(getValueComponentProps, valueId)}`,"key={valueId}",J,Bt,"/>;","}), separator)"],Fe(2,13)+le),S(((e,t,a,n,o)=>{const d="Map"+gt(t,1);r(0,A,d),r(1,A,d);const s=F(o+g,g,t,at(e)+le,l,n);F(ve+o+g+ae,ve+g+ae,Kt,at(e,9)+Ht,Tt(Jt(g)+_t+t+" | "+d,Jt(g)+de),Tt(n,zt(g)),qt,Tt(ll,`value: ${t} | ${d})`+Ne,Ft),nl),F(ne+o+g+ae,ne+g+ae,ae,at(e,12),l,n,l,al,nl),U(o+g+dl,`{${j}, debugIds}: ${p}<'${e}'>`,[re+`('' + ${s}(`+j+`) ?? '', undefined, debugIds, ${n})`],at(e,13)+le)})),F(w+s,w+s,Oe,Fe(2,8)+" changes",rl(n),sl()),F(y+s,y+s,Oe,Ke(10,0,1),rl(d),sl()),F(g+s,g+s,Oe,Ke(11,0),rl($,`valueId: ${a} | null`),sl("valueId"))}return U(fe,`{${j}, ${j}ById, children}: `+K+" & {children: React.ReactNode}",["{",Zt,"return (","<Context."+fe,"value={useMemo(",`() => [${j} ?? contextValue[0], {...contextValue[1], ...${j}ById}],`,`[${j}, ${j}ById, contextValue],`,")}>","{children}",`</Context.${fe}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...v(0),...V(),...H(0)),d(...v(1),...x(),...H(1))]},cl=(e,t,a)=>{if(Et(e)&&Et(t))return[l,l,l,l];const[n,o,d,r]=Gt(e,t,a);return[n,o,...Il(e,t,a,d,r)]},$l={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},il=Dt((e=>{const t=()=>{const t=O(e.getTablesSchemaJson());return!Et(t)||T(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=_();if(T(a,(t=>T(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=K(n,a,(()=>[z(o),_(),[0],0])),[r,s,[I]]=d,c=K(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),q(s,o,c),d[3]++,r==z(o)})))))return t[l]={},F(n,(([e,,[,n],o],s)=>{t[l][s]={[d]:e,...o==R(a)?{[r]:n}:{}}})),1}))?t:{}},l=()=>{const t=O(e.getValuesSchemaJson());return Et(t)&&e.forEachValue(((e,l)=>{t[e]={[d]:z(l)}})),t},a=e=>cl(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(await import("prettier")).format}catch(e){l=e=>e}return x(a(e),((e,a)=>Ct(l(e,{...$l,filepath:"_."+t[a]}))))};return St({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:R(e.getValueIds()),jsonLength:ht(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=il},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
Binary file