tinybase 3.2.0-beta.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.
- package/bin/cli.js +1 -1
- package/lib/checkpoints.js +1 -1
- package/lib/checkpoints.js.gz +0 -0
- package/lib/cjs/checkpoints.cjs +1 -1
- package/lib/cjs/checkpoints.cjs.gz +0 -0
- package/lib/cjs/indexes.cjs +1 -1
- package/lib/cjs/indexes.cjs.gz +0 -0
- package/lib/cjs/metrics.cjs +1 -1
- package/lib/cjs/metrics.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/queries.cjs +1 -1
- package/lib/cjs/queries.cjs.gz +0 -0
- package/lib/cjs/relationships.cjs +1 -1
- package/lib/cjs/relationships.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs/ui-react.cjs +1 -1
- package/lib/cjs/ui-react.cjs.gz +0 -0
- package/lib/cjs-es6/checkpoints.cjs +1 -1
- package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
- package/lib/cjs-es6/indexes.cjs +1 -1
- package/lib/cjs-es6/indexes.cjs.gz +0 -0
- package/lib/cjs-es6/metrics.cjs +1 -1
- package/lib/cjs-es6/metrics.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/queries.cjs +1 -1
- package/lib/cjs-es6/queries.cjs.gz +0 -0
- package/lib/cjs-es6/relationships.cjs +1 -1
- package/lib/cjs-es6/relationships.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/checkpoints.js +2 -2
- package/lib/debug/indexes.js +2 -2
- package/lib/debug/metrics.js +2 -2
- package/lib/debug/persisters.js +2 -2
- package/lib/debug/queries.js +1 -1
- package/lib/debug/relationships.js +2 -2
- package/lib/debug/store.js +89 -48
- package/lib/debug/tinybase.js +92 -51
- package/lib/debug/tools.js +106 -5
- package/lib/debug/ui-react.js +27 -2
- package/lib/es6/checkpoints.js +1 -1
- package/lib/es6/checkpoints.js.gz +0 -0
- package/lib/es6/indexes.js +1 -1
- package/lib/es6/indexes.js.gz +0 -0
- package/lib/es6/metrics.js +1 -1
- package/lib/es6/metrics.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/queries.js +1 -1
- package/lib/es6/queries.js.gz +0 -0
- package/lib/es6/relationships.js +1 -1
- package/lib/es6/relationships.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/indexes.js +1 -1
- package/lib/indexes.js.gz +0 -0
- package/lib/metrics.js +1 -1
- package/lib/metrics.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/queries.js +1 -1
- package/lib/queries.js.gz +0 -0
- package/lib/relationships.js +1 -1
- package/lib/relationships.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/store.d.ts +386 -30
- package/lib/types/tools.d.ts +2 -2
- package/lib/types/ui-react.d.ts +167 -0
- package/lib/types/with-schemas/store.d.ts +496 -37
- package/lib/types/with-schemas/tools.d.ts +2 -2
- package/lib/types/with-schemas/ui-react.d.ts +193 -5
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/checkpoints.js +1 -1
- package/lib/umd/checkpoints.js.gz +0 -0
- package/lib/umd/indexes.js +1 -1
- package/lib/umd/indexes.js.gz +0 -0
- package/lib/umd/metrics.js +1 -1
- package/lib/umd/metrics.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/queries.js +1 -1
- package/lib/umd/queries.js.gz +0 -0
- package/lib/umd/relationships.js +1 -1
- package/lib/umd/relationships.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd/ui-react.js +1 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/lib/umd-es6/checkpoints.js +1 -1
- package/lib/umd-es6/checkpoints.js.gz +0 -0
- package/lib/umd-es6/indexes.js +1 -1
- package/lib/umd-es6/indexes.js.gz +0 -0
- package/lib/umd-es6/metrics.js +1 -1
- package/lib/umd-es6/metrics.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/queries.js +1 -1
- package/lib/umd-es6/queries.js.gz +0 -0
- package/lib/umd-es6/relationships.js +1 -1
- package/lib/umd-es6/relationships.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/lib/umd-es6/ui-react.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +52 -28
- package/readme.md +14 -14
|
@@ -432,7 +432,7 @@ export interface Tools<in out Schemas extends OptionalSchemas> {
|
|
|
432
432
|
* // -> `export type Tables = {pets?: {[rowId: Id]: {price?: number}}};`
|
|
433
433
|
*
|
|
434
434
|
* const tsLines = ts.split('\n');
|
|
435
|
-
* console.log(tsLines[
|
|
435
|
+
* console.log(tsLines[81]);
|
|
436
436
|
* // -> ' hasPetsTable: (): boolean => store.hasTable(PETS),'
|
|
437
437
|
* ```
|
|
438
438
|
* @example
|
|
@@ -453,7 +453,7 @@ export interface Tools<in out Schemas extends OptionalSchemas> {
|
|
|
453
453
|
* // -> 'export type Tables = {pets?: {[rowId: Id]: {price: number}}};'
|
|
454
454
|
*
|
|
455
455
|
* const tsLines = ts.split('\n');
|
|
456
|
-
* console.log(tsLines[
|
|
456
|
+
* console.log(tsLines[83]);
|
|
457
457
|
* // -> ' hasPetsTable: (): boolean => store.hasTable(PETS),'
|
|
458
458
|
* ```
|
|
459
459
|
* @category Modelling
|
|
@@ -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
|
-
) =>
|
|
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
|
|
@@ -1809,6 +1902,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
1809
1902
|
* storeOrStoreId?: StoreOrStoreId,
|
|
1810
1903
|
* then?: (rowId: Id | undefined, store: Store, row: Row) => void,
|
|
1811
1904
|
* thenDeps?: React.DependencyList,
|
|
1905
|
+
* reuseRowIds?: boolean,
|
|
1812
1906
|
* ): ParameterizedCallback<Parameter>;
|
|
1813
1907
|
* ```
|
|
1814
1908
|
*
|
|
@@ -1833,6 +1927,13 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
1833
1927
|
* hook's `storeOrStoreId` parameter) is always automatically used as a hook
|
|
1834
1928
|
* dependency for the callback.
|
|
1835
1929
|
*
|
|
1930
|
+
* The `reuseRowIds` parameter defaults to `true`, which means that if you
|
|
1931
|
+
* delete a Row and then add another, the Id will be re-used - unless you delete
|
|
1932
|
+
* the entire Table, in which case all Row Ids will reset. Otherwise, if you
|
|
1933
|
+
* specify `reuseRowIds` to be `false`, then the Id will be a monotonically
|
|
1934
|
+
* increasing string representation of an increasing integer, regardless of any
|
|
1935
|
+
* you may have previously deleted.
|
|
1936
|
+
*
|
|
1836
1937
|
* @param tableId The Id of the Table in the Store.
|
|
1837
1938
|
* @param getRow A function which returns the Row object that will be used to
|
|
1838
1939
|
* update the Store, based on the parameter the callback will receive (and which
|
|
@@ -1848,6 +1949,9 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
1848
1949
|
* @param thenDeps An optional array of dependencies for the `then` function,
|
|
1849
1950
|
* which, if any change, result in the regeneration of the callback. This
|
|
1850
1951
|
* parameter defaults to an empty array.
|
|
1952
|
+
* @param reuseRowIds Whether Ids should be recycled from previously deleted Row
|
|
1953
|
+
* objects, defaulting to `true`.
|
|
1954
|
+
*
|
|
1851
1955
|
* @returns A parameterized callback for subsequent use.
|
|
1852
1956
|
* @example
|
|
1853
1957
|
* This example uses the useAddRowCallback hook to create an event handler which
|
|
@@ -1896,6 +2000,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
1896
2000
|
storeOrStoreId?: StoreOrStoreId<Schemas>,
|
|
1897
2001
|
then?: (rowId: Id | undefined, store: Store<Schemas>, row: AddRow) => void,
|
|
1898
2002
|
thenDeps?: React.DependencyList,
|
|
2003
|
+
reuseRowIds?: boolean,
|
|
1899
2004
|
) => ParameterizedCallback<Parameter>;
|
|
1900
2005
|
|
|
1901
2006
|
/**
|
|
@@ -3176,6 +3281,89 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
|
|
|
3176
3281
|
storeOrStoreId?: StoreOrStoreId<Schemas>,
|
|
3177
3282
|
) => void;
|
|
3178
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
|
+
|
|
3179
3367
|
/**
|
|
3180
3368
|
* The useRowIdsListener hook registers a listener function with a Store that
|
|
3181
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=t(""),d=(e,o)=>e.map(o),r=e=>null==e,n=(e,o,t)=>r(e)?t?.():o(e),l=e=>t(e)==s,I=()=>{},{createContext:u,useContext:a}=e,i=u([]),c=(e,o)=>{const t=a(i);return r(e)?t[o]:l(e)?((e,o)=>n(e,(e=>e[o])))(t[o+1],e):e},p=(e,o)=>{const t=c(e,o);return r(e)||l(e)?t:e},b=e=>c(e,0),g=e=>c(e,2),w=e=>c(e,4),R=e=>c(e,6),C=e=>c(e,8),m=e=>c(e,10),k=e=>p(e,0),y=e=>p(e,2),h=e=>p(e,4),v=e=>p(e,6),T=e=>p(e,8),q=e=>p(e,10),{useCallback:P,useEffect:x,useMemo:S,useRef:V,useState:f}=e,B=(e,o,t=[])=>{const s=S((()=>o(e)),[e,...t]);return x((()=>()=>s.destroy()),[s]),s},L=(e,o,t,s=[],d)=>{const[,n]=f(),l=P((()=>o?.["get"+e]?.(...s)??t),[o,...s]),[I]=f(l),u=V(I);return S((()=>u.current=l()),[l]),M(e,o,((...e)=>{u.current=r(d)?l():e[d],n([])}),[],s),u.current},M=(e,o,t,s=[],d=[],...r)=>x((()=>{const s=o?.["add"+e+"Listener"]?.(...d,t,...r);return()=>o?.delListener(s)}),[o,...d,...s,...r]),A=(e,o,t,s=[],d=I,r=[],...l)=>{const u=k(e);return P((e=>n(u,(s=>n(t(e,s),(e=>d(s["set"+o](...l,e),e)))))),[u,o,...s,...r,...l])},E=(e,o,t=I,s=[],...d)=>{const r=k(e);return P((()=>t(r?.["del"+o](...d))),[r,o,...s,...d])},F=(e,o,t)=>{const s=q(e);return P((()=>s?.[o](t)),[s,o,t])},j=(e,o=[])=>S(e,o),z=e=>L("Tables",k(e),{}),D=e=>L("TableIds",k(e),[],[]),G=(e,o)=>L("Table",k(o),{},[e]),H=(e,o)=>L("RowIds",k(o),[],[e]),J=(e,o,t,s=0,d,r)=>L("SortedRowIds",k(r),[],[e,o,t,s,d],6),K=(e,o,t)=>L("Row",k(t),{},[e,o]),N=(e,o,t)=>L("CellIds",k(t),[],[e,o]),O=(e,o,t,s)=>L("Cell",k(s),void 0,[e,o,t],4),Q=e=>L("Values",k(e),{}),U=e=>L("ValueIds",k(e),[],[]),W=(e,o)=>L("Value",k(o),void 0,[e]),X=(e,o,t,s,d)=>A(t,"Tables",e,o,s,d),Y=(e,o,t,s,d,r)=>A(s,"Table",o,t,d,r,e),Z=(e,o,t,s,d,r,n)=>A(d,"Row",t,s,r,n,e,o),$=(e,o,t=[],s,d=I,r=[])=>{const l=k(s);return P((t=>n(l,(s=>n(o(t,s),(o=>d(s.addRow(e,o),s,o)))))),[l,e,...t,...r])},_=(e,o,t,s,d,r,n)=>A(d,"PartialRow",t,s,r,n,e,o),ee=(e,o,t,s,d,r,n,l)=>A(r,"Cell",s,d,n,l,e,o,t),oe=(e,o,t,s,d)=>A(t,"Values",e,o,s,d),te=(e,o,t,s,d)=>A(t,"PartialValues",e,o,s,d),se=(e,o,t,s,d,r)=>A(s,"Value",o,t,d,r,e),de=(e,o,t)=>E(e,"Tables",o,t),re=(e,o,t,s)=>E(o,"Table",t,s,e),ne=(e,o,t,s,d)=>E(t,"Row",s,d,e,o),le=(e,o,t,s,d,r,n)=>E(d,"Cell",r,n,e,o,t,s),Ie=(e,o,t)=>E(e,"Values",o,t),ue=(e,o,t,s)=>E(o,"Value",t,s,e),ae=(e,o,t,s)=>M("Tables",k(s),e,o,[],t),ie=(e,o,t,s)=>M("TableIds",k(s),e,o,[],t),ce=(e,o,t,s,d)=>M("Table",k(d),o,t,[e],s),pe=(e,o,t,s,d)=>M("RowIds",k(d),o,t,[e],s),be=(e,o,t,s,d,r,n,l,I)=>M("SortedRowIds",k(I),r,n,[e,o,t,s,d],l),ge=(e,o,t,s,d,r)=>M("Row",k(r),t,s,[e,o],d),we=(e,o,t,s,d,r)=>M("CellIds",k(r),t,s,[e,o],d),Re=(e,o,t,s,d,r,n)=>M("Cell",k(n),s,d,[e,o,t],r),Ce=(e,o,t,s)=>M("Values",k(s),e,o,[],t),me=(e,o,t,s)=>M("ValueIds",k(s),e,o,[],t),ke=(e,o,t,s,d)=>M("Value",k(d),o,t,[e],s),ye=(e,o,t)=>B(e,o,t),he=(e,o)=>L("Metric",y(o),void 0,[e]),ve=(e,o,t,s)=>M("Metric",y(s),o,t,[e]),Te=(e,o,t)=>B(e,o,t),qe=(e,o)=>L("SliceIds",h(o),[],[e]),Pe=(e,o,t)=>L("SliceRowIds",h(t),[],[e,o]),xe=(e,o,t,s)=>M("SliceIds",h(s),o,t,[e]),Se=(e,o,t,s,d)=>M("SliceRowIds",h(d),t,s,[e,o]),Ve=(e,o,t)=>B(e,o,t),fe=(e,o,t)=>L("RemoteRowId",v(t),void 0,[e,o]),Be=(e,o,t)=>L("LocalRowIds",v(t),[],[e,o]),Le=(e,o,t)=>L("LinkedRowIds",v(t),[],[e,o]),Me=(e,o,t,s,d)=>M("RemoteRowId",v(d),t,s,[e,o]),Ae=(e,o,t,s,d)=>M("LocalRowIds",v(d),t,s,[e,o]),Ee=(e,o,t,s,d)=>M("LinkedRowIds",v(d),t,s,[e,o]),Fe=(e,o,t)=>B(e,o,t),je=(e,o)=>L("ResultTable",T(o),{},[e]),ze=(e,o)=>L("ResultRowIds",T(o),[],[e]),De=(e,o,t,s=0,d,r)=>L("ResultSortedRowIds",T(r),[],[e,o,t,s,d],6),Ge=(e,o,t)=>L("ResultRow",T(t),{},[e,o]),He=(e,o,t)=>L("ResultCellIds",T(t),[],[e,o]),Je=(e,o,t,s)=>L("ResultCell",T(s),void 0,[e,o,t]),Ke=(e,o,t,s)=>M("ResultTable",T(s),o,t,[e]),Ne=(e,o,t,s)=>M("ResultRowIds",T(s),o,t,[e]),Oe=(e,o,t,s,d,r,n,l)=>M("ResultSortedRowIds",T(l),r,n,[e,o,t,s,d]),Qe=(e,o,t,s,d)=>M("ResultRow",T(d),t,s,[e,o]),Ue=(e,o,t,s,d)=>M("ResultCellIds",T(d),t,s,[e,o]),We=(e,o,t,s,d,r)=>M("ResultCell",T(r),s,d,[e,o,t]),Xe=(e,o,t)=>B(e,o,t),Ye=e=>L("CheckpointIds",q(e),[[],void 0,[]]),Ze=(e,o)=>L("Checkpoint",q(o),void 0,[e]),$e=(e=I,o=[],t,s=I,d=[])=>{const r=q(t);return P((o=>n(r,(t=>{const d=e(o);s(t.addCheckpoint(d),t,d)}))),[r,...o,...d])},_e=e=>F(e,"goBackward"),eo=e=>F(e,"goForward"),oo=(e,o=[],t,s=I,d=[])=>{const r=q(t);return P((o=>n(r,(t=>n(e(o),(e=>s(t.goTo(e),e)))))),[r,...o,...d])},to=e=>{const o=q(e),[t,s]=Ye(o);return[(d=t,!(0==(e=>e.length)(d))),_e(o),s,n(s,(e=>o?.getCheckpoint(e)))??""];var d},so=e=>{const o=q(e),[,,[t]]=Ye(o);return[!r(t),eo(o),t,n(t,(e=>o?.getCheckpoint(e)))??""]},ro=(e,o,t)=>M("CheckpointIds",q(t),e,o),no=(e,o,t,s)=>M("Checkpoint",q(s),o,t,[e]),lo=(e,o,t=[],s,d=[])=>{const[,r]=f(),n=S((()=>o(e)),[e,...t]);return x((()=>((async()=>{await(s?.(n)),r(1)})(),()=>{n.destroy()})),[n,...d]),n},{createElement:Io,useMemo:uo}=e,ao=({tableId:e,store:o,rowComponent:t=mo,getRowComponentProps:s,separator:r,debugIds:n},l)=>Ro(d(l,(d=>Io(t,{...go(s,d),key:d,tableId:e,rowId:d,store:o,debugIds:n}))),r,n,e),io=({queryId:e,queries:o,resultRowComponent:t=Lo,getResultRowComponentProps:s,separator:r,debugIds:n},l)=>Ro(d(l,(d=>Io(t,{...go(s,d),key:d,queryId:e,rowId:d,queries:o,debugIds:n}))),r,n,e),co=e=>{const o=v(e);return[o,o?.getStore()]},po=({relationshipId:e,relationships:o,rowComponent:t=mo,getRowComponentProps:s,separator:r,debugIds:n},l,I)=>{const[u,a]=co(o),i=u?.getLocalTableId(e),c=l(e,I,u);return Ro(d(c,(e=>Io(t,{...go(s,e),key:e,tableId:i,rowId:e,store:a,debugIds:n}))),r,n,I)},bo=e=>({checkpoints:o,checkpointComponent:t=Eo,getCheckpointComponentProps:s,separator:r,debugIds:n})=>{const l=q(o);return Ro(d(e(Ye(l)),(e=>Io(t,{...go(s,e),key:e,checkpoints:l,checkpointId:e,debugIds:n}))),r)},go=(e,o)=>r(e)?{}:e(o),wo=({store:e,storesById:t,metrics:s,metricsById:d,indexes:r,indexesById:n,relationships:l,relationshipsById:I,queries:u,queriesById:a,checkpoints:c,checkpointsById:p,children:b})=>{const g=o(i);return Io(i.Provider,{value:uo((()=>[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],...a},c??g[10],{...g[11],...p}]),[e,t,s,d,r,n,l,I,u,a,c,p,g])},b)},Ro=(e,o,t,s)=>{const n=r(o)||!Array.isArray(e)?e:d(e,((e,t)=>t>0?[o,e]:e));return t?[s,":{",n,"}"]:n},Co=({tableId:e,rowId:o,cellId:t,store:s,debugIds:d})=>Ro(""+(O(e,o,t,s)??""),void 0,d,t),mo=({tableId:e,rowId:o,store:t,cellComponent:s=Co,getCellComponentProps:r,separator:n,debugIds:l})=>Ro(d(N(e,o,t),(d=>Io(s,{...go(r,d),key:d,tableId:e,rowId:o,cellId:d,store:t,debugIds:l}))),n,l,o),ko=e=>ao(e,H(e.tableId,e.store)),yo=({cellId:e,descending:o,offset:t,limit:s,...d})=>ao(d,J(d.tableId,e,o,t,s,d.store)),ho=({store:e,tableComponent:o=ko,getTableComponentProps:t,separator:s,debugIds:r})=>Ro(d(D(e),(s=>Io(o,{...go(t,s),key:s,tableId:s,store:e,debugIds:r}))),s),vo=({valueId:e,store:o,debugIds:t})=>Ro(""+(W(e,o)??""),void 0,t,e),To=({store:e,valueComponent:o=vo,getValueComponentProps:t,separator:s,debugIds:r})=>Ro(d(U(e),(s=>Io(o,{...go(t,s),key:s,valueId:s,store:e,debugIds:r}))),s),qo=({metricId:e,metrics:o,debugIds:t})=>Ro(he(e,o)??"",void 0,t,e),Po=({indexId:e,sliceId:o,indexes:t,rowComponent:s=mo,getRowComponentProps:r,separator:n,debugIds:l})=>{const I=h(t),u=I?.getStore(),a=I?.getTableId(e),i=Pe(e,o,I);return Ro(d(i,(e=>Io(s,{...go(r,e),key:e,tableId:a,rowId:e,store:u,debugIds:l}))),n,l,o)},xo=({indexId:e,indexes:o,sliceComponent:t=Po,getSliceComponentProps:s,separator:r,debugIds:n})=>Ro(d(qe(e,o),(d=>Io(t,{...go(s,d),key:d,indexId:e,sliceId:d,indexes:o,debugIds:n}))),r,n,e),So=({relationshipId:e,localRowId:o,relationships:t,rowComponent:s=mo,getRowComponentProps:d,debugIds:n})=>{const[l,I]=co(t),u=l?.getRemoteTableId(e),a=fe(e,o,l);return Ro(r(u)||r(a)?null:Io(s,{...go(d,a),key:a,tableId:u,rowId:a,store:I,debugIds:n}),void 0,n,o)},Vo=e=>po(e,Be,e.remoteRowId),fo=e=>po(e,Le,e.firstRowId),Bo=({queryId:e,rowId:o,cellId:t,queries:s,debugIds:d})=>Ro(""+(Je(e,o,t,s)??""),void 0,d,t),Lo=({queryId:e,rowId:o,queries:t,resultCellComponent:s=Bo,getResultCellComponentProps:r,separator:n,debugIds:l})=>Ro(d(He(e,o,t),(d=>Io(s,{...go(r,d),key:d,queryId:e,rowId:o,cellId:d,queries:t,debugIds:l}))),n,l,o),Mo=e=>io(e,ze(e.queryId,e.queries)),Ao=({cellId:e,descending:o,offset:t,limit:s,...d})=>io(d,De(d.queryId,e,o,t,s,d.queries)),Eo=({checkpoints:e,checkpointId:o,debugIds:t})=>Ro(Ze(o,e)??"",void 0,t,o),Fo=bo((e=>e[0])),jo=bo((e=>r(e[1])?[]:[e[1]])),zo=bo((e=>e[2]));export{Fo as BackwardCheckpointsView,Co as CellView,Eo as CheckpointView,jo as CurrentCheckpointView,zo as ForwardCheckpointsView,xo as IndexView,fo as LinkedRowsView,Vo as LocalRowsView,qo as MetricView,wo as Provider,So as RemoteRowView,Bo as ResultCellView,Lo as ResultRowView,Ao as ResultSortedTableView,Mo as ResultTableView,mo as RowView,Po as SliceView,yo as SortedTableView,ko as TableView,ho as TablesView,vo as ValueView,To as ValuesView,ao as tableView,$ as useAddRowCallback,O as useCell,N as useCellIds,we as useCellIdsListener,Re as useCellListener,Ze as useCheckpoint,Ye as useCheckpointIds,ro as useCheckpointIdsListener,no as useCheckpointListener,m as useCheckpoints,Xe as useCreateCheckpoints,Te as useCreateIndexes,ye as useCreateMetrics,lo as useCreatePersister,Fe as useCreateQueries,Ve as useCreateRelationships,j as useCreateStore,le as useDelCellCallback,ne as useDelRowCallback,re as useDelTableCallback,de as useDelTablesCallback,ue as useDelValueCallback,Ie as useDelValuesCallback,_e as useGoBackwardCallback,eo as useGoForwardCallback,oo as useGoToCallback,w as useIndexes,Le as useLinkedRowIds,Ee as useLinkedRowIdsListener,Be as useLocalRowIds,Ae as useLocalRowIdsListener,he as useMetric,ve as useMetricListener,g as useMetrics,C as useQueries,so as useRedoInformation,R as useRelationships,fe as useRemoteRowId,Me as useRemoteRowIdListener,Je as useResultCell,He as useResultCellIds,Ue as useResultCellIdsListener,We as useResultCellListener,Ge as useResultRow,ze as useResultRowIds,Ne as useResultRowIdsListener,Qe as useResultRowListener,De as useResultSortedRowIds,Oe as useResultSortedRowIdsListener,je as useResultTable,Ke as useResultTableListener,K as useRow,H as useRowIds,pe as useRowIdsListener,ge as useRowListener,ee as useSetCellCallback,$e as useSetCheckpointCallback,_ as useSetPartialRowCallback,te as useSetPartialValuesCallback,Z as useSetRowCallback,Y as useSetTableCallback,X as useSetTablesCallback,se as useSetValueCallback,oe as useSetValuesCallback,qe as useSliceIds,xe as useSliceIdsListener,Pe as useSliceRowIds,Se as useSliceRowIdsListener,J as useSortedRowIds,be as useSortedRowIdsListener,b as useStore,G as useTable,D as useTableIds,ie as useTableIdsListener,ce as useTableListener,z as useTables,ae as useTablesListener,to as useUndoInformation,W as useValue,U as useValueIds,me as useValueIdsListener,ke as useValueListener,Q as useValues,Ce 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};
|
package/lib/ui-react.js.gz
CHANGED
|
Binary file
|
package/lib/umd/checkpoints.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=(e,t)=>e.includes(t),n=(e,t)=>e.forEach(t),s=e=>e.length,o=e=>0==s(e),r=(e,...t)=>e.push(...t),
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=(e,t)=>e.includes(t),n=(e,t)=>e.forEach(t),s=e=>e.length,o=e=>0==s(e),r=(e,...t)=>e.push(...t),l=e=>e.pop(),i=e=>e.shift(),c=e=>null==e,d=(e,t,n)=>c(e)?n?.():t(e),a=(e,t)=>e?.has(t)??!1,u=e=>c(e)||0==(e=>e.size)(e),h=(e,t)=>e?.forEach(t),p=(e,t)=>e?.delete(t),f=e=>new Map(e),C=(e,t)=>e?.get(t),g=(e,t,n)=>c(n)?(p(e,t),e):e?.set(t,n),k=(e,t,n)=>(a(e,t)||g(e,t,n()),C(e,t)),v=(e,t,n,o,r=0)=>d((n?k:C)(e,t[r],r>s(t)-2?n:f),(l=>{if(r>s(t)-2)return o?.(l)&&g(e,t[r]),l;const i=v(l,t,n,o,r+1);return u(l)&&g(e,t[r]),i})),y=e=>new Set(Array.isArray(e)||c(e)?e:[e]),L=/^\d+$/,w=Object.freeze,b=(e=>{const b=new WeakMap;return e=>(b.has(e)||b.set(e,(e=>{let b,S,T,x=100,z=f(),E=f(),V=1;const j=f(),m=f(),[A,B,I]=(e=>{let t;const[o,l]=(()=>{const e=[];let t=0;return[n=>(n?i(e):null)??""+t++,t=>{L.test(t)&&s(e)<1e3&&r(e,t)}]})(),a=f();return[(e,n,s,r=[],l=(()=>[]))=>{t??=_;const i=o(1);var c,d;return g(a,i,[e,n,s,r,l]),c=v(n,s??[""],y),d=i,c?.add(d),i},(e,o,...l)=>n(((e,t=[""])=>{const o=[],l=(e,i)=>i==s(t)?r(o,e):null===t[i]?h(e,(e=>l(e,i+1))):n([t[i],null],(t=>l(C(e,t),i+1)));return l(e,0),o})(e,o),(e=>h(e,(e=>C(a,e)[0](t,...o??[],...l))))),e=>d(C(a,e),(([,t,n])=>(v(t,n??[""],void 0,(t=>(p(t,e),u(t)?1:0))),g(a,e),l(e),n))),e=>d(C(a,e),(([e,,o=[],r,l])=>{const i=(...d)=>{const a=s(d);a==s(o)?e(t,...d,...l(d)):c(o[a])?n(r[a]?.(...d)??[],(e=>i(...d,e))):i(...d,o[a])};i()}))]})(),M=f(),F=f(),O=[],W=[],$=(t,n)=>{V=0,e.transaction((()=>{const[s,o]=C(M,n);h(s,((n,s)=>h(n,((n,o)=>h(n,((n,r)=>((e,t,n,s,o)=>c(o)?e.delCell(t,n,s,!0):e.setCell(t,n,s,o))(e,s,o,r,n[t]))))))),h(o,((n,s)=>((e,t,n)=>c(n)?e.delValue(t):e.setValue(t,n))(e,s,n[t])))})),V=1},q=e=>{g(M,e),g(F,e),B(m,[e])},D=(e,t)=>n(((e,t)=>e.splice(0,t))(e,t??s(e)),q),G=()=>D(O,s(O)-x),H=()=>d(b,(()=>{r(O,b),G(),D(W),b=void 0,T=1})),J=()=>{b=l(O),T=1},K=e.addCellListener(null,null,null,((e,t,n,s,o,r)=>{if(V){H();const e=k(z,t,f),l=k(e,n,f),i=k(l,s,(()=>[r,void 0]));i[1]=o,i[0]===o&&u(g(l,s))&&u(g(e,n))&&u(g(z,t))&&J(),U()}})),N=e.addValueListener(null,((e,t,n,s)=>{if(V){H();const e=k(E,t,(()=>[s,void 0]));e[1]=n,e[0]===n&&u(g(E,t))&&J(),U()}})),P=(e="")=>(c(b)&&(b=""+S++,g(M,b,[z,E]),Y(b,e),z=f(),E=f(),T=1),b),Q=()=>{o(O)||(((e,...t)=>{e.unshift(...t)})(W,P()),$(0,b),b=l(O),T=1)},R=()=>{o(W)||(r(O,b),b=i(W),$(1,b),T=1)},U=()=>{T&&(B(j),T=0)},X=e=>{const t=P(e);return U(),t},Y=(e,t)=>(Z(e)&&C(F,e)!==t&&(g(F,e,t),B(m,[e])),_),Z=e=>a(M,e),_={setSize:e=>(x=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>e,getCheckpointIds:()=>[[...O],b,[...W]],forEachCheckpoint:e=>{return t=e,h(F,((e,n)=>t(n,e)));var t},hasCheckpoint:Z,getCheckpoint:e=>C(F,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:e=>{const n=t(O,e)?Q:t(W,e)?R:null;for(;!c(n)&&e!=b;)n();return U(),_},addCheckpointIdsListener:e=>A(e,j),addCheckpointListener:(e,t)=>A(t,m,[e]),delListener:e=>(I(e),_),clear:()=>(D(O),D(W),c(b)||q(b),b=void 0,S=0,X(),_),destroy:()=>{e.delListener(K),e.delListener(N)},getListenerStats:()=>({})};return w(_.clear())})(e)),b.get(e))})();e.createCheckpoints=b},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCheckpoints={});
|
|
Binary file
|
package/lib/umd/indexes.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),r=e=>n+e,o=(e,t)=>e.every(t),d=(e,t)=>o(e,((n,s)=>0==s||t(e[s-1],n)<=0)),i=(e,t)=>e.sort(t),
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),r=e=>n+e,o=(e,t)=>e.every(t),d=(e,t)=>o(e,((n,s)=>0==s||t(e[s-1],n)<=0)),i=(e,t)=>e.sort(t),l=(e,t)=>e.forEach(t),c=e=>e.length,a=(e,...t)=>e.push(...t),f=e=>null==e,u=(e,t,n)=>f(e)?n?.():t(e),h=e=>Array.isArray(e),I=(e,t)=>e?.has(t)??!1,g=e=>f(e)||0==(e=>e.size)(e),p=e=>[...e?.values()??[]],y=e=>e.clear(),x=(e,t)=>e?.forEach(t),v=(e,t)=>e?.delete(t),S=e=>new Map(e),w=e=>[...e?.keys()??[]],L=(e,t)=>e?.get(t),b=(e,t)=>x(e,((e,n)=>t(n,e))),T=(e,t,n)=>f(n)?(v(e,t),e):e?.set(t,n),E=(e,t,n)=>(I(e,t)||T(e,t,n()),L(e,t)),R=(e,t,n,s,r=0)=>u((n?E:L)(e,t[r],r>c(t)-2?n:S),(o=>{if(r>c(t)-2)return s?.(o)&&T(e,t[r]),o;const d=R(o,t,n,s,r+1);return g(o)&&T(e,t[r]),d})),m=e=>new Set(h(e)||f(e)?e:[e]),j=(e,t)=>e?.add(t),k=(e,r)=>t(e)==s?t=>t(e):e??(()=>r??n),z=(e,t)=>e<t?-1:1,A=/^\d+$/,C=Object.freeze,D=(e=>{const t=new WeakMap;return e=>(t.has(e)||t.set(e,(e=>{const t=S(),s=S(),[D,M,B,O,W,$,q,,F,G,H]=((e,t,n)=>{const s=e.hasRow,r=S(),d=S(),i=S(),a=S(),R=S(),k=(t,n,...s)=>{const r=E(R,t,m);return l(s,(t=>j(r,t)&&n&&e.callListener(t))),s},z=(t,...n)=>u(L(R,t),(s=>{l(0==c(n)?p(s):n,(t=>{e.delListener(t),v(s,t)})),g(s)&&T(R,t)})),A=(e,n)=>{T(r,e,n),I(d,e)||(T(d,e,t()),T(i,e,S()),T(a,e,S()))},C=e=>{T(r,e),T(d,e),T(i,e),T(a,e),z(e)};return[()=>e,()=>w(r),e=>b(d,e),e=>I(d,e),e=>L(r,e),e=>L(d,e),(e,t)=>T(d,e,t),A,(t,r,d,u,g)=>{A(t,r);const p=S(),v=S(),w=L(i,t),E=L(a,t),R=t=>{const d=n=>e.getCell(r,t,n),i=L(w,t),l=s(r,t)?n(u(d,t)):void 0;var a,I;if(i===l||h(i)&&h(l)&&(I=l,c(a=i)===c(I)&&o(a,((e,t)=>I[t]===e)))||T(p,t,[i,l]),!f(g)){const e=L(E,t),n=s(r,t)?g(d,t):void 0;e!=n&&T(v,t,n)}},m=e=>{d((()=>{x(p,(([,e],t)=>T(w,t,e))),x(v,((e,t)=>T(E,t,e)))}),p,v,w,E,e),y(p),y(v)};b(w,R),e.hasTable(r)&&l(e.getRowIds(r),(e=>{I(w,e)||R(e)})),m(!0),z(t),k(t,0,e.addRowListener(r,null,((e,t,n)=>R(n))),e.addTableListener(r,(()=>m())))},C,()=>b(R,C),k,z]})(e,S,(e=>{return f(e)?n:h(e)?(t=r,e.map(t)):r(e);var t})),[J,K,N]=(e=>{let t;const[s,r]=(()=>{const e=[];let t=0;return[s=>(s?e.shift():null)??n+t++,t=>{A.test(t)&&c(e)<1e3&&a(e,t)}]})(),o=S();return[(e,r,d,i=[],l=(()=>[]))=>{t??=Q;const c=s(1);return T(o,c,[e,r,d,i,l]),j(R(r,d??[n],m),c),c},(e,s,...r)=>l(((e,t=[n])=>{const s=[],r=(e,n)=>n==c(t)?a(s,e):null===t[n]?x(e,(e=>r(e,n+1))):l([t[n],null],(t=>r(L(e,t),n+1)));return r(e,0),s})(e,s),(e=>x(e,(e=>L(o,e)[0](t,...s??[],...r))))),e=>u(L(o,e),(([,t,s])=>(R(t,s??[n],void 0,(t=>(v(t,e),g(t)?1:0))),T(o,e),r(e),s))),e=>u(L(o,e),(([e,,n=[],s,r])=>{const o=(...d)=>{const i=c(d);i==c(n)?e(t,...d,...r(d)):f(n[i])?l(s[i]?.(...d)??[],(e=>o(...d,e))):o(...d,n[i])};o()}))]})(),P=(t,n,s)=>{const r=W(t);x(s,((t,s)=>n(s,(n=>x(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},Q={setIndexDefinition:(e,n,r,o,l,c=z)=>{const a=f(l)?void 0:([e],[t])=>l(e,t);return F(e,n,((n,r,l,h,p,y)=>{let w=0;const E=m(),R=m(),k=$(e);if(x(r,(([e,t],n)=>{const s=m(e),r=m(t);x(s,(e=>v(r,e)?v(s,e):0)),x(s,(e=>{j(E,e),u(L(k,e),(t=>{v(t,n),g(t)&&(T(k,e),w=1)}))})),x(r,(e=>{j(E,e),I(k,e)||(T(k,e,m()),w=1),j(L(k,e),n),f(o)||j(R,e)}))})),n(),g(p)||(y?b(k,(e=>j(R,e))):b(l,(e=>u(L(h,e),(e=>j(R,e))))),x(R,(e=>{const t=(t,n)=>c(L(p,t),L(p,n),e),n=[...L(k,e)];d(n,t)||(T(k,e,m(i(n,t))),j(E,e))}))),(w||y)&&!f(a)){const t=[...k];d(t,a)||(q(e,S(i(t,a))),w=1)}w&&K(t,[e]),x(E,(t=>K(s,[e,t])))}),k(r),u(o,k)),Q},delIndexDefinition:e=>(G(e),Q),getStore:D,getIndexIds:M,forEachIndex:e=>B(((t,n)=>e(t,(e=>P(t,e,n))))),forEachSlice:(e,t)=>P(e,t,$(e)),hasIndex:O,hasSlice:(e,t)=>I($(e),t),getTableId:W,getSliceIds:e=>w($(e)),getSliceRowIds:(e,t)=>p(L($(e),t)),addSliceIdsListener:(e,n)=>J(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>J(n,s,[e,t]),delListener:e=>(N(e),Q),destroy:H,getListenerStats:()=>({})};return C(Q)})(e)),t.get(e))})();e.createIndexes=D},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseIndexes={});
|
package/lib/umd/indexes.js.gz
CHANGED
|
Binary file
|
package/lib/umd/metrics.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",r=t(n),s=t(t),i=(e,t)=>e.forEach(t),o=e=>
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",r=t(n),s=t(t),i=(e,t)=>e.forEach(t),o=e=>c(e,((e,t)=>e+t),0),a=e=>e.length,c=(e,t,n)=>e.reduce(t,n),d=(e,...t)=>e.push(...t),l=Math.max,u=Math.min,f=isFinite,h=e=>null==e,v=(e,t,n)=>h(e)?n?.():t(e),g=e=>Array.isArray(e),M=()=>{},p=e=>e.size,y=(e,t)=>e?.has(t)??!1,m=e=>h(e)||0==p(e),b=e=>[...e?.values()??[]],L=e=>e.clear(),w=(e,t)=>e?.forEach(t),T=(e,t)=>e?.delete(t),x=e=>new Map(e),E=(e,t)=>e?.get(t),I=(e,t)=>w(e,((e,n)=>t(n,e))),R=(e,t,n)=>h(n)?(T(e,t),e):e?.set(t,n),S=(e,t,n)=>(y(e,t)||R(e,t,n()),E(e,t)),j=(e,t,n,r,s=0)=>v((n?S:E)(e,t[s],s>a(t)-2?n:x),(i=>{if(s>a(t)-2)return r?.(i)&&R(e,t[s]),i;const o=j(i,t,n,r,s+1);return m(i)&&R(e,t[s]),o})),k=x([["avg",[(e,t)=>o(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,r)=>e+(t-n)/r]],["max",[e=>l(...e),(e,t)=>l(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:l(t,e)]],["min",[e=>u(...e),(e,t)=>u(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:u(t,e)]],["sum",[e=>o(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),z=e=>new Set(g(e)||h(e)?e:[e]),A=(e,t)=>e?.add(t),D=/^\d+$/,N=Object.freeze,B=(e=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const o=x(),[c,l,u,B,C,F,O,,W,$,q]=((e,t,r)=>{const s=e.hasRow,o=x(),c=x(),d=x(),l=x(),u=x(),f=(t,n,...r)=>{const s=S(u,t,z);return i(r,(t=>A(s,t)&&n&&e.callListener(t))),r},M=(t,...n)=>v(E(u,t),(r=>{i(0==a(n)?b(r):n,(t=>{e.delListener(t),T(r,t)})),m(r)&&R(u,t)})),p=(e,n)=>{R(o,e,n),y(c,e)||(R(c,e,t()),R(d,e,x()),R(l,e,x()))},j=e=>{R(o,e),R(c,e),R(d,e),R(l,e),M(e)};return[()=>e,()=>{return e=o,[...e?.keys()??[]];var e},e=>I(c,e),e=>y(c,e),e=>E(o,e),e=>E(c,e),(e,t)=>R(c,e,t),p,(t,r,o,c,u)=>{p(t,r);const v=x(),m=x(),b=E(d,t),T=E(l,t),S=t=>{const i=n=>e.getCell(r,t,n),o=E(b,t),d=s(r,t)?(l=c(i,t),isNaN(l)||h(l)||!0===l||!1===l||l===n?void 0:1*l):void 0;var l,f,M,p;if(o===d||g(o)&&g(d)&&(M=d,a(f=o)===a(M)&&(p=(e,t)=>M[t]===e,f.every(p)))||R(v,t,[o,d]),!h(u)){const e=E(T,t),n=s(r,t)?u(i,t):void 0;e!=n&&R(m,t,n)}},j=e=>{o((()=>{w(v,(([,e],t)=>R(b,t,e))),w(m,((e,t)=>R(T,t,e)))}),v,m,b,T,e),L(v),L(m)};I(b,S),e.hasTable(r)&&i(e.getRowIds(r),(e=>{y(b,e)||S(e)})),j(!0),M(t),f(t,0,e.addRowListener(r,null,((e,t,n)=>S(n))),e.addTableListener(r,(()=>j())))},j,()=>I(u,j),f,M]})(e,M),[G,H,J]=(e=>{let t;const[r,s]=(()=>{const e=[];let t=0;return[r=>(r?e.shift():null)??n+t++,t=>{D.test(t)&&a(e)<1e3&&d(e,t)}]})(),o=x();return[(e,s,i,a=[],c=(()=>[]))=>{t??=K;const d=r(1);return R(o,d,[e,s,i,a,c]),A(j(s,i??[n],z),d),d},(e,r,...s)=>i(((e,t=[n])=>{const r=[],s=(e,n)=>n==a(t)?d(r,e):null===t[n]?w(e,(e=>s(e,n+1))):i([t[n],null],(t=>s(E(e,t),n+1)));return s(e,0),r})(e,r),(e=>w(e,(e=>E(o,e)[0](t,...r??[],...s))))),e=>v(E(o,e),(([,t,r])=>(j(t,r??[n],void 0,(t=>(T(t,e),m(t)?1:0))),R(o,e),s(e),r))),e=>v(E(o,e),(([e,,n=[],r,s])=>{const o=(...c)=>{const d=a(c);d==a(n)?e(t,...c,...s(c)):h(n[d])?i(r[d]?.(...c)??[],(e=>o(...c,e))):o(...c,n[d])};o()}))]})(),K={setMetricDefinition:(e,n,i,a,c,d,l)=>{const u=t(i)==s?[i,c,d,l]:E(k,i)??E(k,"sum");return W(e,n,((t,n,r,s,i,a)=>{const c=F(e),d=p(s);a||=h(c),t();let l=((e,t,n,r,s,i=!1)=>{if(m(n))return;const[o,a,c,d]=s;return i||=h(e),w(r,(([n,r])=>{i||(e=h(n)?a?.(e,r,t++):h(r)?c?.(e,n,t--):d?.(e,r,n,t),i||=h(e))})),i?o(b(n),p(n)):e})(c,d,s,n,u,a);f(l)||(l=void 0),l!=c&&(O(e,l),H(o,[e],l,c))}),(1,t(v=a)==r?e=>e(v):v??(()=>1))),K;var v},delMetricDefinition:e=>($(e),K),getStore:c,getMetricIds:l,forEachMetric:u,hasMetric:B,getTableId:C,getMetric:F,addMetricListener:(e,t)=>G(t,o,[e]),delListener:e=>(J(e),K),destroy:q,getListenerStats:()=>({})};return N(K)})(e)),o.get(e))})();e.createMetrics=B},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMetrics={});
|
package/lib/umd/metrics.js.gz
CHANGED
|
Binary file
|
package/lib/umd/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t){"use strict";const s="utf8",a=e=>null==e,o=(e,t,s)=>a(e)?s?.():t(e),r=Object.freeze,n=(e,t,s,n,i)=>{let c,d,l=0;const u={load:async(s,o)=>{if(2!=l){l=1;const r=await t();a(r)||""==r?e.transaction((()=>e.setTables(s).setValues(o))):e.setJson(r),l=0}return u},startAutoLoad:async(e,t)=>(u.stopAutoLoad(),await u.load(e,t),n(u.load),u),stopAutoLoad:()=>(i(),u),save:async()=>(1!=l&&(l=2,await s(e.getJson()),l=0),u),startAutoSave:async()=>(await u.stopAutoSave().save(),c=e.addTablesListener(u.save),d=e.addValuesListener(u.save),u),stopAutoSave:()=>(o(c,e.delListener),o(d,e.delListener),u),getStore:()=>e,destroy:()=>u.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(u)},i="storage",c=globalThis.window,d=(e,t,s)=>{let a;return n(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{a=a=>{a.storageArea===s&&a.key===t&&e()},c.addEventListener(i,a)}),(()=>{c.removeEventListener(i,a),a=void 0}))},l=e=>e.headers.get("ETag");e.createCustomPersister=n,e.createFilePersister=(e,a)=>{let o;return n(e,(async()=>{try{return await t.promises.readFile(a,s)}catch{}}),(async e=>{try{await t.promises.writeFile(a,e,s)}catch{}}),(e=>{o=t.watch(a,e)}),(()=>{o?.close(),o=void 0}))},e.createLocalPersister=(e,t)=>d(e,t,localStorage),e.createRemotePersister=(e,t,s,r)=>{let i,c;return n(e,(async()=>{const e=await fetch(t);return c=l(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{i=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),o=l(s);a(c)||a(o)||o==c||(c=o,e())}),1e3*r)}),(()=>{o(i,clearInterval),i=void 0}))},e.createSessionPersister=(e,t)=>d(e,t,sessionStorage)},"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).TinyBasePersisters={},e.fs);
|
|
1
|
+
var e,t;e=this,t=function(e,t){"use strict";const s="utf8",a=e=>null==e,o=(e,t,s)=>a(e)?s?.():t(e),r=Object.freeze,n=(e,t,s,n,i)=>{let c,d,l=0;const u={load:async(s={},o={})=>{if(2!=l){l=1;const r=await t();a(r)||""==r?e.transaction((()=>e.setTables(s).setValues(o))):e.setJson(r),l=0}return u},startAutoLoad:async(e={},t={})=>(u.stopAutoLoad(),await u.load(e,t),n(u.load),u),stopAutoLoad:()=>(i(),u),save:async()=>(1!=l&&(l=2,await s(e.getJson()),l=0),u),startAutoSave:async()=>(await u.stopAutoSave().save(),c=e.addTablesListener(u.save),d=e.addValuesListener(u.save),u),stopAutoSave:()=>(o(c,e.delListener),o(d,e.delListener),u),getStore:()=>e,destroy:()=>u.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(u)},i="storage",c=globalThis.window,d=(e,t,s)=>{let a;return n(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{a=a=>{a.storageArea===s&&a.key===t&&e()},c.addEventListener(i,a)}),(()=>{c.removeEventListener(i,a),a=void 0}))},l=e=>e.headers.get("ETag");e.createCustomPersister=n,e.createFilePersister=(e,a)=>{let o;return n(e,(async()=>{try{return await t.promises.readFile(a,s)}catch{}}),(async e=>{try{await t.promises.writeFile(a,e,s)}catch{}}),(e=>{o=t.watch(a,e)}),(()=>{o?.close(),o=void 0}))},e.createLocalPersister=(e,t)=>d(e,t,localStorage),e.createRemotePersister=(e,t,s,r)=>{let i,c;return n(e,(async()=>{const e=await fetch(t);return c=l(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{i=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),o=l(s);a(c)||a(o)||o==c||(c=o,e())}),1e3*r)}),(()=>{o(i,clearInterval),i=void 0}))},e.createSessionPersister=(e,t)=>d(e,t,sessionStorage)},"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).TinyBasePersisters={},e.fs);
|
package/lib/umd/persisters.js.gz
CHANGED
|
Binary file
|
package/lib/umd/queries.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),r=t(0),o=t(t),
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),r=t(0),o=t(t),a="Listener",i="Result",l="Ids",d="Row",c=d+l,u="Sorted"+d+l,f="Cell",h=f+l,g=(e,t)=>e.every(t),v=(e,t)=>e.forEach(t),w=e=>R(e,((e,t)=>e+t),0),y=e=>e.length,L=e=>0==y(e),R=(e,t,n)=>e.reduce(t,n),p=(e,...t)=>e.push(...t),T=Math.max,b=Math.min,m=isFinite,C=e=>null==e,Q=(e,t,n)=>C(e)?n?.():t(e),S=e=>t(e)==o,x=e=>Array.isArray(e),I=()=>{},E=e=>e.size,M=(e,t)=>e?.has(t)??!1,j=e=>C(e)||0==E(e),D=e=>[...e?.values()??[]],k=e=>e.clear(),z=(e,t)=>e?.forEach(t),A=(e,t)=>e?.delete(t),F=e=>new Map(e),B=(e,t)=>e?.get(t),O=(e,t)=>z(e,((e,n)=>t(n,e))),W=(e,t,n)=>C(n)?(A(e,t),e):e?.set(t,n),q=(e,t,n)=>(M(e,t)||W(e,t,n()),B(e,t)),G=(e,t,n,s,r=0)=>Q((n?q:B)(e,t[r],r>y(t)-2?n:F),(o=>{if(r>y(t)-2)return s?.(o)&&W(e,t[r]),o;const a=G(o,t,n,s,r+1);return j(o)&&W(e,t[r]),a})),H=e=>new Set(x(e)||C(e)?e:[e]),J=(e,t)=>e?.add(t),K=F([["avg",[(e,t)=>w(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>T(...e),(e,t)=>T(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:T(t,e)]],["min",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:b(t,e)]],["sum",[e=>w(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),N=Object,P=N.freeze,U=(e=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const o=e.createStore,[l,w,R,T,b,,,U,,V,X,Y,Z]=((e,t,n)=>{const s=e.hasRow,r=F(),o=F(),a=F(),i=F(),l=F(),d=(t,n,...s)=>{const r=q(l,t,H);return v(s,(t=>J(r,t)&&n&&e.callListener(t))),s},c=(t,...n)=>Q(B(l,t),(s=>{v(L(n)?D(s):n,(t=>{e.delListener(t),A(s,t)})),j(s)&&W(l,t)})),u=(e,t)=>{W(r,e,t),M(o,e)||(W(o,e,!0),W(a,e,F()),W(i,e,F()))},f=e=>{W(r,e),W(o,e),W(a,e),W(i,e),c(e)};return[()=>e,()=>{return e=r,[...e?.keys()??[]];var e},e=>O(o,e),e=>M(o,e),e=>B(r,e),e=>B(o,e),(e,t)=>W(o,e,t),u,(t,r,o,l,f)=>{u(t,r);const h=F(),w=F(),L=B(a,t),R=B(i,t),p=t=>{const o=n=>e.getCell(r,t,n),a=B(L,t),i=s(r,t)?n(l(o,t)):void 0;var d,c;if(a===i||x(a)&&x(i)&&(c=i,y(d=a)===y(c)&&g(d,((e,t)=>c[t]===e)))||W(h,t,[a,i]),!C(f)){const e=B(R,t),n=s(r,t)?f(o,t):void 0;e!=n&&W(w,t,n)}},T=e=>{o((()=>{z(h,(([,e],t)=>W(L,t,e))),z(w,((e,t)=>W(R,t,e)))}),h,w,L,R,e),k(h),k(w)};O(L,p),e.hasTable(r)&&v(e.getRowIds(r),(e=>{M(L,e)||p(e)})),T(!0),c(t),d(t,0,e.addRowListener(r,null,((e,t,n)=>p(n))),e.addTableListener(r,(()=>T())))},f,()=>O(l,f),d,c]})(e,0,I),$=o(),_=o(),ee=F(),te=(e,t,...n)=>v(n,(n=>J(q(q(ee,t,F),e,H),n))),ne=e=>{Q(B(ee,e),(e=>{O(e,((e,t)=>z(t,(t=>e.delListener(t))))),k(e)})),v([_,$],(t=>t.delTable(e)))},se=(e,t,n)=>te(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),re={setQueryDefinition:(o,a,i)=>{U(o,a),ne(o);const l=[],d=[[null,[a,null,null,[],F()]]],c=[],u=[],f=[];i({select:(e,t)=>{const n=S(e)?[y(l)+"",e]:[C(t)?e:t,n=>n(e,t)];return p(l,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=C(n)||S(t)?null:t,r=C(s)?t:n,o=[e,[e,s,S(r)?r:e=>e(r),[],F()]];return p(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>p(c,S(e)?e:C(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,S(t)?[t,n,s,r]:B(K,t)??[(e,t)=>t]]];return p(u,o),{as:e=>o[0]=e}},having:(e,t)=>p(f,S(e)?e:n=>n(e)===t)});const h=F(l);if(j(h))return re;const w=F(d);O(w,((e,[,t])=>Q(B(w,t),(({3:t})=>C(e)?0:p(t,e)))));const R=F(u);let T=$;if(j(R)&&L(f))T=_;else{se(o,T,_);const e=F();O(R,((t,[n,s])=>J(q(e,n,H),[t,s])));const a=H();O(h,(t=>M(e,t)?0:J(a,t)));const i=F(),l=(a,i,l,d)=>Q(a,(([c,u,h,v])=>{O(i,((o,[a])=>{const i=q(c,o,F),u=B(i,l),f=d?void 0:a;if(u!==f){const a=H([[u,f]]),d=E(i);W(i,l,f),z(B(e,o),(([e,o])=>{const l=((e,t,n,s,r,o=!1)=>{if(j(n))return;const[a,i,l,d]=r;return o||=C(e),z(s,(([n,s])=>{o||(e=C(n)?i?.(e,s,t++):C(s)?l?.(e,n,t--):d?.(e,s,n,t),o||=C(e))})),o?a(D(n),E(n)):e})(v[e],d,i,a,o);v[e]=C((e=>{const o=t(e);return(e=>e==n||e==s)(o)||o==r&&m(e)?o:void 0})(l))?null:l}))}})),j(u)||!g(f,(e=>e((e=>v[e]))))?_.delRow(o,h):C(h)?a[2]=_.addRow(o,v):_.setRow(o,h,v)}));te(T,o,T.addRowListener(o,null,((t,n,s,r)=>{const d=[],c=[],u=F(),f=T.hasRow(o,s);let h=!f;z(a,(e=>{const[t,n,a]=r(o,s,e);p(d,n),p(c,a),h||=t})),O(e,(e=>{const[t,,n]=r(o,s,e);(h||t)&&W(u,e,[n])})),h&&l(G(i,d,void 0,(([,e])=>(A(e,s),j(e)))),u,s,1),f&&l(G(i,c,(()=>{const e={};return z(a,(t=>e[t]=T.getCell(o,s,t))),[F(),H(),void 0,e]}),(([,e])=>{J(e,s)})),u,s)})))}se(o,e,T);const b=(t,n,s,r)=>{const i=t=>e.getCell(n,s,t);v(r,(n=>{const[s,,r,a,l]=B(w,n),d=r?.(i,t),[c,u]=B(l,t)??[];d!=c&&(C(u)||Z(o,u),W(l,t,C(d)?null:[d,...Y(o,1,e.addRowListener(s,d,(()=>b(t,s,d,a))))]))})),(t=>{const n=(n,s)=>e.getCell(...C(s)?[a,t,n]:n===a?[a,t,s]:[B(w,n)?.[0],B(B(w,n)?.[4],t)?.[0],s]);T.transaction((()=>g(c,(e=>e(n)))?O(h,((e,s)=>((e,t,n,s,r)=>C(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(T,o,t,e,s(n,t)))):T.delRow(o,t)))})(t)},{3:x}=B(w,null);return T.transaction((()=>Y(o,1,e.addRowListener(a,null,((t,n,s)=>{e.hasRow(a,s)?b(s,a,s,x):(T.delRow(o,s),z(w,(({4:e})=>Q(B(e,s),(([,t])=>{Z(o,t),W(e,s)})))))}))))),re},delQueryDefinition:e=>(ne(e),V(e),re),getStore:l,getQueryIds:w,forEachQuery:R,hasQuery:T,getTableId:b,delListener:e=>(_.delListener(e),re),destroy:X,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=_.getListenerStats();return s}};var oe,ae;return oe={Table:[1,1],[c]:[0,1],[u]:[0,5],[d]:[1,2],[h]:[0,2],[f]:[1,3]},ae=([e,t],n)=>{v(e?["get","has","forEach"]:["get"],(e=>re[e+i+n]=(...t)=>_[e+n](...t))),re["add"+i+n+a]=(...e)=>{return _["add"+n+a](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t](re,...s)));var s,r}},((e,t)=>{e.map(t)})(N.entries(oe),(([e,t])=>ae(t,e))),P(re)})(e)),o.get(e))})();e.createQueries=U},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseQueries={});
|
package/lib/umd/queries.js.gz
CHANGED
|
Binary file
|
package/lib/umd/relationships.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),o=(e,t)=>e.forEach(t),r=e=>e.length,i=(e,...t)=>e.push(...t),a=e=>null==e,
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),o=(e,t)=>e.forEach(t),r=e=>e.length,i=(e,...t)=>e.push(...t),a=e=>null==e,l=(e,t,n)=>a(e)?n?.():t(e),d=e=>Array.isArray(e),c=(e,t)=>e?.has(t)??!1,f=e=>a(e)||0==(e=>e.size)(e),u=e=>[...e?.values()??[]],h=e=>e.clear(),R=(e,t)=>e?.forEach(t),p=(e,t)=>e?.delete(t),g=e=>new Map(e),L=(e,t)=>e?.get(t),w=(e,t)=>R(e,((e,n)=>t(n,e))),y=(e,t,n)=>a(n)?(p(e,t),e):e?.set(t,n),v=(e,t,n)=>(c(e,t)||y(e,t,n()),L(e,t)),I=(e,t,n,s,o=0)=>l((n?v:L)(e,t[o],o>r(t)-2?n:g),(i=>{if(o>r(t)-2)return s?.(i)&&y(e,t[o]),i;const a=I(i,t,n,s,o+1);return f(i)&&y(e,t[o]),a})),b=e=>new Set(d(e)||a(e)?e:[e]),T=(e,t)=>e?.add(t),m=/^\d+$/,k=Object.freeze,E=(e=>{const E=new WeakMap;return e=>(E.has(e)||E.set(e,(e=>{const E=g(),x=g(),S=g(),j=g(),[z,A,D,M,B,C,,,O,W,$]=((e,t,s)=>{const i=e.hasRow,I=g(),m=g(),k=g(),E=g(),x=g(),S=(t,n,...s)=>{const r=v(x,t,b);return o(s,(t=>T(r,t)&&n&&e.callListener(t))),s},j=(t,...n)=>l(L(x,t),(s=>{o(0==r(n)?u(s):n,(t=>{e.delListener(t),p(s,t)})),f(s)&&y(x,t)})),z=(e,t)=>{y(I,e,t),c(m,e)||(y(m,e,[g(),g(),g(),g()]),y(k,e,g()),y(E,e,g()))},A=e=>{y(I,e),y(m,e),y(k,e),y(E,e),j(e)};return[()=>e,()=>{return e=I,[...e?.keys()??[]];var e},e=>w(m,e),e=>c(m,e),e=>L(I,e),e=>L(m,e),(e,t)=>y(m,e,t),z,(t,s,l,f,u)=>{z(t,s);const p=g(),v=g(),I=L(k,t),b=L(E,t),T=t=>{const o=n=>e.getCell(s,t,n),l=L(I,t),c=i(s,t)?(h=f(o,t),a(h)?void 0:h+n):void 0;var h,R,g,w;if(l===c||d(l)&&d(c)&&(g=c,r(R=l)===r(g)&&(w=(e,t)=>g[t]===e,R.every(w)))||y(p,t,[l,c]),!a(u)){const e=L(b,t),n=i(s,t)?u(o,t):void 0;e!=n&&y(v,t,n)}},m=e=>{l((()=>{R(p,(([,e],t)=>y(I,t,e))),R(v,((e,t)=>y(b,t,e)))}),p,v,I,b,e),h(p),h(v)};w(I,T),e.hasTable(s)&&o(e.getRowIds(s),(e=>{c(I,e)||T(e)})),m(!0),j(t),S(t,0,e.addRowListener(s,null,((e,t,n)=>T(n))),e.addTableListener(s,(()=>m())))},A,()=>w(x,A),S,j]})(e),[q,F,G]=(e=>{let t;const[s,d]=(()=>{const e=[];let t=0;return[s=>(s?e.shift():null)??n+t++,t=>{m.test(t)&&r(e)<1e3&&i(e,t)}]})(),c=g();return[(e,o,r,i=[],a=(()=>[]))=>{t??=N;const l=s(1);return y(c,l,[e,o,r,i,a]),T(I(o,r??[n],b),l),l},(e,s,...a)=>o(((e,t=[n])=>{const s=[],a=(e,n)=>n==r(t)?i(s,e):null===t[n]?R(e,(e=>a(e,n+1))):o([t[n],null],(t=>a(L(e,t),n+1)));return a(e,0),s})(e,s),(e=>R(e,(e=>L(c,e)[0](t,...s??[],...a))))),e=>l(L(c,e),(([,t,s])=>(I(t,s??[n],void 0,(t=>(p(t,e),f(t)?1:0))),y(c,e),d(e),s))),e=>l(L(c,e),(([e,,n=[],s,i])=>{const l=(...d)=>{const c=r(d);c==r(n)?e(t,...d,...i(d)):a(n[c])?o(s[c]?.(...d)??[],(e=>l(...d,e))):l(...d,n[c])};l()}))]})(),H=(e,t,n)=>l(C(e),(([s,,o])=>{if(!c(o,t)){const r=b();if(B(e)!=K(e))T(r,t);else{let e=t;for(;!a(e)&&!c(r,e);)T(r,e),e=L(s,e)}if(n)return r;y(o,t,r)}return L(o,t)})),J=(e,t)=>l(C(e),(([,,e])=>y(e,t))),K=e=>L(E,e),N={setRelationshipDefinition:(e,o,r,i)=>{return y(E,e,r),O(e,o,((t,n)=>{const s=b(),o=b(),r=b(),[i,d]=C(e);R(n,(([t,n],u)=>{a(t)||(T(o,t),l(L(d,t),(e=>{p(e,u),f(e)&&y(d,t)}))),a(n)||(T(o,n),c(d,n)||y(d,n,b()),T(L(d,n),u)),T(s,u),y(i,u,n),w(L(j,e),(t=>{c(H(e,t),u)&&T(r,t)}))})),t(),R(s,(t=>F(x,[e,t]))),R(o,(t=>F(S,[e,t]))),R(r,(t=>{J(e,t),F(j,[e,t])}))}),t(d=i)==s?e=>e(d):d??(()=>n)),N;var d},delRelationshipDefinition:e=>(y(E,e),W(e),N),getStore:z,getRelationshipIds:A,forEachRelationship:t=>D((n=>t(n,(t=>e.forEachRow(B(n),t))))),hasRelationship:M,getLocalTableId:B,getRemoteTableId:K,getRemoteRowId:(e,t)=>L(C(e)?.[0],t),getLocalRowIds:(e,t)=>u(L(C(e)?.[1],t)),getLinkedRowIds:(e,t)=>a(C(e))?[t]:u(H(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>q(n,x,[e,t]),addLocalRowIdsListener:(e,t,n)=>q(n,S,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(H(e,t),q(n,j,[e,t])),delListener:e=>(J(...G(e)),N),destroy:$,getListenerStats:()=>({})};return k(N)})(e)),E.get(e))})();e.createRelationships=E},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseRelationships={});
|
|
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),l=t(!0),a=t(0),r=t(t),o="type",c="default",i=e=>s+e,u=(e,t)=>e.forEach(t),d=(e,t)=>e.map(t),f=e=>e.length,h=(e,t,s)=>e.slice(t,s),T=(e,...t)=>e.push(...t),g=e=>JSON.stringify(e,((e,t)=>{return y(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),n={},[...t].reduce(s,n)):t;var s,n})),b=JSON.parse,V=isFinite,y=(e,t)=>e instanceof t,S=e=>null==e,p=(e,t,s)=>S(e)?s?.():t(e),v=e=>e==n||e==l,w=e=>t(e)==r,m=(e,t)=>e?.has(t)??!1,I=e=>S(e)||0==(e=>e.size)(e),R=e=>e.clear(),C=(e,t)=>e?.forEach(t),J=(e,t)=>e?.delete(t),L=e=>new Map(e),E=e=>[...e?.keys()??[]],F=(e,t)=>e?.get(t),x=(e,t)=>C(e,((e,s)=>t(s,e))),z=(e,t,s)=>S(s)?(J(e,t),e):e?.set(t,s),O=(e,t,s)=>(m(e,t)||z(e,t,s()),F(e,t)),j=(e,t,s)=>{const n={},l=t??(e=>e);return C(e,((e,t)=>p(l(e),(e=>s?.(e)?0:n[t]=e)))),n},k=(e,t)=>{const s=L(),n=t??(e=>e);return C(e,((e,t)=>s.set(t,n(e)))),s},A=e=>k(e,k),M=(e,t,s,n,l=0)=>p((s?O:F)(e,t[l],l>f(t)-2?s:L),(a=>{if(l>f(t)-2)return n?.(a)&&z(e,t[l]),a;const r=M(a,t,s,n,l+1);return I(a)&&z(e,t[l]),r})),N=e=>new Set(Array.isArray(e)||S(e)?e:[e]),P=(e,t)=>e?.add(t),B=/^\d+$/,D=()=>{const e=[];let t=0;return[()=>e.shift()??s+t++,t=>{B.test(t)&&f(e)<1e3&&T(e,t)}]},W=Object,$=W.keys,q=W.isFrozen,G=W.freeze,H=e=>y(e,W)&&e.constructor==W,K=(e,t)=>!S(((e,t)=>p(e,(e=>e[t])))(e,t)),Q=(e,t)=>delete e[t],U=(e,t)=>d(W.entries(e),(([e,s])=>t(s,e))),X=e=>{return H(e)&&(t=$(e),0==f(t));var t},Y=e=>[e,e],Z=()=>[L(),L()],_=e=>{const s=t(e);return v(s)||s==a&&V(e)?s:void 0},ee=(e,t,s,n=z)=>{const l=(a=e=>!K(t,e),E(e).filter(a));var a;return u($(t),(n=>s(e,n,t[n]))),u(l,(t=>n(e,t))),e},te=(e,t,s)=>S(e)||!H(e)||X(e)||q(e)?(s?.(),!1):(U(e,((s,n)=>{t(s,n)||Q(e,n)})),!X(e)),se=(e,t,s)=>z(e,t,F(e,t)==-s?void 0:s),ne=()=>{let e,t,n,l,r=0;const V=L(),y=L(),B=L(),W=L(),$=L(),q=L(),H=L(),le=L(),ae=L(),re=L(),oe=L(),ce=L(),ie=N(),ue=L(),de=L(),fe=L(),he=Z(),Te=Z(),ge=Z(),be=Z(),Ve=Z(),ye=Z(),Se=Z(),pe=Z(),ve=Z(),we=Z(),me=Z(),Ie=Z(),Re=Z(),Ce=Z(),[Je,Le,Ee,Fe]=(e=>{let t;const[n,l]=D(),a=L();return[(e,l,r,o=[],c=(()=>[]))=>{t??=Pt;const i=n();return z(a,i,[e,l,r,o,c]),P(M(l,r??[s],N),i),i},(e,n,...l)=>u(((e,t=[s])=>{const n=[],l=(e,s)=>s==f(t)?T(n,e):null===t[s]?C(e,(e=>l(e,s+1))):u([t[s],null],(t=>l(F(e,t),s+1)));return l(e,0),n})(e,n),(e=>C(e,(e=>F(a,e)[0](t,...n??[],...l))))),e=>p(F(a,e),(([,t,n])=>(M(t,n??[s],void 0,(t=>(J(t,e),I(t)?1:0))),z(a,e),l(e),n))),e=>p(F(a,e),(([e,,s=[],n,l])=>{const a=(...r)=>{const o=f(r);o==f(s)?e(t,...r,...l(r)):S(s[o])?u(n[o]?.(...r)??[],(e=>a(...r,e))):a(...r,s[o])};a()}))]})(),xe=e=>{if(!te(e,((e,t)=>[o,c].includes(t))))return!1;const t=e.type;return!(!v(t)&&t!=a||(_(e.default)!=t&&Q(e,c),0))},ze=(t,s)=>(!e||m(ae,s)||ct(s))&&te(t,((e,t)=>Oe(s,t,e)),(()=>ct(s))),Oe=(e,t,s,n)=>te(n?s:Me(s,e,t),((n,l)=>p(je(e,t,l,n),(e=>(s[l]=e,!0)),(()=>!1))),(()=>ct(e,t))),je=(t,s,n,l)=>e?p(F(F(ae,t),n),(e=>_(l)!=e.type?ct(t,s,n,l,e.default):l),(()=>ct(t,s,n,l))):S(_(l))?ct(t,s,n,l):l,ke=(e,t)=>te(t?e:Ne(e),((t,s)=>p(Ae(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>it())),Ae=(e,s)=>t?p(F(oe,e),(t=>_(s)!=t.type?it(e,s,t.default):s),(()=>it(e,s))):S(_(s))?it(e,s):s,Me=(e,t,s)=>(p(F(re,t),(([n,l])=>{C(n,((t,s)=>{K(e,s)||(e[s]=t)})),C(l,(n=>{K(e,n)||ct(t,s,n)}))})),e),Ne=e=>(t&&(C(ce,((t,s)=>{K(e,s)||(e[s]=t)})),C(ie,(t=>{K(e,t)||it(t)}))),e),Pe=e=>ee(ae,e,((e,t,s)=>{const n=L(),l=N();ee(O(ae,t,L),s,((e,t,s)=>{z(e,t,s),p(s.default,(e=>z(n,t,e)),(()=>P(l,t)))})),z(re,t,[n,l])}),((e,t)=>{z(ae,t),z(re,t)})),Be=e=>ee(oe,e,((e,t,s)=>{z(oe,t,s),p(s.default,(e=>z(ce,t,e)),(()=>P(ie,t)))}),((e,t)=>{z(oe,t),z(ce,t),J(ie,t)})),De=e=>X(e)?zt():Jt(e),We=e=>ee(de,e,((e,t,s)=>$e(t,s)),((e,t)=>Ze(t))),$e=(e,t)=>ee(O(de,e,(()=>(st(e,1),L()))),t,((t,s,n)=>qe(e,t,s,n)),((t,s)=>_e(e,t,s))),qe=(e,t,s,n,l)=>ee(O(t,s,(()=>(nt(e,s,1),L()))),n,((t,n,l)=>Ge(e,s,t,n,l)),((n,a)=>et(e,t,s,n,a,l))),Ge=(e,t,s,n,l)=>{m(s,n)||lt(e,t,n,1);const a=F(s,n);l!==a&&(at(e,t,n,a,l),z(s,n,l))},He=(e,t,s,n,l)=>p(F(t,s),(t=>Ge(e,s,t,n,l)),(()=>qe(e,t,s,Me({[n]:l},e,s)))),Ke=e=>X(e)?Ot():Lt(e),Qe=e=>ee(fe,e,((e,t,s)=>Ue(t,s)),((e,t)=>tt(t))),Ue=(e,t)=>{m(fe,e)||rt(e,1);const s=F(fe,e);t!==s&&(ot(e,s,t),z(fe,e,t))},Xe=e=>{const[t]=O(ue,e,D),s=t();return m(F(de,e),s)?Xe(e):s},Ye=e=>F(de,e)??$e(e,{}),Ze=e=>$e(e,{}),_e=(e,t,s)=>{const[,n]=O(ue,e,D);n(s),qe(e,t,s,{},!0)},et=(e,t,s,n,l,a)=>{const r=F(F(re,e)?.[0],l);if(!S(r)&&!a)return Ge(e,s,n,l,r);const o=t=>{at(e,s,t,F(n,t)),lt(e,s,t,-1),z(n,t)};S(r)?o(l):x(n,o),I(n)&&(nt(e,s,-1),I(z(t,s))&&(st(e,-1),z(de,e),z(ue,e)))},tt=e=>{const t=F(ce,e);if(!S(t))return Ue(e,t);ot(e,F(fe,e)),rt(e,-1),z(fe,e)},st=(e,t)=>se(V,e,t),nt=(e,t,s)=>se(O(y,e,L),t,s),lt=(e,t,s,n)=>se(O(O(B,e,L),t,L),s,n),at=(e,t,s,n,l)=>O(O(O(W,e,L),t,L),s,(()=>[n,0]))[1]=l,rt=(e,t)=>se($,e,t),ot=(e,t,s)=>O(q,e,(()=>[t,0]))[1]=s,ct=(e,t,s,n,l)=>(T(O(O(O(H,e,L),t,L),s,(()=>[])),n),l),it=(e,t,s)=>(T(O(le,e,(()=>[])),t),s),ut=(e,t,s)=>p(F(F(F(W,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Y(mt(e,t,s))])),dt=e=>p(F(q,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Y(Ct(e))])),ft=e=>I(H)||I(ve[e])?0:C(e?k(H,A):H,((t,s)=>C(t,((t,n)=>C(t,((t,l)=>Le(ve[e],[s,n,l],t))))))),ht=e=>I(le)||I(we[e])?0:C(e?k(le):le,((t,s)=>Le(we[e],[s],t))),Tt=(e,t,s)=>{if(!I(t))return Le(e,s),1},gt=e=>{const t=I(Ve[e]),s=I(Se[e])&&I(be[e])&&t&&I(Te[e]),n=I(pe[e])&&I(ye[e])&&I(ge[e])&&I(he[e]);if(!s||!n){const l=e?[k(V),A(y),k(B,A),k(W,A)]:[V,y,B,W];if(!s){C(l[2],((t,s)=>C(t,((t,n)=>Tt(Se[e],t,[s,n])))));const s=N();C(l[1],((n,l)=>{Tt(be[e],n,[l])&&!t&&(Le(Ve[e],[l,null]),P(s,l))})),t||C(l[3],((t,n)=>{if(!m(s,n)){const s=N();C(t,(e=>C(e,(([t,n],l)=>n!==t?P(s,l):J(e,l))))),C(s,(t=>Le(Ve[e],[n,t])))}})),Tt(Te[e],l[0])}if(!n){let t;C(l[3],((s,n)=>{let l;C(s,((s,a)=>{let r;C(s,(([s,o],c)=>{o!==s&&(Le(pe[e],[n,a,c],o,s,ut),t=l=r=1)})),r&&Le(ye[e],[n,a],ut)})),l&&Le(ge[e],[n],ut)})),t&&Le(he[e],void 0,ut)}}},bt=e=>{const t=I(Ie[e]),s=I(Re[e])&&I(me[e]);if(!t||!s){const n=e?[k($),k(q)]:[$,q];if(t||Tt(Ie[e],n[0]),!s){let t;C(n[1],(([s,n],l)=>{n!==s&&(Le(Re[e],[l],n,s,dt),t=1)})),t&&Le(me[e],void 0,dt)}}},Vt=(e,...t)=>(At((()=>e(...d(t,i)))),Pt),yt=()=>j(de,(e=>j(e,j))),St=()=>E(de),pt=e=>E(F(de,i(e))),vt=(e,t,s,n=0,l)=>{return d(h((r=F(de,i(e)),o=(e,s)=>[S(t)?s:F(e,i(t)),s],a=([e],[t])=>(e<t?-1:1)*(s?-1:1),d([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),n,S(l)?l:n+l),(([,e])=>e));var a,r,o},wt=(e,t)=>E(F(F(de,i(e)),i(t))),mt=(e,t,s)=>F(F(F(de,i(e)),i(t)),i(s)),It=()=>j(fe),Rt=()=>E(fe),Ct=e=>F(fe,i(e)),Jt=e=>Vt((()=>(e=>te(e,ze,ct))(e)?We(e):0)),Lt=e=>Vt((()=>ke(e)?Qe(e):0)),Et=e=>{try{De(b(e))}catch{}return Pt},Ft=t=>Vt((()=>{if((e=te(t,(e=>te(e,xe))))&&(Pe(t),!I(de))){const e=yt();zt(),Jt(e)}})),xt=e=>Vt((()=>{if(t=(e=>te(e,xe))(e)){const s=It();kt(),Ot(),t=!0,Be(e),Lt(s)}})),zt=()=>Vt((()=>We({}))),Ot=()=>Vt((()=>Qe({}))),jt=()=>Vt((()=>{Pe({}),e=!1})),kt=()=>Vt((()=>{Be({}),t=!1})),At=(e,t)=>{if(-1==r)return;Mt();const s=e();return Nt(t),s},Mt=()=>(r++,Pt),Nt=e=>(r>0&&(r--,0==r&&(n=!I(W),l=!I(q),r=1,ft(1),n&>(1),ht(1),l&&bt(1),r=-1,e?.(j(W,(e=>j(e,(e=>j(e,(e=>[...e]),(([e,t])=>e===t))),X)),X),j(H,(e=>j(e,j))),j(q,(e=>[...e]),(([e,t])=>e===t)),j(le))&&(r=1,C(W,((e,t)=>C(e,((e,s)=>C(e,(([e],n)=>((e,t,s,n,l)=>S(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l))(Pt,t,s,n,e))))))),C(q,(([e],t)=>((e,t,s)=>S(s)?e.delValue(t):e.setValue(t,s))(Pt,t,e))),r=-1,n=l=!1),Le(Ce[0],void 0,n,l),ft(0),n&>(0),ht(0),l&&bt(0),Le(Ce[1],void 0,n,l),r=0,u([V,y,B,W,H,$,q,le],R))),Pt),Pt={getTables:yt,getTableIds:St,getTable:e=>j(F(de,i(e)),j),getRowIds:pt,getSortedRowIds:vt,getRow:(e,t)=>j(F(F(de,i(e)),i(t))),getCellIds:wt,getCell:mt,getValues:It,getValueIds:Rt,getValue:Ct,hasTables:()=>!I(de),hasTable:e=>m(de,i(e)),hasRow:(e,t)=>m(F(de,i(e)),i(t)),hasCell:(e,t,s)=>m(F(F(de,i(e)),i(t)),i(s)),hasValues:()=>!I(fe),hasValue:e=>m(fe,i(e)),getTablesJson:()=>g(de),getValuesJson:()=>g(fe),getJson:()=>g([de,fe]),getTablesSchemaJson:()=>g(ae),getValuesSchemaJson:()=>g(oe),getSchemaJson:()=>g([ae,oe]),setTables:Jt,setTable:(e,t)=>Vt((e=>ze(t,e)?$e(e,t):0),e),setRow:(e,t,s)=>Vt(((e,t)=>Oe(e,t,s)?qe(e,Ye(e),t,s):0),e,t),addRow:(e,t)=>At((()=>{let s;return Oe(e,s,t)&&(e=i(e),qe(e,Ye(e),s=Xe(e),t)),s})),setPartialRow:(e,t,s)=>Vt(((e,t)=>{if(Oe(e,t,s,1)){const n=Ye(e);U(s,((s,l)=>He(e,n,t,l,s)))}}),e,t),setCell:(e,t,s,n)=>Vt(((e,t,s)=>p(je(e,t,s,w(n)?n(mt(e,t,s)):n),(n=>He(e,Ye(e),t,s,n)))),e,t,s),setValues:Lt,setPartialValues:e=>Vt((()=>ke(e,1)?U(e,((e,t)=>Ue(t,e))):0)),setValue:(e,t)=>Vt((e=>p(Ae(e,w(t)?t(Ct(e)):t),(t=>Ue(e,t)))),e),setTablesJson:Et,setValuesJson:e=>{try{Ke(b(e))}catch{}return Pt},setJson:e=>{try{const[t,s]=b(e);De(t),Ke(s)}catch{Et(e)}return Pt},setTablesSchema:Ft,setValuesSchema:xt,setSchema:(e,t)=>Vt((()=>{Ft(e),xt(t)})),delTables:zt,delTable:e=>Vt((e=>m(de,e)?Ze(e):0),e),delRow:(e,t)=>Vt(((e,t)=>p(F(de,e),(s=>m(s,t)?_e(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Vt(((e,t,s)=>p(F(de,e),(l=>p(F(l,t),(a=>m(a,s)?et(e,l,t,a,s,n):0))))),e,t,s),delValues:Ot,delValue:e=>Vt((e=>m(fe,e)?tt(e):0),e),delTablesSchema:jt,delValuesSchema:kt,delSchema:()=>Vt((()=>{jt(),kt()})),transaction:At,startTransaction:Mt,finishTransaction:Nt,forEachTable:e=>C(de,((t,s)=>e(s,(e=>C(t,((t,s)=>e(s,(e=>x(t,e))))))))),forEachRow:(e,t)=>C(F(de,i(e)),((e,s)=>t(s,(t=>x(e,t))))),forEachCell:(e,t,s)=>x(F(F(de,i(e)),i(t)),s),forEachValue:e=>x(fe,e),addSortedRowIdsListener:(e,t,s,n,l,a,r)=>{let o=vt(e,t,s,n,l);return Je((()=>{const r=vt(e,t,s,n,l);var c,i,u;i=o,f(c=r)===f(i)&&(u=(e,t)=>i[t]===e,c.every(u))||(o=r,a(Pt,e,t,s,n,l,o))}),Ve[r?1:0],[e,t],[St])},addWillFinishTransactionListener:e=>Je(e,Ce[0]),addDidFinishTransactionListener:e=>Je(e,Ce[1]),callListener:e=>(Fe(e),Pt),delListener:e=>(Ee(e),Pt),getListenerStats:()=>({}),createStore:ne};return U({Tables:[0,he],TableIds:[0,Te],Table:[1,ge,[St]],RowIds:[1,be,[St]],Row:[2,ye,[St,pt]],CellIds:[2,Se,[St,pt]],Cell:[3,pe,[St,pt,wt],e=>Y(mt(...e))],InvalidCell:[3,ve],Values:[0,me],ValueIds:[0,Ie],Value:[1,Re,[Rt],e=>Y(Ct(e[0]))],InvalidValue:[1,we]},(([e,t,s,n],l)=>{Pt["add"+l+"Listener"]=(...l)=>Je(l[e],t[l[e+1]?1:0],e>0?h(l,0,e):void 0,s,n)})),G(Pt)};e.createStore=ne},"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={});
|
package/lib/umd/store.js.gz
CHANGED
|
Binary file
|