tinybase 8.6.0-beta.0 → 9.0.0-beta.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.
- package/@types/_internal/queries/with-schemas/index.d.ts +1 -2
- package/@types/_internal/ui/with-schemas/index.d.ts +8 -16
- package/@types/mergeable-store/index.d.ts +4 -4
- package/@types/mergeable-store/with-schemas/index.d.ts +41 -17
- package/@types/persisters/index.d.ts +34 -13
- package/@types/persisters/persister-durable-object-sql-storage/index.d.ts +9 -8
- package/@types/persisters/persister-durable-object-sql-storage/with-schemas/index.d.ts +10 -10
- package/@types/persisters/with-schemas/index.d.ts +72 -30
- package/@types/queries/index.d.ts +5 -7
- package/@types/queries/with-schemas/index.d.ts +9 -15
- package/@types/store/index.d.ts +1 -2
- package/@types/store/with-schemas/index.d.ts +19 -29
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +9 -3
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +10 -3
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +15 -2
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +17 -2
- package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +51 -0
- package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +51 -0
- package/@types/ui-react/with-schemas/index.d.ts +3 -6
- package/@types/ui-react-dom/with-schemas/index.d.ts +6 -12
- package/@types/ui-react-dom-charts/with-schemas/index.d.ts +3 -4
- package/@types/ui-solid/with-schemas/index.d.ts +4 -8
- package/@types/ui-solid-dom/with-schemas/index.d.ts +6 -12
- package/@types/ui-svelte-dom/with-schemas/index.d.ts +6 -12
- package/index.js +67 -25
- package/indexes/index.js +6 -8
- package/indexes/with-schemas/index.js +6 -8
- package/mergeable-store/index.js +46 -6
- package/mergeable-store/with-schemas/index.js +46 -6
- package/metrics/index.js +6 -8
- package/metrics/with-schemas/index.js +6 -8
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/omni/index.js +1 -1
- package/min/omni/index.js.gz +0 -0
- package/min/omni/with-schemas/index.js +1 -1
- package/min/omni/with-schemas/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-sql-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -1
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-react-native-mmkv/index.js +1 -1
- package/min/persisters/persister-react-native-mmkv/index.js.gz +0 -0
- package/min/persisters/persister-react-native-mmkv/with-schemas/index.js +1 -1
- package/min/persisters/persister-react-native-mmkv/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-yjs/index.js +1 -1
- package/min/persisters/persister-yjs/index.js.gz +0 -0
- package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/queries/index.js +1 -1
- package/min/queries/index.js.gz +0 -0
- package/min/queries/with-schemas/index.js +1 -1
- package/min/queries/with-schemas/index.js.gz +0 -0
- package/min/store/index.js +1 -1
- package/min/store/index.js.gz +0 -0
- package/min/store/with-schemas/index.js +1 -1
- package/min/store/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/ui-solid-inspector/index.js +1 -1
- package/min/ui-solid-inspector/index.js.gz +0 -0
- package/min/ui-solid-inspector/with-schemas/index.js +1 -1
- package/min/ui-solid-inspector/with-schemas/index.js.gz +0 -0
- package/min/ui-svelte-inspector/index.js +1 -1
- package/min/ui-svelte-inspector/index.js.gz +0 -0
- package/min/ui-svelte-inspector/with-schemas/index.js +1 -1
- package/min/ui-svelte-inspector/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/omni/index.js +364 -155
- package/omni/with-schemas/index.js +364 -155
- package/package.json +8 -8
- package/persisters/index.js +133 -40
- package/persisters/persister-automerge/index.js +4 -3
- package/persisters/persister-automerge/with-schemas/index.js +4 -3
- package/persisters/persister-browser/index.js +4 -3
- package/persisters/persister-browser/with-schemas/index.js +4 -3
- package/persisters/persister-cr-sqlite-wasm/index.js +133 -40
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +133 -40
- package/persisters/persister-durable-object-sql-storage/index.js +275 -113
- package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +275 -113
- package/persisters/persister-durable-object-storage/index.js +4 -3
- package/persisters/persister-durable-object-storage/with-schemas/index.js +4 -3
- package/persisters/persister-electric-sql/index.js +133 -40
- package/persisters/persister-electric-sql/with-schemas/index.js +133 -40
- package/persisters/persister-expo-sqlite/index.js +133 -40
- package/persisters/persister-expo-sqlite/with-schemas/index.js +133 -40
- package/persisters/persister-file/index.js +4 -3
- package/persisters/persister-file/with-schemas/index.js +4 -3
- package/persisters/persister-indexed-db/index.js +4 -3
- package/persisters/persister-indexed-db/with-schemas/index.js +4 -3
- package/persisters/persister-libsql/index.js +133 -40
- package/persisters/persister-libsql/with-schemas/index.js +133 -40
- package/persisters/persister-partykit-client/index.js +4 -3
- package/persisters/persister-partykit-client/with-schemas/index.js +4 -3
- package/persisters/persister-pglite/index.js +134 -40
- package/persisters/persister-pglite/with-schemas/index.js +134 -40
- package/persisters/persister-postgres/index.js +134 -40
- package/persisters/persister-postgres/with-schemas/index.js +134 -40
- package/persisters/persister-powersync/index.js +186 -120
- package/persisters/persister-powersync/with-schemas/index.js +186 -120
- package/persisters/persister-react-native-mmkv/index.js +4 -3
- package/persisters/persister-react-native-mmkv/with-schemas/index.js +4 -3
- package/persisters/persister-react-native-sqlite/index.js +133 -40
- package/persisters/persister-react-native-sqlite/with-schemas/index.js +133 -40
- package/persisters/persister-remote/index.js +4 -3
- package/persisters/persister-remote/with-schemas/index.js +4 -3
- package/persisters/persister-sqlite-bun/index.js +133 -40
- package/persisters/persister-sqlite-bun/with-schemas/index.js +133 -40
- package/persisters/persister-sqlite-wasm/index.js +133 -40
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +133 -40
- package/persisters/persister-sqlite3/index.js +133 -40
- package/persisters/persister-sqlite3/with-schemas/index.js +133 -40
- package/persisters/persister-yjs/index.js +4 -3
- package/persisters/persister-yjs/with-schemas/index.js +4 -3
- package/persisters/with-schemas/index.js +133 -40
- package/queries/index.js +21 -19
- package/queries/with-schemas/index.js +21 -19
- package/readme.md +14 -14
- package/relationships/index.js +6 -8
- package/relationships/with-schemas/index.js +6 -8
- package/releases.md +72 -57
- package/store/index.js +33 -2
- package/store/with-schemas/index.js +33 -2
- package/synchronizers/index.js +4 -3
- package/synchronizers/synchronizer-broadcast-channel/index.js +4 -3
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +4 -3
- package/synchronizers/synchronizer-local/index.js +4 -3
- package/synchronizers/synchronizer-local/with-schemas/index.js +4 -3
- package/synchronizers/synchronizer-ws-client/index.js +120 -45
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +120 -45
- package/synchronizers/synchronizer-ws-server/index.js +116 -36
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +116 -36
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +125 -41
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +125 -41
- package/synchronizers/with-schemas/index.js +4 -3
- package/ui-react-inspector/index.js +36 -5
- package/ui-react-inspector/with-schemas/index.js +36 -5
- package/ui-solid-inspector/index.js +36 -5
- package/ui-solid-inspector/with-schemas/index.js +36 -5
- package/ui-svelte/index.js +1 -1
- package/ui-svelte/with-schemas/index.js +1 -1
- package/ui-svelte-dom/index.js +2 -2
- package/ui-svelte-dom/with-schemas/index.js +2 -2
- package/ui-svelte-inspector/index.js +38 -7
- package/ui-svelte-inspector/with-schemas/index.js +38 -7
- package/with-schemas/index.js +67 -25
|
@@ -227,8 +227,7 @@ export type TableInHtmlTableProps<
|
|
|
227
227
|
| CellIdFromSchema<Schemas[0], TableId>[]
|
|
228
228
|
| {
|
|
229
229
|
[CellId in CellIdFromSchema<Schemas[0], TableId>]?:
|
|
230
|
-
|
|
|
231
|
-
| CustomCell<Schemas, TableId, CellId>;
|
|
230
|
+
string | CustomCell<Schemas, TableId, CellId>;
|
|
232
231
|
};
|
|
233
232
|
}
|
|
234
233
|
: never
|
|
@@ -307,8 +306,7 @@ export type SortedTableInHtmlTableProps<
|
|
|
307
306
|
| CellIdFromSchema<Schemas[0], TableId>[]
|
|
308
307
|
| {
|
|
309
308
|
[CellId in CellIdFromSchema<Schemas[0], TableId>]?:
|
|
310
|
-
|
|
|
311
|
-
| CustomCell<Schemas, TableId, CellId>;
|
|
309
|
+
string | CustomCell<Schemas, TableId, CellId>;
|
|
312
310
|
};
|
|
313
311
|
/**
|
|
314
312
|
* Whether the table should be interactive such that clicking a header changes
|
|
@@ -425,8 +423,7 @@ export type SliceInHtmlTableProps<Schemas extends OptionalSchemas> = {
|
|
|
425
423
|
* @since v8.4.0
|
|
426
424
|
*/
|
|
427
425
|
readonly customCells?:
|
|
428
|
-
|
|
|
429
|
-
| {[cellId: Id]: string | CustomCell<NoSchemas, Id, Id>};
|
|
426
|
+
Ids | {[cellId: Id]: string | CustomCell<NoSchemas, Id, Id>};
|
|
430
427
|
};
|
|
431
428
|
|
|
432
429
|
/**
|
|
@@ -476,8 +473,7 @@ export type RelationshipInHtmlTableProps<Schemas extends OptionalSchemas> = {
|
|
|
476
473
|
* @since v8.4.0
|
|
477
474
|
*/
|
|
478
475
|
readonly customCells?:
|
|
479
|
-
|
|
|
480
|
-
| {[cellId: Id]: string | CustomCell<NoSchemas, Id, Id>};
|
|
476
|
+
Ids | {[cellId: Id]: string | CustomCell<NoSchemas, Id, Id>};
|
|
481
477
|
};
|
|
482
478
|
|
|
483
479
|
/**
|
|
@@ -512,8 +508,7 @@ export type ResultTableInHtmlTableProps<Schemas extends OptionalSchemas> = {
|
|
|
512
508
|
* @since v8.4.0
|
|
513
509
|
*/
|
|
514
510
|
readonly customCells?:
|
|
515
|
-
|
|
|
516
|
-
| {[cellId: Id]: string | CustomResultCell<Schemas>};
|
|
511
|
+
Ids | {[cellId: Id]: string | CustomResultCell<Schemas>};
|
|
517
512
|
};
|
|
518
513
|
|
|
519
514
|
/**
|
|
@@ -575,8 +570,7 @@ export type ResultSortedTableInHtmlTableProps<Schemas extends OptionalSchemas> =
|
|
|
575
570
|
* @since v8.4.0
|
|
576
571
|
*/
|
|
577
572
|
readonly customCells?:
|
|
578
|
-
|
|
|
579
|
-
| {[cellId: Id]: string | CustomResultCell<Schemas>};
|
|
573
|
+
Ids | {[cellId: Id]: string | CustomResultCell<Schemas>};
|
|
580
574
|
/**
|
|
581
575
|
* Whether the table should be interactive such that clicking a header changes
|
|
582
576
|
* the sorting and/or direction.
|
|
@@ -225,8 +225,7 @@ export type TableInHtmlTableProps<
|
|
|
225
225
|
| CellIdFromSchema<Schemas[0], TableId>[]
|
|
226
226
|
| {
|
|
227
227
|
[CellId in CellIdFromSchema<Schemas[0], TableId>]?:
|
|
228
|
-
|
|
|
229
|
-
| CustomCell<Schemas, TableId, CellId>;
|
|
228
|
+
string | CustomCell<Schemas, TableId, CellId>;
|
|
230
229
|
};
|
|
231
230
|
}
|
|
232
231
|
: never
|
|
@@ -305,8 +304,7 @@ export type SortedTableInHtmlTableProps<
|
|
|
305
304
|
| CellIdFromSchema<Schemas[0], TableId>[]
|
|
306
305
|
| {
|
|
307
306
|
[CellId in CellIdFromSchema<Schemas[0], TableId>]?:
|
|
308
|
-
|
|
|
309
|
-
| CustomCell<Schemas, TableId, CellId>;
|
|
307
|
+
string | CustomCell<Schemas, TableId, CellId>;
|
|
310
308
|
};
|
|
311
309
|
/**
|
|
312
310
|
* Whether the table should be interactive such that clicking a header changes
|
|
@@ -423,8 +421,7 @@ export type SliceInHtmlTableProps<Schemas extends OptionalSchemas> = {
|
|
|
423
421
|
* @since v4.1.0
|
|
424
422
|
*/
|
|
425
423
|
readonly customCells?:
|
|
426
|
-
|
|
|
427
|
-
| {[cellId: Id]: string | CustomCell<NoSchemas, Id, Id>};
|
|
424
|
+
Ids | {[cellId: Id]: string | CustomCell<NoSchemas, Id, Id>};
|
|
428
425
|
};
|
|
429
426
|
|
|
430
427
|
/**
|
|
@@ -474,8 +471,7 @@ export type RelationshipInHtmlTableProps<Schemas extends OptionalSchemas> = {
|
|
|
474
471
|
* @since v4.1.0
|
|
475
472
|
*/
|
|
476
473
|
readonly customCells?:
|
|
477
|
-
|
|
|
478
|
-
| {[cellId: Id]: string | CustomCell<NoSchemas, Id, Id>};
|
|
474
|
+
Ids | {[cellId: Id]: string | CustomCell<NoSchemas, Id, Id>};
|
|
479
475
|
};
|
|
480
476
|
|
|
481
477
|
/**
|
|
@@ -510,8 +506,7 @@ export type ResultTableInHtmlTableProps<Schemas extends OptionalSchemas> = {
|
|
|
510
506
|
* @since v4.1.0
|
|
511
507
|
*/
|
|
512
508
|
readonly customCells?:
|
|
513
|
-
|
|
|
514
|
-
| {[cellId: Id]: string | CustomResultCell<Schemas>};
|
|
509
|
+
Ids | {[cellId: Id]: string | CustomResultCell<Schemas>};
|
|
515
510
|
};
|
|
516
511
|
|
|
517
512
|
/**
|
|
@@ -573,8 +568,7 @@ export type ResultSortedTableInHtmlTableProps<Schemas extends OptionalSchemas> =
|
|
|
573
568
|
* @since v4.1.0
|
|
574
569
|
*/
|
|
575
570
|
readonly customCells?:
|
|
576
|
-
|
|
|
577
|
-
| {[cellId: Id]: string | CustomResultCell<Schemas>};
|
|
571
|
+
Ids | {[cellId: Id]: string | CustomResultCell<Schemas>};
|
|
578
572
|
/**
|
|
579
573
|
* Whether the table should be interactive such that clicking a header changes
|
|
580
574
|
* the sorting and/or direction.
|
package/index.js
CHANGED
|
@@ -339,14 +339,12 @@ const getDefinableFunctions = (
|
|
|
339
339
|
const newRowValue = hasRow(tableId, rowId)
|
|
340
340
|
? validateRowValue(getRowValue(getCell, rowId))
|
|
341
341
|
: void 0;
|
|
342
|
-
if (
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
)
|
|
349
|
-
) {
|
|
342
|
+
if (!(
|
|
343
|
+
oldRowValue === newRowValue ||
|
|
344
|
+
(isArray(oldRowValue) &&
|
|
345
|
+
isArray(newRowValue) &&
|
|
346
|
+
arrayIsEqual(oldRowValue, newRowValue))
|
|
347
|
+
)) {
|
|
350
348
|
mapSet(changedRowValues, rowId, [oldRowValue, newRowValue]);
|
|
351
349
|
}
|
|
352
350
|
if (!isUndefined(getSortKey)) {
|
|
@@ -1227,8 +1225,10 @@ const createStore = () => {
|
|
|
1227
1225
|
const changedRowIds = mapNew();
|
|
1228
1226
|
const changedCellIds = mapNew();
|
|
1229
1227
|
const changedCells = mapNew();
|
|
1228
|
+
const defaultedCells = mapNew();
|
|
1230
1229
|
const changedValueIds = mapNew();
|
|
1231
1230
|
const changedValues = mapNew();
|
|
1231
|
+
const defaultedValues = setNew();
|
|
1232
1232
|
const invalidCells = mapNew();
|
|
1233
1233
|
const invalidValues = mapNew();
|
|
1234
1234
|
const tablesSchemaMap = mapNew();
|
|
@@ -1402,6 +1402,16 @@ const createStore = () => {
|
|
|
1402
1402
|
collForEach(rowDefaulted, (cell, cellId) => {
|
|
1403
1403
|
if (!objHas(row, cellId)) {
|
|
1404
1404
|
row[cellId] = cell;
|
|
1405
|
+
ifNotUndefined(rowId, (rowId2) =>
|
|
1406
|
+
setAdd(
|
|
1407
|
+
mapEnsure(
|
|
1408
|
+
mapEnsure(defaultedCells, tableId, mapNew),
|
|
1409
|
+
rowId2,
|
|
1410
|
+
setNew,
|
|
1411
|
+
),
|
|
1412
|
+
cellId,
|
|
1413
|
+
),
|
|
1414
|
+
);
|
|
1405
1415
|
}
|
|
1406
1416
|
});
|
|
1407
1417
|
collForEach(rowNonDefaulted, (cellId) => {
|
|
@@ -1418,6 +1428,7 @@ const createStore = () => {
|
|
|
1418
1428
|
collForEach(valuesDefaulted, (value, valueId) => {
|
|
1419
1429
|
if (!objHas(values, valueId)) {
|
|
1420
1430
|
values[valueId] = value;
|
|
1431
|
+
setAdd(defaultedValues, valueId);
|
|
1421
1432
|
}
|
|
1422
1433
|
});
|
|
1423
1434
|
collForEach(valuesNonDefaulted, (valueId) => {
|
|
@@ -1821,18 +1832,34 @@ const createStore = () => {
|
|
|
1821
1832
|
);
|
|
1822
1833
|
};
|
|
1823
1834
|
const cellChanged = (tableId, rowId, cellId, oldCell, newCell) => {
|
|
1835
|
+
const defaulted =
|
|
1836
|
+
collHas(mapGet(mapGet(defaultedCells, tableId), rowId), cellId) &&
|
|
1837
|
+
isUndefined(oldCell)
|
|
1838
|
+
? 1
|
|
1839
|
+
: 0;
|
|
1824
1840
|
mapEnsure(
|
|
1825
1841
|
mapEnsure(mapEnsure(changedCells, tableId, mapNew), rowId, mapNew),
|
|
1826
1842
|
cellId,
|
|
1827
1843
|
() => [oldCell, 0],
|
|
1828
1844
|
)[1] = newCell;
|
|
1829
|
-
internalListeners[3]?.(
|
|
1845
|
+
internalListeners[3]?.(
|
|
1846
|
+
tableId,
|
|
1847
|
+
rowId,
|
|
1848
|
+
cellId,
|
|
1849
|
+
newCell,
|
|
1850
|
+
mutating,
|
|
1851
|
+
defaulted,
|
|
1852
|
+
);
|
|
1853
|
+
collDel(mapGet(mapGet(defaultedCells, tableId), rowId), cellId);
|
|
1830
1854
|
};
|
|
1831
1855
|
const valueIdsChanged = (valueId, addedOrRemoved) =>
|
|
1832
1856
|
idsChanged(changedValueIds, valueId, addedOrRemoved);
|
|
1833
1857
|
const valueChanged = (valueId, oldValue, newValue) => {
|
|
1858
|
+
const defaulted =
|
|
1859
|
+
collHas(defaultedValues, valueId) && isUndefined(oldValue) ? 1 : 0;
|
|
1834
1860
|
mapEnsure(changedValues, valueId, () => [oldValue, 0])[1] = newValue;
|
|
1835
|
-
internalListeners[4]?.(valueId, newValue, mutating);
|
|
1861
|
+
internalListeners[4]?.(valueId, newValue, mutating, defaulted);
|
|
1862
|
+
collDel(defaultedValues, valueId);
|
|
1836
1863
|
};
|
|
1837
1864
|
const cellInvalid = (tableId, rowId, cellId, invalidCell, defaultedCell) => {
|
|
1838
1865
|
arrayPush(
|
|
@@ -2620,9 +2647,11 @@ const createStore = () => {
|
|
|
2620
2647
|
changedRowIds,
|
|
2621
2648
|
changedCellIds,
|
|
2622
2649
|
changedCells,
|
|
2650
|
+
defaultedCells,
|
|
2623
2651
|
invalidCells,
|
|
2624
2652
|
changedValueIds,
|
|
2625
2653
|
changedValues,
|
|
2654
|
+
defaultedValues,
|
|
2626
2655
|
invalidValues,
|
|
2627
2656
|
],
|
|
2628
2657
|
collClear,
|
|
@@ -3127,7 +3156,14 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
3127
3156
|
collClear(touchedCells);
|
|
3128
3157
|
collClear(touchedValues);
|
|
3129
3158
|
};
|
|
3130
|
-
const cellChanged = (
|
|
3159
|
+
const cellChanged = (
|
|
3160
|
+
tableId,
|
|
3161
|
+
rowId,
|
|
3162
|
+
cellId,
|
|
3163
|
+
newCell,
|
|
3164
|
+
mutating,
|
|
3165
|
+
defaulted,
|
|
3166
|
+
) => {
|
|
3131
3167
|
setAdd(
|
|
3132
3168
|
mapEnsure(mapEnsure(touchedCells, tableId, mapNew), rowId, setNew),
|
|
3133
3169
|
cellId,
|
|
@@ -3145,7 +3181,9 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
3145
3181
|
{
|
|
3146
3182
|
[cellId]: [
|
|
3147
3183
|
newCell,
|
|
3148
|
-
defaultingContent
|
|
3184
|
+
defaultingContent || defaulted
|
|
3185
|
+
? EMPTY_STRING
|
|
3186
|
+
: getNextHlc(),
|
|
3149
3187
|
],
|
|
3150
3188
|
},
|
|
3151
3189
|
],
|
|
@@ -3158,7 +3196,7 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
3158
3196
|
]);
|
|
3159
3197
|
}
|
|
3160
3198
|
};
|
|
3161
|
-
const valueChanged = (valueId, newValue, mutating) => {
|
|
3199
|
+
const valueChanged = (valueId, newValue, mutating, defaulted) => {
|
|
3162
3200
|
setAdd(touchedValues, valueId);
|
|
3163
3201
|
if (listeningToRawStoreChanges || mutating) {
|
|
3164
3202
|
if (mutating) {
|
|
@@ -3170,7 +3208,7 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
3170
3208
|
{
|
|
3171
3209
|
[valueId]: [
|
|
3172
3210
|
newValue,
|
|
3173
|
-
defaultingContent ? EMPTY_STRING : getNextHlc(),
|
|
3211
|
+
defaultingContent || defaulted ? EMPTY_STRING : getNextHlc(),
|
|
3174
3212
|
],
|
|
3175
3213
|
},
|
|
3176
3214
|
],
|
|
@@ -3753,9 +3791,9 @@ const PARAMS_TABLE = '_';
|
|
|
3753
3791
|
const PARAM_LISTENER_PREFIX = 'p';
|
|
3754
3792
|
const createQueries = getCreateFunction((store) => {
|
|
3755
3793
|
const createStore = store._[0];
|
|
3756
|
-
const preStore = createStore();
|
|
3757
3794
|
const paramStore = createStore();
|
|
3758
3795
|
const resultStore = createStore();
|
|
3796
|
+
const preStores = mapNew();
|
|
3759
3797
|
const resultStores = mapNew();
|
|
3760
3798
|
const redefiningQueryIds = setNew();
|
|
3761
3799
|
const routedResultListeners = mapNew();
|
|
@@ -3798,12 +3836,13 @@ const createQueries = getCreateFunction((store) => {
|
|
|
3798
3836
|
);
|
|
3799
3837
|
const getResultStore = (queryId) =>
|
|
3800
3838
|
mapEnsure(resultStores, queryId, createStore);
|
|
3801
|
-
const
|
|
3839
|
+
const getPreStore = (queryId) => mapEnsure(preStores, queryId, createStore);
|
|
3840
|
+
const addPreStoreListener = (preStore, queryId, ...listenerIds) =>
|
|
3802
3841
|
arrayForEach(listenerIds, (listenerId) =>
|
|
3803
3842
|
setAdd(
|
|
3804
3843
|
mapEnsure(
|
|
3805
3844
|
mapEnsure(preStoreListenerIds, queryId, mapNew),
|
|
3806
|
-
|
|
3845
|
+
preStore,
|
|
3807
3846
|
setNew,
|
|
3808
3847
|
),
|
|
3809
3848
|
listenerId,
|
|
@@ -3813,16 +3852,17 @@ const createQueries = getCreateFunction((store) => {
|
|
|
3813
3852
|
ifNotUndefined(
|
|
3814
3853
|
mapGet(preStoreListenerIds, queryId),
|
|
3815
3854
|
(queryPreStoreListenerIds) => {
|
|
3816
|
-
mapForEach(queryPreStoreListenerIds, (
|
|
3855
|
+
mapForEach(queryPreStoreListenerIds, (preStore, listenerIds) =>
|
|
3817
3856
|
collForEach(listenerIds, (listenerId) =>
|
|
3818
|
-
|
|
3857
|
+
preStore.delListener(listenerId),
|
|
3819
3858
|
),
|
|
3820
3859
|
);
|
|
3821
3860
|
collClear(queryPreStoreListenerIds);
|
|
3822
3861
|
},
|
|
3823
3862
|
);
|
|
3824
|
-
arrayForEach(
|
|
3825
|
-
|
|
3863
|
+
arrayForEach(
|
|
3864
|
+
[getResultStore(queryId), mapGet(preStores, queryId)],
|
|
3865
|
+
(store2) => store2?.delTable(queryId),
|
|
3826
3866
|
);
|
|
3827
3867
|
};
|
|
3828
3868
|
const addSourceStoreListeners = (
|
|
@@ -4050,10 +4090,12 @@ const createQueries = getCreateFunction((store) => {
|
|
|
4050
4090
|
),
|
|
4051
4091
|
);
|
|
4052
4092
|
const groups = mapNew(groupEntries);
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4056
|
-
|
|
4093
|
+
const hasGroupsOrHavings =
|
|
4094
|
+
!collIsEmpty(groups) || !arrayIsEmpty(havings);
|
|
4095
|
+
const selectJoinWhereStore = hasGroupsOrHavings
|
|
4096
|
+
? getPreStore(queryId)
|
|
4097
|
+
: resultStore2;
|
|
4098
|
+
if (hasGroupsOrHavings) {
|
|
4057
4099
|
synchronizeTransactions(queryId, selectJoinWhereStore, resultStore2);
|
|
4058
4100
|
const groupedSelectedCellIds = mapNew();
|
|
4059
4101
|
mapForEach(groups, (groupedCellId, [selectedCellId, aggregators]) =>
|
package/indexes/index.js
CHANGED
|
@@ -153,14 +153,12 @@ const getDefinableFunctions = (
|
|
|
153
153
|
const newRowValue = hasRow(tableId, rowId)
|
|
154
154
|
? validateRowValue(getRowValue(getCell, rowId))
|
|
155
155
|
: void 0;
|
|
156
|
-
if (
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
)
|
|
163
|
-
) {
|
|
156
|
+
if (!(
|
|
157
|
+
oldRowValue === newRowValue ||
|
|
158
|
+
(isArray(oldRowValue) &&
|
|
159
|
+
isArray(newRowValue) &&
|
|
160
|
+
arrayIsEqual(oldRowValue, newRowValue))
|
|
161
|
+
)) {
|
|
164
162
|
mapSet(changedRowValues, rowId, [oldRowValue, newRowValue]);
|
|
165
163
|
}
|
|
166
164
|
if (!isUndefined(getSortKey)) {
|
|
@@ -153,14 +153,12 @@ const getDefinableFunctions = (
|
|
|
153
153
|
const newRowValue = hasRow(tableId, rowId)
|
|
154
154
|
? validateRowValue(getRowValue(getCell, rowId))
|
|
155
155
|
: void 0;
|
|
156
|
-
if (
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
)
|
|
163
|
-
) {
|
|
156
|
+
if (!(
|
|
157
|
+
oldRowValue === newRowValue ||
|
|
158
|
+
(isArray(oldRowValue) &&
|
|
159
|
+
isArray(newRowValue) &&
|
|
160
|
+
arrayIsEqual(oldRowValue, newRowValue))
|
|
161
|
+
)) {
|
|
164
162
|
mapSet(changedRowValues, rowId, [oldRowValue, newRowValue]);
|
|
165
163
|
}
|
|
166
164
|
if (!isUndefined(getSortKey)) {
|
package/mergeable-store/index.js
CHANGED
|
@@ -557,8 +557,10 @@ const createStore = () => {
|
|
|
557
557
|
const changedRowIds = mapNew();
|
|
558
558
|
const changedCellIds = mapNew();
|
|
559
559
|
const changedCells = mapNew();
|
|
560
|
+
const defaultedCells = mapNew();
|
|
560
561
|
const changedValueIds = mapNew();
|
|
561
562
|
const changedValues = mapNew();
|
|
563
|
+
const defaultedValues = setNew();
|
|
562
564
|
const invalidCells = mapNew();
|
|
563
565
|
const invalidValues = mapNew();
|
|
564
566
|
const tablesSchemaMap = mapNew();
|
|
@@ -732,6 +734,16 @@ const createStore = () => {
|
|
|
732
734
|
collForEach(rowDefaulted, (cell, cellId) => {
|
|
733
735
|
if (!objHas(row, cellId)) {
|
|
734
736
|
row[cellId] = cell;
|
|
737
|
+
ifNotUndefined(rowId, (rowId2) =>
|
|
738
|
+
setAdd(
|
|
739
|
+
mapEnsure(
|
|
740
|
+
mapEnsure(defaultedCells, tableId, mapNew),
|
|
741
|
+
rowId2,
|
|
742
|
+
setNew,
|
|
743
|
+
),
|
|
744
|
+
cellId,
|
|
745
|
+
),
|
|
746
|
+
);
|
|
735
747
|
}
|
|
736
748
|
});
|
|
737
749
|
collForEach(rowNonDefaulted, (cellId) => {
|
|
@@ -748,6 +760,7 @@ const createStore = () => {
|
|
|
748
760
|
collForEach(valuesDefaulted, (value, valueId) => {
|
|
749
761
|
if (!objHas(values, valueId)) {
|
|
750
762
|
values[valueId] = value;
|
|
763
|
+
setAdd(defaultedValues, valueId);
|
|
751
764
|
}
|
|
752
765
|
});
|
|
753
766
|
collForEach(valuesNonDefaulted, (valueId) => {
|
|
@@ -1151,18 +1164,34 @@ const createStore = () => {
|
|
|
1151
1164
|
);
|
|
1152
1165
|
};
|
|
1153
1166
|
const cellChanged = (tableId, rowId, cellId, oldCell, newCell) => {
|
|
1167
|
+
const defaulted =
|
|
1168
|
+
collHas(mapGet(mapGet(defaultedCells, tableId), rowId), cellId) &&
|
|
1169
|
+
isUndefined(oldCell)
|
|
1170
|
+
? 1
|
|
1171
|
+
: 0;
|
|
1154
1172
|
mapEnsure(
|
|
1155
1173
|
mapEnsure(mapEnsure(changedCells, tableId, mapNew), rowId, mapNew),
|
|
1156
1174
|
cellId,
|
|
1157
1175
|
() => [oldCell, 0],
|
|
1158
1176
|
)[1] = newCell;
|
|
1159
|
-
internalListeners[3]?.(
|
|
1177
|
+
internalListeners[3]?.(
|
|
1178
|
+
tableId,
|
|
1179
|
+
rowId,
|
|
1180
|
+
cellId,
|
|
1181
|
+
newCell,
|
|
1182
|
+
mutating,
|
|
1183
|
+
defaulted,
|
|
1184
|
+
);
|
|
1185
|
+
collDel(mapGet(mapGet(defaultedCells, tableId), rowId), cellId);
|
|
1160
1186
|
};
|
|
1161
1187
|
const valueIdsChanged = (valueId, addedOrRemoved) =>
|
|
1162
1188
|
idsChanged(changedValueIds, valueId, addedOrRemoved);
|
|
1163
1189
|
const valueChanged = (valueId, oldValue, newValue) => {
|
|
1190
|
+
const defaulted =
|
|
1191
|
+
collHas(defaultedValues, valueId) && isUndefined(oldValue) ? 1 : 0;
|
|
1164
1192
|
mapEnsure(changedValues, valueId, () => [oldValue, 0])[1] = newValue;
|
|
1165
|
-
internalListeners[4]?.(valueId, newValue, mutating);
|
|
1193
|
+
internalListeners[4]?.(valueId, newValue, mutating, defaulted);
|
|
1194
|
+
collDel(defaultedValues, valueId);
|
|
1166
1195
|
};
|
|
1167
1196
|
const cellInvalid = (tableId, rowId, cellId, invalidCell, defaultedCell) => {
|
|
1168
1197
|
arrayPush(
|
|
@@ -1950,9 +1979,11 @@ const createStore = () => {
|
|
|
1950
1979
|
changedRowIds,
|
|
1951
1980
|
changedCellIds,
|
|
1952
1981
|
changedCells,
|
|
1982
|
+
defaultedCells,
|
|
1953
1983
|
invalidCells,
|
|
1954
1984
|
changedValueIds,
|
|
1955
1985
|
changedValues,
|
|
1986
|
+
defaultedValues,
|
|
1956
1987
|
invalidValues,
|
|
1957
1988
|
],
|
|
1958
1989
|
collClear,
|
|
@@ -2457,7 +2488,14 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
2457
2488
|
collClear(touchedCells);
|
|
2458
2489
|
collClear(touchedValues);
|
|
2459
2490
|
};
|
|
2460
|
-
const cellChanged = (
|
|
2491
|
+
const cellChanged = (
|
|
2492
|
+
tableId,
|
|
2493
|
+
rowId,
|
|
2494
|
+
cellId,
|
|
2495
|
+
newCell,
|
|
2496
|
+
mutating,
|
|
2497
|
+
defaulted,
|
|
2498
|
+
) => {
|
|
2461
2499
|
setAdd(
|
|
2462
2500
|
mapEnsure(mapEnsure(touchedCells, tableId, mapNew), rowId, setNew),
|
|
2463
2501
|
cellId,
|
|
@@ -2475,7 +2513,9 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
2475
2513
|
{
|
|
2476
2514
|
[cellId]: [
|
|
2477
2515
|
newCell,
|
|
2478
|
-
defaultingContent
|
|
2516
|
+
defaultingContent || defaulted
|
|
2517
|
+
? EMPTY_STRING
|
|
2518
|
+
: getNextHlc(),
|
|
2479
2519
|
],
|
|
2480
2520
|
},
|
|
2481
2521
|
],
|
|
@@ -2488,7 +2528,7 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
2488
2528
|
]);
|
|
2489
2529
|
}
|
|
2490
2530
|
};
|
|
2491
|
-
const valueChanged = (valueId, newValue, mutating) => {
|
|
2531
|
+
const valueChanged = (valueId, newValue, mutating, defaulted) => {
|
|
2492
2532
|
setAdd(touchedValues, valueId);
|
|
2493
2533
|
if (listeningToRawStoreChanges || mutating) {
|
|
2494
2534
|
if (mutating) {
|
|
@@ -2500,7 +2540,7 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
2500
2540
|
{
|
|
2501
2541
|
[valueId]: [
|
|
2502
2542
|
newValue,
|
|
2503
|
-
defaultingContent ? EMPTY_STRING : getNextHlc(),
|
|
2543
|
+
defaultingContent || defaulted ? EMPTY_STRING : getNextHlc(),
|
|
2504
2544
|
],
|
|
2505
2545
|
},
|
|
2506
2546
|
],
|
|
@@ -557,8 +557,10 @@ const createStore = () => {
|
|
|
557
557
|
const changedRowIds = mapNew();
|
|
558
558
|
const changedCellIds = mapNew();
|
|
559
559
|
const changedCells = mapNew();
|
|
560
|
+
const defaultedCells = mapNew();
|
|
560
561
|
const changedValueIds = mapNew();
|
|
561
562
|
const changedValues = mapNew();
|
|
563
|
+
const defaultedValues = setNew();
|
|
562
564
|
const invalidCells = mapNew();
|
|
563
565
|
const invalidValues = mapNew();
|
|
564
566
|
const tablesSchemaMap = mapNew();
|
|
@@ -732,6 +734,16 @@ const createStore = () => {
|
|
|
732
734
|
collForEach(rowDefaulted, (cell, cellId) => {
|
|
733
735
|
if (!objHas(row, cellId)) {
|
|
734
736
|
row[cellId] = cell;
|
|
737
|
+
ifNotUndefined(rowId, (rowId2) =>
|
|
738
|
+
setAdd(
|
|
739
|
+
mapEnsure(
|
|
740
|
+
mapEnsure(defaultedCells, tableId, mapNew),
|
|
741
|
+
rowId2,
|
|
742
|
+
setNew,
|
|
743
|
+
),
|
|
744
|
+
cellId,
|
|
745
|
+
),
|
|
746
|
+
);
|
|
735
747
|
}
|
|
736
748
|
});
|
|
737
749
|
collForEach(rowNonDefaulted, (cellId) => {
|
|
@@ -748,6 +760,7 @@ const createStore = () => {
|
|
|
748
760
|
collForEach(valuesDefaulted, (value, valueId) => {
|
|
749
761
|
if (!objHas(values, valueId)) {
|
|
750
762
|
values[valueId] = value;
|
|
763
|
+
setAdd(defaultedValues, valueId);
|
|
751
764
|
}
|
|
752
765
|
});
|
|
753
766
|
collForEach(valuesNonDefaulted, (valueId) => {
|
|
@@ -1151,18 +1164,34 @@ const createStore = () => {
|
|
|
1151
1164
|
);
|
|
1152
1165
|
};
|
|
1153
1166
|
const cellChanged = (tableId, rowId, cellId, oldCell, newCell) => {
|
|
1167
|
+
const defaulted =
|
|
1168
|
+
collHas(mapGet(mapGet(defaultedCells, tableId), rowId), cellId) &&
|
|
1169
|
+
isUndefined(oldCell)
|
|
1170
|
+
? 1
|
|
1171
|
+
: 0;
|
|
1154
1172
|
mapEnsure(
|
|
1155
1173
|
mapEnsure(mapEnsure(changedCells, tableId, mapNew), rowId, mapNew),
|
|
1156
1174
|
cellId,
|
|
1157
1175
|
() => [oldCell, 0],
|
|
1158
1176
|
)[1] = newCell;
|
|
1159
|
-
internalListeners[3]?.(
|
|
1177
|
+
internalListeners[3]?.(
|
|
1178
|
+
tableId,
|
|
1179
|
+
rowId,
|
|
1180
|
+
cellId,
|
|
1181
|
+
newCell,
|
|
1182
|
+
mutating,
|
|
1183
|
+
defaulted,
|
|
1184
|
+
);
|
|
1185
|
+
collDel(mapGet(mapGet(defaultedCells, tableId), rowId), cellId);
|
|
1160
1186
|
};
|
|
1161
1187
|
const valueIdsChanged = (valueId, addedOrRemoved) =>
|
|
1162
1188
|
idsChanged(changedValueIds, valueId, addedOrRemoved);
|
|
1163
1189
|
const valueChanged = (valueId, oldValue, newValue) => {
|
|
1190
|
+
const defaulted =
|
|
1191
|
+
collHas(defaultedValues, valueId) && isUndefined(oldValue) ? 1 : 0;
|
|
1164
1192
|
mapEnsure(changedValues, valueId, () => [oldValue, 0])[1] = newValue;
|
|
1165
|
-
internalListeners[4]?.(valueId, newValue, mutating);
|
|
1193
|
+
internalListeners[4]?.(valueId, newValue, mutating, defaulted);
|
|
1194
|
+
collDel(defaultedValues, valueId);
|
|
1166
1195
|
};
|
|
1167
1196
|
const cellInvalid = (tableId, rowId, cellId, invalidCell, defaultedCell) => {
|
|
1168
1197
|
arrayPush(
|
|
@@ -1950,9 +1979,11 @@ const createStore = () => {
|
|
|
1950
1979
|
changedRowIds,
|
|
1951
1980
|
changedCellIds,
|
|
1952
1981
|
changedCells,
|
|
1982
|
+
defaultedCells,
|
|
1953
1983
|
invalidCells,
|
|
1954
1984
|
changedValueIds,
|
|
1955
1985
|
changedValues,
|
|
1986
|
+
defaultedValues,
|
|
1956
1987
|
invalidValues,
|
|
1957
1988
|
],
|
|
1958
1989
|
collClear,
|
|
@@ -2457,7 +2488,14 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
2457
2488
|
collClear(touchedCells);
|
|
2458
2489
|
collClear(touchedValues);
|
|
2459
2490
|
};
|
|
2460
|
-
const cellChanged = (
|
|
2491
|
+
const cellChanged = (
|
|
2492
|
+
tableId,
|
|
2493
|
+
rowId,
|
|
2494
|
+
cellId,
|
|
2495
|
+
newCell,
|
|
2496
|
+
mutating,
|
|
2497
|
+
defaulted,
|
|
2498
|
+
) => {
|
|
2461
2499
|
setAdd(
|
|
2462
2500
|
mapEnsure(mapEnsure(touchedCells, tableId, mapNew), rowId, setNew),
|
|
2463
2501
|
cellId,
|
|
@@ -2475,7 +2513,9 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
2475
2513
|
{
|
|
2476
2514
|
[cellId]: [
|
|
2477
2515
|
newCell,
|
|
2478
|
-
defaultingContent
|
|
2516
|
+
defaultingContent || defaulted
|
|
2517
|
+
? EMPTY_STRING
|
|
2518
|
+
: getNextHlc(),
|
|
2479
2519
|
],
|
|
2480
2520
|
},
|
|
2481
2521
|
],
|
|
@@ -2488,7 +2528,7 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
2488
2528
|
]);
|
|
2489
2529
|
}
|
|
2490
2530
|
};
|
|
2491
|
-
const valueChanged = (valueId, newValue, mutating) => {
|
|
2531
|
+
const valueChanged = (valueId, newValue, mutating, defaulted) => {
|
|
2492
2532
|
setAdd(touchedValues, valueId);
|
|
2493
2533
|
if (listeningToRawStoreChanges || mutating) {
|
|
2494
2534
|
if (mutating) {
|
|
@@ -2500,7 +2540,7 @@ const createMergeableStore = (uniqueId, getNow) => {
|
|
|
2500
2540
|
{
|
|
2501
2541
|
[valueId]: [
|
|
2502
2542
|
newValue,
|
|
2503
|
-
defaultingContent ? EMPTY_STRING : getNextHlc(),
|
|
2543
|
+
defaultingContent || defaulted ? EMPTY_STRING : getNextHlc(),
|
|
2504
2544
|
],
|
|
2505
2545
|
},
|
|
2506
2546
|
],
|
package/metrics/index.js
CHANGED
|
@@ -227,14 +227,12 @@ const getDefinableFunctions = (
|
|
|
227
227
|
const newRowValue = hasRow(tableId, rowId)
|
|
228
228
|
? validateRowValue(getRowValue(getCell, rowId))
|
|
229
229
|
: void 0;
|
|
230
|
-
if (
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
)
|
|
237
|
-
) {
|
|
230
|
+
if (!(
|
|
231
|
+
oldRowValue === newRowValue ||
|
|
232
|
+
(isArray(oldRowValue) &&
|
|
233
|
+
isArray(newRowValue) &&
|
|
234
|
+
arrayIsEqual(oldRowValue, newRowValue))
|
|
235
|
+
)) {
|
|
238
236
|
mapSet(changedRowValues, rowId, [oldRowValue, newRowValue]);
|
|
239
237
|
}
|
|
240
238
|
if (!isUndefined(getSortKey)) {
|
|
@@ -227,14 +227,12 @@ const getDefinableFunctions = (
|
|
|
227
227
|
const newRowValue = hasRow(tableId, rowId)
|
|
228
228
|
? validateRowValue(getRowValue(getCell, rowId))
|
|
229
229
|
: void 0;
|
|
230
|
-
if (
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
)
|
|
237
|
-
) {
|
|
230
|
+
if (!(
|
|
231
|
+
oldRowValue === newRowValue ||
|
|
232
|
+
(isArray(oldRowValue) &&
|
|
233
|
+
isArray(newRowValue) &&
|
|
234
|
+
arrayIsEqual(oldRowValue, newRowValue))
|
|
235
|
+
)) {
|
|
238
236
|
mapSet(changedRowValues, rowId, [oldRowValue, newRowValue]);
|
|
239
237
|
}
|
|
240
238
|
if (!isUndefined(getSortKey)) {
|