tinybase 3.1.0-beta.5 → 3.1.1

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 (124) hide show
  1. package/lib/checkpoints.js +1 -1
  2. package/lib/checkpoints.js.gz +0 -0
  3. package/lib/cjs/checkpoints.cjs +1 -1
  4. package/lib/cjs/checkpoints.cjs.gz +0 -0
  5. package/lib/cjs/indexes.cjs +1 -1
  6. package/lib/cjs/indexes.cjs.gz +0 -0
  7. package/lib/cjs/metrics.cjs +1 -1
  8. package/lib/cjs/metrics.cjs.gz +0 -0
  9. package/lib/cjs/relationships.cjs +1 -1
  10. package/lib/cjs/relationships.cjs.gz +0 -0
  11. package/lib/cjs/store.cjs +1 -1
  12. package/lib/cjs/store.cjs.gz +0 -0
  13. package/lib/cjs/tinybase.cjs +1 -1
  14. package/lib/cjs/tinybase.cjs.gz +0 -0
  15. package/lib/cjs/tools.cjs +1 -1
  16. package/lib/cjs/tools.cjs.gz +0 -0
  17. package/lib/cjs/ui-react.cjs +1 -1
  18. package/lib/cjs/ui-react.cjs.gz +0 -0
  19. package/lib/cjs-es6/checkpoints.cjs +1 -1
  20. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  21. package/lib/cjs-es6/indexes.cjs +1 -1
  22. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  23. package/lib/cjs-es6/metrics.cjs +1 -1
  24. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  25. package/lib/cjs-es6/relationships.cjs +1 -1
  26. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  27. package/lib/cjs-es6/store.cjs +1 -1
  28. package/lib/cjs-es6/store.cjs.gz +0 -0
  29. package/lib/cjs-es6/tinybase.cjs +1 -1
  30. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  31. package/lib/cjs-es6/tools.cjs +1 -1
  32. package/lib/cjs-es6/tools.cjs.gz +0 -0
  33. package/lib/cjs-es6/ui-react.cjs +1 -1
  34. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  35. package/lib/debug/checkpoints.js +2 -2
  36. package/lib/debug/indexes.js +2 -2
  37. package/lib/debug/metrics.js +2 -2
  38. package/lib/debug/relationships.js +2 -2
  39. package/lib/debug/store.js +7 -7
  40. package/lib/debug/tinybase.js +7 -7
  41. package/lib/debug/tools.js +5 -4
  42. package/lib/debug/ui-react.js +3 -2
  43. package/lib/es6/checkpoints.js +1 -1
  44. package/lib/es6/checkpoints.js.gz +0 -0
  45. package/lib/es6/indexes.js +1 -1
  46. package/lib/es6/indexes.js.gz +0 -0
  47. package/lib/es6/metrics.js +1 -1
  48. package/lib/es6/metrics.js.gz +0 -0
  49. package/lib/es6/relationships.js +1 -1
  50. package/lib/es6/relationships.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/tools.js +1 -1
  56. package/lib/es6/tools.js.gz +0 -0
  57. package/lib/es6/ui-react.js +1 -1
  58. package/lib/es6/ui-react.js.gz +0 -0
  59. package/lib/indexes.js +1 -1
  60. package/lib/indexes.js.gz +0 -0
  61. package/lib/metrics.js +1 -1
  62. package/lib/metrics.js.gz +0 -0
  63. package/lib/relationships.js +1 -1
  64. package/lib/relationships.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/tools.js +1 -1
  70. package/lib/tools.js.gz +0 -0
  71. package/lib/types/checkpoints.d.ts +2 -0
  72. package/lib/types/indexes.d.ts +2 -0
  73. package/lib/types/metrics.d.ts +2 -0
  74. package/lib/types/persisters.d.ts +2 -0
  75. package/lib/types/queries.d.ts +2 -0
  76. package/lib/types/relationships.d.ts +2 -0
  77. package/lib/types/store.d.ts +60 -1
  78. package/lib/types/tools.d.ts +5 -0
  79. package/lib/types/ui-react.d.ts +11 -0
  80. package/lib/types/with-schemas/checkpoints.d.ts +84 -0
  81. package/lib/types/with-schemas/indexes.d.ts +105 -0
  82. package/lib/types/with-schemas/metrics.d.ts +61 -0
  83. package/lib/types/with-schemas/persisters.d.ts +98 -0
  84. package/lib/types/with-schemas/queries.d.ts +258 -0
  85. package/lib/types/with-schemas/relationships.d.ts +122 -0
  86. package/lib/types/with-schemas/store.d.ts +742 -8
  87. package/lib/types/with-schemas/tools.d.ts +14 -0
  88. package/lib/types/with-schemas/ui-react.d.ts +1066 -0
  89. package/lib/ui-react.js +1 -1
  90. package/lib/ui-react.js.gz +0 -0
  91. package/lib/umd/checkpoints.js +1 -1
  92. package/lib/umd/checkpoints.js.gz +0 -0
  93. package/lib/umd/indexes.js +1 -1
  94. package/lib/umd/indexes.js.gz +0 -0
  95. package/lib/umd/metrics.js +1 -1
  96. package/lib/umd/metrics.js.gz +0 -0
  97. package/lib/umd/relationships.js +1 -1
  98. package/lib/umd/relationships.js.gz +0 -0
  99. package/lib/umd/store.js +1 -1
  100. package/lib/umd/store.js.gz +0 -0
  101. package/lib/umd/tinybase.js +1 -1
  102. package/lib/umd/tinybase.js.gz +0 -0
  103. package/lib/umd/tools.js +1 -1
  104. package/lib/umd/tools.js.gz +0 -0
  105. package/lib/umd/ui-react.js +1 -1
  106. package/lib/umd/ui-react.js.gz +0 -0
  107. package/lib/umd-es6/checkpoints.js +1 -1
  108. package/lib/umd-es6/checkpoints.js.gz +0 -0
  109. package/lib/umd-es6/indexes.js +1 -1
  110. package/lib/umd-es6/indexes.js.gz +0 -0
  111. package/lib/umd-es6/metrics.js +1 -1
  112. package/lib/umd-es6/metrics.js.gz +0 -0
  113. package/lib/umd-es6/relationships.js +1 -1
  114. package/lib/umd-es6/relationships.js.gz +0 -0
  115. package/lib/umd-es6/store.js +1 -1
  116. package/lib/umd-es6/store.js.gz +0 -0
  117. package/lib/umd-es6/tinybase.js +1 -1
  118. package/lib/umd-es6/tinybase.js.gz +0 -0
  119. package/lib/umd-es6/tools.js +1 -1
  120. package/lib/umd-es6/tools.js.gz +0 -0
  121. package/lib/umd-es6/ui-react.js +1 -1
  122. package/lib/umd-es6/ui-react.js.gz +0 -0
  123. package/package.json +2 -2
  124. package/readme.md +14 -14
@@ -133,10 +133,7 @@ export type ValueSchema =
133
133
  * The NoTablesSchema type is a TablesSchema-like type for when one has not been
134
134
  * provided.
135
135
  *
136
- * This type is used internally to the TinyBase type system and you are not
137
- * expected to need to use it directly.
138
- *
139
- * @category Internal
136
+ * @category Schema
140
137
  */
141
138
  export type NoTablesSchema = {[tableId: Id]: {[cellId: Id]: {type: 'any'}}};
142
139
 
@@ -144,10 +141,7 @@ export type NoTablesSchema = {[tableId: Id]: {[cellId: Id]: {type: 'any'}}};
144
141
  * The NoValuesSchema type is a ValuesSchema-like type for when one has not been
145
142
  * provided.
146
143
  *
147
- * This type is used internally to the TinyBase type system and you are not
148
- * expected to need to use it directly.
149
- *
150
- * @category Internal
144
+ * @category Schema
151
145
  */
152
146
  export type NoValuesSchema = {[valueId: Id]: {type: 'any'}};
153
147
 
@@ -187,6 +181,12 @@ export type NoSchemas = [NoTablesSchema, NoValuesSchema];
187
181
  * The Tables type is the data structure representing all of the data in a
188
182
  * Store.
189
183
  *
184
+ * This has schema-based typing. The following is a simplified representation:
185
+ *
186
+ * ```ts override
187
+ * {[tableId: Id]: Table};
188
+ * ```
189
+ *
190
190
  * A Tables object is used when setting all of the tables together with the
191
191
  * setTables method, and when getting them back out again with the getTables
192
192
  * method. A Tables object is a regular JavaScript object containing individual
