tinybase 5.0.0-beta.1 → 5.0.0-beta.2

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 (138) hide show
  1. package/lib/cjs/mergeable-store.cjs +1 -0
  2. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  4. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  6. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  7. package/lib/cjs/store.cjs +1 -1
  8. package/lib/cjs/store.cjs.gz +0 -0
  9. package/lib/cjs/tinybase.cjs +1 -1
  10. package/lib/cjs/tinybase.cjs.gz +0 -0
  11. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  12. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  13. package/lib/cjs/ui-react-dom.cjs +1 -1
  14. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  15. package/lib/cjs-es6/mergeable-store.cjs +1 -0
  16. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  17. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  18. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  19. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  20. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  21. package/lib/cjs-es6/store.cjs +1 -1
  22. package/lib/cjs-es6/store.cjs.gz +0 -0
  23. package/lib/cjs-es6/tinybase.cjs +1 -1
  24. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  25. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  26. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  27. package/lib/cjs-es6/ui-react-dom.cjs +1 -1
  28. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  29. package/lib/debug/mergeable-store.js +1892 -0
  30. package/lib/debug/persisters/persister-automerge.js +12 -10
  31. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +6 -6
  32. package/lib/debug/persisters/persister-electric-sql.js +6 -6
  33. package/lib/debug/persisters/persister-expo-sqlite-next.js +6 -6
  34. package/lib/debug/persisters/persister-expo-sqlite.js +6 -6
  35. package/lib/debug/persisters/persister-indexed-db.js +6 -3
  36. package/lib/debug/persisters/persister-partykit-server.js +5 -5
  37. package/lib/debug/persisters/persister-sqlite-wasm.js +6 -6
  38. package/lib/debug/persisters/persister-sqlite3.js +6 -6
  39. package/lib/debug/persisters/persister-yjs.js +6 -6
  40. package/lib/debug/queries.js +2 -2
  41. package/lib/debug/store.js +20 -10
  42. package/lib/debug/tinybase.js +300 -11
  43. package/lib/debug/tools.js +4 -4
  44. package/lib/debug/ui-react-dom.js +49 -40
  45. package/lib/es6/mergeable-store.js +1 -0
  46. package/lib/es6/mergeable-store.js.gz +0 -0
  47. package/lib/es6/persisters/persister-automerge.js +1 -1
  48. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  49. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  50. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  51. package/lib/es6/store.js +1 -1
  52. package/lib/es6/store.js.gz +0 -0
  53. package/lib/es6/tinybase.js +1 -1
  54. package/lib/es6/tinybase.js.gz +0 -0
  55. package/lib/es6/ui-react-dom-debug.js +1 -1
  56. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  57. package/lib/es6/ui-react-dom.js +1 -1
  58. package/lib/es6/ui-react-dom.js.gz +0 -0
  59. package/lib/mergeable-store.js +1 -0
  60. package/lib/mergeable-store.js.gz +0 -0
  61. package/lib/persisters/persister-automerge.js +1 -1
  62. package/lib/persisters/persister-automerge.js.gz +0 -0
  63. package/lib/persisters/persister-indexed-db.js +1 -1
  64. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  65. package/lib/store.js +1 -1
  66. package/lib/store.js.gz +0 -0
  67. package/lib/tinybase.js +1 -1
  68. package/lib/tinybase.js.gz +0 -0
  69. package/lib/types/mergeable-store.d.ts +55 -0
  70. package/lib/types/persisters/persister-automerge.d.ts +8 -7
  71. package/lib/types/persisters/persister-browser.d.ts +2 -0
  72. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +1 -0
  73. package/lib/types/persisters/persister-electric-sql.d.ts +1 -0
  74. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +1 -0
  75. package/lib/types/persisters/persister-expo-sqlite.d.ts +1 -0
  76. package/lib/types/persisters/persister-file.d.ts +1 -0
  77. package/lib/types/persisters/persister-indexed-db.d.ts +1 -0
  78. package/lib/types/persisters/persister-partykit-client.d.ts +1 -0
  79. package/lib/types/persisters/persister-partykit-server.d.ts +5 -0
  80. package/lib/types/persisters/persister-remote.d.ts +1 -0
  81. package/lib/types/persisters/persister-sqlite-wasm.d.ts +1 -0
  82. package/lib/types/persisters/persister-sqlite3.d.ts +1 -0
  83. package/lib/types/persisters/persister-yjs.d.ts +1 -0
  84. package/lib/types/persisters.d.ts +3 -3
  85. package/lib/types/store.d.ts +90 -77
  86. package/lib/types/tinybase.d.ts +1 -0
  87. package/lib/types/ui-react.d.ts +1 -0
  88. package/lib/types/with-schemas/internal/store.d.ts +4 -0
  89. package/lib/types/with-schemas/mergeable-store.d.ts +85 -0
  90. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +8 -7
  91. package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -0
  92. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +1 -0
  93. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +1 -0
  94. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +1 -0
  95. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +1 -0
  96. package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -0
  97. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +1 -0
  98. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +1 -0
  99. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +5 -0
  100. package/lib/types/with-schemas/persisters/persister-remote.d.ts +1 -0
  101. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +1 -0
  102. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +1 -0
  103. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +1 -0
  104. package/lib/types/with-schemas/persisters.d.ts +3 -3
  105. package/lib/types/with-schemas/store.d.ts +203 -141
  106. package/lib/types/with-schemas/tinybase.d.ts +1 -0
  107. package/lib/ui-react-dom.js +1 -1
  108. package/lib/ui-react-dom.js.gz +0 -0
  109. package/lib/umd/mergeable-store.js +1 -0
  110. package/lib/umd/mergeable-store.js.gz +0 -0
  111. package/lib/umd/persisters/persister-automerge.js +1 -1
  112. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  113. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  114. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  115. package/lib/umd/store.js +1 -1
  116. package/lib/umd/store.js.gz +0 -0
  117. package/lib/umd/tinybase.js +1 -1
  118. package/lib/umd/tinybase.js.gz +0 -0
  119. package/lib/umd/ui-react-dom-debug.js +1 -1
  120. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  121. package/lib/umd/ui-react-dom.js +1 -1
  122. package/lib/umd/ui-react-dom.js.gz +0 -0
  123. package/lib/umd-es6/mergeable-store.js +1 -0
  124. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  125. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  126. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  127. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  128. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  129. package/lib/umd-es6/store.js +1 -1
  130. package/lib/umd-es6/store.js.gz +0 -0
  131. package/lib/umd-es6/tinybase.js +1 -1
  132. package/lib/umd-es6/tinybase.js.gz +0 -0
  133. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  134. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  135. package/lib/umd-es6/ui-react-dom.js +1 -1
  136. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  137. package/package.json +31 -31
  138. package/readme.md +2 -2
