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.
Files changed (139) hide show
  1. package/bin/cli.js +1 -1
  2. package/lib/checkpoints.js +1 -1
  3. package/lib/checkpoints.js.gz +0 -0
  4. package/lib/cjs/checkpoints.cjs +1 -1
  5. package/lib/cjs/checkpoints.cjs.gz +0 -0
  6. package/lib/cjs/indexes.cjs +1 -1
  7. package/lib/cjs/indexes.cjs.gz +0 -0
  8. package/lib/cjs/metrics.cjs +1 -1
  9. package/lib/cjs/metrics.cjs.gz +0 -0
  10. package/lib/cjs/persisters.cjs +1 -1
  11. package/lib/cjs/persisters.cjs.gz +0 -0
  12. package/lib/cjs/queries.cjs +1 -1
  13. package/lib/cjs/queries.cjs.gz +0 -0
  14. package/lib/cjs/relationships.cjs +1 -1
  15. package/lib/cjs/relationships.cjs.gz +0 -0
  16. package/lib/cjs/store.cjs +1 -1
  17. package/lib/cjs/store.cjs.gz +0 -0
  18. package/lib/cjs/tinybase.cjs +1 -1
  19. package/lib/cjs/tinybase.cjs.gz +0 -0
  20. package/lib/cjs/tools.cjs +1 -1
  21. package/lib/cjs/tools.cjs.gz +0 -0
  22. package/lib/cjs/ui-react.cjs +1 -1
  23. package/lib/cjs/ui-react.cjs.gz +0 -0
  24. package/lib/cjs-es6/checkpoints.cjs +1 -1
  25. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  26. package/lib/cjs-es6/indexes.cjs +1 -1
  27. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  28. package/lib/cjs-es6/metrics.cjs +1 -1
  29. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  30. package/lib/cjs-es6/persisters.cjs +1 -1
  31. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  32. package/lib/cjs-es6/queries.cjs +1 -1
  33. package/lib/cjs-es6/queries.cjs.gz +0 -0
  34. package/lib/cjs-es6/relationships.cjs +1 -1
  35. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  36. package/lib/cjs-es6/store.cjs +1 -1
  37. package/lib/cjs-es6/store.cjs.gz +0 -0
  38. package/lib/cjs-es6/tinybase.cjs +1 -1
  39. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  40. package/lib/cjs-es6/tools.cjs +1 -1
  41. package/lib/cjs-es6/tools.cjs.gz +0 -0
  42. package/lib/cjs-es6/ui-react.cjs +1 -1
  43. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  44. package/lib/debug/checkpoints.js +2 -2
  45. package/lib/debug/indexes.js +2 -2
  46. package/lib/debug/metrics.js +2 -2
  47. package/lib/debug/persisters.js +2 -2
  48. package/lib/debug/queries.js +1 -1
  49. package/lib/debug/relationships.js +2 -2
  50. package/lib/debug/store.js +89 -48
  51. package/lib/debug/tinybase.js +92 -51
  52. package/lib/debug/tools.js +106 -5
  53. package/lib/debug/ui-react.js +27 -2
  54. package/lib/es6/checkpoints.js +1 -1
  55. package/lib/es6/checkpoints.js.gz +0 -0
  56. package/lib/es6/indexes.js +1 -1
  57. package/lib/es6/indexes.js.gz +0 -0
  58. package/lib/es6/metrics.js +1 -1
  59. package/lib/es6/metrics.js.gz +0 -0
  60. package/lib/es6/persisters.js +1 -1
  61. package/lib/es6/persisters.js.gz +0 -0
  62. package/lib/es6/queries.js +1 -1
  63. package/lib/es6/queries.js.gz +0 -0
  64. package/lib/es6/relationships.js +1 -1
  65. package/lib/es6/relationships.js.gz +0 -0
  66. package/lib/es6/store.js +1 -1
  67. package/lib/es6/store.js.gz +0 -0
  68. package/lib/es6/tinybase.js +1 -1
  69. package/lib/es6/tinybase.js.gz +0 -0
  70. package/lib/es6/tools.js +1 -1
  71. package/lib/es6/tools.js.gz +0 -0
  72. package/lib/es6/ui-react.js +1 -1
  73. package/lib/es6/ui-react.js.gz +0 -0
  74. package/lib/indexes.js +1 -1
  75. package/lib/indexes.js.gz +0 -0
  76. package/lib/metrics.js +1 -1
  77. package/lib/metrics.js.gz +0 -0
  78. package/lib/persisters.js +1 -1
  79. package/lib/persisters.js.gz +0 -0
  80. package/lib/queries.js +1 -1
  81. package/lib/queries.js.gz +0 -0
  82. package/lib/relationships.js +1 -1
  83. package/lib/relationships.js.gz +0 -0
  84. package/lib/store.js +1 -1
  85. package/lib/store.js.gz +0 -0
  86. package/lib/tinybase.js +1 -1
  87. package/lib/tinybase.js.gz +0 -0
  88. package/lib/tools.js +1 -1
  89. package/lib/tools.js.gz +0 -0
  90. package/lib/types/store.d.ts +386 -30
  91. package/lib/types/tools.d.ts +2 -2
  92. package/lib/types/ui-react.d.ts +167 -0
  93. package/lib/types/with-schemas/store.d.ts +496 -37
  94. package/lib/types/with-schemas/tools.d.ts +2 -2
  95. package/lib/types/with-schemas/ui-react.d.ts +193 -5
  96. package/lib/ui-react.js +1 -1
  97. package/lib/ui-react.js.gz +0 -0
  98. package/lib/umd/checkpoints.js +1 -1
  99. package/lib/umd/checkpoints.js.gz +0 -0
  100. package/lib/umd/indexes.js +1 -1
  101. package/lib/umd/indexes.js.gz +0 -0
  102. package/lib/umd/metrics.js +1 -1
  103. package/lib/umd/metrics.js.gz +0 -0
  104. package/lib/umd/persisters.js +1 -1
  105. package/lib/umd/persisters.js.gz +0 -0
  106. package/lib/umd/queries.js +1 -1
  107. package/lib/umd/queries.js.gz +0 -0
  108. package/lib/umd/relationships.js +1 -1
  109. package/lib/umd/relationships.js.gz +0 -0
  110. package/lib/umd/store.js +1 -1
  111. package/lib/umd/store.js.gz +0 -0
  112. package/lib/umd/tinybase.js +1 -1
  113. package/lib/umd/tinybase.js.gz +0 -0
  114. package/lib/umd/tools.js +1 -1
  115. package/lib/umd/tools.js.gz +0 -0
  116. package/lib/umd/ui-react.js +1 -1
  117. package/lib/umd/ui-react.js.gz +0 -0
  118. package/lib/umd-es6/checkpoints.js +1 -1
  119. package/lib/umd-es6/checkpoints.js.gz +0 -0
  120. package/lib/umd-es6/indexes.js +1 -1
  121. package/lib/umd-es6/indexes.js.gz +0 -0
  122. package/lib/umd-es6/metrics.js +1 -1
  123. package/lib/umd-es6/metrics.js.gz +0 -0
  124. package/lib/umd-es6/persisters.js +1 -1
  125. package/lib/umd-es6/persisters.js.gz +0 -0
  126. package/lib/umd-es6/queries.js +1 -1
  127. package/lib/umd-es6/queries.js.gz +0 -0
  128. package/lib/umd-es6/relationships.js +1 -1
  129. package/lib/umd-es6/relationships.js.gz +0 -0
  130. package/lib/umd-es6/store.js +1 -1
  131. package/lib/umd-es6/store.js.gz +0 -0
  132. package/lib/umd-es6/tinybase.js +1 -1
  133. package/lib/umd-es6/tinybase.js.gz +0 -0
  134. package/lib/umd-es6/tools.js +1 -1
  135. package/lib/umd-es6/tools.js.gz +0 -0
  136. package/lib/umd-es6/ui-react.js +1 -1
  137. package/lib/umd-es6/ui-react.js.gz +0 -0
  138. package/package.json +52 -28
  139. package/readme.md +14 -14
