tinybase 3.2.0-beta.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +1 -1
- package/lib/checkpoints.js +1 -1
- package/lib/checkpoints.js.gz +0 -0
- package/lib/cjs/checkpoints.cjs +1 -1
- package/lib/cjs/checkpoints.cjs.gz +0 -0
- package/lib/cjs/indexes.cjs +1 -1
- package/lib/cjs/indexes.cjs.gz +0 -0
- package/lib/cjs/metrics.cjs +1 -1
- package/lib/cjs/metrics.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/queries.cjs +1 -1
- package/lib/cjs/queries.cjs.gz +0 -0
- package/lib/cjs/relationships.cjs +1 -1
- package/lib/cjs/relationships.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs/ui-react.cjs +1 -1
- package/lib/cjs/ui-react.cjs.gz +0 -0
- package/lib/cjs-es6/checkpoints.cjs +1 -1
- package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
- package/lib/cjs-es6/indexes.cjs +1 -1
- package/lib/cjs-es6/indexes.cjs.gz +0 -0
- package/lib/cjs-es6/metrics.cjs +1 -1
- package/lib/cjs-es6/metrics.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/queries.cjs +1 -1
- package/lib/cjs-es6/queries.cjs.gz +0 -0
- package/lib/cjs-es6/relationships.cjs +1 -1
- package/lib/cjs-es6/relationships.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/checkpoints.js +2 -2
- package/lib/debug/indexes.js +2 -2
- package/lib/debug/metrics.js +2 -2
- package/lib/debug/persisters.js +2 -2
- package/lib/debug/queries.js +1 -1
- package/lib/debug/relationships.js +2 -2
- package/lib/debug/store.js +89 -48
- package/lib/debug/tinybase.js +92 -51
- package/lib/debug/tools.js +106 -5
- package/lib/debug/ui-react.js +27 -2
- package/lib/es6/checkpoints.js +1 -1
- package/lib/es6/checkpoints.js.gz +0 -0
- package/lib/es6/indexes.js +1 -1
- package/lib/es6/indexes.js.gz +0 -0
- package/lib/es6/metrics.js +1 -1
- package/lib/es6/metrics.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/queries.js +1 -1
- package/lib/es6/queries.js.gz +0 -0
- package/lib/es6/relationships.js +1 -1
- package/lib/es6/relationships.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/indexes.js +1 -1
- package/lib/indexes.js.gz +0 -0
- package/lib/metrics.js +1 -1
- package/lib/metrics.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/queries.js +1 -1
- package/lib/queries.js.gz +0 -0
- package/lib/relationships.js +1 -1
- package/lib/relationships.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/store.d.ts +386 -30
- package/lib/types/tools.d.ts +2 -2
- package/lib/types/ui-react.d.ts +167 -0
- package/lib/types/with-schemas/store.d.ts +496 -37
- package/lib/types/with-schemas/tools.d.ts +2 -2
- package/lib/types/with-schemas/ui-react.d.ts +193 -5
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/checkpoints.js +1 -1
- package/lib/umd/checkpoints.js.gz +0 -0
- package/lib/umd/indexes.js +1 -1
- package/lib/umd/indexes.js.gz +0 -0
- package/lib/umd/metrics.js +1 -1
- package/lib/umd/metrics.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/queries.js +1 -1
- package/lib/umd/queries.js.gz +0 -0
- package/lib/umd/relationships.js +1 -1
- package/lib/umd/relationships.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd/ui-react.js +1 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/lib/umd-es6/checkpoints.js +1 -1
- package/lib/umd-es6/checkpoints.js.gz +0 -0
- package/lib/umd-es6/indexes.js +1 -1
- package/lib/umd-es6/indexes.js.gz +0 -0
- package/lib/umd-es6/metrics.js +1 -1
- package/lib/umd-es6/metrics.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/queries.js +1 -1
- package/lib/umd-es6/queries.js.gz +0 -0
- package/lib/umd-es6/relationships.js +1 -1
- package/lib/umd-es6/relationships.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/lib/umd-es6/ui-react.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +52 -28
- package/readme.md +14 -14
package/lib/debug/tools.js
CHANGED
|
@@ -207,6 +207,7 @@ const NOUNS = [
|
|
|
207
207
|
A + VALUE,
|
|
208
208
|
'invalid Value changes',
|
|
209
209
|
THE + 'sorted ' + ROW + SPACE + IDS,
|
|
210
|
+
THE + CELL + SPACE + IDS + ' anywhere',
|
|
210
211
|
];
|
|
211
212
|
const CONTENT = [EMPTY_STRING, 'tabular ', 'keyed value '];
|
|
212
213
|
|
|
@@ -297,6 +298,10 @@ const getCodeFunctions = () => {
|
|
|
297
298
|
);
|
|
298
299
|
const addConstant = (name, body) =>
|
|
299
300
|
mapGet(constants, name) === body ? name : mapUnique(constants, name, body);
|
|
301
|
+
const getSortableImport = (importMaybeAs) => {
|
|
302
|
+
const as = importMaybeAs.indexOf(' as ');
|
|
303
|
+
return as != -1 ? importMaybeAs.substring(as + 4) : importMaybeAs;
|
|
304
|
+
};
|
|
300
305
|
const getImports = (location = 0) =>
|
|
301
306
|
arrayMap(
|
|
302
307
|
[
|
|
@@ -305,7 +310,11 @@ const getCodeFunctions = () => {
|
|
|
305
310
|
allImports[location],
|
|
306
311
|
(items, source) =>
|
|
307
312
|
`import {${join(
|
|
308
|
-
arraySort(collValues(items))
|
|
313
|
+
arraySort(collValues(items), (import1, import2) =>
|
|
314
|
+
getSortableImport(import1) > getSortableImport(import2)
|
|
315
|
+
? 1
|
|
316
|
+
: -1,
|
|
317
|
+
),
|
|
309
318
|
', ',
|
|
310
319
|
)}} from '${source}';`,
|
|
311
320
|
),
|
|
@@ -509,6 +518,12 @@ const getTypeFunctions = (
|
|
|
509
518
|
getCallbackDoc(A + ROW + ' Id, and a ' + CELL + ' iterator'),
|
|
510
519
|
tIdGeneric,
|
|
511
520
|
);
|
|
521
|
+
const tableCellCallbackType = addType(
|
|
522
|
+
TABLE + CELL + CALLBACK,
|
|
523
|
+
`(cellId: ${cellIdType}<TId>, count: number) ` + RETURNS_VOID,
|
|
524
|
+
getCallbackDoc(A + CELL + ' Id, and count of how many times it appears'),
|
|
525
|
+
tIdGeneric,
|
|
526
|
+
);
|
|
512
527
|
const tableIdForEachRowArrayType = addType(
|
|
513
528
|
'TableIdForEachRowArray',
|
|
514
529
|
`TId extends ${tableIdType} ? [tableId: TId, forEachRow: (rowCallback: ${rowCallbackType}<TId>)${RETURNS_VOID}] : never`,
|
|
@@ -554,6 +569,11 @@ const getTypeFunctions = (
|
|
|
554
569
|
RETURNS_VOID,
|
|
555
570
|
getListenerTypeDoc(3),
|
|
556
571
|
);
|
|
572
|
+
const tableCellIdsListenerType = addType(
|
|
573
|
+
TABLE + CELL_IDS + LISTENER,
|
|
574
|
+
`(${storeParam}, tableId: ${tableIdType})` + RETURNS_VOID,
|
|
575
|
+
getListenerTypeDoc(14, 3),
|
|
576
|
+
);
|
|
557
577
|
const rowIdsListenerType = addType(
|
|
558
578
|
ROW_IDS + LISTENER,
|
|
559
579
|
`(${storeParam}, tableId: ${tableIdType})` + RETURNS_VOID,
|
|
@@ -640,10 +660,12 @@ const getTypeFunctions = (
|
|
|
640
660
|
cellType,
|
|
641
661
|
cellCallbackType,
|
|
642
662
|
rowCallbackType,
|
|
663
|
+
tableCellCallbackType,
|
|
643
664
|
tableCallbackType,
|
|
644
665
|
tablesListenerType,
|
|
645
666
|
tableIdsListenerType,
|
|
646
667
|
tableListenerType,
|
|
668
|
+
tableCellIdsListenerType,
|
|
647
669
|
rowIdsListenerType,
|
|
648
670
|
sortedRowIdsListenerType,
|
|
649
671
|
rowListenerType,
|
|
@@ -886,10 +908,12 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
886
908
|
_cellType,
|
|
887
909
|
cellCallbackType,
|
|
888
910
|
rowCallbackType,
|
|
911
|
+
tableCellCallbackType,
|
|
889
912
|
tableCallbackType,
|
|
890
913
|
tablesListenerType,
|
|
891
914
|
tableIdsListenerType,
|
|
892
915
|
tableListenerType,
|
|
916
|
+
tableCellIdsListenerType,
|
|
893
917
|
rowIdsListenerType,
|
|
894
918
|
sortedRowIdsListenerType,
|
|
895
919
|
rowListenerType,
|
|
@@ -947,6 +971,14 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
947
971
|
`a Row Id from the '${tableId}' Table, and a Cell iterator`,
|
|
948
972
|
),
|
|
949
973
|
),
|
|
974
|
+
// TableCellCallbackType
|
|
975
|
+
addType(
|
|
976
|
+
tableName + TABLE + CELL + CALLBACK,
|
|
977
|
+
tableCellCallbackType + tableIdGeneric,
|
|
978
|
+
getCallbackDoc(
|
|
979
|
+
`a Cell Id from anywhere in the '${tableId}' Table, and a count of how many times it appears`,
|
|
980
|
+
),
|
|
981
|
+
),
|
|
950
982
|
];
|
|
951
983
|
mapSet(tablesTypes, tableId, tableTypes);
|
|
952
984
|
addImport(1, moduleDefinition, ...tableTypes);
|
|
@@ -962,6 +994,7 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
962
994
|
tablesListenerType,
|
|
963
995
|
tableIdsListenerType,
|
|
964
996
|
tableListenerType,
|
|
997
|
+
tableCellIdsListenerType,
|
|
965
998
|
rowIdsListenerType,
|
|
966
999
|
sortedRowIdsListenerType,
|
|
967
1000
|
rowListenerType,
|
|
@@ -977,6 +1010,7 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
977
1010
|
tablesListenerType,
|
|
978
1011
|
tableIdsListenerType,
|
|
979
1012
|
tableListenerType,
|
|
1013
|
+
tableCellIdsListenerType,
|
|
980
1014
|
rowIdsListenerType,
|
|
981
1015
|
sortedRowIdsListenerType,
|
|
982
1016
|
rowListenerType,
|
|
@@ -1027,6 +1061,7 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1027
1061
|
cellIdType2,
|
|
1028
1062
|
cellCallbackType2,
|
|
1029
1063
|
rowCallbackType2,
|
|
1064
|
+
tableCellCallbackType2,
|
|
1030
1065
|
] = mapGet(tablesTypes, tableId);
|
|
1031
1066
|
arrayForEach(
|
|
1032
1067
|
[
|
|
@@ -1046,6 +1081,24 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1046
1081
|
TABLE_ID + paramsInCall,
|
|
1047
1082
|
),
|
|
1048
1083
|
);
|
|
1084
|
+
addProxyMethod(
|
|
1085
|
+
0,
|
|
1086
|
+
tableName,
|
|
1087
|
+
TABLE + CELL_IDS,
|
|
1088
|
+
IDS,
|
|
1089
|
+
getIdsDoc(CELL, 'the whole of ' + getTableDoc(tableId)),
|
|
1090
|
+
EMPTY_STRING,
|
|
1091
|
+
TABLE_ID,
|
|
1092
|
+
);
|
|
1093
|
+
addProxyMethod(
|
|
1094
|
+
5,
|
|
1095
|
+
tableName,
|
|
1096
|
+
TABLE + CELL,
|
|
1097
|
+
VOID,
|
|
1098
|
+
getForEachDoc(TABLE + CELL, 'the whole of ' + getTableDoc(tableId)),
|
|
1099
|
+
'tableCellCallback: ' + tableCellCallbackType2,
|
|
1100
|
+
TABLE_ID + ', tableCellCallback as any',
|
|
1101
|
+
);
|
|
1049
1102
|
addProxyMethod(
|
|
1050
1103
|
0,
|
|
1051
1104
|
tableName,
|
|
@@ -1101,8 +1154,8 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1101
1154
|
ROW,
|
|
1102
1155
|
ID + OR_UNDEFINED,
|
|
1103
1156
|
'Add a new Row to ' + getTableDoc(tableId),
|
|
1104
|
-
'row: ' + rowWhenSetType2,
|
|
1105
|
-
TABLE_ID + ', row',
|
|
1157
|
+
'row: ' + rowWhenSetType2 + ', reuseIds?: boolean',
|
|
1158
|
+
TABLE_ID + ', row, reuseIds',
|
|
1106
1159
|
);
|
|
1107
1160
|
addProxyMethod(
|
|
1108
1161
|
0,
|
|
@@ -1150,6 +1203,17 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1150
1203
|
TABLE_ID + ', rowId, ' + CELL_ID + paramsInCall,
|
|
1151
1204
|
),
|
|
1152
1205
|
);
|
|
1206
|
+
addProxyMethod(
|
|
1207
|
+
1,
|
|
1208
|
+
tableName + cellName,
|
|
1209
|
+
TABLE + CELL,
|
|
1210
|
+
BOOLEAN,
|
|
1211
|
+
VERBS[1] +
|
|
1212
|
+
` the '${cellId}' Cell anywhere in ` +
|
|
1213
|
+
getTableDoc(tableId),
|
|
1214
|
+
EMPTY_STRING,
|
|
1215
|
+
TABLE_ID + ', ' + CELL_ID,
|
|
1216
|
+
);
|
|
1153
1217
|
},
|
|
1154
1218
|
);
|
|
1155
1219
|
});
|
|
@@ -1182,6 +1246,13 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1182
1246
|
`tableId: ${tableIdType} | null`,
|
|
1183
1247
|
'tableId',
|
|
1184
1248
|
);
|
|
1249
|
+
addProxyListener(
|
|
1250
|
+
TABLE + CELL_IDS,
|
|
1251
|
+
tableCellIdsListenerType,
|
|
1252
|
+
getListenerDoc(14, 3, 1),
|
|
1253
|
+
`tableId: ${tableIdType} | null`,
|
|
1254
|
+
'tableId',
|
|
1255
|
+
);
|
|
1185
1256
|
addProxyListener(
|
|
1186
1257
|
ROW_IDS,
|
|
1187
1258
|
rowIdsListenerType,
|
|
@@ -1465,6 +1536,14 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
|
|
|
1465
1536
|
storeInstance,
|
|
1466
1537
|
storeType,
|
|
1467
1538
|
);
|
|
1539
|
+
addProxyListener(
|
|
1540
|
+
'Start' + TRANSACTION,
|
|
1541
|
+
transactionListenerType,
|
|
1542
|
+
REGISTERS_A_LISTENER + ' just before the start of the ' + TRANSACTION_,
|
|
1543
|
+
EMPTY_STRING,
|
|
1544
|
+
EMPTY_STRING,
|
|
1545
|
+
0,
|
|
1546
|
+
);
|
|
1468
1547
|
addProxyListener(
|
|
1469
1548
|
'WillFinish' + TRANSACTION,
|
|
1470
1549
|
transactionListenerType,
|
|
@@ -1792,6 +1871,7 @@ const getStoreUiReactApi = (
|
|
|
1792
1871
|
tablesListenerType,
|
|
1793
1872
|
tableIdsListenerType,
|
|
1794
1873
|
tableListenerType,
|
|
1874
|
+
tableCellIdsListenerType,
|
|
1795
1875
|
rowIdsListenerType,
|
|
1796
1876
|
sortedRowIdsListenerType,
|
|
1797
1877
|
rowListenerType,
|
|
@@ -1808,6 +1888,7 @@ const getStoreUiReactApi = (
|
|
|
1808
1888
|
tablesListenerType,
|
|
1809
1889
|
tableIdsListenerType,
|
|
1810
1890
|
tableListenerType,
|
|
1891
|
+
tableCellIdsListenerType,
|
|
1811
1892
|
rowIdsListenerType,
|
|
1812
1893
|
sortedRowIdsListenerType,
|
|
1813
1894
|
rowListenerType,
|
|
@@ -2040,6 +2121,14 @@ const getStoreUiReactApi = (
|
|
|
2040
2121
|
EMPTY_STRING,
|
|
2041
2122
|
TABLE_ID,
|
|
2042
2123
|
);
|
|
2124
|
+
addProxyHook(
|
|
2125
|
+
tableName + TABLE + CELL_IDS,
|
|
2126
|
+
TABLE + CELL_IDS,
|
|
2127
|
+
IDS,
|
|
2128
|
+
getIdsDoc(CELL, 'the whole of ' + getTableDoc(tableId)) + AND_REGISTERS,
|
|
2129
|
+
EMPTY_STRING,
|
|
2130
|
+
TABLE_ID,
|
|
2131
|
+
);
|
|
2043
2132
|
const useRowIds = addProxyHook(
|
|
2044
2133
|
tableName + ROW_IDS,
|
|
2045
2134
|
ROW_IDS,
|
|
@@ -2139,8 +2228,9 @@ const getStoreUiReactApi = (
|
|
|
2139
2228
|
'store: Store',
|
|
2140
2229
|
'row: ' + rowWhenSetType + ')' + RETURNS_VOID,
|
|
2141
2230
|
'then' + DEPS_SUFFIX,
|
|
2142
|
-
)
|
|
2143
|
-
|
|
2231
|
+
) +
|
|
2232
|
+
', reuseRowIds?: boolean',
|
|
2233
|
+
THEN_AND_THEN_DEPS_IN_CALL + ', reuseRowIds',
|
|
2144
2234
|
);
|
|
2145
2235
|
addProxyHook(
|
|
2146
2236
|
SET + tableName + PARTIAL + ROW + CALLBACK,
|
|
@@ -2312,6 +2402,17 @@ const getStoreUiReactApi = (
|
|
|
2312
2402
|
),
|
|
2313
2403
|
getListenerHookParamsInCall('tableId'),
|
|
2314
2404
|
);
|
|
2405
|
+
addProxyHook(
|
|
2406
|
+
TABLE + CELL_IDS + LISTENER,
|
|
2407
|
+
TABLE + CELL_IDS + LISTENER,
|
|
2408
|
+
VOID,
|
|
2409
|
+
getListenerDoc(14, 3, 1),
|
|
2410
|
+
getListenerHookParams(
|
|
2411
|
+
tableCellIdsListenerType,
|
|
2412
|
+
`tableId: ${tableIdType} | null`,
|
|
2413
|
+
),
|
|
2414
|
+
getListenerHookParamsInCall('tableId'),
|
|
2415
|
+
);
|
|
2315
2416
|
addProxyHook(
|
|
2316
2417
|
ROW_IDS + LISTENER,
|
|
2317
2418
|
ROW_IDS + LISTENER,
|
package/lib/debug/ui-react.js
CHANGED
|
@@ -174,6 +174,13 @@ const useTableIds = (storeOrStoreId) =>
|
|
|
174
174
|
useListenable(TABLE_IDS, useStoreOrStoreId(storeOrStoreId), [], []);
|
|
175
175
|
const useTable = (tableId, storeOrStoreId) =>
|
|
176
176
|
useListenable(TABLE, useStoreOrStoreId(storeOrStoreId), {}, [tableId]);
|
|
177
|
+
const useTableCellIds = (tableId, storeOrStoreId) =>
|
|
178
|
+
useListenable(
|
|
179
|
+
TABLE + CELL_IDS,
|
|
180
|
+
useStoreOrStoreId(storeOrStoreId),
|
|
181
|
+
[],
|
|
182
|
+
[tableId],
|
|
183
|
+
);
|
|
177
184
|
const useRowIds = (tableId, storeOrStoreId) =>
|
|
178
185
|
useListenable(ROW_IDS, useStoreOrStoreId(storeOrStoreId), [], [tableId]);
|
|
179
186
|
const useSortedRowIds = (
|
|
@@ -272,17 +279,18 @@ const useAddRowCallback = (
|
|
|
272
279
|
storeOrStoreId,
|
|
273
280
|
then = getUndefined,
|
|
274
281
|
thenDeps = [],
|
|
282
|
+
reuseRowIds = true,
|
|
275
283
|
) => {
|
|
276
284
|
const store = useStoreOrStoreId(storeOrStoreId);
|
|
277
285
|
return useCallback(
|
|
278
286
|
(parameter) =>
|
|
279
287
|
ifNotUndefined(store, (store2) =>
|
|
280
288
|
ifNotUndefined(getRow(parameter, store2), (row) =>
|
|
281
|
-
then(store2.addRow(tableId, row), store2, row),
|
|
289
|
+
then(store2.addRow(tableId, row, reuseRowIds), store2, row),
|
|
282
290
|
),
|
|
283
291
|
),
|
|
284
292
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
285
|
-
[store, tableId, ...getRowDeps, ...thenDeps],
|
|
293
|
+
[store, tableId, ...getRowDeps, ...thenDeps, reuseRowIds],
|
|
286
294
|
);
|
|
287
295
|
};
|
|
288
296
|
const useSetPartialRowCallback = (
|
|
@@ -434,6 +442,21 @@ const useTableListener = (
|
|
|
434
442
|
[tableId],
|
|
435
443
|
mutator,
|
|
436
444
|
);
|
|
445
|
+
const useTableCellIdsListener = (
|
|
446
|
+
tableId,
|
|
447
|
+
listener,
|
|
448
|
+
listenerDeps,
|
|
449
|
+
mutator,
|
|
450
|
+
storeOrStoreId,
|
|
451
|
+
) =>
|
|
452
|
+
useListener(
|
|
453
|
+
TABLE + CELL_IDS,
|
|
454
|
+
useStoreOrStoreId(storeOrStoreId),
|
|
455
|
+
listener,
|
|
456
|
+
listenerDeps,
|
|
457
|
+
[tableId],
|
|
458
|
+
mutator,
|
|
459
|
+
);
|
|
437
460
|
const useRowIdsListener = (
|
|
438
461
|
tableId,
|
|
439
462
|
listener,
|
|
@@ -1478,6 +1501,8 @@ export {
|
|
|
1478
1501
|
useSortedRowIdsListener,
|
|
1479
1502
|
useStore,
|
|
1480
1503
|
useTable,
|
|
1504
|
+
useTableCellIds,
|
|
1505
|
+
useTableCellIdsListener,
|
|
1481
1506
|
useTableIds,
|
|
1482
1507
|
useTableIdsListener,
|
|
1483
1508
|
useTableListener,
|
package/lib/es6/checkpoints.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=(e,n)=>e.includes(n),n=(e,n)=>e.forEach(n),l=e=>e.length,t=e=>0==l(e),r=(e,...n)=>e.push(...n),o=e=>e.pop(),s=e=>e.shift(),u=e=>null==e,i=(e,n,l)=>u(e)?null==l?void 0:l():n(e),d=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},a=e=>u(e)||0==(e=>e.size)(e),c=(e,n)=>null==e?void 0:e.forEach(n),h=(e,n)=>null==e?void 0:e.delete(n),v=e=>new Map(e),p=(e,n)=>null==e?void 0:e.get(n),C=(e,n,l)=>u(l)?(h(e,n),e):null==e?void 0:e.set(n,l),f=(e,n,l)=>(d(e,n)||C(e,n,l()),p(e,n)),g=(e,n,t,r,o=0)=>i((t?f:p)(e,n[o],o>l(n)-2?t:v),(s=>{if(o>l(n)-2)return(null==r?void 0:r(s))&&C(e,n[o]),s;const u=g(s,n,t,r,o+1);return a(s)&&C(e,n[o]),u})),k=e=>new Set(Array.isArray(e)||u(e)?e:[e]),L=/^\d+$/,w=Object.freeze,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=v(),I=v(),M=1;const b=v(),j=v(),[x,B,F]=(e=>{let t;const[o,d]=(()=>{const e=[];let n=0;return[
|
|
1
|
+
const e=(e,n)=>e.includes(n),n=(e,n)=>e.forEach(n),l=e=>e.length,t=e=>0==l(e),r=(e,...n)=>e.push(...n),o=e=>e.pop(),s=e=>e.shift(),u=e=>null==e,i=(e,n,l)=>u(e)?null==l?void 0:l():n(e),d=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},a=e=>u(e)||0==(e=>e.size)(e),c=(e,n)=>null==e?void 0:e.forEach(n),h=(e,n)=>null==e?void 0:e.delete(n),v=e=>new Map(e),p=(e,n)=>null==e?void 0:e.get(n),C=(e,n,l)=>u(l)?(h(e,n),e):null==e?void 0:e.set(n,l),f=(e,n,l)=>(d(e,n)||C(e,n,l()),p(e,n)),g=(e,n,t,r,o=0)=>i((t?f:p)(e,n[o],o>l(n)-2?t:v),(s=>{if(o>l(n)-2)return(null==r?void 0:r(s))&&C(e,n[o]),s;const u=g(s,n,t,r,o+1);return a(s)&&C(e,n[o]),u})),k=e=>new Set(Array.isArray(e)||u(e)?e:[e]),L=/^\d+$/,w=Object.freeze,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=v(),I=v(),M=1;const b=v(),j=v(),[x,B,F]=(e=>{let t;const[o,d]=(()=>{const e=[];let n=0;return[l=>{var t;return null!=(t=l?s(e):null)?t:""+n++},n=>{L.test(n)&&l(e)<1e3&&r(e,n)}]})(),f=v();return[(e,n,l,r=[],s=(()=>[]))=>{null!=t||(t=_);const u=o(1);var i,d;return C(f,u,[e,n,l,r,s]),d=u,null==(i=g(n,null!=l?l:[""],k))||i.add(d),u},(e,o,...s)=>n(((e,t=[""])=>{const o=[],s=(e,u)=>u==l(t)?r(o,e):null===t[u]?c(e,(e=>s(e,u+1))):n([t[u],null],(n=>s(p(e,n),u+1)));return s(e,0),o})(e,o),(e=>c(e,(e=>p(f,e)[0](t,...null!=o?o:[],...s))))),e=>i(p(f,e),(([,n,l])=>(g(n,null!=l?l:[""],void 0,(n=>(h(n,e),a(n)?1:0))),C(f,e),d(e),l))),e=>i(p(f,e),(([e,,r=[],o,s])=>{const i=(...d)=>{var a,c;const h=l(d);h==l(r)?e(t,...d,...s(d)):u(r[h])?n(null!=(c=null==(a=o[h])?void 0:a.call(o,...d))?c:[],(e=>i(...d,e))):i(...d,r[h])};i()}))]})(),O=v(),T=v(),W=[],$=[],m=(e,n)=>{M=0,S.transaction((()=>{const[l,t]=p(O,n);c(l,((n,l)=>c(n,((n,t)=>c(n,((n,r)=>((e,n,l,t,r)=>u(r)?e.delCell(n,l,t,!0):e.setCell(n,l,t,r))(S,l,t,r,n[e]))))))),c(t,((n,l)=>((e,n,l)=>u(l)?e.delValue(n):e.setValue(n,l))(S,l,n[e])))})),M=1},q=e=>{C(O,e),C(T,e),B(j,[e])},D=(e,t)=>n(((e,n)=>e.splice(0,n))(e,null!=t?t:l(e)),q),G=()=>D(W,l(W)-V),H=()=>i(y,(()=>{r(W,y),G(),D($),y=void 0,E=1})),J=()=>{y=o(W),E=1},K=S.addCellListener(null,null,null,((e,n,l,t,r,o)=>{if(M){H();const e=f(A,n,v),s=f(e,l,v),u=f(s,t,(()=>[o,void 0]));u[1]=r,u[0]===r&&a(C(s,t))&&a(C(e,l))&&a(C(A,n))&&J(),U()}})),N=S.addValueListener(null,((e,n,l,t)=>{if(M){H();const e=f(I,n,(()=>[t,void 0]));e[1]=l,e[0]===l&&a(C(I,n))&&J(),U()}})),P=(e="")=>(u(y)&&(y=""+z++,C(O,y,[A,I]),Y(y,e),A=v(),I=v(),E=1),y),Q=()=>{t(W)||(((e,...n)=>{e.unshift(...n)})($,P()),m(0,y),y=o(W),E=1)},R=()=>{t($)||(r(W,y),y=s($),m(1,y),E=1)},U=()=>{E&&(B(b),E=0)},X=e=>{const n=P(e);return U(),n},Y=(e,n)=>(Z(e)&&p(T,e)!==n&&(C(T,e,n),B(j,[e])),_),Z=e=>d(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return n=e,c(T,((e,l)=>n(l,e)));var n},hasCheckpoint:Z,getCheckpoint:e=>p(T,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:n=>{const l=e(W,n)?Q:e($,n)?R:null;for(;!u(l)&&n!=y;)l();return U(),_},addCheckpointIdsListener:e=>x(e,b),addCheckpointListener:(e,n)=>x(n,j,[e]),delListener:e=>(F(e),_),clear:()=>(D(W),D($),u(y)||q(y),y=void 0,z=0,X(),_),destroy:()=>{S.delListener(K),S.delListener(N)},getListenerStats:()=>({})};return w(_.clear())})(S)),y.get(S))})();export{S as createCheckpoints};
|
|
Binary file
|
package/lib/es6/indexes.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n=
|
|
1
|
+
const e=e=>typeof e,n="",l=e(n),t=e=>n+e,r=(e,n)=>e.every(n),s=(e,n)=>r(e,((l,t)=>0==t||n(e[t-1],l)<=0)),o=(e,n)=>e.sort(n),u=(e,n)=>e.forEach(n),d=e=>e.length,i=(e,...n)=>e.push(...n),a=e=>null==e,c=(e,n,l)=>a(e)?null==l?void 0:l():n(e),v=e=>Array.isArray(e),h=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},f=e=>a(e)||0==(e=>e.size)(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},g=e=>e.clear(),S=(e,n)=>null==e?void 0:e.forEach(n),w=(e,n)=>null==e?void 0:e.delete(n),L=e=>new Map(e),p=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},x=(e,n)=>null==e?void 0:e.get(n),y=(e,n)=>S(e,((e,l)=>n(l,e))),E=(e,n,l)=>a(l)?(w(e,n),e):null==e?void 0:e.set(n,l),R=(e,n,l)=>(h(e,n)||E(e,n,l()),x(e,n)),b=(e,n,l,t,r=0)=>c((l?R:x)(e,n[r],r>d(n)-2?l:L),(s=>{if(r>d(n)-2)return(null==t?void 0:t(s))&&E(e,n[r]),s;const o=b(s,n,l,t,r+1);return f(s)&&E(e,n[r]),o})),T=e=>new Set(v(e)||a(e)?e:[e]),k=(e,n)=>null==e?void 0:e.add(n),z=(t,r)=>e(t)==l?e=>e(t):null!=t?t:()=>null!=r?r:n,A=(e,n)=>e<n?-1:1,C=/^\d+$/,D=Object.freeze,M=(e=>{const l=new WeakMap;return e=>(l.has(e)||l.set(e,(e=>{const l=L(),M=L(),[j,m,O,W,$,q,B,,F,G,H]=((e,n,l)=>{const t=e.hasRow,s=L(),o=L(),i=L(),b=L(),z=L(),A=(n,l,...t)=>{const r=R(z,n,T);return u(t,(n=>k(r,n)&&l&&e.callListener(n))),t},C=(n,...l)=>c(x(z,n),(t=>{u(0==d(l)?I(t):l,(n=>{e.delListener(n),w(t,n)})),f(t)&&E(z,n)})),D=(e,l)=>{E(s,e,l),h(o,e)||(E(o,e,n()),E(i,e,L()),E(b,e,L()))},M=e=>{E(s,e),E(o,e),E(i,e),E(b,e),C(e)};return[()=>e,()=>p(s),e=>y(o,e),e=>h(o,e),e=>x(s,e),e=>x(o,e),(e,n)=>E(o,e,n),D,(n,s,o,c,f)=>{D(n,s);const I=L(),w=L(),p=x(i,n),R=x(b,n),T=n=>{const o=l=>e.getCell(s,n,l),u=x(p,n),i=t(s,n)?l(c(o,n)):void 0;var h,g;if(u===i||v(u)&&v(i)&&(g=i,d(h=u)===d(g)&&r(h,((e,n)=>g[n]===e)))||E(I,n,[u,i]),!a(f)){const e=x(R,n),l=t(s,n)?f(o,n):void 0;e!=l&&E(w,n,l)}},k=e=>{o((()=>{S(I,(([,e],n)=>E(p,n,e))),S(w,((e,n)=>E(R,n,e)))}),I,w,p,R,e),g(I),g(w)};y(p,T),e.hasTable(s)&&u(e.getRowIds(s),(e=>{h(p,e)||T(e)})),k(!0),C(n),A(n,0,e.addRowListener(s,null,((e,n,l)=>T(l))),e.addTableListener(s,(()=>k())))},M,()=>y(z,M),A,C]})(e,L,(e=>{return a(e)?n:v(e)?(l=t,e.map(l)):t(e);var l})),[J,K,N]=(e=>{let l;const[t,r]=(()=>{const e=[];let l=0;return[t=>{var r;return null!=(r=t?e.shift():null)?r:n+l++},n=>{C.test(n)&&d(e)<1e3&&i(e,n)}]})(),s=L();return[(e,r,o,u=[],d=(()=>[]))=>{null!=l||(l=Q);const i=t(1);return E(s,i,[e,r,o,u,d]),k(b(r,null!=o?o:[n],T),i),i},(e,t,...r)=>u(((e,l=[n])=>{const t=[],r=(e,n)=>n==d(l)?i(t,e):null===l[n]?S(e,(e=>r(e,n+1))):u([l[n],null],(l=>r(x(e,l),n+1)));return r(e,0),t})(e,t),(e=>S(e,(e=>x(s,e)[0](l,...null!=t?t:[],...r))))),e=>c(x(s,e),(([,l,t])=>(b(l,null!=t?t:[n],void 0,(n=>(w(n,e),f(n)?1:0))),E(s,e),r(e),t))),e=>c(x(s,e),(([e,,n=[],t,r])=>{const s=(...o)=>{var i,c;const v=d(o);v==d(n)?e(l,...o,...r(o)):a(n[v])?u(null!=(c=null==(i=t[v])?void 0:i.call(t,...o))?c:[],(e=>s(...o,e))):s(...o,n[v])};s()}))]})(),P=(n,l,t)=>{const r=$(n);S(t,((n,t)=>l(t,(l=>S(n,(n=>l(n,(l=>e.forEachCell(r,n,l)))))))))},Q={setIndexDefinition:(e,n,t,r,u,d=A)=>{const i=a(u)?void 0:([e],[n])=>u(e,n);return F(e,n,((n,t,u,v,I,g)=>{let p=0;const R=T(),b=T(),z=q(e);if(S(t,(([e,n],l)=>{const t=T(e),s=T(n);S(t,(e=>w(s,e)?w(t,e):0)),S(t,(e=>{k(R,e),c(x(z,e),(n=>{w(n,l),f(n)&&(E(z,e),p=1)}))})),S(s,(e=>{k(R,e),h(z,e)||(E(z,e,T()),p=1),k(x(z,e),l),a(r)||k(b,e)}))})),n(),f(I)||(g?y(z,(e=>k(b,e))):y(u,(e=>c(x(v,e),(e=>k(b,e))))),S(b,(e=>{const n=(n,l)=>d(x(I,n),x(I,l),e),l=[...x(z,e)];s(l,n)||(E(z,e,T(o(l,n))),k(R,e))}))),(p||g)&&!a(i)){const n=[...z];s(n,i)||(B(e,L(o(n,i))),p=1)}p&&K(l,[e]),S(R,(n=>K(M,[e,n])))}),z(t),c(r,z)),Q},delIndexDefinition:e=>(G(e),Q),getStore:j,getIndexIds:m,forEachIndex:e=>O(((n,l)=>e(n,(e=>P(n,e,l))))),forEachSlice:(e,n)=>P(e,n,q(e)),hasIndex:W,hasSlice:(e,n)=>h(q(e),n),getTableId:$,getSliceIds:e=>p(q(e)),getSliceRowIds:(e,n)=>I(x(q(e),n)),addSliceIdsListener:(e,n)=>J(n,l,[e]),addSliceRowIdsListener:(e,n,l)=>J(l,M,[e,n]),delListener:e=>(N(e),Q),destroy:H,getListenerStats:()=>({})};return D(Q)})(e)),l.get(e))})();export{M as createIndexes};
|
package/lib/es6/indexes.js.gz
CHANGED
|
Binary file
|
package/lib/es6/metrics.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n=
|
|
1
|
+
const e=e=>typeof e,n="",t=e(n),l=e(e),r=(e,n)=>e.forEach(n),i=e=>u(e,((e,n)=>e+n),0),o=e=>e.length,u=(e,n,t)=>e.reduce(n,t),s=(e,...n)=>e.push(...n),d=Math.max,a=Math.min,v=isFinite,c=e=>null==e,h=(e,n,t)=>c(e)?null==t?void 0:t():n(e),f=e=>Array.isArray(e),g=()=>{},M=e=>e.size,L=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},m=e=>c(e)||0==M(e),w=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},y=e=>e.clear(),p=(e,n)=>null==e?void 0:e.forEach(n),b=(e,n)=>null==e?void 0:e.delete(n),x=e=>new Map(e),E=(e,n)=>null==e?void 0:e.get(n),I=(e,n)=>p(e,((e,t)=>n(t,e))),R=(e,n,t)=>c(t)?(b(e,n),e):null==e?void 0:e.set(n,t),S=(e,n,t)=>(L(e,n)||R(e,n,t()),E(e,n)),T=(e,n,t,l,r=0)=>h((t?S:E)(e,n[r],r>o(n)-2?t:x),(i=>{if(r>o(n)-2)return(null==l?void 0:l(i))&&R(e,n[r]),i;const u=T(i,n,t,l,r+1);return m(i)&&R(e,n[r]),u})),k=x([["avg",[(e,n)=>i(e)/n,(e,n,t)=>e+(n-e)/(t+1),(e,n,t)=>e+(e-n)/(t-1),(e,n,t,l)=>e+(n-t)/l]],["max",[e=>d(...e),(e,n)=>d(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:d(n,e)]],["min",[e=>a(...e),(e,n)=>a(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:a(n,e)]],["sum",[e=>i(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),z=e=>new Set(f(e)||c(e)?e:[e]),A=(e,n)=>null==e?void 0:e.add(n),D=/^\d+$/,N=Object.freeze,j=(i=>{const u=new WeakMap;return i=>(u.has(i)||u.set(i,(i=>{const u=x(),[d,a,j,C,F,O,W,,$,q,B]=((e,t,l)=>{const i=e.hasRow,u=x(),s=x(),d=x(),a=x(),v=x(),g=(n,t,...l)=>{const i=S(v,n,z);return r(l,(n=>A(i,n)&&t&&e.callListener(n))),l},M=(n,...t)=>h(E(v,n),(l=>{r(0==o(t)?w(l):t,(n=>{e.delListener(n),b(l,n)})),m(l)&&R(v,n)})),T=(e,n)=>{R(u,e,n),L(s,e)||(R(s,e,t()),R(d,e,x()),R(a,e,x()))},k=e=>{R(u,e),R(s,e),R(d,e),R(a,e),M(e)};return[()=>e,()=>{return[...null!=(n=null==(e=u)?void 0:e.keys())?n:[]];var e,n},e=>I(s,e),e=>L(s,e),e=>E(u,e),e=>E(s,e),(e,n)=>R(s,e,n),T,(t,l,u,s,v)=>{T(t,l);const h=x(),m=x(),w=E(d,t),b=E(a,t),S=t=>{const r=n=>e.getCell(l,t,n),u=E(w,t),d=i(l,t)?(a=s(r,t),isNaN(a)||c(a)||!0===a||!1===a||a===n?void 0:1*a):void 0;var a,g,M,L;if(u===d||f(u)&&f(d)&&(M=d,o(g=u)===o(M)&&(L=(e,n)=>M[n]===e,g.every(L)))||R(h,t,[u,d]),!c(v)){const e=E(b,t),n=i(l,t)?v(r,t):void 0;e!=n&&R(m,t,n)}},k=e=>{u((()=>{p(h,(([,e],n)=>R(w,n,e))),p(m,((e,n)=>R(b,n,e)))}),h,m,w,b,e),y(h),y(m)};I(w,S),e.hasTable(l)&&r(e.getRowIds(l),(e=>{L(w,e)||S(e)})),k(!0),M(t),g(t,0,e.addRowListener(l,null,((e,n,t)=>S(t))),e.addTableListener(l,(()=>k())))},k,()=>I(v,k),g,M]})(i,g),[G,H,J]=(e=>{let t;const[l,i]=(()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:n+t++},n=>{D.test(n)&&o(e)<1e3&&s(e,n)}]})(),u=x();return[(e,r,i,o=[],s=(()=>[]))=>{null!=t||(t=K);const d=l(1);return R(u,d,[e,r,i,o,s]),A(T(r,null!=i?i:[n],z),d),d},(e,l,...i)=>r(((e,t=[n])=>{const l=[],i=(e,n)=>n==o(t)?s(l,e):null===t[n]?p(e,(e=>i(e,n+1))):r([t[n],null],(t=>i(E(e,t),n+1)));return i(e,0),l})(e,l),(e=>p(e,(e=>E(u,e)[0](t,...null!=l?l:[],...i))))),e=>h(E(u,e),(([,t,l])=>(T(t,null!=l?l:[n],void 0,(n=>(b(n,e),m(n)?1:0))),R(u,e),i(e),l))),e=>h(E(u,e),(([e,,n=[],l,i])=>{const u=(...s)=>{var d,a;const v=o(s);v==o(n)?e(t,...s,...i(s)):c(n[v])?r(null!=(a=null==(d=l[v])?void 0:d.call(l,...s))?a:[],(e=>u(...s,e))):u(...s,n[v])};u()}))]})(),K={setMetricDefinition:(n,r,i,o,s,d,a)=>{var h;const f=e(i)==l?[i,s,d,a]:null!=(h=E(k,i))?h:E(k,"sum");return $(n,r,((e,t,l,r,i,o)=>{const s=O(n),d=M(r);o||(o=c(s)),e();let a=((e,n,t,l,r,i=!1)=>{if(m(t))return;const[o,u,s,d]=r;return i||(i=c(e)),p(l,(([t,l])=>{i||(e=c(t)?null==u?void 0:u(e,l,n++):c(l)?null==s?void 0:s(e,t,n--):null==d?void 0:d(e,l,t,n),i||(i=c(e)))})),i?o(w(t),M(t)):e})(s,d,r,t,f,o);v(a)||(a=void 0),a!=s&&(W(n,a),H(u,[n],a,s))}),(1,e(g=o)==t?e=>e(g):null!=g?g:()=>1)),K;var g},delMetricDefinition:e=>(q(e),K),getStore:d,getMetricIds:a,forEachMetric:j,hasMetric:C,getTableId:F,getMetric:O,addMetricListener:(e,n)=>G(n,u,[e]),delListener:e=>(J(e),K),destroy:B,getListenerStats:()=>({})};return N(K)})(i)),u.get(i))})();export{j as createMetrics};
|
package/lib/es6/metrics.js.gz
CHANGED
|
Binary file
|
package/lib/es6/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{watch as e,promises as t}from"fs";const o=e=>null==e,
|
|
1
|
+
import{watch as e,promises as t}from"fs";const o="utf8",n=e=>null==e,r=(e,t,o)=>n(e)?null==o?void 0:o():t(e),a=Object.freeze;var l=(e,t,o)=>new Promise(((n,r)=>{var a=e=>{try{s(o.next(e))}catch(e){r(e)}},l=e=>{try{s(o.throw(e))}catch(e){r(e)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(a,l);s((o=o.apply(e,t)).next())}));const s=(e,t,o,s,i)=>{let u,d,c=0;const v={load:(...o)=>l(void 0,[...o],(function*(o={},r={}){if(2!=c){c=1;const a=yield t();n(a)||""==a?e.transaction((()=>e.setTables(o).setValues(r))):e.setJson(a),c=0}return v})),startAutoLoad:(...e)=>l(void 0,[...e],(function*(e={},t={}){return v.stopAutoLoad(),yield v.load(e,t),s(v.load),v})),stopAutoLoad:()=>(i(),v),save:()=>l(void 0,null,(function*(){return 1!=c&&(c=2,yield o(e.getJson()),c=0),v})),startAutoSave:()=>l(void 0,null,(function*(){return yield v.stopAutoSave().save(),u=e.addTablesListener(v.save),d=e.addValuesListener(v.save),v})),stopAutoSave:()=>(r(u,e.delListener),r(d,e.delListener),v),getStore:()=>e,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(v)};var i=(e,t,o)=>new Promise(((n,r)=>{var a=e=>{try{s(o.next(e))}catch(e){r(e)}},l=e=>{try{s(o.throw(e))}catch(e){r(e)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(a,l);s((o=o.apply(e,t)).next())}));const u="storage",d=globalThis.window,c=(e,t,o)=>{let n;return s(e,(()=>i(void 0,null,(function*(){return o.getItem(t)}))),(e=>i(void 0,null,(function*(){return o.setItem(t,e)}))),(e=>{n=n=>{n.storageArea===o&&n.key===t&&e()},d.addEventListener(u,n)}),(()=>{d.removeEventListener(u,n),n=void 0}))},v=(e,t)=>c(e,t,localStorage),y=(e,t)=>c(e,t,sessionStorage);var h=(e,t,o)=>new Promise(((n,r)=>{var a=e=>{try{s(o.next(e))}catch(e){r(e)}},l=e=>{try{s(o.throw(e))}catch(e){r(e)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(a,l);s((o=o.apply(e,t)).next())}));const f=(n,r)=>{let a;return s(n,(()=>h(void 0,null,(function*(){try{return yield t.readFile(r,o)}catch(e){}}))),(e=>h(void 0,null,(function*(){try{yield t.writeFile(r,e,o)}catch(e){}}))),(t=>{a=e(r,t)}),(()=>{null==a||a.close(),a=void 0}))};var p=(e,t,o)=>new Promise(((n,r)=>{var a=e=>{try{s(o.next(e))}catch(e){r(e)}},l=e=>{try{s(o.throw(e))}catch(e){r(e)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(a,l);s((o=o.apply(e,t)).next())}));const m=e=>e.headers.get("ETag"),g=(e,t,o,a)=>{let l,i;return s(e,(()=>p(void 0,null,(function*(){const e=yield fetch(t);return i=m(e),e.text()}))),(e=>p(void 0,null,(function*(){return yield fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{l=setInterval((()=>p(void 0,null,(function*(){const o=yield fetch(t,{method:"HEAD"}),r=m(o);n(i)||n(r)||r==i||(i=r,e())}))),1e3*a)}),(()=>{r(l,clearInterval),l=void 0}))};export{s as createCustomPersister,f as createFilePersister,v as createLocalPersister,g as createRemotePersister,y as createSessionPersister};
|
package/lib/es6/persisters.js.gz
CHANGED
|
Binary file
|
package/lib/es6/queries.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,
|
|
1
|
+
const e=e=>typeof e,t=e(""),n=e(!0),l=e(0),r=e(e),o="Listener",s="Result",a="Ids",i="Row",d=i+a,u="Sorted"+i+a,c="Cell",v=c+a,f=(e,t)=>e.every(t),h=(e,t)=>e.forEach(t),w=e=>p(e,((e,t)=>e+t),0),g=e=>e.length,y=e=>0==g(e),p=(e,t,n)=>e.reduce(t,n),L=(e,...t)=>e.push(...t),R=Math.max,b=Math.min,T=isFinite,m=e=>null==e,O=(e,t,n)=>m(e)?null==n?void 0:n():t(e),S=t=>e(t)==r,C=e=>Array.isArray(e),I=()=>{},j=e=>e.size,x=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},E=e=>m(e)||0==j(e),Q=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},M=e=>e.clear(),D=(e,t)=>null==e?void 0:e.forEach(t),k=(e,t)=>null==e?void 0:e.delete(t),z=e=>new Map(e),A=(e,t)=>null==e?void 0:e.get(t),F=(e,t)=>D(e,((e,n)=>t(n,e))),P=(e,t,n)=>m(n)?(k(e,t),e):null==e?void 0:e.set(t,n),W=(e,t,n)=>(x(e,t)||P(e,t,n()),A(e,t)),q=(e,t,n,l,r=0)=>O((n?W:A)(e,t[r],r>g(t)-2?n:z),(o=>{if(r>g(t)-2)return(null==l?void 0:l(o))&&P(e,t[r]),o;const s=q(o,t,n,l,r+1);return E(o)&&P(e,t[r]),s})),B=e=>new Set(C(e)||m(e)?e:[e]),G=(e,t)=>null==e?void 0:e.add(t),H=z([["avg",[(e,t)=>w(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>R(...e),(e,t)=>R(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:R(t,e)]],["min",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:b(t,e)]],["sum",[e=>w(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),J=Object,K=J.freeze;var N=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable;const X=(r=>{const a=new WeakMap;return r=>(a.has(r)||a.set(r,(r=>{const a=r.createStore,[w,p,R,b,X,,,Y,,Z,$,_,ee]=((e,t,n)=>{const l=e.hasRow,r=z(),o=z(),s=z(),a=z(),i=z(),d=(t,n,...l)=>{const r=W(i,t,B);return h(l,(t=>G(r,t)&&n&&e.callListener(t))),l},u=(t,...n)=>O(A(i,t),(l=>{h(y(n)?Q(l):n,(t=>{e.delListener(t),k(l,t)})),E(l)&&P(i,t)})),c=(e,t)=>{P(r,e,t),x(o,e)||(P(o,e,!0),P(s,e,z()),P(a,e,z()))},v=e=>{P(r,e),P(o,e),P(s,e),P(a,e),u(e)};return[()=>e,()=>{return[...null!=(t=null==(e=r)?void 0:e.keys())?t:[]];var e,t},e=>F(o,e),e=>x(o,e),e=>A(r,e),e=>A(o,e),(e,t)=>P(o,e,t),c,(t,r,o,i,v)=>{c(t,r);const w=z(),y=z(),p=A(s,t),L=A(a,t),R=t=>{const o=n=>e.getCell(r,t,n),s=A(p,t),a=l(r,t)?n(i(o,t)):void 0;var d,u;if(s===a||C(s)&&C(a)&&(u=a,g(d=s)===g(u)&&f(d,((e,t)=>u[t]===e)))||P(w,t,[s,a]),!m(v)){const e=A(L,t),n=l(r,t)?v(o,t):void 0;e!=n&&P(y,t,n)}},b=e=>{o((()=>{D(w,(([,e],t)=>P(p,t,e))),D(y,((e,t)=>P(L,t,e)))}),w,y,p,L,e),M(w),M(y)};F(p,R),e.hasTable(r)&&h(e.getRowIds(r),(e=>{x(p,e)||R(e)})),b(!0),u(t),d(t,0,e.addRowListener(r,null,((e,t,n)=>R(n))),e.addTableListener(r,(()=>b())))},v,()=>F(i,v),d,u]})(r,0,I),te=a(),ne=a(),le=z(),re=(e,t,...n)=>h(n,(n=>G(W(W(le,t,z),e,B),n))),oe=e=>{O(A(le,e),(e=>{F(e,((e,t)=>D(t,(t=>e.delListener(t))))),M(e)})),h([ne,te],(t=>t.delTable(e)))},se=(e,t,n)=>re(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),ae={setQueryDefinition:(o,s,a)=>{Y(o,s),oe(o);const i=[],d=[[null,[s,null,null,[],z()]]],u=[],c=[],v=[];a({select:(e,t)=>{const n=S(e)?[g(i)+"",e]:[m(t)?e:t,n=>n(e,t)];return L(i,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const l=m(n)||S(t)?null:t,r=m(l)?t:n,o=[e,[e,l,S(r)?r:e=>e(r),[],z()]];return L(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>L(u,S(e)?e:m(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,r)=>{var o;const s=[e,[e,S(t)?[t,n,l,r]:null!=(o=A(H,t))?o:[(e,t)=>t]]];return L(c,s),{as:e=>s[0]=e}},having:(e,t)=>L(v,S(e)?e:n=>n(e)===t)});const w=z(i);if(E(w))return ae;const p=z(d);F(p,((e,[,t])=>O(A(p,t),(({3:t})=>m(e)?0:L(t,e)))));const R=z(c);let b=te;if(E(R)&&y(v))b=ne;else{se(o,b,ne);const r=z();F(R,((e,[t,n])=>G(W(r,t,B),[e,n])));const s=B();F(w,(e=>x(r,e)?0:G(s,e)));const a=z(),i=(s,a,i,d)=>O(s,(([u,c,h,w])=>{F(a,((o,[s])=>{const a=W(u,o,z),c=A(a,i),v=d?void 0:s;if(c!==v){const s=B([[c,v]]),d=j(a);P(a,i,v),D(A(r,o),(([r,o])=>{const i=((e,t,n,l,r,o=!1)=>{if(E(n))return;const[s,a,i,d]=r;return o||(o=m(e)),D(l,(([n,l])=>{o||(e=m(n)?null==a?void 0:a(e,l,t++):m(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=m(e)))})),o?s(Q(n),j(n)):e})(w[r],d,a,s,o);w[r]=m((r=>{const o=e(r);return(e=>e==t||e==n)(o)||o==l&&T(r)?o:void 0})(i))?null:i}))}})),E(c)||!f(v,(e=>e((e=>w[e]))))?ne.delRow(o,h):m(h)?s[2]=ne.addRow(o,w):ne.setRow(o,h,w)}));re(b,o,b.addRowListener(o,null,((e,t,n,l)=>{const d=[],u=[],c=z(),v=b.hasRow(o,n);let f=!v;D(s,(e=>{const[t,r,s]=l(o,n,e);L(d,r),L(u,s),f||(f=t)})),F(r,(e=>{const[t,,r]=l(o,n,e);(f||t)&&P(c,e,[r])})),f&&i(q(a,d,void 0,(([,e])=>(k(e,n),E(e)))),c,n,1),v&&i(q(a,u,(()=>{const e={};return D(s,(t=>e[t]=b.getCell(o,n,t))),[z(),B(),void 0,e]}),(([,e])=>{G(e,n)})),c,n)})))}se(o,r,b);const C=(e,t,n,l)=>{const a=e=>r.getCell(t,n,e);h(l,(t=>{var n;const[l,,s,i,d]=A(p,t),u=null==s?void 0:s(a,e),[c,v]=null!=(n=A(d,e))?n:[];u!=c&&(m(v)||ee(o,v),P(d,e,m(u)?null:[u,..._(o,1,r.addRowListener(l,u,(()=>C(e,l,u,i))))]))})),(e=>{const t=(t,n)=>{var l,o,a;return r.getCell(...m(n)?[s,e,t]:t===s?[s,e,n]:[null==(l=A(p,t))?void 0:l[0],null==(a=A(null==(o=A(p,t))?void 0:o[4],e))?void 0:a[0],n])};b.transaction((()=>f(u,(e=>e(t)))?F(w,((n,l)=>((e,t,n,l,r)=>m(r)?e.delCell(t,n,l,!0):e.setCell(t,n,l,r))(b,o,e,n,l(t,e)))):b.delRow(o,e)))})(e)},{3:I}=A(p,null);return b.transaction((()=>_(o,1,r.addRowListener(s,null,((e,t,n)=>{r.hasRow(s,n)?C(n,s,n,I):(b.delRow(o,n),D(p,(({4:e})=>O(A(e,n),(([,t])=>{ee(o,t),P(e,n)})))))}))))),ae},delQueryDefinition:e=>(oe(e),Z(e),ae),getStore:w,getQueryIds:p,forEachQuery:R,hasQuery:b,getTableId:X,delListener:e=>(ne.delListener(e),ae),destroy:$,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)U.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&N)for(var l of N(e))t.indexOf(l)<0&&V.call(e,l)&&(n[l]=e[l]);return n})(ne.getListenerStats(),["tables","tableIds","transaction"])};var ie,de;return ie={Table:[1,1],[d]:[0,1],[u]:[0,5],[i]:[1,2],[v]:[0,2],[c]:[1,3]},de=([e,t],n)=>{h(e?["get","has","forEach"]:["get"],(e=>ae[e+s+n]=(...t)=>ne[e+n](...t))),ae["add"+s+n+o]=(...e)=>{return ne["add"+n+o](...(l=e,0,r=t,l.slice(0,r)),((n,...l)=>e[t](ae,...l)));var l,r}},((e,t)=>{e.map(t)})(J.entries(ie),(([e,t])=>de(t,e))),K(ae)})(r)),a.get(r))})();export{X as createQueries};
|
package/lib/es6/queries.js.gz
CHANGED
|
Binary file
|
package/lib/es6/relationships.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,n=
|
|
1
|
+
const e=e=>typeof e,n="",t=e(n),l=(e,n)=>e.forEach(n),r=e=>e.length,o=(e,...n)=>e.push(...n),s=e=>null==e,i=(e,n,t)=>s(e)?null==t?void 0:t():n(e),u=e=>Array.isArray(e),d=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},a=e=>s(e)||0==(e=>e.size)(e),c=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},v=e=>e.clear(),R=(e,n)=>null==e?void 0:e.forEach(n),h=(e,n)=>null==e?void 0:e.delete(n),f=e=>new Map(e),L=(e,n)=>null==e?void 0:e.get(n),g=(e,n)=>R(e,((e,t)=>n(t,e))),w=(e,n,t)=>s(t)?(h(e,n),e):null==e?void 0:e.set(n,t),p=(e,n,t)=>(d(e,n)||w(e,n,t()),L(e,n)),I=(e,n,t,l,o=0)=>i((t?p:L)(e,n[o],o>r(n)-2?t:f),(s=>{if(o>r(n)-2)return(null==l?void 0:l(s))&&w(e,n[o]),s;const i=I(s,n,t,l,o+1);return a(s)&&w(e,n[o]),i})),y=e=>new Set(u(e)||s(e)?e:[e]),b=(e,n)=>null==e?void 0:e.add(n),k=/^\d+$/,E=Object.freeze,T=(T=>{const m=new WeakMap;return T=>(m.has(T)||m.set(T,(T=>{const m=f(),S=f(),z=f(),A=f(),[D,M,j,x,C,O,,,W,$,q]=((e,t,o)=>{const I=e.hasRow,k=f(),E=f(),T=f(),m=f(),S=f(),z=(n,t,...r)=>{const o=p(S,n,y);return l(r,(n=>b(o,n)&&t&&e.callListener(n))),r},A=(n,...t)=>i(L(S,n),(o=>{l(0==r(t)?c(o):t,(n=>{e.delListener(n),h(o,n)})),a(o)&&w(S,n)})),D=(e,n)=>{w(k,e,n),d(E,e)||(w(E,e,[f(),f(),f(),f()]),w(T,e,f()),w(m,e,f()))},M=e=>{w(k,e),w(E,e),w(T,e),w(m,e),A(e)};return[()=>e,()=>{return[...null!=(n=null==(e=k)?void 0:e.keys())?n:[]];var e,n},e=>g(E,e),e=>d(E,e),e=>L(k,e),e=>L(E,e),(e,n)=>w(E,e,n),D,(t,o,i,a,c)=>{D(t,o);const h=f(),p=f(),y=L(T,t),b=L(m,t),k=t=>{const l=n=>e.getCell(o,t,n),i=L(y,t),d=I(o,t)?(v=a(l,t),s(v)?void 0:v+n):void 0;var v,R,f,g;if(i===d||u(i)&&u(d)&&(f=d,r(R=i)===r(f)&&(g=(e,n)=>f[n]===e,R.every(g)))||w(h,t,[i,d]),!s(c)){const e=L(b,t),n=I(o,t)?c(l,t):void 0;e!=n&&w(p,t,n)}},E=e=>{i((()=>{R(h,(([,e],n)=>w(y,n,e))),R(p,((e,n)=>w(b,n,e)))}),h,p,y,b,e),v(h),v(p)};g(y,k),e.hasTable(o)&&l(e.getRowIds(o),(e=>{d(y,e)||k(e)})),E(!0),A(t),z(t,0,e.addRowListener(o,null,((e,n,t)=>k(t))),e.addTableListener(o,(()=>E())))},M,()=>g(S,M),z,A]})(T),[B,F,G]=(e=>{let t;const[u,d]=(()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:n+t++},n=>{k.test(n)&&r(e)<1e3&&o(e,n)}]})(),c=f();return[(e,l,r,o=[],s=(()=>[]))=>{null!=t||(t=N);const i=u(1);return w(c,i,[e,l,r,o,s]),b(I(l,null!=r?r:[n],y),i),i},(e,s,...i)=>l(((e,t=[n])=>{const s=[],i=(e,n)=>n==r(t)?o(s,e):null===t[n]?R(e,(e=>i(e,n+1))):l([t[n],null],(t=>i(L(e,t),n+1)));return i(e,0),s})(e,s),(e=>R(e,(e=>L(c,e)[0](t,...null!=s?s:[],...i))))),e=>i(L(c,e),(([,t,l])=>(I(t,null!=l?l:[n],void 0,(n=>(h(n,e),a(n)?1:0))),w(c,e),d(e),l))),e=>i(L(c,e),(([e,,n=[],o,i])=>{const u=(...d)=>{var a,c;const v=r(d);v==r(n)?e(t,...d,...i(d)):s(n[v])?l(null!=(c=null==(a=o[v])?void 0:a.call(o,...d))?c:[],(e=>u(...d,e))):u(...d,n[v])};u()}))]})(),H=(e,n,t)=>i(O(e),(([l,,r])=>{if(!d(r,n)){const o=y();if(C(e)!=K(e))b(o,n);else{let e=n;for(;!s(e)&&!d(o,e);)b(o,e),e=L(l,e)}if(t)return o;w(r,n,o)}return L(r,n)})),J=(e,n)=>i(O(e),(([,,e])=>w(e,n))),K=e=>L(m,e),N={setRelationshipDefinition:(l,r,o,u)=>{return w(m,l,o),W(l,r,((e,n)=>{const t=y(),r=y(),o=y(),[u,c]=O(l);R(n,(([e,n],v)=>{s(e)||(b(r,e),i(L(c,e),(n=>{h(n,v),a(n)&&w(c,e)}))),s(n)||(b(r,n),d(c,n)||w(c,n,y()),b(L(c,n),v)),b(t,v),w(u,v,n),g(L(A,l),(e=>{d(H(l,e),v)&&b(o,e)}))})),e(),R(t,(e=>F(S,[l,e]))),R(r,(e=>F(z,[l,e]))),R(o,(e=>{J(l,e),F(A,[l,e])}))}),e(c=u)==t?e=>e(c):null!=c?c:()=>n),N;var c},delRelationshipDefinition:e=>(w(m,e),$(e),N),getStore:D,getRelationshipIds:M,forEachRelationship:e=>j((n=>e(n,(e=>T.forEachRow(C(n),e))))),hasRelationship:x,getLocalTableId:C,getRemoteTableId:K,getRemoteRowId:(e,n)=>{var t;return L(null==(t=O(e))?void 0:t[0],n)},getLocalRowIds:(e,n)=>{var t;return c(L(null==(t=O(e))?void 0:t[1],n))},getLinkedRowIds:(e,n)=>s(O(e))?[n]:c(H(e,n,!0)),addRemoteRowIdListener:(e,n,t)=>B(t,S,[e,n]),addLocalRowIdsListener:(e,n,t)=>B(t,z,[e,n]),addLinkedRowIdsListener:(e,n,t)=>(H(e,n),B(t,A,[e,n])),delListener:e=>(J(...G(e)),N),destroy:q,getListenerStats:()=>({})};return E(N)})(T)),m.get(T))})();export{T as createRelationships};
|
|
Binary file
|