@@ -11,6 +11,7 @@
11
11
  */
12
12
 
13
13
  import {Id, IdOrNull, Ids, Json} from './common.d';
14
+ import {StoreAlias} from './internal/store.d';
14
15
 
15
16
  /**
16
17
  * The TablesSchema type describes the tabular structure of a Store in terms of
@@ -523,7 +524,7 @@ export type DoRollback = (
523
524
  * log of the changes made or attempted during the transaction, since v4.0.
524
525
  * @category Listener
525
526
  */
526
- export type TransactionListener = (
527
+ export type TransactionListener<Store extends StoreAlias = StoreAlias> = (
527
528
  store: Store,
528
529
  getTransactionChanges: GetTransactionChanges,
529
530
  getTransactionLog: GetTransactionLog,
@@ -544,7 +545,10 @@ export type TransactionListener = (
544
545
  * @category Listener
545
546
  * @since v4.4.0
546
547
  */
547
- export type HasTablesListener = (store: Store, hasTables: boolean) => void;
548
+ export type HasTablesListener<Store extends StoreAlias = StoreAlias> = (
549
+ store: Store,
550
+ hasTables: boolean,
551
+ ) => void;
548
552
 
549
553
  /**
550
554
  * The TablesListener type describes a function that is used to listen to
@@ -565,7 +569,7 @@ export type HasTablesListener = (store: Store, hasTables: boolean) => void;
565
569
  * changes.
566
570
  * @category Listener
567
571
  */
568
- export type TablesListener = (
572
+ export type TablesListener<Store extends StoreAlias = StoreAlias> = (
569
573
  store: Store,
570
574
  getCellChange: GetCellChange | undefined,
571
575
  ) => void;
@@ -586,7 +590,7 @@ export type TablesListener = (
586
590
  * since v3.3.
587
591
  * @category Listener
588
592
  */
589
- export type TableIdsListener = (
593
+ export type TableIdsListener<Store extends StoreAlias = StoreAlias> = (
590
594
  store: Store,
591
595
  getIdChanges: GetIdChanges | undefined,
592
596
  ) => void;
@@ -608,7 +612,7 @@ export type TableIdsListener = (
608
612
  * @category Listener
609
613
  * @since v4.4.0
610
614
  */
611
- export type HasTableListener = (
615
+ export type HasTableListener<Store extends StoreAlias = StoreAlias> = (
612
616
  store: Store,
613
617
  tableId: Id,
614
618
  hasTable: boolean,
@@ -634,7 +638,7 @@ export type HasTableListener = (
634
638
  * changes.
635
639
  * @category Listener
636
640
  */
637
- export type TableListener = (
641
+ export type TableListener<Store extends StoreAlias = StoreAlias> = (
638
642
  store: Store,
639
643
  tableId: Id,
640
644
  getCellChange: GetCellChange | undefined,
@@ -656,7 +660,7 @@ export type TableListener = (
656
660
  * @category Listener
657
661
  * @since v3.3.0
658
662
  */
659
- export type TableCellIdsListener = (
663
+ export type TableCellIdsListener<Store extends StoreAlias = StoreAlias> = (
660
664
  store: Store,
661
665
  tableId: Id,
662
666
  getIdChanges: GetIdChanges | undefined,
@@ -680,7 +684,7 @@ export type TableCellIdsListener = (
680
684
  * @category Listener
681
685
  * @since v4.4.0
682
686
  */
683
- export type HasTableCellListener = (
687
+ export type HasTableCellListener<Store extends StoreAlias = StoreAlias> = (
684
688
  store: Store,
685
689
  tableId: Id,
686
690
  cellId: Id,
@@ -702,7 +706,7 @@ export type HasTableCellListener = (
702
706
  * @category Listener
703
707
  * @since v4.1.0
704
708
  */
705
- export type RowCountListener = (
709
+ export type RowCountListener<Store extends StoreAlias = StoreAlias> = (
706
710
  store: Store,
707
711
  tableId: Id,
708
712
  count: number,
@@ -726,7 +730,7 @@ export type RowCountListener = (
726
730
  * since v3.3.
727
731
  * @category Listener
728
732
  */
729
- export type RowIdsListener = (
733
+ export type RowIdsListener<Store extends StoreAlias = StoreAlias> = (
730
734
  store: Store,
731
735
  tableId: Id,
732
736
  getIdChanges: GetIdChanges | undefined,
@@ -755,7 +759,7 @@ export type RowIdsListener = (
755
759
  * @category Listener
756
760
  * @since v2.0.0
757
761
  */
758
- export type SortedRowIdsListener = (
762
+ export type SortedRowIdsListener<Store extends StoreAlias = StoreAlias> = (
759
763
  store: Store,
760
764
  tableId: Id,
761
765
  cellId: Id | undefined,
@@ -783,7 +787,7 @@ export type SortedRowIdsListener = (
783
787
  * @category Listener
784
788
  * @since v4.4.0
785
789
  */
786
- export type HasRowListener = (
790
+ export type HasRowListener<Store extends StoreAlias = StoreAlias> = (
787
791
  store: Store,
788
792
  tableId: Id,
789
793
  rowId: Id,
@@ -812,7 +816,7 @@ export type HasRowListener = (
812
816
  * changes.
813
817
  * @category Listener
814
818
  */
815
- export type RowListener = (
819
+ export type RowListener<Store extends StoreAlias = StoreAlias> = (
816
820
  store: Store,
817
821
  tableId: Id,
818
822
  rowId: Id,
@@ -838,7 +842,7 @@ export type RowListener = (
838
842
  * since v3.3.
839
843
  * @category Listener
840
844
  */
841
- export type CellIdsListener = (
845
+ export type CellIdsListener<Store extends StoreAlias = StoreAlias> = (
842
846
  store: Store,
843
847
  tableId: Id,
844
848
  rowId: Id,
@@ -864,7 +868,7 @@ export type CellIdsListener = (
864
868
  * @category Listener
865
869
  * @since v4.4.0
866
870
  */
867
- export type HasCellListener = (
871
+ export type HasCellListener<Store extends StoreAlias = StoreAlias> = (
868
872
  store: Store,
869
873
  tableId: Id,
870
874
  rowId: Id,
@@ -899,7 +903,7 @@ export type HasCellListener = (
899
903
  * changes.
900
904
  * @category Listener
901
905
  */
902
- export type CellListener = (
906
+ export type CellListener<Store extends StoreAlias = StoreAlias> = (
903
907
  store: Store,
904
908
  tableId: Id,
905
909
  rowId: Id,
@@ -924,7 +928,10 @@ export type CellListener = (
924
928
  * @category Listener
925
929
  * @since v4.4.0
926
930
  */
927
- export type HasValuesListener = (store: Store, hasValues: boolean) => void;
931
+ export type HasValuesListener<Store extends StoreAlias = StoreAlias> = (
932
+ store: Store,
933
+ hasValues: boolean,
934
+ ) => void;
928
935
 
929
936
  /**
930
937
  * The ValuesListener type describes a function that is used to listen to
@@ -945,7 +952,7 @@ export type HasValuesListener = (store: Store, hasValues: boolean) => void;
945
952
  * changes.
946
953
  * @category Listener
947
954
  */
948
- export type ValuesListener = (
955
+ export type ValuesListener<Store extends StoreAlias = StoreAlias> = (
949
956
  store: Store,
950
957
  getValueChange: GetValueChange | undefined,
951
958
  ) => void;
@@ -966,7 +973,7 @@ export type ValuesListener = (
966
973
  * since v3.3.
967
974
  * @category Listener
968
975
  */
969
- export type ValueIdsListener = (
976
+ export type ValueIdsListener<Store extends StoreAlias = StoreAlias> = (
970
977
  store: Store,
971
978
  getIdChanges: GetIdChanges | undefined,
972
979
  ) => void;
@@ -988,7 +995,7 @@ export type ValueIdsListener = (
988
995
  * @category Listener
989
996
  * @since v4.4.0
990
997
  */
991
- export type HasValueListener = (
998
+ export type HasValueListener<Store extends StoreAlias = StoreAlias> = (
992
999
  store: Store,
993
1000
  valueId: Id,
994
1001
  hasValue: boolean,
@@ -1019,7 +1026,7 @@ export type HasValueListener = (
1019
1026
  * @category Listener
1020
1027
  * @since v3.0.0
1021
1028
  */
1022
- export type ValueListener = (
1029
+ export type ValueListener<Store extends StoreAlias = StoreAlias> = (
1023
1030
  store: Store,
1024
1031
  valueId: Id,
1025
1032
  newValue: Value,
@@ -1048,7 +1055,7 @@ export type ValueListener = (
1048
1055
  * @category Listener
1049
1056
  * @since v1.1.0
1050
1057
  */
1051
- export type InvalidCellListener = (
1058
+ export type InvalidCellListener<Store extends StoreAlias = StoreAlias> = (
1052
1059
  store: Store,
1053
1060
  tableId: Id,
1054
1061
  rowId: Id,
@@ -1075,7 +1082,7 @@ export type InvalidCellListener = (
1075
1082
  * @category Listener
1076
1083
  * @since v3.0.0
1077
1084
  */
1078
- export type InvalidValueListener = (
1085
+ export type InvalidValueListener<Store extends StoreAlias = StoreAlias> = (
1079
1086
  store: Store,
1080
1087
  valueId: Id,
1081
1088
  invalidValues: any[],
@@ -2657,7 +2664,7 @@ export interface Store {
2657
2664
  * @category Setter
2658
2665
  * @since v4.0.0
2659
2666
  */
2660
- setContent([tables, values]: [Tables, Values]): Store;
2667
+ setContent([tables, values]: [Tables, Values]): this;
2661
2668
 
2662
2669
  /**
2663
2670
  * The setTables method takes an object and sets the entire tabular data of
@@ -2705,7 +2712,7 @@ export interface Store {
2705
2712
  * ```
2706
2713
  * @category Setter
2707
2714
  */
2708
- setTables(tables: Tables): Store;
2715
+ setTables(tables: Tables): this;
2709
2716
 
2710
2717
  /**
2711
2718
  * The setTable method takes an object and sets the entire data of a single
@@ -2755,7 +2762,7 @@ export interface Store {
2755
2762
  * ```
2756
2763
  * @category Setter
2757
2764
  */
2758
- setTable(tableId: Id, table: Table): Store;
2765
+ setTable(tableId: Id, table: Table): this;
2759
2766
 
2760
2767
  /**
2761
2768
  * The setRow method takes an object and sets the entire data of a single Row
@@ -2804,7 +2811,7 @@ export interface Store {
2804
2811
  * ```
2805
2812
  * @category Setter
2806
2813
  */
2807
- setRow(tableId: Id, rowId: Id, row: Row): Store;
2814
+ setRow(tableId: Id, rowId: Id, row: Row): this;
2808
2815
 
2809
2816
  /**
2810
2817
  * The addRow method takes an object and creates a new Row in the Store,
@@ -2916,7 +2923,7 @@ export interface Store {
2916
2923
  * ```
2917
2924
  * @category Setter
2918
2925
  */
2919
- setPartialRow(tableId: Id, rowId: Id, partialRow: Row): Store;
2926
+ setPartialRow(tableId: Id, rowId: Id, partialRow: Row): this;
2920
2927
 
2921
2928
  /**
2922
2929
  * The setCell method sets the value of a single Cell in the Store.
@@ -2973,7 +2980,7 @@ export interface Store {
2973
2980
  * ```
2974
2981
  * @category Setter
2975
2982
  */
2976
- setCell(tableId: Id, rowId: Id, cellId: Id, cell: Cell | MapCell): Store;
2983
+ setCell(tableId: Id, rowId: Id, cellId: Id, cell: Cell | MapCell): this;
2977
2984
 
2978
2985
  /**
2979
2986
  * The setValues method takes an object and sets all the Values in the Store.
@@ -3020,7 +3027,7 @@ export interface Store {
3020
3027
  * @category Setter
3021
3028
  * @since v3.0.0
3022
3029
  */
3023
- setValues(values: Values): Store;
3030
+ setValues(values: Values): this;
3024
3031
 
3025
3032
  /**
3026
3033
  * The setPartialValues method takes an object and sets its Values in the
@@ -3069,7 +3076,7 @@ export interface Store {
3069
3076
  * @category Setter
3070
3077
  * @since v3.0.0
3071
3078
  */
3072
- setPartialValues(partialValues: Values): Store;
3079
+ setPartialValues(partialValues: Values): this;
3073
3080
 
3074
3081
  /**
3075
3082
  * The setValue method sets a single keyed Value in the Store.
@@ -3122,7 +3129,7 @@ export interface Store {
3122
3129
  * @category Setter
3123
3130
  * @since v3.0.0
3124
3131
  */
3125
- setValue(valueId: Id, value: Value | MapValue): Store;
3132
+ setValue(valueId: Id, value: Value | MapValue): this;
3126
3133
 
3127
3134
  /**
3128
3135
  * The setTransactionChanges method applies a set of TransactionChanges to the
@@ -3163,7 +3170,7 @@ export interface Store {
3163
3170
  * @category Setter
3164
3171
  * @since v4.0.0
3165
3172
  */
3166
- setTransactionChanges(transactionChanges: TransactionChanges): Store;
3173
+ setTransactionChanges(transactionChanges: TransactionChanges): this;
3167
3174
 
3168
3175
  /**
3169
3176
  * The setTablesJson method takes a string serialization of all of the Tables
@@ -3197,7 +3204,7 @@ export interface Store {
3197
3204
  * @category Setter
3198
3205
  * @since v3.0.0
3199
3206
  */
3200
- setTablesJson(tablesJson: Json): Store;
3207
+ setTablesJson(tablesJson: Json): this;
3201
3208
 
3202
3209
  /**
3203
3210
  * The setValuesJson method takes a string serialization of all of the Values
@@ -3231,7 +3238,7 @@ export interface Store {
3231
3238
  * @category Setter
3232
3239
  * @since v3.0.0
3233
3240
  */
3234
- setValuesJson(valuesJson: Json): Store;
3241
+ setValuesJson(valuesJson: Json): this;
3235
3242
 
3236
3243
  /**
3237
3244
  * The setJson method takes a string serialization of all of the Tables and
@@ -3289,7 +3296,7 @@ export interface Store {
3289
3296
  * ```
3290
3297
  * @category Setter
3291
3298
  */
3292
- setJson(tablesAndValuesJson: Json): Store;
3299
+ setJson(tablesAndValuesJson: Json): this;
3293
3300
 
3294
3301
  /**
3295
3302
  * The setTablesSchema method lets you specify the TablesSchema of the tabular
@@ -3321,7 +3328,7 @@ export interface Store {
3321
3328
  * @category Setter
3322
3329
  * @since v3.0.0
3323
3330
  */
3324
- setTablesSchema(tablesSchema: TablesSchema): Store;
3331
+ setTablesSchema(tablesSchema: TablesSchema): this;
3325
3332
 
3326
3333
  /**
3327
3334
  * The setValuesSchema method lets you specify the ValuesSchema of the keyed
@@ -3350,7 +3357,7 @@ export interface Store {
3350
3357
  * @category Setter
3351
3358
  * @since v3.0.0
3352
3359
  */
3353
- setValuesSchema(valuesSchema: ValuesSchema): Store;
3360
+ setValuesSchema(valuesSchema: ValuesSchema): this;
3354
3361
 
3355
3362
  /**
3356
3363
  * The setSchema method lets you specify the TablesSchema and ValuesSchema of
@@ -3408,7 +3415,7 @@ export interface Store {
3408
3415
  * ```
3409
3416
  * @category Setter
3410
3417
  */
3411
- setSchema(tablesSchema: TablesSchema, valuesSchema?: ValuesSchema): Store;
3418
+ setSchema(tablesSchema: TablesSchema, valuesSchema?: ValuesSchema): this;
3412
3419
 
3413
3420
  /**
3414
3421
  * The delTables method lets you remove all of the data in a Store.
@@ -3425,7 +3432,7 @@ export interface Store {
3425
3432
  * ```
3426
3433
  * @category Deleter
3427
3434
  */
3428
- delTables(): Store;
3435
+ delTables(): this;
3429
3436
 
3430
3437
  /**
3431
3438
  * The delTable method lets you remove a single Table from the Store.
@@ -3446,7 +3453,7 @@ export interface Store {
3446
3453
  * ```
3447
3454
  * @category Deleter
3448
3455
  */
3449
- delTable(tableId: Id): Store;
3456
+ delTable(tableId: Id): this;
3450
3457
 
3451
3458
  /**
3452
3459
  * The delRow method lets you remove a single Row from a Table.
@@ -3469,7 +3476,7 @@ export interface Store {
3469
3476
  * ```
3470
3477
  * @category Deleter
3471
3478
  */
3472
- delRow(tableId: Id, rowId: Id): Store;
3479
+ delRow(tableId: Id, rowId: Id): this;
3473
3480
 
3474
3481
  /**
3475
3482
  * The delCell method lets you remove a single Cell from a Row.
@@ -3552,7 +3559,7 @@ export interface Store {
3552
3559
  * ```
3553
3560
  * @category Deleter
3554
3561
  */
3555
- delCell(tableId: Id, rowId: Id, cellId: Id, forceDel?: boolean): Store;
3562
+ delCell(tableId: Id, rowId: Id, cellId: Id, forceDel?: boolean): this;
3556
3563
 
3557
3564
  /**
3558
3565
  * The delValues method lets you remove all the Values from a Store.
@@ -3590,7 +3597,7 @@ export interface Store {
3590
3597
  * @category Deleter
3591
3598
  * @since v3.0.0
3592
3599
  */
3593
- delValues(): Store;
3600
+ delValues(): this;
3594
3601
 
3595
3602
  /**
3596
3603
  * The delValue method lets you remove a single Value from a Store.
@@ -3629,7 +3636,7 @@ export interface Store {
3629
3636
  * @category Deleter
3630
3637
  * @since v3.0.0
3631
3638
  */
3632
- delValue(valueId: Id): Store;
3639
+ delValue(valueId: Id): this;
3633
3640
 
3634
3641
  /**
3635
3642
  * The delTablesSchema method lets you remove the TablesSchema of the Store.
@@ -3647,7 +3654,7 @@ export interface Store {
3647
3654
  * ```
3648
3655
  * @category Deleter
3649
3656
  */
3650
- delTablesSchema(): Store;
3657
+ delTablesSchema(): this;
3651
3658
 
3652
3659
  /**
3653
3660
  * The delValuesSchema method lets you remove the ValuesSchema of the Store.
@@ -3666,7 +3673,7 @@ export interface Store {
3666
3673
  * @category Deleter
3667
3674
  * @since v3.0.0
3668
3675
  */
3669
- delValuesSchema(): Store;
3676
+ delValuesSchema(): this;
3670
3677
 
3671
3678
  /**
3672
3679
  * The delSchema method lets you remove both the TablesSchema and ValuesSchema
@@ -3692,7 +3699,7 @@ export interface Store {
3692
3699
  * @category Deleter
3693
3700
  * @since v3.0.0
3694
3701
  */
3695
- delSchema(): Store;
3702
+ delSchema(): this;
3696
3703
 
3697
3704
  /**
3698
3705
  * The transaction method takes a function that makes multiple mutations to
@@ -3871,7 +3878,7 @@ export interface Store {
3871
3878
  * @category Transaction
3872
3879
  * @since v1.3.0
3873
3880
  */
3874
- startTransaction(): Store;
3881
+ startTransaction(): this;
3875
3882
 
3876
3883
  /**
3877
3884
  * The finishTransaction method allows you to explicitly finish a transaction
@@ -3968,7 +3975,7 @@ export interface Store {
3968
3975
  * @category Transaction
3969
3976
  * @since v1.3.0
3970
3977
  */
3971
- finishTransaction(doRollback?: DoRollback): Store;
3978
+ finishTransaction(doRollback?: DoRollback): this;
3972
3979
 
3973
3980
  /**
3974
3981
  * The forEachTable method takes a function that it will then call for each
@@ -4179,7 +4186,10 @@ export interface Store {
4179
4186
  * @category Listener
4180
4187
  * @since v4.4.0
4181
4188
  */
4182
- addHasTablesListener(listener: HasTablesListener, mutator?: boolean): Id;
4189
+ addHasTablesListener(
4190
+ listener: HasTablesListener<this>,
4191
+ mutator?: boolean,
4192
+ ): Id;
4183
4193
 
4184
4194
  /**
4185
4195
  * The addTablesListener method registers a listener function with the Store
@@ -4242,7 +4252,7 @@ export interface Store {
4242
4252
  * ```
4243
4253
  * @category Listener
4244
4254
  */
4245
- addTablesListener(listener: TablesListener, mutator?: boolean): Id;
4255
+ addTablesListener(listener: TablesListener<this>, mutator?: boolean): Id;
4246
4256
 
4247
4257
  /**
4248
4258
  * The addTableIdsListener method registers a listener function with the Store
@@ -4304,7 +4314,7 @@ export interface Store {
4304
4314
  * ```
4305
4315
  * @category Listener
4306
4316
  */
4307
- addTableIdsListener(listener: TableIdsListener, mutator?: boolean): Id;
4317
+ addTableIdsListener(listener: TableIdsListener<this>, mutator?: boolean): Id;
4308
4318
 
4309
4319
  /**
4310
4320
  * The addHasTableListener method registers a listener function with the Store
@@ -4403,7 +4413,7 @@ export interface Store {
4403
4413
  */
4404
4414
  addHasTableListener(
4405
4415
  tableId: IdOrNull,
4406
- listener: HasTableListener,
4416
+ listener: HasTableListener<this>,
4407
4417
  mutator?: boolean,
4408
4418
  ): Id;
4409
4419
 
@@ -4499,7 +4509,7 @@ export interface Store {
4499
4509
  */
4500
4510
  addTableListener(
4501
4511
  tableId: IdOrNull,
4502
- listener: TableListener,
4512
+ listener: TableListener<this>,
4503
4513
  mutator?: boolean,
4504
4514
  ): Id;
4505
4515
 
@@ -4603,7 +4613,7 @@ export interface Store {
4603
4613
  */
4604
4614
  addTableCellIdsListener(
4605
4615
  tableId: IdOrNull,
4606
- listener: TableCellIdsListener,
4616
+ listener: TableCellIdsListener<this>,
4607
4617
  mutator?: boolean,
4608
4618
  ): Id;
4609
4619
 
@@ -4722,7 +4732,7 @@ export interface Store {
4722
4732
  addHasTableCellListener(
4723
4733
  tableId: IdOrNull,
4724
4734
  cellId: IdOrNull,
4725
- listener: HasTableCellListener,
4735
+ listener: HasTableCellListener<this>,
4726
4736
  mutator?: boolean,
4727
4737
  ): Id;
4728
4738
 
@@ -4815,7 +4825,7 @@ export interface Store {
4815
4825
  */
4816
4826
  addRowCountListener(
4817
4827
  tableId: IdOrNull,
4818
- listener: RowCountListener,
4828
+ listener: RowCountListener<this>,
4819
4829
  mutator?: boolean,
4820
4830
  ): Id;
4821
4831
 
@@ -4906,7 +4916,7 @@ export interface Store {
4906
4916
  */
4907
4917
  addRowIdsListener(
4908
4918
  tableId: IdOrNull,
4909
- listener: RowIdsListener,
4919
+ listener: RowIdsListener<this>,
4910
4920
  mutator?: boolean,
4911
4921
  ): Id;
4912
4922
 
@@ -5131,7 +5141,7 @@ export interface Store {
5131
5141
  descending: boolean,
5132
5142
  offset: number,
5133
5143
  limit: number | undefined,
5134
- listener: SortedRowIdsListener,
5144
+ listener: SortedRowIdsListener<this>,
5135
5145
  mutator?: boolean,
5136
5146
  ): Id;
5137
5147
 
@@ -5248,7 +5258,7 @@ export interface Store {
5248
5258
  addHasRowListener(
5249
5259
  tableId: IdOrNull,
5250
5260
  rowId: IdOrNull,
5251
- listener: HasRowListener,
5261
+ listener: HasRowListener<this>,
5252
5262
  mutator?: boolean,
5253
5263
  ): Id;
5254
5264
 
@@ -5357,7 +5367,7 @@ export interface Store {
5357
5367
  addRowListener(
5358
5368
  tableId: IdOrNull,
5359
5369
  rowId: IdOrNull,
5360
- listener: RowListener,
5370
+ listener: RowListener<this>,
5361
5371
  mutator?: boolean,
5362
5372
  ): Id;
5363
5373
 
@@ -5462,7 +5472,7 @@ export interface Store {
5462
5472
  addCellIdsListener(
5463
5473
  tableId: IdOrNull,
5464
5474
  rowId: IdOrNull,
5465
- listener: CellIdsListener,
5475
+ listener: CellIdsListener<this>,
5466
5476
  mutator?: boolean,
5467
5477
  ): Id;
5468
5478
 
@@ -5586,7 +5596,7 @@ export interface Store {
5586
5596
  tableId: IdOrNull,
5587
5597
  rowId: IdOrNull,
5588
5598
  cellId: IdOrNull,
5589
- listener: HasCellListener,
5599
+ listener: HasCellListener<this>,
5590
5600
  mutator?: boolean,
5591
5601
  ): Id;
5592
5602
 
@@ -5705,7 +5715,7 @@ export interface Store {
5705
5715
  tableId: IdOrNull,
5706
5716
  rowId: IdOrNull,
5707
5717
  cellId: IdOrNull,
5708
- listener: CellListener,
5718
+ listener: CellListener<this>,
5709
5719
  mutator?: boolean,
5710
5720
  ): Id;
5711
5721
 
@@ -5770,7 +5780,10 @@ export interface Store {
5770
5780
  * @category Listener
5771
5781
  * @since v4.4.0
5772
5782
  */
5773
- addHasValuesListener(listener: HasValuesListener, mutator?: boolean): Id;
5783
+ addHasValuesListener(
5784
+ listener: HasValuesListener<this>,
5785
+ mutator?: boolean,
5786
+ ): Id;
5774
5787
 
5775
5788
  /**
5776
5789
  * The addValuesListener method registers a listener function with the Store
@@ -5830,7 +5843,7 @@ export interface Store {
5830
5843
  * @category Listener
5831
5844
  * @since v3.0.0
5832
5845
  */
5833
- addValuesListener(listener: ValuesListener, mutator?: boolean): Id;
5846
+ addValuesListener(listener: ValuesListener<this>, mutator?: boolean): Id;
5834
5847
 
5835
5848
  /**
5836
5849
  * The addValueIdsListener method registers a listener function with the Store
@@ -5893,7 +5906,7 @@ export interface Store {
5893
5906
  * @category Listener
5894
5907
  * @since v3.0.0
5895
5908
  */
5896
- addValueIdsListener(listener: ValueIdsListener, mutator?: boolean): Id;
5909
+ addValueIdsListener(listener: ValueIdsListener<this>, mutator?: boolean): Id;
5897
5910
 
5898
5911
  /**
5899
5912
  * The addHasValueListener method registers a listener function with the Store
@@ -5986,7 +5999,7 @@ export interface Store {
5986
5999
  */
5987
6000
  addHasValueListener(
5988
6001
  valueId: IdOrNull,
5989
- listener: HasValueListener,
6002
+ listener: HasValueListener<this>,
5990
6003
  mutator?: boolean,
5991
6004
  ): Id;
5992
6005
 
@@ -6078,7 +6091,7 @@ export interface Store {
6078
6091
  */
6079
6092
  addValueListener(
6080
6093
  valueId: IdOrNull,
6081
- listener: ValueListener,
6094
+ listener: ValueListener<this>,
6082
6095
  mutator?: boolean,
6083
6096
  ): Id;
6084
6097
 
@@ -6308,7 +6321,7 @@ export interface Store {
6308
6321
  tableId: IdOrNull,
6309
6322
  rowId: IdOrNull,
6310
6323
  cellId: IdOrNull,
6311
- listener: InvalidCellListener,
6324
+ listener: InvalidCellListener<this>,
6312
6325
  mutator?: boolean,
6313
6326
  ): Id;
6314
6327
 
@@ -6483,7 +6496,7 @@ export interface Store {
6483
6496
  */
6484
6497
  addInvalidValueListener(
6485
6498
  valueId: IdOrNull,
6486
- listener: InvalidValueListener,
6499
+ listener: InvalidValueListener<this>,
6487
6500
  mutator?: boolean,
6488
6501
  ): Id;
6489
6502
 
@@ -6531,7 +6544,7 @@ export interface Store {
6531
6544
  * @category Listener
6532
6545
  * @since v3.2.0
6533
6546
  */
6534
- addStartTransactionListener(listener: TransactionListener): Id;
6547
+ addStartTransactionListener(listener: TransactionListener<this>): Id;
6535
6548
 
6536
6549
  /**
6537
6550
  * The addWillFinishTransactionListener method registers a listener function
@@ -6630,7 +6643,7 @@ export interface Store {
6630
6643
  * @category Listener
6631
6644
  * @since v1.3.0
6632
6645
  */
6633
- addWillFinishTransactionListener(listener: TransactionListener): Id;
6646
+ addWillFinishTransactionListener(listener: TransactionListener<this>): Id;
6634
6647
 
6635
6648
  /**
6636
6649
  * The addDidFinishTransactionListener method registers a listener function
@@ -6728,7 +6741,7 @@ export interface Store {
6728
6741
  * @category Listener
6729
6742
  * @since v1.3.0
6730
6743
  */
6731
- addDidFinishTransactionListener(listener: TransactionListener): Id;
6744
+ addDidFinishTransactionListener(listener: TransactionListener<this>): Id;
6732
6745
 
6733
6746
  /**
6734
6747
  * The callListener method provides a way for you to manually provoke a
@@ -6844,7 +6857,7 @@ export interface Store {
6844
6857
  * ```
6845
6858
  * @category Listener
6846
6859
  */
6847
- callListener(listenerId: Id): Store;
6860
+ callListener(listenerId: Id): this;
6848
6861
 
6849
6862
  /**
6850
6863
  * The delListener method removes a listener that was previously added to the
@@ -6876,7 +6889,7 @@ export interface Store {
6876
6889
  * ```
6877
6890
  * @category Listener
6878
6891
  */
6879
- delListener(listenerId: Id): Store;
6892
+ delListener(listenerId: Id): this;
6880
6893
 
6881
6894
  /**
6882
6895
  * The getListenerStats method provides a set of statistics about the
@@ -10,4 +10,5 @@ export * from './metrics.d';
10
10
  export * from './persisters.d';
11
11
  export * from './queries.d';
12
12
  export * from './relationships.d';
13
+ export * from './mergeable-store.d';
13
14
  export * from './store.d';
@@ -212,6 +212,7 @@ export type UndoOrRedoInformation = [boolean, Callback, Id | undefined, string];
212
212
  * useSetTableCallback hook or useSetRowCallback hook - so that the Id arguments
213
213
  * of the object to set can also be dependent on the event or parameter
214
214
  * provided (as well as the object itself being set).
215
+ * @category Identity
215
216
  */
216
217
  export type GetId<Parameter> = (parameter: Parameter, store: Store) => Id;
217
218