@@ -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
- THEN_AND_THEN_DEPS_IN_CALL,
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,
@@ -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,
@@ -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[()=>{var l;return null!=(l=s(e))?l:""+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();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};
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
@@ -1 +1 @@
1
- const e=e=>typeof e,n=e(""),l=e=>""+e,t=(e,n)=>e.every(n),r=(e,n)=>t(e,((l,t)=>0==t||n(e[t-1],l)<=0)),s=(e,n)=>e.sort(n),o=(e,n)=>e.forEach(n),u=e=>e.length,d=(e,...n)=>e.push(...n),i=e=>null==e,a=(e,n,l)=>i(e)?null==l?void 0:l():n(e),c=e=>Array.isArray(e),v=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},h=e=>i(e)||0==(e=>e.size)(e),f=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},I=e=>e.clear(),g=(e,n)=>null==e?void 0:e.forEach(n),S=(e,n)=>null==e?void 0:e.delete(n),w=e=>new Map(e),L=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},p=(e,n)=>null==e?void 0:e.get(n),x=(e,n)=>g(e,((e,l)=>n(l,e))),y=(e,n,l)=>i(l)?(S(e,n),e):null==e?void 0:e.set(n,l),E=(e,n,l)=>(v(e,n)||y(e,n,l()),p(e,n)),R=(e,n,l,t,r=0)=>a((l?E:p)(e,n[r],r>u(n)-2?l:w),(s=>{if(r>u(n)-2)return(null==t?void 0:t(s))&&y(e,n[r]),s;const o=R(s,n,l,t,r+1);return h(s)&&y(e,n[r]),o})),b=e=>new Set(c(e)||i(e)?e:[e]),T=(e,n)=>null==e?void 0:e.add(n),k=(l,t)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=t?t:"",z=(e,n)=>e<n?-1:1,A=/^\d+$/,C=Object.freeze,D=(e=>{const n=new WeakMap;return e=>(n.has(e)||n.set(e,(e=>{const n=w(),D=w(),[M,j,m,O,W,$,q,,B,F,G]=((e,n,l)=>{const r=e.hasRow,s=w(),d=w(),R=w(),k=w(),z=w(),A=(n,l,...t)=>{const r=E(z,n,b);return o(t,(n=>T(r,n)&&l&&e.callListener(n))),t},C=(n,...l)=>a(p(z,n),(t=>{o(0==u(l)?f(t):l,(n=>{e.delListener(n),S(t,n)})),h(t)&&y(z,n)})),D=(e,l)=>{y(s,e,l),v(d,e)||(y(d,e,n()),y(R,e,w()),y(k,e,w()))},M=e=>{y(s,e),y(d,e),y(R,e),y(k,e),C(e)};return[()=>e,()=>L(s),e=>x(d,e),e=>v(d,e),e=>p(s,e),e=>p(d,e),(e,n)=>y(d,e,n),D,(n,s,d,a,h)=>{D(n,s);const f=w(),S=w(),L=p(R,n),E=p(k,n),b=n=>{const o=l=>e.getCell(s,n,l),d=p(L,n),v=r(s,n)?l(a(o,n)):void 0;var I,g;if(d===v||c(d)&&c(v)&&(g=v,u(I=d)===u(g)&&t(I,((e,n)=>g[n]===e)))||y(f,n,[d,v]),!i(h)){const e=p(E,n),l=r(s,n)?h(o,n):void 0;e!=l&&y(S,n,l)}},T=e=>{d((()=>{g(f,(([,e],n)=>y(L,n,e))),g(S,((e,n)=>y(E,n,e)))}),f,S,L,E,e),I(f),I(S)};x(L,b),e.hasTable(s)&&o(e.getRowIds(s),(e=>{v(L,e)||b(e)})),T(!0),C(n),A(n,0,e.addRowListener(s,null,((e,n,l)=>b(l))),e.addTableListener(s,(()=>T())))},M,()=>x(z,M),A,C]})(e,w,(e=>{return i(e)?"":c(e)?(n=l,e.map(n)):l(e);var n})),[H,J,K]=(e=>{let n;const[l,t]=(()=>{const e=[];let n=0;return[()=>{var l;return null!=(l=e.shift())?l:""+n++},n=>{A.test(n)&&u(e)<1e3&&d(e,n)}]})(),r=w();return[(e,t,s,o=[],u=(()=>[]))=>{null!=n||(n=P);const d=l();return y(r,d,[e,t,s,o,u]),T(R(t,null!=s?s:[""],b),d),d},(e,l,...t)=>o(((e,n=[""])=>{const l=[],t=(e,r)=>r==u(n)?d(l,e):null===n[r]?g(e,(e=>t(e,r+1))):o([n[r],null],(n=>t(p(e,n),r+1)));return t(e,0),l})(e,l),(e=>g(e,(e=>p(r,e)[0](n,...null!=l?l:[],...t))))),e=>a(p(r,e),(([,n,l])=>(R(n,null!=l?l:[""],void 0,(n=>(S(n,e),h(n)?1:0))),y(r,e),t(e),l))),e=>a(p(r,e),(([e,,l=[],t,r])=>{const s=(...d)=>{var a,c;const v=u(d);v==u(l)?e(n,...d,...r(d)):i(l[v])?o(null!=(c=null==(a=t[v])?void 0:a.call(t,...d))?c:[],(e=>s(...d,e))):s(...d,l[v])};s()}))]})(),N=(n,l,t)=>{const r=W(n);g(t,((n,t)=>l(t,(l=>g(n,(n=>l(n,(l=>e.forEachCell(r,n,l)))))))))},P={setIndexDefinition:(e,l,t,o,u,d=z)=>{const c=i(u)?void 0:([e],[n])=>u(e,n);return B(e,l,((l,t,u,f,I,L)=>{let E=0;const R=b(),k=b(),z=$(e);if(g(t,(([e,n],l)=>{const t=b(e),r=b(n);g(t,(e=>S(r,e)?S(t,e):0)),g(t,(e=>{T(R,e),a(p(z,e),(n=>{S(n,l),h(n)&&(y(z,e),E=1)}))})),g(r,(e=>{T(R,e),v(z,e)||(y(z,e,b()),E=1),T(p(z,e),l),i(o)||T(k,e)}))})),l(),h(I)||(L?x(z,(e=>T(k,e))):x(u,(e=>a(p(f,e),(e=>T(k,e))))),g(k,(e=>{const n=(n,l)=>d(p(I,n),p(I,l),e),l=[...p(z,e)];r(l,n)||(y(z,e,b(s(l,n))),T(R,e))}))),(E||L)&&!i(c)){const n=[...z];r(n,c)||(q(e,w(s(n,c))),E=1)}E&&J(n,[e]),g(R,(n=>J(D,[e,n])))}),k(t),a(o,k)),P},delIndexDefinition:e=>(F(e),P),getStore:M,getIndexIds:j,forEachIndex:e=>m(((n,l)=>e(n,(e=>N(n,e,l))))),forEachSlice:(e,n)=>N(e,n,$(e)),hasIndex:O,hasSlice:(e,n)=>v($(e),n),getTableId:W,getSliceIds:e=>L($(e)),getSliceRowIds:(e,n)=>f(p($(e),n)),addSliceIdsListener:(e,l)=>H(l,n,[e]),addSliceRowIdsListener:(e,n,l)=>H(l,D,[e,n]),delListener:e=>(K(e),P),destroy:G,getListenerStats:()=>({})};return C(P)})(e)),n.get(e))})();export{D as createIndexes};
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};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,n=e(""),t=e(e),l=(e,n)=>e.forEach(n),r=e=>o(e,((e,n)=>e+n),0),i=e=>e.length,o=(e,n,t)=>e.reduce(n,t),u=(e,...n)=>e.push(...n),s=Math.max,d=Math.min,a=isFinite,v=e=>null==e,c=(e,n,t)=>v(e)?null==t?void 0:t():n(e),h=e=>Array.isArray(e),f=()=>{},g=e=>e.size,M=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},L=e=>v(e)||0==g(e),m=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},w=e=>e.clear(),y=(e,n)=>null==e?void 0:e.forEach(n),p=(e,n)=>null==e?void 0:e.delete(n),b=e=>new Map(e),x=(e,n)=>null==e?void 0:e.get(n),E=(e,n)=>y(e,((e,t)=>n(t,e))),I=(e,n,t)=>v(t)?(p(e,n),e):null==e?void 0:e.set(n,t),R=(e,n,t)=>(M(e,n)||I(e,n,t()),x(e,n)),S=(e,n,t,l,r=0)=>c((t?R:x)(e,n[r],r>i(n)-2?t:b),(o=>{if(r>i(n)-2)return(null==l?void 0:l(o))&&I(e,n[r]),o;const u=S(o,n,t,l,r+1);return L(o)&&I(e,n[r]),u})),T=b([["avg",[(e,n)=>r(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=>s(...e),(e,n)=>s(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:s(n,e)]],["min",[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)]],["sum",[e=>r(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),k=e=>new Set(h(e)||v(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n),A=/^\d+$/,D=Object.freeze,N=(r=>{const o=new WeakMap;return r=>(o.has(r)||o.set(r,(r=>{const o=b(),[s,d,N,j,C,F,O,,W,$,q]=((e,n,t)=>{const r=e.hasRow,o=b(),u=b(),s=b(),d=b(),a=b(),f=(n,t,...r)=>{const i=R(a,n,k);return l(r,(n=>z(i,n)&&t&&e.callListener(n))),r},g=(n,...t)=>c(x(a,n),(r=>{l(0==i(t)?m(r):t,(n=>{e.delListener(n),p(r,n)})),L(r)&&I(a,n)})),S=(e,t)=>{I(o,e,t),M(u,e)||(I(u,e,n()),I(s,e,b()),I(d,e,b()))},T=e=>{I(o,e),I(u,e),I(s,e),I(d,e),g(e)};return[()=>e,()=>{return[...null!=(n=null==(e=o)?void 0:e.keys())?n:[]];var e,n},e=>E(u,e),e=>M(u,e),e=>x(o,e),e=>x(u,e),(e,n)=>I(u,e,n),S,(n,t,o,u,a)=>{S(n,t);const c=b(),L=b(),m=x(s,n),p=x(d,n),R=n=>{const l=l=>e.getCell(t,n,l),o=x(m,n),s=r(t,n)?(d=u(l,n),isNaN(d)||v(d)||!0===d||!1===d||""===d?void 0:1*d):void 0;var d,f,g,M;if(o===s||h(o)&&h(s)&&(g=s,i(f=o)===i(g)&&(M=(e,n)=>g[n]===e,f.every(M)))||I(c,n,[o,s]),!v(a)){const e=x(p,n),i=r(t,n)?a(l,n):void 0;e!=i&&I(L,n,i)}},T=e=>{o((()=>{y(c,(([,e],n)=>I(m,n,e))),y(L,((e,n)=>I(p,n,e)))}),c,L,m,p,e),w(c),w(L)};E(m,R),e.hasTable(t)&&l(e.getRowIds(t),(e=>{M(m,e)||R(e)})),T(!0),g(n),f(n,0,e.addRowListener(t,null,((e,n,t)=>R(t))),e.addTableListener(t,(()=>T())))},T,()=>E(a,T),f,g]})(r,f),[B,G,H]=(e=>{let n;const[t,r]=(()=>{const e=[];let n=0;return[()=>{var t;return null!=(t=e.shift())?t:""+n++},n=>{A.test(n)&&i(e)<1e3&&u(e,n)}]})(),o=b();return[(e,l,r,i=[],u=(()=>[]))=>{null!=n||(n=J);const s=t();return I(o,s,[e,l,r,i,u]),z(S(l,null!=r?r:[""],k),s),s},(e,t,...r)=>l(((e,n=[""])=>{const t=[],r=(e,o)=>o==i(n)?u(t,e):null===n[o]?y(e,(e=>r(e,o+1))):l([n[o],null],(n=>r(x(e,n),o+1)));return r(e,0),t})(e,t),(e=>y(e,(e=>x(o,e)[0](n,...null!=t?t:[],...r))))),e=>c(x(o,e),(([,n,t])=>(S(n,null!=t?t:[""],void 0,(n=>(p(n,e),L(n)?1:0))),I(o,e),r(e),t))),e=>c(x(o,e),(([e,,t=[],r,o])=>{const u=(...s)=>{var d,a;const c=i(s);c==i(t)?e(n,...s,...o(s)):v(t[c])?l(null!=(a=null==(d=r[c])?void 0:d.call(r,...s))?a:[],(e=>u(...s,e))):u(...s,t[c])};u()}))]})(),J={setMetricDefinition:(l,r,i,u,s,d,c)=>{var h;const f=e(i)==t?[i,s,d,c]:null!=(h=x(T,i))?h:x(T,"sum");return W(l,r,((e,n,t,r,i,u)=>{const s=F(l),d=g(r);u||(u=v(s)),e();let c=((e,n,t,l,r,i=!1)=>{if(L(t))return;const[o,u,s,d]=r;return i||(i=v(e)),y(l,(([t,l])=>{i||(e=v(t)?null==u?void 0:u(e,l,n++):v(l)?null==s?void 0:s(e,t,n--):null==d?void 0:d(e,l,t,n),i||(i=v(e)))})),i?o(m(t),g(t)):e})(s,d,r,n,f,u);a(c)||(c=void 0),c!=s&&(O(l,c),G(o,[l],c,s))}),(1,e(M=u)==n?e=>e(M):null!=M?M:()=>1)),J;var M},delMetricDefinition:e=>($(e),J),getStore:s,getMetricIds:d,forEachMetric:N,hasMetric:j,getTableId:C,getMetric:F,addMetricListener:(e,n)=>B(n,o,[e]),delListener:e=>(H(e),J),destroy:q,getListenerStats:()=>({})};return D(J)})(r)),o.get(r))})();export{N as createMetrics};
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};
Binary file
@@ -1 +1 @@
1
- import{watch as e,promises as t}from"fs";const o=e=>null==e,n=(e,t,n)=>o(e)?null==n?void 0:n():t(e),r=Object.freeze;var l=(e,t,o)=>new Promise(((n,r)=>{var l=e=>{try{s(o.next(e))}catch(e){r(e)}},a=e=>{try{s(o.throw(e))}catch(e){r(e)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(l,a);s((o=o.apply(e,t)).next())}));const a=(e,t,a,s,i)=>{let u,d,c=0;const v={load:(n,r)=>l(void 0,null,(function*(){if(2!=c){c=1;const l=yield t();o(l)||""==l?e.transaction((()=>e.setTables(n).setValues(r))):e.setJson(l),c=0}return v})),startAutoLoad:(e,t)=>l(void 0,null,(function*(){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 a(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:()=>(n(u,e.delListener),n(d,e.delListener),v),getStore:()=>e,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(v)};var s=(e,t,o)=>new Promise(((n,r)=>{var l=e=>{try{s(o.next(e))}catch(e){r(e)}},a=e=>{try{s(o.throw(e))}catch(e){r(e)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(l,a);s((o=o.apply(e,t)).next())}));const i=globalThis.window,u=(e,t,o)=>{let n;return a(e,(()=>s(void 0,null,(function*(){return o.getItem(t)}))),(e=>s(void 0,null,(function*(){return o.setItem(t,e)}))),(e=>{n=n=>{n.storageArea===o&&n.key===t&&e()},i.addEventListener("storage",n)}),(()=>{i.removeEventListener("storage",n),n=void 0}))},d=(e,t)=>u(e,t,localStorage),c=(e,t)=>u(e,t,sessionStorage);var v=(e,t,o)=>new Promise(((n,r)=>{var l=e=>{try{s(o.next(e))}catch(e){r(e)}},a=e=>{try{s(o.throw(e))}catch(e){r(e)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(l,a);s((o=o.apply(e,t)).next())}));const y=(o,n)=>{let r;return a(o,(()=>v(void 0,null,(function*(){try{return yield t.readFile(n,"utf8")}catch(e){}}))),(e=>v(void 0,null,(function*(){try{yield t.writeFile(n,e,"utf8")}catch(e){}}))),(t=>{r=e(n,t)}),(()=>{null==r||r.close(),r=void 0}))};var h=(e,t,o)=>new Promise(((n,r)=>{var l=e=>{try{s(o.next(e))}catch(e){r(e)}},a=e=>{try{s(o.throw(e))}catch(e){r(e)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(l,a);s((o=o.apply(e,t)).next())}));const f=e=>e.headers.get("ETag"),p=(e,t,r,l)=>{let s,i;return a(e,(()=>h(void 0,null,(function*(){const e=yield fetch(t);return i=f(e),e.text()}))),(e=>h(void 0,null,(function*(){return yield fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{s=setInterval((()=>h(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),r=f(n);o(i)||o(r)||r==i||(i=r,e())}))),1e3*l)}),(()=>{n(s,clearInterval),s=void 0}))};export{a as createCustomPersister,y as createFilePersister,d as createLocalPersister,p as createRemotePersister,c as createSessionPersister};
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};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,n=e(""),t=e(!0),l=e(0),r=e(e),o=(e,n)=>e.every(n),s=(e,n)=>e.forEach(n),i=e=>u(e,((e,n)=>e+n),0),a=e=>e.length,d=e=>0==a(e),u=(e,n,t)=>e.reduce(n,t),c=(e,...n)=>e.push(...n),v=Math.max,h=Math.min,w=isFinite,f=e=>null==e,g=(e,n,t)=>f(e)?null==t?void 0:t():n(e),R=n=>e(n)==r,y=e=>Array.isArray(e),L=()=>{},p=e=>e.size,b=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},T=e=>f(e)||0==p(e),m=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},C=e=>e.clear(),I=(e,n)=>null==e?void 0:e.forEach(n),O=(e,n)=>null==e?void 0:e.delete(n),S=e=>new Map(e),j=(e,n)=>null==e?void 0:e.get(n),x=(e,n)=>I(e,((e,t)=>n(t,e))),E=(e,n,t)=>f(t)?(O(e,n),e):null==e?void 0:e.set(n,t),Q=(e,n,t)=>(b(e,n)||E(e,n,t()),j(e,n)),M=(e,n,t,l,r=0)=>g((t?Q:j)(e,n[r],r>a(n)-2?t:S),(o=>{if(r>a(n)-2)return(null==l?void 0:l(o))&&E(e,n[r]),o;const s=M(o,n,t,l,r+1);return T(o)&&E(e,n[r]),s})),D=e=>new Set(y(e)||f(e)?e:[e]),F=(e,n)=>null==e?void 0:e.add(n),k=S([["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=>v(...e),(e,n)=>v(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:v(n,e)]],["min",[e=>h(...e),(e,n)=>h(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:h(n,e)]],["sum",[e=>i(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),z=Object,A=z.freeze;var P=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;const B=(r=>{const i=new WeakMap;return r=>(i.has(r)||i.set(r,(r=>{const i=r.createStore,[u,v,h,B,G,,,H,,J,K,N,U]=((e,n,t)=>{const l=e.hasRow,r=S(),i=S(),u=S(),c=S(),v=S(),h=(n,t,...l)=>{const r=Q(v,n,D);return s(l,(n=>F(r,n)&&t&&e.callListener(n))),l},w=(n,...t)=>g(j(v,n),(l=>{s(d(t)?m(l):t,(n=>{e.delListener(n),O(l,n)})),T(l)&&E(v,n)})),R=(e,n)=>{E(r,e,n),b(i,e)||(E(i,e,!0),E(u,e,S()),E(c,e,S()))},L=e=>{E(r,e),E(i,e),E(u,e),E(c,e),w(e)};return[()=>e,()=>{return[...null!=(n=null==(e=r)?void 0:e.keys())?n:[]];var e,n},e=>x(i,e),e=>b(i,e),e=>j(r,e),e=>j(i,e),(e,n)=>E(i,e,n),R,(n,r,i,d,v)=>{R(n,r);const g=S(),L=S(),p=j(u,n),T=j(c,n),m=n=>{const s=t=>e.getCell(r,n,t),i=j(p,n),u=l(r,n)?t(d(s,n)):void 0;var c,h;if(i===u||y(i)&&y(u)&&(h=u,a(c=i)===a(h)&&o(c,((e,n)=>h[n]===e)))||E(g,n,[i,u]),!f(v)){const e=j(T,n),t=l(r,n)?v(s,n):void 0;e!=t&&E(L,n,t)}},O=e=>{i((()=>{I(g,(([,e],n)=>E(p,n,e))),I(L,((e,n)=>E(T,n,e)))}),g,L,p,T,e),C(g),C(L)};x(p,m),e.hasTable(r)&&s(e.getRowIds(r),(e=>{b(p,e)||m(e)})),O(!0),w(n),h(n,0,e.addRowListener(r,null,((e,n,t)=>m(t))),e.addTableListener(r,(()=>O())))},L,()=>x(v,L),h,w]})(r,0,L),V=i(),X=i(),Y=S(),Z=(e,n,...t)=>s(t,(t=>F(Q(Q(Y,n,S),e,D),t))),$=e=>{g(j(Y,e),(e=>{x(e,((e,n)=>I(n,(n=>e.delListener(n))))),C(e)})),s([X,V],(n=>n.delTable(e)))},_=(e,n,t)=>Z(n,e,n.addWillFinishTransactionListener(t.startTransaction),n.addDidFinishTransactionListener((()=>t.finishTransaction()))),ee={setQueryDefinition:(i,u,v)=>{H(i,u),$(i);const h=[],y=[[null,[u,null,null,[],S()]]],L=[],C=[],z=[];v({select:(e,n)=>{const t=R(e)?[a(h)+"",e]:[f(n)?e:n,t=>t(e,n)];return c(h,t),{as:e=>t[0]=e}},join:(e,n,t)=>{const l=f(t)||R(n)?null:n,r=f(l)?n:t,o=[e,[e,l,R(r)?r:e=>e(r),[],S()]];return c(y,o),{as:e=>o[0]=e}},where:(e,n,t)=>c(L,R(e)?e:f(t)?t=>t(e)===n:l=>l(e,n)===t),group:(e,n,t,l,r)=>{var o;const s=[e,[e,R(n)?[n,t,l,r]:null!=(o=j(k,n))?o:[(e,n)=>n]]];return c(C,s),{as:e=>s[0]=e}},having:(e,n)=>c(z,R(e)?e:t=>t(e)===n)});const A=S(h);if(T(A))return ee;const P=S(y);x(P,((e,[,n])=>g(j(P,n),(({3:n})=>f(e)?0:c(n,e)))));const W=S(C);let q=V;if(T(W)&&d(z))q=X;else{_(i,q,X);const r=S();x(W,((e,[n,t])=>F(Q(r,n,D),[e,t])));const s=D();x(A,(e=>b(r,e)?0:F(s,e)));const a=S(),d=(s,a,d,u)=>g(s,(([c,v,h,g])=>{x(a,((o,[s])=>{const i=Q(c,o,S),a=j(i,d),v=u?void 0:s;if(a!==v){const s=D([[a,v]]),u=p(i);E(i,d,v),I(j(r,o),(([r,o])=>{const a=((e,n,t,l,r,o=!1)=>{if(T(t))return;const[s,i,a,d]=r;return o||(o=f(e)),I(l,(([t,l])=>{o||(e=f(t)?null==i?void 0:i(e,l,n++):f(l)?null==a?void 0:a(e,t,n--):null==d?void 0:d(e,l,t,n),o||(o=f(e)))})),o?s(m(t),p(t)):e})(g[r],u,i,s,o);g[r]=f((r=>{const o=e(r);return(e=>e==n||e==t)(o)||o==l&&w(r)?o:void 0})(a))?null:a}))}})),T(v)||!o(z,(e=>e((e=>g[e]))))?X.delRow(i,h):f(h)?s[2]=X.addRow(i,g):X.setRow(i,h,g)}));Z(q,i,q.addRowListener(i,null,((e,n,t,l)=>{const o=[],u=[],v=S(),h=q.hasRow(i,t);let w=!h;I(s,(e=>{const[n,r,s]=l(i,t,e);c(o,r),c(u,s),w||(w=n)})),x(r,(e=>{const[n,,r]=l(i,t,e);(w||n)&&E(v,e,[r])})),w&&d(M(a,o,void 0,(([,e])=>(O(e,t),T(e)))),v,t,1),h&&d(M(a,u,(()=>{const e={};return I(s,(n=>e[n]=q.getCell(i,t,n))),[S(),D(),void 0,e]}),(([,e])=>{F(e,t)})),v,t)})))}_(i,r,q);const B=(e,n,t,l)=>{const a=e=>r.getCell(n,t,e);s(l,(n=>{var t;const[l,,o,s,d]=j(P,n),u=null==o?void 0:o(a,e),[c,v]=null!=(t=j(d,e))?t:[];u!=c&&(f(v)||U(i,v),E(d,e,f(u)?null:[u,...N(i,1,r.addRowListener(l,u,(()=>B(e,l,u,s))))]))})),(e=>{const n=(n,t)=>{var l,o,s;return r.getCell(...f(t)?[u,e,n]:n===u?[u,e,t]:[null==(l=j(P,n))?void 0:l[0],null==(s=j(null==(o=j(P,n))?void 0:o[4],e))?void 0:s[0],t])};q.transaction((()=>o(L,(e=>e(n)))?x(A,((t,l)=>((e,n,t,l,r)=>f(r)?e.delCell(n,t,l,!0):e.setCell(n,t,l,r))(q,i,e,t,l(n,e)))):q.delRow(i,e)))})(e)},{3:G}=j(P,null);return q.transaction((()=>N(i,1,r.addRowListener(u,null,((e,n,t)=>{r.hasRow(u,t)?B(t,u,t,G):(q.delRow(i,t),I(P,(({4:e})=>g(j(e,t),(([,n])=>{U(i,n),E(e,t)})))))}))))),ee},delQueryDefinition:e=>($(e),J(e),ee),getStore:u,getQueryIds:v,forEachQuery:h,hasQuery:B,getTableId:G,delListener:e=>(X.delListener(e),ee),destroy:K,getListenerStats:()=>((e,n)=>{var t={};for(var l in e)W.call(e,l)&&n.indexOf(l)<0&&(t[l]=e[l]);if(null!=e&&P)for(var l of P(e))n.indexOf(l)<0&&q.call(e,l)&&(t[l]=e[l]);return t})(X.getListenerStats(),["tables","tableIds","transaction"])};var ne,te;return ne={Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},te=([e,n],t)=>{s(e?["get","has","forEach"]:["get"],(e=>ee[e+"Result"+t]=(...n)=>X[e+t](...n))),ee["addResult"+t+"Listener"]=(...e)=>{return X["add"+t+"Listener"](...(l=e,0,r=n,l.slice(0,r)),((t,...l)=>e[n](ee,...l)));var l,r}},((e,n)=>{e.map(n)})(z.entries(ne),(([e,n])=>te(n,e))),A(ee)})(r)),i.get(r))})();export{B as createQueries};
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};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,n=e(""),t=(e,n)=>e.forEach(n),l=e=>e.length,r=(e,...n)=>e.push(...n),o=e=>null==e,s=(e,n,t)=>o(e)?null==t?void 0:t():n(e),i=e=>Array.isArray(e),u=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},d=e=>o(e)||0==(e=>e.size)(e),a=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},c=e=>e.clear(),v=(e,n)=>null==e?void 0:e.forEach(n),R=(e,n)=>null==e?void 0:e.delete(n),h=e=>new Map(e),f=(e,n)=>null==e?void 0:e.get(n),L=(e,n)=>v(e,((e,t)=>n(t,e))),g=(e,n,t)=>o(t)?(R(e,n),e):null==e?void 0:e.set(n,t),w=(e,n,t)=>(u(e,n)||g(e,n,t()),f(e,n)),p=(e,n,t,r,o=0)=>s((t?w:f)(e,n[o],o>l(n)-2?t:h),(s=>{if(o>l(n)-2)return(null==r?void 0:r(s))&&g(e,n[o]),s;const i=p(s,n,t,r,o+1);return d(s)&&g(e,n[o]),i})),I=e=>new Set(i(e)||o(e)?e:[e]),y=(e,n)=>null==e?void 0:e.add(n),b=/^\d+$/,k=Object.freeze,E=(E=>{const T=new WeakMap;return E=>(T.has(E)||T.set(E,(E=>{const T=h(),m=h(),S=h(),z=h(),[A,D,M,j,x,C,,,O,W,$]=((e,n,r)=>{const p=e.hasRow,b=h(),k=h(),E=h(),T=h(),m=h(),S=(n,l,...r)=>{const o=w(m,n,I);return t(r,(n=>y(o,n)&&l&&e.callListener(n))),r},z=(n,...r)=>s(f(m,n),(o=>{t(0==l(r)?a(o):r,(n=>{e.delListener(n),R(o,n)})),d(o)&&g(m,n)})),A=(e,n)=>{g(b,e,n),u(k,e)||(g(k,e,[h(),h(),h(),h()]),g(E,e,h()),g(T,e,h()))},D=e=>{g(b,e),g(k,e),g(E,e),g(T,e),z(e)};return[()=>e,()=>{return[...null!=(n=null==(e=b)?void 0:e.keys())?n:[]];var e,n},e=>L(k,e),e=>u(k,e),e=>f(b,e),e=>f(k,e),(e,n)=>g(k,e,n),A,(n,r,s,d,a)=>{A(n,r);const R=h(),w=h(),I=f(E,n),y=f(T,n),b=n=>{const t=t=>e.getCell(r,n,t),s=f(I,n),u=p(r,n)?(c=d(t,n),o(c)?void 0:c+""):void 0;var c,v,h,L;if(s===u||i(s)&&i(u)&&(h=u,l(v=s)===l(h)&&(L=(e,n)=>h[n]===e,v.every(L)))||g(R,n,[s,u]),!o(a)){const e=f(y,n),l=p(r,n)?a(t,n):void 0;e!=l&&g(w,n,l)}},k=e=>{s((()=>{v(R,(([,e],n)=>g(I,n,e))),v(w,((e,n)=>g(y,n,e)))}),R,w,I,y,e),c(R),c(w)};L(I,b),e.hasTable(r)&&t(e.getRowIds(r),(e=>{u(I,e)||b(e)})),k(!0),z(n),S(n,0,e.addRowListener(r,null,((e,n,t)=>b(t))),e.addTableListener(r,(()=>k())))},D,()=>L(m,D),S,z]})(E),[q,B,F]=(e=>{let n;const[i,u]=(()=>{const e=[];let n=0;return[()=>{var t;return null!=(t=e.shift())?t:""+n++},n=>{b.test(n)&&l(e)<1e3&&r(e,n)}]})(),a=h();return[(e,t,l,r=[],o=(()=>[]))=>{null!=n||(n=K);const s=i();return g(a,s,[e,t,l,r,o]),y(p(t,null!=l?l:[""],I),s),s},(e,o,...s)=>t(((e,n=[""])=>{const o=[],s=(e,i)=>i==l(n)?r(o,e):null===n[i]?v(e,(e=>s(e,i+1))):t([n[i],null],(n=>s(f(e,n),i+1)));return s(e,0),o})(e,o),(e=>v(e,(e=>f(a,e)[0](n,...null!=o?o:[],...s))))),e=>s(f(a,e),(([,n,t])=>(p(n,null!=t?t:[""],void 0,(n=>(R(n,e),d(n)?1:0))),g(a,e),u(e),t))),e=>s(f(a,e),(([e,,r=[],s,i])=>{const u=(...d)=>{var a,c;const v=l(d);v==l(r)?e(n,...d,...i(d)):o(r[v])?t(null!=(c=null==(a=s[v])?void 0:a.call(s,...d))?c:[],(e=>u(...d,e))):u(...d,r[v])};u()}))]})(),G=(e,n,t)=>s(C(e),(([l,,r])=>{if(!u(r,n)){const s=I();if(x(e)!=J(e))y(s,n);else{let e=n;for(;!o(e)&&!u(s,e);)y(s,e),e=f(l,e)}if(t)return s;g(r,n,s)}return f(r,n)})),H=(e,n)=>s(C(e),(([,,e])=>g(e,n))),J=e=>f(T,e),K={setRelationshipDefinition:(t,l,r,i)=>{return g(T,t,r),O(t,l,((e,n)=>{const l=I(),r=I(),i=I(),[a,c]=C(t);v(n,(([e,n],v)=>{o(e)||(y(r,e),s(f(c,e),(n=>{R(n,v),d(n)&&g(c,e)}))),o(n)||(y(r,n),u(c,n)||g(c,n,I()),y(f(c,n),v)),y(l,v),g(a,v,n),L(f(z,t),(e=>{u(G(t,e),v)&&y(i,e)}))})),e(),v(l,(e=>B(m,[t,e]))),v(r,(e=>B(S,[t,e]))),v(i,(e=>{H(t,e),B(z,[t,e])}))}),e(a=i)==n?e=>e(a):null!=a?a:()=>""),K;var a},delRelationshipDefinition:e=>(g(T,e),W(e),K),getStore:A,getRelationshipIds:D,forEachRelationship:e=>M((n=>e(n,(e=>E.forEachRow(x(n),e))))),hasRelationship:j,getLocalTableId:x,getRemoteTableId:J,getRemoteRowId:(e,n)=>{var t;return f(null==(t=C(e))?void 0:t[0],n)},getLocalRowIds:(e,n)=>{var t;return a(f(null==(t=C(e))?void 0:t[1],n))},getLinkedRowIds:(e,n)=>o(C(e))?[n]:a(G(e,n,!0)),addRemoteRowIdListener:(e,n,t)=>q(t,m,[e,n]),addLocalRowIdsListener:(e,n,t)=>q(t,S,[e,n]),addLinkedRowIdsListener:(e,n,t)=>(G(e,n),q(t,z,[e,n])),delListener:e=>(H(...F(e)),K),destroy:$,getListenerStats:()=>({})};return k(K)})(E)),T.get(E))})();export{E as createRelationships};
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