@@ -221,6 +221,12 @@ export type Tables<
221
221
  /**
222
222
  * The Table type is the data structure representing the data in a single table.
223
223
  *
224
+ * This has schema-based typing. The following is a simplified representation:
225
+ *
226
+ * ```ts override
227
+ * {[rowId: Id]: Row};
228
+ * ```
229
+ *
224
230
  * A Table is used when setting a table with the setTable method, and when
225
231
  * getting it back out again with the getTable method. A Table object is a
226
232
  * regular JavaScript object containing individual Row objects, keyed by their
@@ -244,6 +250,12 @@ export type Table<
244
250
  /**
245
251
  * The Row type is the data structure representing the data in a single row.
246
252
  *
253
+ * This has schema-based typing. The following is a simplified representation:
254
+ *
255
+ * ```ts override
256
+ * {[cellId: Id]: Cell};
257
+ * ```
258
+ *
247
259
  * A Row is used when setting a row with the setRow method, and when getting it
248
260
  * back out again with the getRow method. A Row object is a regular JavaScript
249
261
  * object containing individual Cell objects, keyed by their Id.
@@ -283,6 +295,12 @@ export type Row<
283
295
  /**
284
296
  * The Cell type is the data structure representing the data in a single cell.
285
297
  *
298
+ * This has schema-based typing. The following is a simplified representation:
299
+ *
300
+ * ```ts override
301
+ * string | number | boolean;
302
+ * ```
303
+ *
286
304
  * A Cell is used when setting a cell with the setCell method, and when getting
287
305
  * it back out again with the getCell method. A Cell is a JavaScript string,
288
306
  * number, or boolean.
@@ -310,6 +328,12 @@ export type Cell<
310
328
  * The CellOrUndefined type is a data structure representing the data in a
311
329
  * single cell, or the value `undefined`.
312
330
  *
331
+ * This has schema-based typing. The following is a simplified representation:
332
+ *
333
+ * ```ts override
334
+ * Cell | undefined;
335
+ * ```
336
+ *
313
337
  * This is used when describing a Cell that is present _or_ that is not present,
314
338
  * such as when it has been deleted, or when describing a previous state where
315
339
  * the Cell value has since been added.
@@ -326,6 +350,12 @@ export type CellOrUndefined<
326
350
  * The Values type is the data structure representing all the keyed values in a
327
351
  * Store.
328
352
  *
353
+ * This has schema-based typing. The following is a simplified representation:
354
+ *
355
+ * ```ts override
356
+ * {[valueId: Id]: Value};
357
+ * ```
358
+ *
329
359
  * A Values object is used when setting values with the setValues method, and
330
360
  * when getting them back out again with the getValues method. A Values object
331
361
  * is a regular JavaScript object containing individual Value objects, keyed by
@@ -364,6 +394,12 @@ export type Values<
364
394
  * The Value type is the data structure representing the data in a single keyed
365
395
  * value.
366
396
  *
397
+ * This has schema-based typing. The following is a simplified representation:
398
+ *
399
+ * ```ts override
400
+ * string | number | boolean;
401
+ * ```
402
+ *
367
403
  * A Value is used when setting a value with the setValue method, and when
368
404
  * getting it back out again with the getValue method. A Value is a JavaScript
369
405
  * string, number, or boolean.
@@ -391,6 +427,12 @@ export type Value<
391
427
  * The ValueOrUndefined type is a data structure representing the data in a
392
428
  * single value, or the value `undefined`.
393
429
  *
430
+ * This has schema-based typing. The following is a simplified representation:
431
+ *
432
+ * ```ts override
433
+ * Value | undefined;
434
+ * ```
435
+ *
394
436
  * This is used when describing a Value that is present _or_ that is not
395
437
  * present, such as when it has been deleted, or when describing a previous
396
438
  * state where the Value has since been added.
@@ -407,6 +449,15 @@ export type ValueOrUndefined<
407
449
  * The TableCallback type describes a function that takes a Table's Id and a
408
450
  * callback to loop over each Row within it.
409
451
  *
452
+ * This has schema-based typing. The following is a simplified representation:
453
+ *
454
+ * ```ts override
455
+ * (
456
+ * tableId: Id,
457
+ * forEachRow: (rowCallback: RowCallback) => void,
458
+ * ) => void;
459
+ * ```
460
+ *
410
461
  * A TableCallback is provided when using the forEachTable method, so that you
411
462
  * can do something based on every Table in the Store. See that method for
412
463
  * specific examples.
@@ -434,6 +485,15 @@ export type TableCallback<
434
485
  * The RowCallback type describes a function that takes a Row's Id and a
435
486
  * callback to loop over each Cell within it.
436
487
  *
488
+ * This has schema-based typing. The following is a simplified representation:
489
+ *
490
+ * ```ts override
491
+ * (
492
+ * rowId: Id,
493
+ * forEachCell: (cellCallback: CellCallback) => void,
494
+ * ) => void;
495
+ * ```
496
+ *
437
497
  * A RowCallback is provided when using the forEachRow method, so that you can
438
498
  * do something based on every Row in a Table. See that method for specific
439
499
  * examples.
@@ -459,6 +519,12 @@ export type RowCallback<
459
519
  * The CellCallback type describes a function that takes a Cell's Id and its
460
520
  * value.
461
521
  *
522
+ * This has schema-based typing. The following is a simplified representation:
523
+ *
524
+ * ```ts override
525
+ * (cellId: Id, cell: Cell) => void;
526
+ * ```
527
+ *
462
528
  * A CellCallback is provided when using the forEachCell method, so that you can
463
529
  * do something based on every Cell in a Row. See that method for specific
464
530
  * examples.
@@ -491,6 +557,12 @@ export type CellCallback<
491
557
  * The ValueCallback type describes a function that takes a Value's Id and its
492
558
  * actual value.
493
559
  *
560
+ * This has schema-based typing. The following is a simplified representation:
561
+ *
562
+ * ```ts override
563
+ * (valueId: Id, value: Value) => void;
564
+ * ```
565
+ *
494
566
  * A ValueCallback is provided when using the forEachValue method, so that you
495
567
  * can do something based on every Value in a Store. See that method for
496
568
  * specific examples.
@@ -519,6 +591,12 @@ export type ValueCallback<
519
591
  * The MapCell type describes a function that takes an existing Cell value and
520
592
  * returns another.
521
593
  *
594
+ * This has schema-based typing. The following is a simplified representation:
595
+ *
596
+ * ```ts override
597
+ * (cell: CellOrUndefined) => Cell;
598
+ * ```
599
+ *
522
600
  * A MapCell can be provided in the setCell method to map an existing value to a
523
601
  * new one, such as when incrementing a number. See that method for specific
524
602
  * examples.
@@ -538,6 +616,12 @@ export type MapCell<
538
616
  * The MapValue type describes a function that takes an existing Value and
539
617
  * returns another.
540
618
  *
619
+ * This has schema-based typing. The following is a simplified representation:
620
+ *
621
+ * ```ts override
622
+ * (value: ValueOrUndefined) => Value;
623
+ * ```
624
+ *
541
625
  * A MapValue can be provided in the setValue method to map an existing Value to
542
626
  * a new one, such as when incrementing a number. See that method for specific
543
627
  * examples.
@@ -555,6 +639,12 @@ export type MapValue<
555
639
  * The GetCell type describes a function that takes a Id and returns the Cell
556
640
  * value for a particular Row.
557
641
  *
642
+ * This has schema-based typing. The following is a simplified representation:
643
+ *
644
+ * ```ts override
645
+ * (cellId: Id) => CellOrUndefined;
646
+ * ```
647
+ *
558
648
  * A GetCell can be provided when setting definitions, as in the
559
649
  * setMetricDefinition method of a Metrics object, or the setIndexDefinition
560
650
  * method of an Indexes object. See those methods for specific examples.
@@ -573,6 +663,17 @@ export type GetCell<
573
663
  * The DoRollback type describes a function that you can use to rollback the
574
664
  * transaction if it did not complete to your satisfaction.
575
665
  *
666
+ * This has schema-based typing. The following is a simplified representation:
667
+ *
668
+ * ```ts override
669
+ * (
670
+ * changedCells: ChangedCells,
671
+ * invalidCells: InvalidCells,
672
+ * changedValues: ChangedValues,
673
+ * invalidValues: InvalidValues,
674
+ * ) => boolean;
675
+ * ```
676
+ *
576
677
  * A DoRollback can be provided when calling the transaction method or the
577
678
  * finishTransaction method. See those methods for specific examples.
578
679
  *
@@ -599,6 +700,16 @@ export type DoRollback<Schemas extends OptionalSchemas> = (
599
700
  * The TransactionListener type describes a function that is used to listen to
600
701
  * the completion of a transaction for the Store.
601
702
  *
703
+ * This has schema-based typing. The following is a simplified representation:
704
+ *
705
+ * ```ts override
706
+ * (
707
+ * store: Store,
708
+ * cellsTouched: boolean,
709
+ * valuesTouched: boolean,
710
+ * ) => void;
711
+ * ```
712
+ *
602
713
  * A TransactionListener is provided when using the
603
714
  * addWillFinishTransactionListener and addDidFinishTransactionListener methods.
604
715
  * See those methods for specific examples.
@@ -631,6 +742,15 @@ export type TransactionListener<Schemas extends OptionalSchemas> = (
631
742
  * The TablesListener type describes a function that is used to listen to
632
743
  * changes to the whole Store.
633
744
  *
745
+ * This has schema-based typing. The following is a simplified representation:
746
+ *
747
+ * ```ts override
748
+ * (
749
+ * store: Store,
750
+ * getCellChange: GetCellChange | undefined,
751
+ * ) => void;
752
+ * ```
753
+ *
634
754
  * A TablesListener is provided when using the addTablesListener method. See
635
755
  * that method for specific examples.
636
756
  *
@@ -656,6 +776,12 @@ export type TablesListener<Schemas extends OptionalSchemas> = (
656
776
  * The TableIdsListener type describes a function that is used to listen to
657
777
  * changes to the Table Ids in the Store.
658
778
  *
779
+ * This has schema-based typing. The following is a simplified representation:
780
+ *
781
+ * ```ts override
782
+ * (store: Store) => void;
783
+ * ```
784
+ *
659
785
  * A TableIdsListener is provided when using the addTableIdsListener method. See
660
786
  * that method for specific examples.
661
787
  *
@@ -672,6 +798,16 @@ export type TableIdsListener<Schemas extends OptionalSchemas> = (
672
798
  * The TableListener type describes a function that is used to listen to changes
673
799
  * to a Table.
674
800
  *
801
+ * This has schema-based typing. The following is a simplified representation:
802
+ *
803
+ * ```ts override
804
+ * (
805
+ * store: Store,
806
+ * tableId: Id,
807
+ * getCellChange: GetCellChange | undefined,
808
+ * ) => void;
809
+ * ```
810
+ *
675
811
  * A TableListener is provided when using the addTableListener method. See that
676
812
  * method for specific examples.
677
813
  *
@@ -704,6 +840,12 @@ export type TableListener<
704
840
  * The RowIdsListener type describes a function that is used to listen to
705
841
  * changes to the Row Ids in a Table.
706
842
  *
843
+ * This has schema-based typing. The following is a simplified representation:
844
+ *
845
+ * ```ts override
846
+ * (store: Store, tableId: Id) => void;
847
+ * ```
848
+ *
707
849
  * A RowIdsListener is provided when using the addRowIdsListener method. See
708
850
  * that method for specific examples.
709
851
  *
@@ -728,6 +870,20 @@ export type RowIdsListener<
728
870
  * The SortedRowIdsListener type describes a function that is used to listen to
729
871
  * changes to sorted Row Ids in a Table.
730
872
  *
873
+ * This has schema-based typing. The following is a simplified representation:
874
+ *
875
+ * ```ts override
876
+ * (
877
+ * store: Store,
878
+ * tableId: Id,
879
+ * cellId: Id | undefined,
880
+ * descending: boolean,
881
+ * offset: number,
882
+ * limit: number | undefined,
883
+ * sortedRowIds: Ids,
884
+ * ) => void;
885
+ * ```
886
+ *
731
887
  * A SortedRowIdsListener is provided when using the addSortedRowIdsListener
732
888
  * method. See that method for specific examples.
733
889
  *
@@ -769,6 +925,17 @@ export type SortedRowIdsListener<
769
925
  * The RowListener type describes a function that is used to listen to changes
770
926
  * to a Row.
771
927
  *
928
+ * This has schema-based typing. The following is a simplified representation:
929
+ *
930
+ * ```ts override
931
+ * (
932
+ * store: Store,
933
+ * tableId: Id,
934
+ * rowId: Id,
935
+ * getCellChange: GetCellChange | undefined,
936
+ * ) => void;
937
+ * ```
938
+ *
772
939
  * A RowListener is provided when using the addRowListener method. See that
773
940
  * method for specific examples.
774
941
  *
@@ -805,6 +972,12 @@ export type RowListener<
805
972
  * The CellIdsListener type describes a function that is used to listen to
806
973
  * changes to the Cell Ids in a Row.
807
974
  *
975
+ * This has schema-based typing. The following is a simplified representation:
976
+ *
977
+ * ```ts override
978
+ * (store: Store, tableId: Id, rowId: Id) => void;
979
+ * ```
980
+ *
808
981
  * A CellIdsListener is provided when using the addCellIdsListener method. See
809
982
  * that method for specific examples.
810
983
  *
@@ -832,6 +1005,20 @@ export type CellIdsListener<
832
1005
  * The CellListener type describes a function that is used to listen to changes
833
1006
  * to a Cell.
834
1007
  *
1008
+ * This has schema-based typing. The following is a simplified representation:
1009
+ *
1010
+ * ```ts override
1011
+ * (
1012
+ * store: Store,
1013
+ * tableId: Id,
1014
+ * rowId: Id,
1015
+ * cellId: Id,
1016
+ * newCell: Cell,
1017
+ * oldCell: Cell,
1018
+ * getCellChange: GetCellChange | undefined,
1019
+ * ) => void;
1020
+ * ```
1021
+ *
835
1022
  * A CellListener is provided when using the addCellListener method. See that
836
1023
  * method for specific examples.
837
1024
  *
@@ -922,6 +1109,15 @@ export type CellListener<
922
1109
  * The ValuesListener type describes a function that is used to listen to
923
1110
  * changes to all the Values in a Store.
924
1111
  *
1112
+ * This has schema-based typing. The following is a simplified representation:
1113
+ *
1114
+ * ```ts override
1115
+ * (
1116
+ * store: Store,
1117
+ * getValueChange: GetValueChange | undefined,
1118
+ * ) => void;
1119
+ * ```
1120
+ *
925
1121
  * A ValuesListener is provided when using the addValuesListener method. See
926
1122
  * that method for specific examples.
927
1123
  *
@@ -947,6 +1143,12 @@ export type ValuesListener<Schemas extends OptionalSchemas> = (
947
1143
  * The ValueIdsListener type describes a function that is used to listen to
948
1144
  * changes to the Value Ids in a Store.
949
1145
  *
1146
+ * This has schema-based typing. The following is a simplified representation:
1147
+ *
1148
+ * ```ts override
1149
+ * (store: Store) => void;
1150
+ * ```
1151
+ *
950
1152
  * A ValueIdsListener is provided when using the addValueIdsListener method. See
951
1153
  * that method for specific examples.
952
1154
  *
@@ -963,6 +1165,18 @@ export type ValueIdsListener<Schemas extends OptionalSchemas> = (
963
1165
  * The ValueListener type describes a function that is used to listen to changes
964
1166
  * to a Value.
965
1167
  *
1168
+ * This has schema-based typing. The following is a simplified representation:
1169
+ *
1170
+ * ```ts override
1171
+ * (
1172
+ * store: Store,
1173
+ * valueId: Id,
1174
+ * newValue: Value,
1175
+ * oldValue: Value,
1176
+ * getValueChange: GetValueChange | undefined,
1177
+ * ) => void;
1178
+ * ```
1179
+ *
966
1180
  * A ValueListener is provided when using the addValueListener method. See that
967
1181
  * method for specific examples.
968
1182
  *
@@ -1027,6 +1241,18 @@ export type ValueListener<
1027
1241
  * The InvalidCellListener type describes a function that is used to listen to
1028
1242
  * attempts to set invalid data to a Cell.
1029
1243
  *
1244
+ * This has schema-based typing. The following is a simplified representation:
1245
+ *
1246
+ * ```ts override
1247
+ * (
1248
+ * store: Store,
1249
+ * tableId: Id,
1250
+ * rowId: Id,
1251
+ * cellId: Id,
1252
+ * invalidCells: any[],
1253
+ * ) => void;
1254
+ * ```
1255
+ *
1030
1256
  * A InvalidCellListener is provided when using the addInvalidCellListener
1031
1257
  * method. See that method for specific examples.
1032
1258
  *
@@ -1057,6 +1283,16 @@ export type InvalidCellListener<Schemas extends OptionalSchemas> = (
1057
1283
  * The InvalidValueListener type describes a function that is used to listen to
1058
1284
  * attempts to set invalid data to a Value.
1059
1285
  *
1286
+ * This has schema-based typing. The following is a simplified representation:
1287
+ *
1288
+ * ```ts override
1289
+ * (
1290
+ * store: Store,
1291
+ * valueId: Id,
1292
+ * invalidValues: any[],
1293
+ * ) => void;
1294
+ * ```
1295
+ *
1060
1296
  * A InvalidValueListener is provided when using the addInvalidValueListener
1061
1297
  * method. See that method for specific examples.
1062
1298
  *
@@ -1083,6 +1319,12 @@ export type InvalidValueListener<Schemas extends OptionalSchemas> = (
1083
1319
  * The GetCellChange type describes a function that returns information about
1084
1320
  * any Cell's changes during a transaction.
1085
1321
  *
1322
+ * This has schema-based typing. The following is a simplified representation:
1323
+ *
1324
+ * ```ts override
1325
+ * (tableId: Id, rowId: Id, cellId: Id) => CellChange;
1326
+ * ```
1327
+ *
1086
1328
  * A GetCellChange function is provided to every listener when called due the
1087
1329
  * Store changing. The listener can then fetch the previous value of a Cell
1088
1330
  * before the current transaction, the new value after it, and a convenience
@@ -1106,6 +1348,16 @@ export type GetCellChange<Schema extends OptionalTablesSchema> = <
1106
1348
  /**
1107
1349
  * The CellChange type describes a Cell's changes during a transaction.
1108
1350
  *
1351
+ * This has schema-based typing. The following is a simplified representation:
1352
+ *
1353
+ * ```ts override
1354
+ * [
1355
+ * changed: boolean,
1356
+ * oldCell: CellOrUndefined,
1357
+ * newCell: CellOrUndefined,
1358
+ * ];
1359
+ * ```
1360
+ *
1109
1361
  * This is returned by the GetCellChange function that is provided to every
1110
1362
  * listener when called. This array contains the previous value of a Cell before
1111
1363
  * the current transaction, the new value after it, and a convenience flag that
@@ -1124,6 +1376,12 @@ export type CellChange<
1124
1376
  * The GetValueChange type describes a function that returns information about
1125
1377
  * any Value's changes during a transaction.
1126
1378
  *
1379
+ * This has schema-based typing. The following is a simplified representation:
1380
+ *
1381
+ * ```ts override
1382
+ * (valueId: Id) => ValueChange;
1383
+ * ```
1384
+ *
1127
1385
  * A GetValueChange function is provided to every listener when called due the
1128
1386
  * Store changing. The listener can then fetch the previous value of a Value
1129
1387
  * before the current transaction, the new value after it, and a convenience
@@ -1143,6 +1401,16 @@ export type GetValueChange<Schema extends OptionalValuesSchema> = <
1143
1401
  /**
1144
1402
  * The ValueChange type describes a Value's changes during a transaction.
1145
1403
  *
1404
+ * This has schema-based typing. The following is a simplified representation:
1405
+ *
1406
+ * ```ts override
1407
+ * [
1408
+ * changed: boolean,
1409
+ * oldValue: ValueOrUndefined,
1410
+ * newValue: ValueOrUndefined,
1411
+ * ];
1412
+ * ```
1413
+ *
1146
1414
  * This is returned by the GetValueChange function that is provided to every
1147
1415
  * listener when called. This array contains the previous value of a Value
1148
1416
  * before the current transaction, the new value after it, and a convenience
@@ -1161,6 +1429,18 @@ export type ValueChange<
1161
1429
  * a transaction, primarily used so that you can indicate whether the
1162
1430
  * transaction should be rolled back.
1163
1431
  *
1432
+ * This has schema-based typing. The following is a simplified representation:
1433
+ *
1434
+ * ```ts override
1435
+ * {
1436
+ * [tableId: Id]: {
1437
+ * [rowId: Id]: {
1438
+ * [cellId: Id]: [CellOrUndefined, CellOrUndefined];
1439
+ * };
1440
+ * };
1441
+ * };
1442
+ * ```
1443
+ *
1164
1444
  * A ChangedCells object is provided to the `doRollback` callback when using the
1165
1445
  * transaction method and the finishTransaction method. See those methods for
1166
1446
  * specific examples.
@@ -1222,6 +1502,14 @@ export type InvalidCells = {
1222
1502
  * transaction, primarily used so that you can indicate whether the transaction
1223
1503
  * should be rolled back.
1224
1504
  *
1505
+ * This has schema-based typing. The following is a simplified representation:
1506
+ *
1507
+ * ```ts override
1508
+ * {
1509
+ * [valueId: Id]: [ValueOrUndefined, ValueOrUndefined];
1510
+ * };
1511
+ * ```
1512
+ *
1225
1513
  * A ChangedValues object is provided to the `doRollback` callback when using
1226
1514
  * the transaction method and the finishTransaction method. See those methods
1227
1515
  * for specific examples.
@@ -1526,6 +1814,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
1526
1814
  * The getTables method returns a Tables object containing the entire data of
1527
1815
  * the Store.
1528
1816
  *
1817
+ * This has schema-based typing. The following is a simplified representation:
1818
+ *
1819
+ * ```ts override
1820
+ * getTables(): Tables;
1821
+ * ```
1822
+ *
1529
1823
  * Note that this returns a copy of, rather than a reference to the underlying
1530
1824
  * data, so changes made to the returned object are not made to the Store
1531
1825
  * itself.
@@ -1558,6 +1852,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
1558
1852
  /**
1559
1853
  * The getTableIds method returns the Ids of every Table in the Store.
1560
1854
  *
1855
+ * This has schema-based typing. The following is a simplified representation:
1856
+ *
1857
+ * ```ts override
1858
+ * getTableIds(): Ids;
1859
+ * ```
1860
+ *
1561
1861
  * Note that this returns a copy of, rather than a reference, to the list of
1562
1862
  * Ids, so changes made to the list are not made to the Store itself.
1563
1863
  *
@@ -1590,6 +1890,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
1590
1890
  * The getTable method returns an object containing the entire data of a
1591
1891
  * single Table in the Store.
1592
1892
  *
1893
+ * This has schema-based typing. The following is a simplified representation:
1894
+ *
1895
+ * ```ts override
1896
+ * getTable(tableId: Id): Table;
1897
+ * ```
1898
+ *
1593
1899
  * Note that this returns a copy of, rather than a reference to the underlying
1594
1900
  * data, so changes made to the returned object are not made to the Store
1595
1901
  * itself.
@@ -1625,6 +1931,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
1625
1931
  /**
1626
1932
  * The getRowIds method returns the Ids of every Row in a given Table.
1627
1933
  *
1934
+ * This has schema-based typing. The following is a simplified representation:
1935
+ *
1936
+ * ```ts override
1937
+ * getRowIds(tableId: Id): Ids;
1938
+ * ```
1939
+ *
1628
1940
  * Note that this returns a copy of, rather than a reference, to the list of
1629
1941
  * Ids, so changes made to the list are not made to the Store itself.
1630
1942
  *
@@ -1660,6 +1972,18 @@ export interface Store<in out Schemas extends OptionalSchemas> {
1660
1972
  * The getSortedRowIds method returns the Ids of every Row in a given Table,
1661
1973
  * sorted according to the values in a specified Cell.
1662
1974
  *
1975
+ * This has schema-based typing. The following is a simplified representation:
1976
+ *
1977
+ * ```ts override
1978
+ * getSortedRowIds(
1979
+ * tableId: Id,
1980
+ * cellId?: Id,
1981
+ * descending?: boolean,
1982
+ * offset?: number,
1983
+ * limit?: number,
1984
+ * ): Ids;
1985
+ * ```
1986
+ *
1663
1987
  * The sorting of the rows is alphanumeric, and you can indicate whether it
1664
1988
  * should be in descending order. The `offset` and `limit` parameters are used
1665
1989
  * to paginate results, but default to `0` and `undefined` to return all
@@ -1767,6 +2091,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
1767
2091
  * The getRow method returns an object containing the entire data of a single
1768
2092
  * Row in a given Table.
1769
2093
  *
2094
+ * This has schema-based typing. The following is a simplified representation:
2095
+ *
2096
+ * ```ts override
2097
+ * getRow(tableId: Id, rowId: Id): Row;
2098
+ * ```
2099
+ *
1770
2100
  * Note that this returns a copy of, rather than a reference to the underlying
1771
2101
  * data, so changes made to the returned object are not made to the Store
1772
2102
  * itself.
@@ -1807,6 +2137,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
1807
2137
  * The getCellIds method returns the Ids of every Cell in a given Row, in a
1808
2138
  * given Table.
1809
2139
  *
2140
+ * This has schema-based typing. The following is a simplified representation:
2141
+ *
2142
+ * ```ts override
2143
+ * getCellIds(tableId: Id, rowId: Id): Ids;
2144
+ * ```
2145
+ *
1810
2146
  * Note that this returns a copy of, rather than a reference, to the list of
1811
2147
  * Ids, so changes made to the list are not made to the Store itself.
1812
2148
  *
@@ -1845,6 +2181,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
1845
2181
  * The getCell method returns the value of a single Cell in a given Row, in a
1846
2182
  * given Table.
1847
2183
  *
2184
+ * This has schema-based typing. The following is a simplified representation:
2185
+ *
2186
+ * ```ts override
2187
+ * getCell(tableId: Id, rowId: Id, cellId: Id): CellOrUndefined;
2188
+ * ```
2189
+ *
1848
2190
  * @param tableId The Id of the Table in the Store.
1849
2191
  * @param rowId The Id of the Row in the Table.
1850
2192
  * @param cellId The Id of the Cell in the Row.
@@ -1882,6 +2224,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
1882
2224
  * The getValues method returns an object containing the entire set of keyed
1883
2225
  * Values in the Store.
1884
2226
  *
2227
+ * This has schema-based typing. The following is a simplified representation:
2228
+ *
2229
+ * ```ts override
2230
+ * getValues(): Values;
2231
+ * ```
2232
+ *
1885
2233
  * Note that this returns a copy of, rather than a reference to the underlying
1886
2234
  * data, so changes made to the returned object are not made to the Store
1887
2235
  * itself.
@@ -1912,6 +2260,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
1912
2260
  /**
1913
2261
  * The getValueIds method returns the Ids of every Value in a Store.
1914
2262
  *
2263
+ * This has schema-based typing. The following is a simplified representation:
2264
+ *
2265
+ * ```ts override
2266
+ * getValueIds(): Ids;
2267
+ * ```
2268
+ *
1915
2269
  * Note that this returns a copy of, rather than a reference, to the list of
1916
2270
  * Ids, so changes made to the list are not made to the Store itself.
1917
2271
  *
@@ -1941,6 +2295,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
1941
2295
  /**
1942
2296
  * The getValue method returns a single keyed Value in the Store.
1943
2297
  *
2298
+ * This has schema-based typing. The following is a simplified representation:
2299
+ *
2300
+ * ```ts override
2301
+ * getValue(valueId: Id): ValueOrUndefined;
2302
+ * ```
2303
+ *
1944
2304
  * @param valueId The Id of the Value in the Store.
1945
2305
  * @returns The Value, or `undefined`.
1946
2306
  * @example
@@ -1990,6 +2350,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
1990
2350
  * The hasTable method returns a boolean indicating whether a given Table
1991
2351
  * exists in the Store.
1992
2352
  *
2353
+ * This has schema-based typing. The following is a simplified representation:
2354
+ *
2355
+ * ```ts override
2356
+ * hasTable(tableId: Id): boolean;
2357
+ * ```
2358
+ *
1993
2359
  * @param tableId The Id of a possible Table in the Store.
1994
2360
  * @returns Whether a Table with that Id exists.
1995
2361
  * @example
@@ -2010,6 +2376,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2010
2376
  * The hasRow method returns a boolean indicating whether a given Row exists
2011
2377
  * in the Store.
2012
2378
  *
2379
+ * This has schema-based typing. The following is a simplified representation:
2380
+ *
2381
+ * ```ts override
2382
+ * hasRow(tableId: Id, rowId: Id): boolean;
2383
+ * ```
2384
+ *
2013
2385
  * @param tableId The Id of a possible Table in the Store.
2014
2386
  * @param rowId The Id of a possible Row in the Table.
2015
2387
  * @returns Whether a Row with that Id exists in that Table.
@@ -2031,6 +2403,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2031
2403
  * The hasCell method returns a boolean indicating whether a given Cell exists
2032
2404
  * in the Store.
2033
2405
  *
2406
+ * This has schema-based typing. The following is a simplified representation:
2407
+ *
2408
+ * ```ts override
2409
+ * hasCell(tableId: Id, rowId: Id, cellId: Id): boolean;
2410
+ * ```
2411
+ *
2034
2412
  * @param tableId The Id of a possible Table in the Store.
2035
2413
  * @param rowId The Id of a possible Row in the Table.
2036
2414
  * @param cellId The Id of a possible Cell in the Row.
@@ -2078,6 +2456,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2078
2456
  * The hasValue method returns a boolean indicating whether a given Value
2079
2457
  * exists in the Store.
2080
2458
  *
2459
+ * This has schema-based typing. The following is a simplified representation:
2460
+ *
2461
+ * ```ts override
2462
+ * hasValue(valueId: Id): boolean;
2463
+ * ```
2464
+ *
2081
2465
  * @param valueId The Id of a possible Value in the Store.
2082
2466
  * @returns Whether a Value with that Id exists in the Store.
2083
2467
  * @example
@@ -2289,6 +2673,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2289
2673
  /**
2290
2674
  * The setTables method takes an object and sets the entire data of the Store.
2291
2675
  *
2676
+ * This has schema-based typing. The following is a simplified representation:
2677
+ *
2678
+ * ```ts override
2679
+ * setTables(tables: Tables): Store;
2680
+ * ```
2681
+ *
2292
2682
  * This method will cause listeners to be called for any Table, Row, Cell, or
2293
2683
  * Id changes resulting from it.
2294
2684
  *
@@ -2338,6 +2728,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2338
2728
  * The setTable method takes an object and sets the entire data of a single
2339
2729
  * Table in the Store.
2340
2730
  *
2731
+ * This has schema-based typing. The following is a simplified representation:
2732
+ *
2733
+ * ```ts override
2734
+ * setTable(tableId: Id, table: Table): Store;
2735
+ * ```
2736
+ *
2341
2737
  * This method will cause listeners to be called for any Table, Row, Cell, or
2342
2738
  * Id changes resulting from it.
2343
2739
  *
@@ -2392,6 +2788,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2392
2788
  * The setRow method takes an object and sets the entire data of a single Row
2393
2789
  * in the Store.
2394
2790
  *
2791
+ * This has schema-based typing. The following is a simplified representation:
2792
+ *
2793
+ * ```ts override
2794
+ * setRow(tableId: Id, rowId: Id, row: Row): Store;
2795
+ * ```
2796
+ *
2395
2797
  * This method will cause listeners to be called for any Table, Row, Cell, or
2396
2798
  * Id changes resulting from it.
2397
2799
  *
@@ -2446,6 +2848,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2446
2848
  * The addRow method takes an object and creates a new Row in the Store,
2447
2849
  * returning the unique Id assigned to it.
2448
2850
  *
2851
+ * This has schema-based typing. The following is a simplified representation:
2852
+ *
2853
+ * ```ts override
2854
+ * addRow(tableId: Id, row: Row, reuseRowIds?: boolean): Id | undefined;
2855
+ * ```
2856
+ *
2449
2857
  * This method will cause listeners to be called for any Table, Row, Cell, or
2450
2858
  * Id changes resulting from it.
2451
2859
  *
@@ -2461,8 +2869,17 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2461
2869
  * Row is added to the Table. However it is likely to be a string
2462
2870
  * representation of an increasing integer.
2463
2871
  *
2872
+ * The `reuseRowIds` parameter defaults to `true`, which means that if you
2873
+ * delete a Row and then add another, the Id will be re-used - unless you
2874
+ * delete the entire Table, in which case all Row Ids will reset. Otherwise,
2875
+ * if you specify `reuseRowIds` to be `false`, then the Id will be a
2876
+ * monotonically increasing string representation of an increasing integer,
2877
+ * regardless of any you may have previously deleted.
2878
+ *
2464
2879
  * @param tableId The Id of the Table in the Store.
2465
2880
  * @param row The data of a single Row to be added.
2881
+ * @param reuseRowIds Whether Ids should be recycled from previously deleted
2882
+ * Row objects, defaulting to `true`.
2466
2883
  * @returns A reference to the Store.
2467
2884
  * @example
2468
2885
  * This example adds a single Row.
@@ -2496,12 +2913,19 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2496
2913
  addRow<TableId extends TableIdFromSchema<Schemas[0]>>(
2497
2914
  tableId: TableId,
2498
2915
  row: Row<Schemas[0], TableId, true>,
2916
+ reuseRowIds?: boolean,
2499
2917
  ): Id | undefined;
2500
2918
 
2501
2919
  /**
2502
2920
  * The setPartialRow method takes an object and sets partial data of a single
2503
2921
  * Row in the Store, leaving other Cell values unaffected.
2504
2922
  *
2923
+ * This has schema-based typing. The following is a simplified representation:
2924
+ *
2925
+ * ```ts override
2926
+ * setPartialRow(tableId: Id, rowId: Id, partialRow: Row): Store;
2927
+ * ```
2928
+ *
2505
2929
  * This method will cause listeners to be called for any Table, Row, Cell, or
2506
2930
  * Id changes resulting from it.
2507
2931
  *
@@ -2557,6 +2981,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2557
2981
  /**
2558
2982
  * The setCell method sets the value of a single Cell in the Store.
2559
2983
  *
2984
+ * This has schema-based typing. The following is a simplified representation:
2985
+ *
2986
+ * ```ts override
2987
+ * setCell(tableId: Id, rowId: Id, cellId: Id, cell: Cell | MapCell): Store;
2988
+ * ```
2989
+ *
2560
2990
  * This method will cause listeners to be called for any Table, Row, Cell, or
2561
2991
  * Id changes resulting from it.
2562
2992
  *
@@ -2625,6 +3055,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2625
3055
  /**
2626
3056
  * The setValues method takes an object and sets all the Values in the Store.
2627
3057
  *
3058
+ * This has schema-based typing. The following is a simplified representation:
3059
+ *
3060
+ * ```ts override
3061
+ * setValues(values: Values): Store;
3062
+ * ```
3063
+ *
2628
3064
  * This method will cause listeners to be called for any Value or Id changes
2629
3065
  * resulting from it.
2630
3066
  *
@@ -2674,6 +3110,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2674
3110
  * The setPartialValues method takes an object and sets its Values in the
2675
3111
  * Store, but leaving existing Values unaffected.
2676
3112
  *
3113
+ * This has schema-based typing. The following is a simplified representation:
3114
+ *
3115
+ * ```ts override
3116
+ * setPartialValues(partialValues: Values): Store;
3117
+ * ```
3118
+ *
2677
3119
  * This method will cause listeners to be called for any Values or Id changes
2678
3120
  * resulting from it.
2679
3121
  *
@@ -2723,6 +3165,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2723
3165
  /**
2724
3166
  * The setValue method sets a single keyed Value in the Store.
2725
3167
  *
3168
+ * This has schema-based typing. The following is a simplified representation:
3169
+ *
3170
+ * ```ts override
3171
+ * setValue(valueId: Id, value: Value | MapValue): Store;
3172
+ * ```
3173
+ *
2726
3174
  * This method will cause listeners to be called for any Value, or Id changes
2727
3175
  * resulting from it.
2728
3176
  *
@@ -2781,6 +3229,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2781
3229
  * The setTablesJson method takes a string serialization of all of the Tables
2782
3230
  * in the Store and attempts to update them to that.
2783
3231
  *
3232
+ * This has schema-based typing. The following is a simplified representation:
3233
+ *
3234
+ * ```ts override
3235
+ * setTablesJson(tablesJson: Json): Store;
3236
+ * ```
3237
+ *
2784
3238
  * If the JSON cannot be parsed, this will fail silently. If it can be parsed,
2785
3239
  * it will then be subject to the same validation rules as the setTables
2786
3240
  * method (according to the Tables type, and matching any TablesSchema
@@ -2816,6 +3270,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2816
3270
  * The setValuesJson method takes a string serialization of all of the Values
2817
3271
  * in the Store and attempts to update them to those values.
2818
3272
  *
3273
+ * This has schema-based typing. The following is a simplified representation:
3274
+ *
3275
+ * ```ts override
3276
+ * setValuesJson(valuesJson: Json): Store;
3277
+ * ```
3278
+ *
2819
3279
  * If the JSON cannot be parsed, this will fail silently. If it can be parsed,
2820
3280
  * it will then be subject to the same validation rules as the setValues
2821
3281
  * method (according to the Values type, and matching any ValuesSchema
@@ -2851,6 +3311,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2851
3311
  * The setJson method takes a string serialization of all of the Tables and
2852
3312
  * Values in the Store and attempts to update them to those values.
2853
3313
  *
3314
+ * This has schema-based typing. The following is a simplified representation:
3315
+ *
3316
+ * ```ts override
3317
+ * setJson(tablesAndValuesJson: Json): Store;
3318
+ * ```
3319
+ *
2854
3320
  * From v3.0.0 onwards, the serialization should be of an array with two
2855
3321
  * entries. The first is the Tables object, the second the Values. In previous
2856
3322
  * versions (before the existence of the Values data structure), it was a sole
@@ -2910,6 +3376,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2910
3376
  * The setTablesSchema method lets you specify the TablesSchema of the tabular
2911
3377
  * part of the Store.
2912
3378
  *
3379
+ * This has schema-based typing. The following is a simplified representation:
3380
+ *
3381
+ * ```ts override
3382
+ * setTablesSchema(tablesSchema: TablesSchema): Store;
3383
+ * ```
3384
+ *
2913
3385
  * Note that this may result in a change to data in the Store, as defaults are
2914
3386
  * applied or as invalid Table, Row, or Cell objects are removed. These
2915
3387
  * changes will fire any listeners to that data, as expected.
@@ -2945,6 +3417,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2945
3417
  * The setValuesSchema method lets you specify the ValuesSchema of the keyed
2946
3418
  * Values part of the Store.
2947
3419
  *
3420
+ * This has schema-based typing. The following is a simplified representation:
3421
+ *
3422
+ * ```ts override
3423
+ * setValuesSchema(valuesSchema: ValuesSchema): Store;
3424
+ * ```
3425
+ *
2948
3426
  * Note that this may result in a change to data in the Store, as defaults are
2949
3427
  * applied or as invalid Values are removed. These changes will fire any
2950
3428
  * listeners to that data, as expected.
@@ -2977,6 +3455,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2977
3455
  * The setSchema method lets you specify the TablesSchema and ValuesSchema of
2978
3456
  * the Store.
2979
3457
  *
3458
+ * This has schema-based typing. The following is a simplified representation:
3459
+ *
3460
+ * ```ts override
3461
+ * setSchema(tablesSchema: TablesSchema, valuesSchema?: ValuesSchema): Store;
3462
+ * ```
3463
+ *
2980
3464
  * Note that this may result in a change to data in the Store, as defaults are
2981
3465
  * applied or as invalid Table, Row, Cell, or Value objects are removed. These
2982
3466
  * changes will fire any listeners to that data, as expected.
@@ -3045,6 +3529,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3045
3529
  /**
3046
3530
  * The delTables method lets you remove all of the data in a Store.
3047
3531
  *
3532
+ * This has schema-based typing. The following is a simplified representation:
3533
+ *
3534
+ * ```ts override
3535
+ * delTables(): Store;
3536
+ * ```
3537
+ *
3048
3538
  * @returns A reference to the Store.
3049
3539
  * @example
3050
3540
  * This example removes the data of a Store.
@@ -3063,6 +3553,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3063
3553
  /**
3064
3554
  * The delTable method lets you remove a single Table from the Store.
3065
3555
  *
3556
+ * This has schema-based typing. The following is a simplified representation:
3557
+ *
3558
+ * ```ts override
3559
+ * delTable(tableId: Id): Store;
3560
+ * ```
3561
+ *
3066
3562
  * @param tableId The Id of the Table in the Store.
3067
3563
  * @returns A reference to the Store.
3068
3564
  * @example
@@ -3085,6 +3581,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3085
3581
  /**
3086
3582
  * The delRow method lets you remove a single Row from a Table.
3087
3583
  *
3584
+ * This has schema-based typing. The following is a simplified representation:
3585
+ *
3586
+ * ```ts override
3587
+ * delRow(tableId: Id, rowId: Id): Store;
3588
+ * ```
3589
+ *
3088
3590
  * If this is the last Row in its Table, then that Table will be removed.
3089
3591
  *
3090
3592
  * @param tableId The Id of the Table in the Store.
@@ -3109,6 +3611,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3109
3611
  /**
3110
3612
  * The delCell method lets you remove a single Cell from a Row.
3111
3613
  *
3614
+ * This has schema-based typing. The following is a simplified representation:
3615
+ *
3616
+ * ```ts override
3617
+ * delCell(tableId: Id, rowId: Id, cellId: Id, forceDel?: boolean): Store;
3618
+ * ```
3619
+ *
3112
3620
  * When there is no TablesSchema applied to the Store, then if this is the
3113
3621
  * last Cell in its Row, then that Row will be removed. If, in turn, that is
3114
3622
  * the last Row in its Table, then that Table will be removed.
@@ -3198,6 +3706,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3198
3706
  /**
3199
3707
  * The delValues method lets you remove all the Values from a Store.
3200
3708
  *
3709
+ * This has schema-based typing. The following is a simplified representation:
3710
+ *
3711
+ * ```ts override
3712
+ * delValues(): Store;
3713
+ * ```
3714
+ *
3201
3715
  * If there is a ValuesSchema applied to the Store and it specifies a default
3202
3716
  * value for any Value Id, then deletion will result in it being set back to
3203
3717
  * its default value.
@@ -3237,6 +3751,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3237
3751
  /**
3238
3752
  * The delValue method lets you remove a single Value from a Store.
3239
3753
  *
3754
+ * This has schema-based typing. The following is a simplified representation:
3755
+ *
3756
+ * ```ts override
3757
+ * delValue(valueId: Id): Store;
3758
+ * ```
3759
+ *
3240
3760
  * If there is a ValuesSchema applied to the Store and it specifies a default
3241
3761
  * value for this Value Id, then deletion will result in it being set back to
3242
3762
  * its default value.
@@ -3277,6 +3797,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3277
3797
  /**
3278
3798
  * The delTablesSchema method lets you remove the TablesSchema of the Store.
3279
3799
  *
3800
+ * This has schema-based typing. The following is a simplified representation:
3801
+ *
3802
+ * ```ts override
3803
+ * delTablesSchema(): Store;
3804
+ * ```
3805
+ *
3280
3806
  * @returns A reference to the Store.
3281
3807
  * @example
3282
3808
  * This example removes the TablesSchema of a Store.
@@ -3298,6 +3824,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3298
3824
  /**
3299
3825
  * The delValuesSchema method lets you remove the ValuesSchema of the Store.
3300
3826
  *
3827
+ * This has schema-based typing. The following is a simplified representation:
3828
+ *
3829
+ * ```ts override
3830
+ * delValuesSchema(): Store;
3831
+ * ```
3832
+ *
3301
3833
  * @returns A reference to the Store.
3302
3834
  * @example
3303
3835
  * This example removes the ValuesSchema of a Store.
@@ -3321,6 +3853,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3321
3853
  * The delSchema method lets you remove both the TablesSchema and ValuesSchema
3322
3854
  * of the Store.
3323
3855
  *
3856
+ * This has schema-based typing. The following is a simplified representation:
3857
+ *
3858
+ * ```ts override
3859
+ * delSchema(): Store;
3860
+ * ```
3861
+ *
3324
3862
  * Prior to v3.0.0, this method removed the TablesSchema only.
3325
3863
  *
3326
3864
  * @returns A reference to the Store.
@@ -3349,6 +3887,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3349
3887
  * the Store, buffering all calls to the relevant listeners until it
3350
3888
  * completes.
3351
3889
  *
3890
+ * This has schema-based typing. The following is a simplified representation:
3891
+ *
3892
+ * ```ts override
3893
+ * transaction<Return>(actions: () => Return, doRollback?: DoRollback): Return;
3894
+ * ```
3895
+ *
3352
3896
  * This method is useful for making bulk changes to the data in a Store, and
3353
3897
  * when you don't want listeners to be called as you make each change. Changes
3354
3898
  * are made silently during the transaction, and listeners relevant to the
@@ -3481,6 +4025,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3481
4025
  * relevant listeners until it completes when you call the finishTransaction
3482
4026
  * method.
3483
4027
  *
4028
+ * This has schema-based typing. The following is a simplified representation:
4029
+ *
4030
+ * ```ts override
4031
+ * startTransaction(): Store;
4032
+ * ```
4033
+ *
3484
4034
  * Transactions are useful for making bulk changes to the data in a Store, and
3485
4035
  * when you don't want listeners to be called as you make each change. Changes
3486
4036
  * are made silently during the transaction, and listeners relevant to the
@@ -3531,6 +4081,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3531
4081
  * that has made multiple mutations to the Store, triggering all calls to the
3532
4082
  * relevant listeners.
3533
4083
  *
4084
+ * This has schema-based typing. The following is a simplified representation:
4085
+ *
4086
+ * ```ts override
4087
+ * finishTransaction(doRollback?: DoRollback): Store;
4088
+ * ```
4089
+ *
3534
4090
  * Transactions are useful for making bulk changes to the data in a Store, and
3535
4091
  * when you don't want listeners to be called as you make each change. Changes
3536
4092
  * are made silently during the transaction, and listeners relevant to the
@@ -3628,6 +4184,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3628
4184
  * The forEachTable method takes a function that it will then call for each
3629
4185
  * Table in the Store.
3630
4186
  *
4187
+ * This has schema-based typing. The following is a simplified representation:
4188
+ *
4189
+ * ```ts override
4190
+ * forEachTable(tableCallback: TableCallback): void;
4191
+ * ```
4192
+ *
3631
4193
  * This method is useful for iterating over the Table structure of the Store
3632
4194
  * in a functional style. The `tableCallback` parameter is a TableCallback
3633
4195
  * function that will be called with the Id of each Table, and with a function
@@ -3661,6 +4223,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3661
4223
  * The forEachRow method takes a function that it will then call for each Row
3662
4224
  * in a specified Table.
3663
4225
  *
4226
+ * This has schema-based typing. The following is a simplified representation:
4227
+ *
4228
+ * ```ts override
4229
+ * forEachRow(tableId: Id, rowCallback: RowCallback): void;
4230
+ * ```
4231
+ *
3664
4232
  * This method is useful for iterating over the Row structure of the Table in
3665
4233
  * a functional style. The `rowCallback` parameter is a RowCallback function
3666
4234
  * that will be called with the Id of each Row, and with a function that can
@@ -3699,6 +4267,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3699
4267
  * The forEachCell method takes a function that it will then call for each
3700
4268
  * Cell in a specified Row.
3701
4269
  *
4270
+ * This has schema-based typing. The following is a simplified representation:
4271
+ *
4272
+ * ```ts override
4273
+ * forEachCell(tableId: Id, rowId: Id, cellCallback: CellCallback): void;
4274
+ * ```
4275
+ *
3702
4276
  * This method is useful for iterating over the Cell structure of the Row in a
3703
4277
  * functional style. The `cellCallback` parameter is a CellCallback function
3704
4278
  * that will be called with the Id and value of each Cell.
@@ -3731,6 +4305,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3731
4305
  * The forEachValue method takes a function that it will then call for each
3732
4306
  * Value in a Store.
3733
4307
  *
4308
+ * This has schema-based typing. The following is a simplified representation:
4309
+ *
4310
+ * ```ts override
4311
+ * forEachValue(valueCallback: ValueCallback): void;
4312
+ * ```
4313
+ *
3734
4314
  * This method is useful for iterating over the Value structure of the Store
3735
4315
  * in a functional style. The `valueCallback` parameter is a ValueCallback
3736
4316
  * function that will be called with the Id and value of each Value.
@@ -3756,6 +4336,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3756
4336
  * The addTablesListener method registers a listener function with the Store
3757
4337
  * that will be called whenever data in the Store changes.
3758
4338
  *
4339
+ * This has schema-based typing. The following is a simplified representation:
4340
+ *
4341
+ * ```ts override
4342
+ * addTablesListener(listener: TablesListener, mutator?: boolean): Id;
4343
+ * ```
4344
+ *
3759
4345
  * The provided listener is a TablesListener function, and will be called with
3760
4346
  * a reference to the Store and a GetCellChange function in case you need to
3761
4347
  * inspect any changes that occurred.
@@ -3820,6 +4406,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3820
4406
  * The addTableIdsListener method registers a listener function with the Store
3821
4407
  * that will be called whenever the Table Ids in the Store change.
3822
4408
  *
4409
+ * This has schema-based typing. The following is a simplified representation:
4410
+ *
4411
+ * ```ts override
4412
+ * addTableIdsListener(listener: TableIdsListener, mutator?: boolean): Id;
4413
+ * ```
4414
+ *
3823
4415
  * The provided listener is a TableIdsListener function, and will be called
3824
4416
  * with a reference to the Store.
3825
4417
  *
@@ -3886,6 +4478,16 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3886
4478
  * The addTableListener method registers a listener function with the Store
3887
4479
  * that will be called whenever data in a Table changes.
3888
4480
  *
4481
+ * This has schema-based typing. The following is a simplified representation:
4482
+ *
4483
+ * ```ts override
4484
+ * addTableListener(
4485
+ * tableId: IdOrNull,
4486
+ * listener: TableListener,
4487
+ * mutator?: boolean,
4488
+ * ): Id;
4489
+ * ```
4490
+ *
3889
4491
  * The provided listener is a TableListener function, and will be called with
3890
4492
  * a reference to the Store, the Id of the Table that changed, and a
3891
4493
  * GetCellChange function in case you need to inspect any changes that
@@ -3983,6 +4585,16 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3983
4585
  * The addRowIdsListener method registers a listener function with the Store
3984
4586
  * that will be called whenever the Row Ids in a Table change.
3985
4587
  *
4588
+ * This has schema-based typing. The following is a simplified representation:
4589
+ *
4590
+ * ```ts override
4591
+ * addRowIdsListener(
4592
+ * tableId: IdOrNull,
4593
+ * listener: RowIdsListener,
4594
+ * mutator?: boolean,
4595
+ * ): Id;
4596
+ * ```
4597
+ *
3986
4598
  * The provided listener is a RowIdsListener function, and will be called with
3987
4599
  * a reference to the Store and the Id of the Table that changed.
3988
4600
  *
@@ -4076,6 +4688,20 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4076
4688
  * Store that will be called whenever sorted (and optionally, paginated) Row
4077
4689
  * Ids in a Table change.
4078
4690
  *
4691
+ * This has schema-based typing. The following is a simplified representation:
4692
+ *
4693
+ * ```ts override
4694
+ * addSortedRowIdsListener(
4695
+ * tableId: Id,
4696
+ * cellId: Id | undefined,
4697
+ * descending: boolean,
4698
+ * offset: number,
4699
+ * limit: number | undefined,
4700
+ * listener: SortedRowIdsListener,
4701
+ * mutator?: boolean,
4702
+ * ): Id;
4703
+ * ```
4704
+ *
4079
4705
  * The provided listener is a SortedRowIdsListener function, and will be
4080
4706
  * called with a reference to the Store, the Id of the Table whose Row Ids
4081
4707
  * sorting changed, the Cell Id being used to sort them, whether descending or
@@ -4314,6 +4940,17 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4314
4940
  * The addRowListener method registers a listener function with the Store that
4315
4941
  * will be called whenever data in a Row changes.
4316
4942
  *
4943
+ * This has schema-based typing. The following is a simplified representation:
4944
+ *
4945
+ * ```ts override
4946
+ * addRowListener(
4947
+ * tableId: IdOrNull,
4948
+ * rowId: IdOrNull,
4949
+ * listener: RowListener,
4950
+ * mutator?: boolean,
4951
+ * ): Id;
4952
+ * ```
4953
+ *
4317
4954
  * The provided listener is a RowListener function, and will be called with a
4318
4955
  * reference to the Store, the Id of the Table that changed, the Id of the Row
4319
4956
  * that changed, and a GetCellChange function in case you need to inspect any
@@ -4427,6 +5064,17 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4427
5064
  * The addCellIdsListener method registers a listener function with the Store
4428
5065
  * that will be called whenever the Cell Ids in a Row change.
4429
5066
  *
5067
+ * This has schema-based typing. The following is a simplified representation:
5068
+ *
5069
+ * ```ts override
5070
+ * addCellIdsListener(
5071
+ * tableId: IdOrNull,
5072
+ * rowId: IdOrNull,
5073
+ * listener: CellIdsListener,
5074
+ * mutator?: boolean,
5075
+ * ): Id;
5076
+ * ```
5077
+ *
4430
5078
  * The provided listener is a CellIdsListener function, and will be called
4431
5079
  * with a reference to the Store, the Id of the Table, and the Id of the Row
4432
5080
  * that changed.
@@ -4536,6 +5184,18 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4536
5184
  * The addCellListener method registers a listener function with the Store
4537
5185
  * that will be called whenever data in a Cell changes.
4538
5186
  *
5187
+ * This has schema-based typing. The following is a simplified representation:
5188
+ *
5189
+ * ```ts override
5190
+ * addCellListener(
5191
+ * tableId: IdOrNull,
5192
+ * rowId: IdOrNull,
5193
+ * cellId: IdOrNull,
5194
+ * listener: CellListener,
5195
+ * mutator?: boolean,
5196
+ * ): Id;
5197
+ * ```
5198
+ *
4539
5199
  * The provided listener is a CellListener function, and will be called with a
4540
5200
  * reference to the Store, the Id of the Table that changed, the Id of the Row
4541
5201
  * that changed, the Id of the Cell that changed, the new Cell value, the old
@@ -4664,6 +5324,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4664
5324
  * The addValuesListener method registers a listener function with the Store
4665
5325
  * that will be called whenever the Values change.
4666
5326
  *
5327
+ * This has schema-based typing. The following is a simplified representation:
5328
+ *
5329
+ * ```ts override
5330
+ * addValuesListener(listener: ValuesListener, mutator?: boolean): Id;
5331
+ * ```
5332
+ *
4667
5333
  * The provided listener is a ValuesListener function, and will be called with
4668
5334
  * a reference to the Store and a GetValueChange function in case you need to
4669
5335
  * inspect any changes that occurred.
@@ -4725,6 +5391,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4725
5391
  * The addValueIdsListener method registers a listener function with the Store
4726
5392
  * that will be called whenever the Value Ids in a Store change.
4727
5393
  *
5394
+ * This has schema-based typing. The following is a simplified representation:
5395
+ *
5396
+ * ```ts override
5397
+ * addValueIdsListener(listener: ValueIdsListener, mutator?: boolean): Id;
5398
+ * ```
5399
+ *
4728
5400
  * The provided listener is a ValueIdsListener function, and will be called
4729
5401
  * with a reference to the Store.
4730
5402
  *
@@ -4792,6 +5464,16 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4792
5464
  * The addValueListener method registers a listener function with the Store
4793
5465
  * that will be called whenever data in a Value changes.
4794
5466
  *
5467
+ * This has schema-based typing. The following is a simplified representation:
5468
+ *
5469
+ * ```ts override
5470
+ * addValueListener(
5471
+ * valueId: IdOrNull,
5472
+ * listener: ValueListener,
5473
+ * mutator?: boolean,
5474
+ * ): Id;
5475
+ * ```
5476
+ *
4795
5477
  * The provided listener is a ValueListener function, and will be called with
4796
5478
  * a reference to the Store, the Id of the Value that changed, the new Value
4797
5479
  * value, the old Value, and a GetValueChange function in case you need to
@@ -4886,6 +5568,18 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4886
5568
  * Store that will be called whenever invalid data was attempted to be written
4887
5569
  * to a Cell.
4888
5570
  *
5571
+ * This has schema-based typing. The following is a simplified representation:
5572
+ *
5573
+ * ```ts override
5574
+ * addInvalidCellListener(
5575
+ * tableId: IdOrNull,
5576
+ * rowId: IdOrNull,
5577
+ * cellId: IdOrNull,
5578
+ * listener: InvalidCellListener,
5579
+ * mutator?: boolean,
5580
+ * ): Id;
5581
+ * ```
5582
+ *
4889
5583
  * The provided listener is an InvalidCellListener function, and will be
4890
5584
  * called with a reference to the Store, the Id of the Table, the Id of the
4891
5585
  * Row, and the Id of Cell that was being attempted to be changed. It is also
@@ -5117,6 +5811,16 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5117
5811
  * Store that will be called whenever invalid data was attempted to be written
5118
5812
  * to a Value.
5119
5813
  *
5814
+ * This has schema-based typing. The following is a simplified representation:
5815
+ *
5816
+ * ```ts override
5817
+ * addInvalidValueListener(
5818
+ * valueId: IdOrNull,
5819
+ * listener: InvalidValueListener,
5820
+ * mutator?: boolean,
5821
+ * ): Id;
5822
+ * ```
5823
+ *
5120
5824
  * The provided listener is an InvalidValueListener function, and will be
5121
5825
  * called with a reference to the Store and the Id of Value that was being
5122
5826
  * attempted to be changed. It is also given the invalid value of the Value,
@@ -5293,6 +5997,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5293
5997
  * with the Store that will be called just before other non-mutating listeners
5294
5998
  * are called at the end of the transaction.
5295
5999
  *
6000
+ * This has schema-based typing. The following is a simplified representation:
6001
+ *
6002
+ * ```ts override
6003
+ * addWillFinishTransactionListener(listener: TransactionListener): Id;
6004
+ * ```
6005
+ *
5296
6006
  * This is useful if you need to know that a set of listeners are about to be
5297
6007
  * called at the end of a transaction, perhaps to batch _their_ consequences
5298
6008
  * together.
@@ -5385,6 +6095,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5385
6095
  * with the Store that will be called just after other non-mutating listeners
5386
6096
  * are called at the end of the transaction.
5387
6097
  *
6098
+ * This has schema-based typing. The following is a simplified representation:
6099
+ *
6100
+ * ```ts override
6101
+ * addDidFinishTransactionListener(listener: TransactionListener): Id;
6102
+ * ```
6103
+ *
5388
6104
  * This is useful if you need to know that a set of listeners have just been
5389
6105
  * called at the end of a transaction, perhaps to batch _their_ consequences
5390
6106
  * together.
@@ -5477,6 +6193,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5477
6193
  * The callListener method provides a way for you to manually provoke a
5478
6194
  * listener to be called, even if the underlying data hasn't changed.
5479
6195
  *
6196
+ * This has schema-based typing. The following is a simplified representation:
6197
+ *
6198
+ * ```ts override
6199
+ * callListener(listenerId: Id): Store;
6200
+ * ```
6201
+ *
5480
6202
  * This is useful when you are using mutator listeners to guarantee that data
5481
6203
  * conforms to programmatic conditions, and those conditions change such that
5482
6204
  * you need to update the Store in bulk.
@@ -5594,6 +6316,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5594
6316
  * The delListener method removes a listener that was previously added to the
5595
6317
  * Store.
5596
6318
  *
6319
+ * This has schema-based typing. The following is a simplified representation:
6320
+ *
6321
+ * ```ts override
6322
+ * delListener(listenerId: Id): Store;
6323
+ * ```
6324
+ *
5597
6325
  * Use the Id returned by whichever method was used to add the listener. Note
5598
6326
  * that the Store may re-use this Id for future listeners added to it.
5599
6327
  *
@@ -5659,6 +6387,12 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5659
6387
  * The createStore function creates a Store, and is the main entry point into
5660
6388
  * the store module.
5661
6389
  *
6390
+ * This has schema-based typing. The following is a simplified representation:
6391
+ *
6392
+ * ```ts override
6393
+ * createStore(): Store;
6394
+ * ```
6395
+ *
5662
6396
  * Since (or perhaps _because_) it is the most important function in the whole
5663
6397
  * module, it is trivially simple.
5664
6398
  *