tinybase 4.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) 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/persister-browser.cjs +1 -1
  11. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  12. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  13. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  14. package/lib/cjs/persisters/persister-file.cjs +1 -1
  15. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  16. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  17. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  18. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  19. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  20. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  21. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  22. package/lib/cjs/relationships.cjs +1 -1
  23. package/lib/cjs/relationships.cjs.gz +0 -0
  24. package/lib/cjs/store.cjs +1 -1
  25. package/lib/cjs/store.cjs.gz +0 -0
  26. package/lib/cjs/tinybase.cjs +1 -1
  27. package/lib/cjs/tinybase.cjs.gz +0 -0
  28. package/lib/cjs/tools.cjs +1 -1
  29. package/lib/cjs/tools.cjs.gz +0 -0
  30. package/lib/cjs/ui-react.cjs +1 -1
  31. package/lib/cjs/ui-react.cjs.gz +0 -0
  32. package/lib/cjs-es6/checkpoints.cjs +1 -1
  33. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  34. package/lib/cjs-es6/indexes.cjs +1 -1
  35. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  36. package/lib/cjs-es6/metrics.cjs +1 -1
  37. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  38. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  39. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  40. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  41. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  42. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  43. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  44. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  45. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  46. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  47. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  48. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  49. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  50. package/lib/cjs-es6/relationships.cjs +1 -1
  51. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  52. package/lib/cjs-es6/store.cjs +1 -1
  53. package/lib/cjs-es6/store.cjs.gz +0 -0
  54. package/lib/cjs-es6/tinybase.cjs +1 -1
  55. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  56. package/lib/cjs-es6/tools.cjs +1 -1
  57. package/lib/cjs-es6/tools.cjs.gz +0 -0
  58. package/lib/cjs-es6/ui-react.cjs +1 -1
  59. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  60. package/lib/debug/checkpoints.js +6 -6
  61. package/lib/debug/indexes.js +7 -7
  62. package/lib/debug/metrics.js +12 -12
  63. package/lib/debug/persisters/persister-browser.js +10 -19
  64. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +6 -15
  65. package/lib/debug/persisters/persister-file.js +10 -19
  66. package/lib/debug/persisters/persister-remote.js +10 -19
  67. package/lib/debug/persisters/persister-sqlite-wasm.js +6 -15
  68. package/lib/debug/persisters/persister-sqlite3.js +6 -15
  69. package/lib/debug/persisters.js +4 -4
  70. package/lib/debug/relationships.js +7 -7
  71. package/lib/debug/store.js +16 -24
  72. package/lib/debug/tinybase.js +20 -28
  73. package/lib/debug/tools.js +14 -13
  74. package/lib/debug/ui-react.js +4 -4
  75. package/lib/es6/checkpoints.js +1 -1
  76. package/lib/es6/checkpoints.js.gz +0 -0
  77. package/lib/es6/indexes.js +1 -1
  78. package/lib/es6/indexes.js.gz +0 -0
  79. package/lib/es6/metrics.js +1 -1
  80. package/lib/es6/metrics.js.gz +0 -0
  81. package/lib/es6/persisters/persister-browser.js +1 -1
  82. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  83. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  84. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  85. package/lib/es6/persisters/persister-file.js +1 -1
  86. package/lib/es6/persisters/persister-file.js.gz +0 -0
  87. package/lib/es6/persisters/persister-remote.js +1 -1
  88. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  89. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  90. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  91. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  92. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  93. package/lib/es6/relationships.js +1 -1
  94. package/lib/es6/relationships.js.gz +0 -0
  95. package/lib/es6/store.js +1 -1
  96. package/lib/es6/store.js.gz +0 -0
  97. package/lib/es6/tinybase.js +1 -1
  98. package/lib/es6/tinybase.js.gz +0 -0
  99. package/lib/es6/tools.js +1 -1
  100. package/lib/es6/tools.js.gz +0 -0
  101. package/lib/es6/ui-react.js +1 -1
  102. package/lib/es6/ui-react.js.gz +0 -0
  103. package/lib/indexes.js +1 -1
  104. package/lib/indexes.js.gz +0 -0
  105. package/lib/metrics.js +1 -1
  106. package/lib/metrics.js.gz +0 -0
  107. package/lib/persisters/persister-browser.js +1 -1
  108. package/lib/persisters/persister-browser.js.gz +0 -0
  109. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  110. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  111. package/lib/persisters/persister-file.js +1 -1
  112. package/lib/persisters/persister-file.js.gz +0 -0
  113. package/lib/persisters/persister-remote.js +1 -1
  114. package/lib/persisters/persister-remote.js.gz +0 -0
  115. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  116. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  117. package/lib/persisters/persister-sqlite3.js +1 -1
  118. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  119. package/lib/relationships.js +1 -1
  120. package/lib/relationships.js.gz +0 -0
  121. package/lib/store.js +1 -1
  122. package/lib/store.js.gz +0 -0
  123. package/lib/tinybase.js +1 -1
  124. package/lib/tinybase.js.gz +0 -0
  125. package/lib/tools.js +1 -1
  126. package/lib/tools.js.gz +0 -0
  127. package/lib/ui-react.js +1 -1
  128. package/lib/ui-react.js.gz +0 -0
  129. package/lib/umd/checkpoints.js +1 -1
  130. package/lib/umd/checkpoints.js.gz +0 -0
  131. package/lib/umd/indexes.js +1 -1
  132. package/lib/umd/indexes.js.gz +0 -0
  133. package/lib/umd/metrics.js +1 -1
  134. package/lib/umd/metrics.js.gz +0 -0
  135. package/lib/umd/persisters/persister-browser.js +1 -1
  136. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  137. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  138. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  139. package/lib/umd/persisters/persister-file.js +1 -1
  140. package/lib/umd/persisters/persister-file.js.gz +0 -0
  141. package/lib/umd/persisters/persister-remote.js +1 -1
  142. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  143. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  144. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  145. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  146. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  147. package/lib/umd/relationships.js +1 -1
  148. package/lib/umd/relationships.js.gz +0 -0
  149. package/lib/umd/store.js +1 -1
  150. package/lib/umd/store.js.gz +0 -0
  151. package/lib/umd/tinybase.js +1 -1
  152. package/lib/umd/tinybase.js.gz +0 -0
  153. package/lib/umd/tools.js +1 -1
  154. package/lib/umd/tools.js.gz +0 -0
  155. package/lib/umd/ui-react.js +1 -1
  156. package/lib/umd/ui-react.js.gz +0 -0
  157. package/lib/umd-es6/checkpoints.js +1 -1
  158. package/lib/umd-es6/checkpoints.js.gz +0 -0
  159. package/lib/umd-es6/indexes.js +1 -1
  160. package/lib/umd-es6/indexes.js.gz +0 -0
  161. package/lib/umd-es6/metrics.js +1 -1
  162. package/lib/umd-es6/metrics.js.gz +0 -0
  163. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  164. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  165. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  166. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  167. package/lib/umd-es6/persisters/persister-file.js +1 -1
  168. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  169. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  170. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  171. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  172. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  173. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  174. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  175. package/lib/umd-es6/relationships.js +1 -1
  176. package/lib/umd-es6/relationships.js.gz +0 -0
  177. package/lib/umd-es6/store.js +1 -1
  178. package/lib/umd-es6/store.js.gz +0 -0
  179. package/lib/umd-es6/tinybase.js +1 -1
  180. package/lib/umd-es6/tinybase.js.gz +0 -0
  181. package/lib/umd-es6/tools.js +1 -1
  182. package/lib/umd-es6/tools.js.gz +0 -0
  183. package/lib/umd-es6/ui-react.js +1 -1
  184. package/lib/umd-es6/ui-react.js.gz +0 -0
  185. package/package.json +30 -30
  186. package/readme.md +5 -5
@@ -9,27 +9,12 @@ const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
9
9
  const arrayMap = (array, cb) => array.map(cb);
10
10
  const arrayLength = (array) => array.length;
11
11
  const arrayIsEmpty = (array) => arrayLength(array) == 0;
12
- const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
13
12
  const arrayFilter = (array, cb) => array.filter(cb);
14
13
  const arraySlice = (array, start, end) => array.slice(start, end);
15
14
  const arrayPush = (array, ...values) => array.push(...values);
16
15
  const arrayShift = (array) => array.shift();
17
16
 
18
17
  const promise = Promise;
19
- const jsonString = (obj) =>
20
- JSON.stringify(obj, (_key, value) =>
21
- isInstanceOf(value, Map)
22
- ? arrayReduce(
23
- [...value],
24
- (obj2, [key, value2]) => {
25
- obj2[key] = value2;
26
- return obj2;
27
- },
28
- {},
29
- )
30
- : value,
31
- );
32
- const jsonParse = JSON.parse;
33
18
  const isInstanceOf = (thing, cls) => thing instanceof cls;
34
19
  const isUndefined = (thing) => thing == void 0;
35
20
  const ifNotUndefined = (value, then, otherwise) =>
@@ -312,6 +297,12 @@ const getPlaceholders = (array) =>
312
297
  COMMA,
313
298
  );
314
299
 
300
+ const jsonString = (obj) =>
301
+ JSON.stringify(obj, (_key, value) =>
302
+ isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
303
+ );
304
+ const jsonParse = JSON.parse;
305
+
315
306
  const createCustomPersister = (
316
307
  store,
317
308
  getPersisted,
@@ -3,30 +3,15 @@ import {readFile, writeFile} from 'fs/promises';
3
3
 
4
4
  const UTF8 = 'utf8';
5
5
 
6
- const arrayLength = (array) => array.length;
7
- const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
8
- const arrayPush = (array, ...values) => array.push(...values);
9
- const arrayShift = (array) => array.shift();
10
-
11
- const jsonString = (obj) =>
12
- JSON.stringify(obj, (_key, value) =>
13
- isInstanceOf(value, Map)
14
- ? arrayReduce(
15
- [...value],
16
- (obj2, [key, value2]) => {
17
- obj2[key] = value2;
18
- return obj2;
19
- },
20
- {},
21
- )
22
- : value,
23
- );
24
- const jsonParse = JSON.parse;
25
6
  const isInstanceOf = (thing, cls) => thing instanceof cls;
26
7
  const isUndefined = (thing) => thing == void 0;
27
8
  const ifNotUndefined = (value, then, otherwise) =>
28
9
  isUndefined(value) ? otherwise?.() : then(value);
29
10
 
11
+ const arrayLength = (array) => array.length;
12
+ const arrayPush = (array, ...values) => array.push(...values);
13
+ const arrayShift = (array) => array.shift();
14
+
30
15
  const object = Object;
31
16
  const objIds = object.keys;
32
17
  const objFreeze = object.freeze;
@@ -35,6 +20,12 @@ const isObject = (obj) =>
35
20
  const objSize = (obj) => arrayLength(objIds(obj));
36
21
  const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
37
22
 
23
+ const jsonString = (obj) =>
24
+ JSON.stringify(obj, (_key, value) =>
25
+ isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
26
+ );
27
+ const jsonParse = JSON.parse;
28
+
38
29
  const createCustomPersister = (
39
30
  store,
40
31
  getPersisted,
@@ -1,27 +1,12 @@
1
- const arrayLength = (array) => array.length;
2
- const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
3
- const arrayPush = (array, ...values) => array.push(...values);
4
- const arrayShift = (array) => array.shift();
5
-
6
- const jsonString = (obj) =>
7
- JSON.stringify(obj, (_key, value) =>
8
- isInstanceOf(value, Map)
9
- ? arrayReduce(
10
- [...value],
11
- (obj2, [key, value2]) => {
12
- obj2[key] = value2;
13
- return obj2;
14
- },
15
- {},
16
- )
17
- : value,
18
- );
19
- const jsonParse = JSON.parse;
20
1
  const isInstanceOf = (thing, cls) => thing instanceof cls;
21
2
  const isUndefined = (thing) => thing == void 0;
22
3
  const ifNotUndefined = (value, then, otherwise) =>
23
4
  isUndefined(value) ? otherwise?.() : then(value);
24
5
 
6
+ const arrayLength = (array) => array.length;
7
+ const arrayPush = (array, ...values) => array.push(...values);
8
+ const arrayShift = (array) => array.shift();
9
+
25
10
  const object = Object;
26
11
  const objIds = object.keys;
27
12
  const objFreeze = object.freeze;
@@ -30,6 +15,12 @@ const isObject = (obj) =>
30
15
  const objSize = (obj) => arrayLength(objIds(obj));
31
16
  const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
32
17
 
18
+ const jsonString = (obj) =>
19
+ JSON.stringify(obj, (_key, value) =>
20
+ isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
21
+ );
22
+ const jsonParse = JSON.parse;
23
+
33
24
  const createCustomPersister = (
34
25
  store,
35
26
  getPersisted,
@@ -9,27 +9,12 @@ const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
9
9
  const arrayMap = (array, cb) => array.map(cb);
10
10
  const arrayLength = (array) => array.length;
11
11
  const arrayIsEmpty = (array) => arrayLength(array) == 0;
12
- const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
13
12
  const arrayFilter = (array, cb) => array.filter(cb);
14
13
  const arraySlice = (array, start, end) => array.slice(start, end);
15
14
  const arrayPush = (array, ...values) => array.push(...values);
16
15
  const arrayShift = (array) => array.shift();
17
16
 
18
17
  const promise = Promise;
19
- const jsonString = (obj) =>
20
- JSON.stringify(obj, (_key, value) =>
21
- isInstanceOf(value, Map)
22
- ? arrayReduce(
23
- [...value],
24
- (obj2, [key, value2]) => {
25
- obj2[key] = value2;
26
- return obj2;
27
- },
28
- {},
29
- )
30
- : value,
31
- );
32
- const jsonParse = JSON.parse;
33
18
  const isInstanceOf = (thing, cls) => thing instanceof cls;
34
19
  const isUndefined = (thing) => thing == void 0;
35
20
  const ifNotUndefined = (value, then, otherwise) =>
@@ -312,6 +297,12 @@ const getPlaceholders = (array) =>
312
297
  COMMA,
313
298
  );
314
299
 
300
+ const jsonString = (obj) =>
301
+ JSON.stringify(obj, (_key, value) =>
302
+ isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
303
+ );
304
+ const jsonParse = JSON.parse;
305
+
315
306
  const createCustomPersister = (
316
307
  store,
317
308
  getPersisted,
@@ -9,27 +9,12 @@ const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
9
9
  const arrayMap = (array, cb) => array.map(cb);
10
10
  const arrayLength = (array) => array.length;
11
11
  const arrayIsEmpty = (array) => arrayLength(array) == 0;
12
- const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
13
12
  const arrayFilter = (array, cb) => array.filter(cb);
14
13
  const arraySlice = (array, start, end) => array.slice(start, end);
15
14
  const arrayPush = (array, ...values) => array.push(...values);
16
15
  const arrayShift = (array) => array.shift();
17
16
 
18
17
  const promise = Promise;
19
- const jsonString = (obj) =>
20
- JSON.stringify(obj, (_key, value) =>
21
- isInstanceOf(value, Map)
22
- ? arrayReduce(
23
- [...value],
24
- (obj2, [key, value2]) => {
25
- obj2[key] = value2;
26
- return obj2;
27
- },
28
- {},
29
- )
30
- : value,
31
- );
32
- const jsonParse = JSON.parse;
33
18
  const isInstanceOf = (thing, cls) => thing instanceof cls;
34
19
  const isUndefined = (thing) => thing == void 0;
35
20
  const ifNotUndefined = (value, then, otherwise) =>
@@ -313,6 +298,12 @@ const getPlaceholders = (array) =>
313
298
  COMMA,
314
299
  );
315
300
 
301
+ const jsonString = (obj) =>
302
+ JSON.stringify(obj, (_key, value) =>
303
+ isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
304
+ );
305
+ const jsonParse = JSON.parse;
306
+
316
307
  const createCustomPersister = (
317
308
  store,
318
309
  getPersisted,
@@ -1,12 +1,12 @@
1
- const arrayLength = (array) => array.length;
2
- const arrayPush = (array, ...values) => array.push(...values);
3
- const arrayShift = (array) => array.shift();
4
-
5
1
  const isInstanceOf = (thing, cls) => thing instanceof cls;
6
2
  const isUndefined = (thing) => thing == void 0;
7
3
  const ifNotUndefined = (value, then, otherwise) =>
8
4
  isUndefined(value) ? otherwise?.() : then(value);
9
5
 
6
+ const arrayLength = (array) => array.length;
7
+ const arrayPush = (array, ...values) => array.push(...values);
8
+ const arrayShift = (array) => array.shift();
9
+
10
10
  const object = Object;
11
11
  const objIds = object.keys;
12
12
  const objFreeze = object.freeze;
@@ -2,6 +2,13 @@ const getTypeOf = (thing) => typeof thing;
2
2
  const EMPTY_STRING = '';
3
3
  const STRING = getTypeOf(EMPTY_STRING);
4
4
 
5
+ const isUndefined = (thing) => thing == void 0;
6
+ const ifNotUndefined = (value, then, otherwise) =>
7
+ isUndefined(value) ? otherwise?.() : then(value);
8
+ const isString = (thing) => getTypeOf(thing) == STRING;
9
+ const isArray = (thing) => Array.isArray(thing);
10
+ const test = (regex, subject) => regex.test(subject);
11
+
5
12
  const arrayEvery = (array, cb) => array.every(cb);
6
13
  const arrayIsEqual = (array1, array2) =>
7
14
  arrayLength(array1) === arrayLength(array2) &&
@@ -13,13 +20,6 @@ const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
13
20
  const arrayPush = (array, ...values) => array.push(...values);
14
21
  const arrayShift = (array) => array.shift();
15
22
 
16
- const isUndefined = (thing) => thing == void 0;
17
- const ifNotUndefined = (value, then, otherwise) =>
18
- isUndefined(value) ? otherwise?.() : then(value);
19
- const isString = (thing) => getTypeOf(thing) == STRING;
20
- const isArray = (thing) => Array.isArray(thing);
21
- const test = (regex, subject) => regex.test(subject);
22
-
23
23
  const object = Object;
24
24
  const objFreeze = object.freeze;
25
25
 
@@ -21,6 +21,16 @@ const VALUES = VALUE + 's';
21
21
  const VALUE_IDS = VALUE + IDS;
22
22
  const id = (key) => EMPTY_STRING + key;
23
23
 
24
+ const isFiniteNumber = isFinite;
25
+ const isInstanceOf = (thing, cls) => thing instanceof cls;
26
+ const isUndefined = (thing) => thing == void 0;
27
+ const ifNotUndefined = (value, then, otherwise) =>
28
+ isUndefined(value) ? otherwise?.() : then(value);
29
+ const isTypeStringOrBoolean = (type) => type == STRING || type == BOOLEAN;
30
+ const isFunction = (thing) => getTypeOf(thing) == FUNCTION;
31
+ const isArray = (thing) => Array.isArray(thing);
32
+ const test = (regex, subject) => regex.test(subject);
33
+
24
34
  const arrayHas = (array, value) => array.includes(value);
25
35
  const arrayEvery = (array, cb) => array.every(cb);
26
36
  const arrayIsEqual = (array1, array2) =>
@@ -35,30 +45,6 @@ const arraySlice = (array, start, end) => array.slice(start, end);
35
45
  const arrayPush = (array, ...values) => array.push(...values);
36
46
  const arrayShift = (array) => array.shift();
37
47
 
38
- const jsonString = (obj) =>
39
- JSON.stringify(obj, (_key, value) =>
40
- isInstanceOf(value, Map)
41
- ? arrayReduce(
42
- [...value],
43
- (obj2, [key, value2]) => {
44
- obj2[key] = value2;
45
- return obj2;
46
- },
47
- {},
48
- )
49
- : value,
50
- );
51
- const jsonParse = JSON.parse;
52
- const isFiniteNumber = isFinite;
53
- const isInstanceOf = (thing, cls) => thing instanceof cls;
54
- const isUndefined = (thing) => thing == void 0;
55
- const ifNotUndefined = (value, then, otherwise) =>
56
- isUndefined(value) ? otherwise?.() : then(value);
57
- const isTypeStringOrBoolean = (type) => type == STRING || type == BOOLEAN;
58
- const isFunction = (thing) => getTypeOf(thing) == FUNCTION;
59
- const isArray = (thing) => Array.isArray(thing);
60
- const test = (regex, subject) => regex.test(subject);
61
-
62
48
  const object = Object;
63
49
  const objIds = object.keys;
64
50
  const objFrozen = object.isFrozen;
@@ -269,6 +255,12 @@ const setOrDelCell = (store, tableId, rowId, cellId, cell) =>
269
255
  const setOrDelValue = (store, valueId, value) =>
270
256
  isUndefined(value) ? store.delValue(valueId) : store.setValue(valueId, value);
271
257
 
258
+ const jsonString = (obj) =>
259
+ JSON.stringify(obj, (_key, value) =>
260
+ isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
261
+ );
262
+ const jsonParse = JSON.parse;
263
+
272
264
  const defaultSorter = (sortKey1, sortKey2) => (sortKey1 < sortKey2 ? -1 : 1);
273
265
 
274
266
  const validate = (obj, validateChild, onInvalidObj) => {
@@ -28,6 +28,20 @@ const VALUES = VALUE + 's';
28
28
  const VALUE_IDS = VALUE + IDS;
29
29
  const id = (key) => EMPTY_STRING + key;
30
30
 
31
+ const mathMax = Math.max;
32
+ const mathMin = Math.min;
33
+ const isFiniteNumber = isFinite;
34
+ const isInstanceOf = (thing, cls) => thing instanceof cls;
35
+ const isUndefined = (thing) => thing == void 0;
36
+ const ifNotUndefined = (value, then, otherwise) =>
37
+ isUndefined(value) ? otherwise?.() : then(value);
38
+ const isTypeStringOrBoolean = (type) => type == STRING || type == BOOLEAN;
39
+ const isString = (thing) => getTypeOf(thing) == STRING;
40
+ const isFunction = (thing) => getTypeOf(thing) == FUNCTION;
41
+ const isArray = (thing) => Array.isArray(thing);
42
+ const test = (regex, subject) => regex.test(subject);
43
+ const getUndefined = () => void 0;
44
+
31
45
  const arrayHas = (array, value) => array.includes(value);
32
46
  const arrayEvery = (array, cb) => array.every(cb);
33
47
  const arrayIsEqual = (array1, array2) =>
@@ -52,34 +66,6 @@ const arrayPop = (array) => array.pop();
52
66
  const arrayUnshift = (array, ...values) => array.unshift(...values);
53
67
  const arrayShift = (array) => array.shift();
54
68
 
55
- const jsonString = (obj) =>
56
- JSON.stringify(obj, (_key, value) =>
57
- isInstanceOf(value, Map)
58
- ? arrayReduce(
59
- [...value],
60
- (obj2, [key, value2]) => {
61
- obj2[key] = value2;
62
- return obj2;
63
- },
64
- {},
65
- )
66
- : value,
67
- );
68
- const jsonParse = JSON.parse;
69
- const mathMax = Math.max;
70
- const mathMin = Math.min;
71
- const isFiniteNumber = isFinite;
72
- const isInstanceOf = (thing, cls) => thing instanceof cls;
73
- const isUndefined = (thing) => thing == void 0;
74
- const ifNotUndefined = (value, then, otherwise) =>
75
- isUndefined(value) ? otherwise?.() : then(value);
76
- const isTypeStringOrBoolean = (type) => type == STRING || type == BOOLEAN;
77
- const isString = (thing) => getTypeOf(thing) == STRING;
78
- const isFunction = (thing) => getTypeOf(thing) == FUNCTION;
79
- const isArray = (thing) => Array.isArray(thing);
80
- const test = (regex, subject) => regex.test(subject);
81
- const getUndefined = () => void 0;
82
-
83
69
  const object = Object;
84
70
  const objIds = object.keys;
85
71
  const objFrozen = object.isFrozen;
@@ -1780,6 +1766,12 @@ const pairNewMap = () => [mapNew(), mapNew()];
1780
1766
  const pairClone = (array) => [...array];
1781
1767
  const pairIsEqual = ([entry1, entry2]) => entry1 === entry2;
1782
1768
 
1769
+ const jsonString = (obj) =>
1770
+ JSON.stringify(obj, (_key, value) =>
1771
+ isInstanceOf(value, Map) ? object.fromEntries([...value]) : value,
1772
+ );
1773
+ const jsonParse = JSON.parse;
1774
+
1783
1775
  const validate = (obj, validateChild, onInvalidObj) => {
1784
1776
  if (isUndefined(obj) || !isObject(obj) || objIsEmpty(obj) || objFrozen(obj)) {
1785
1777
  onInvalidObj?.();
@@ -23,19 +23,6 @@ const VALUE = 'Value';
23
23
  const VALUES = VALUE + 's';
24
24
  const VALUE_IDS = VALUE + IDS;
25
25
 
26
- const arrayEvery = (array, cb) => array.every(cb);
27
- const arraySort = (array, sorter) => array.sort(sorter);
28
- const arrayForEach = (array, cb) => array.forEach(cb);
29
- const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
30
- const arrayMap = (array, cb) => array.map(cb);
31
- const arrayLength = (array) => array.length;
32
- const arrayFilter = (array, cb) => array.filter(cb);
33
- const arrayPush = (array, ...values) => array.push(...values);
34
- const arrayPop = (array) => array.pop();
35
- const arrayUnshift = (array, ...values) => array.unshift(...values);
36
- const arrayShift = (array) => array.shift();
37
-
38
- const jsonParse = JSON.parse;
39
26
  const isFiniteNumber = isFinite;
40
27
  const isInstanceOf = (thing, cls) => thing instanceof cls;
41
28
  const isUndefined = (thing) => thing == void 0;
@@ -50,6 +37,18 @@ const getCellOrValueType = (cell) => {
50
37
  : void 0;
51
38
  };
52
39
 
40
+ const arrayEvery = (array, cb) => array.every(cb);
41
+ const arraySort = (array, sorter) => array.sort(sorter);
42
+ const arrayForEach = (array, cb) => array.forEach(cb);
43
+ const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
44
+ const arrayMap = (array, cb) => array.map(cb);
45
+ const arrayLength = (array) => array.length;
46
+ const arrayFilter = (array, cb) => array.filter(cb);
47
+ const arrayPush = (array, ...values) => array.push(...values);
48
+ const arrayPop = (array) => array.pop();
49
+ const arrayUnshift = (array, ...values) => array.unshift(...values);
50
+ const arrayShift = (array) => array.shift();
51
+
53
52
  const object = Object;
54
53
  const objIds = object.keys;
55
54
  const objFreeze = object.freeze;
@@ -2782,6 +2781,8 @@ const getStoreApi = (tablesSchema, valuesSchema, module) => {
2782
2781
  ];
2783
2782
  };
2784
2783
 
2784
+ const jsonParse = JSON.parse;
2785
+
2785
2786
  const prettierConfig = {
2786
2787
  parser: 'typescript',
2787
2788
  singleQuote: true,
@@ -19,10 +19,6 @@ const VALUE = 'Value';
19
19
  const VALUES = VALUE + 's';
20
20
  const VALUE_IDS = VALUE + IDS;
21
21
 
22
- const arrayMap = (array, cb) => array.map(cb);
23
- const arrayLength = (array) => array.length;
24
- const arrayIsEmpty = (array) => arrayLength(array) == 0;
25
-
26
22
  const isUndefined = (thing) => thing == void 0;
27
23
  const ifNotUndefined = (value, then, otherwise) =>
28
24
  isUndefined(value) ? otherwise?.() : then(value);
@@ -30,6 +26,10 @@ const isString = (thing) => getTypeOf(thing) == STRING;
30
26
  const isArray = (thing) => Array.isArray(thing);
31
27
  const getUndefined = () => void 0;
32
28
 
29
+ const arrayMap = (array, cb) => array.map(cb);
30
+ const arrayLength = (array) => array.length;
31
+ const arrayIsEmpty = (array) => arrayLength(array) == 0;
32
+
33
33
  const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
34
34
 
35
35
  const {createContext, useContext} = React;
@@ -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=Object.freeze,a=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},c=e=>u(e)||0==(e=>e.size)(e),h=(e,n)=>null==e?void 0:e.forEach(n),v=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),C=(e,n)=>null==e?void 0:e.get(n),f=(e,n,l)=>u(l)?(v(e,n),e):null==e?void 0:e.set(n,l),g=(e,n,l)=>(a(e,n)||f(e,n,l()),C(e,n)),k=(e,n,t,r,o=0)=>i((t?g:C)(e,n[o],o>l(n)-2?t:p),(s=>{if(o>l(n)-2)return(null==r?void 0:r(s))&&f(e,n[o]),s;const u=k(s,n,t,r,o+1);return c(s)&&f(e,n[o]),u})),L=e=>new Set(Array.isArray(e)||u(e)?e:[e]),w=/^\d+$/,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=p(),I=p(),M=1;const b=p(),j=p(),[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=>{w.test(n)&&l(e)<1e3&&r(e,n)}]})(),a=p();return[(e,n,l,r=[],s=(()=>[]))=>{null!=t||(t=_);const u=o(1);var i,d;return f(a,u,[e,n,l,r,s]),d=u,null==(i=k(n,null!=l?l:[""],L))||i.add(d),u},(e,o,...s)=>n(((e,t=[""])=>{const o=[],s=(e,u)=>u==l(t)?r(o,e):null===t[u]?h(e,(e=>s(e,u+1))):n([t[u],null],(n=>s(C(e,n),u+1)));return s(e,0),o})(e,o),(e=>h(e,(e=>C(a,e)[0](t,...null!=o?o:[],...s))))),e=>i(C(a,e),(([,n,l])=>(k(n,null!=l?l:[""],void 0,(n=>(v(n,e),c(n)?1:0))),f(a,e),d(e),l))),e=>i(C(a,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=p(),T=p(),W=[],$=[],m=(e,n)=>{M=0,S.transaction((()=>{const[l,t]=C(O,n);h(l,((n,l)=>h(n,((n,t)=>h(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]))))))),h(t,((n,l)=>((e,n,l)=>u(l)?e.delValue(n):e.setValue(n,l))(S,l,n[e])))})),M=1},q=e=>{f(O,e),f(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=g(A,n,p),s=g(e,l,p),u=g(s,t,(()=>[o,void 0]));u[1]=r,u[0]===r&&c(f(s,t))&&c(f(e,l))&&c(f(A,n))&&J(),U()}})),N=S.addValueListener(null,((e,n,l,t)=>{if(M){H();const e=g(I,n,(()=>[t,void 0]));e[1]=l,e[0]===l&&c(f(I,n))&&J(),U()}})),P=(e="")=>(u(y)&&(y=""+z++,f(O,y,[A,I]),Y(y,e),A=p(),I=p(),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)&&C(T,e)!==n&&(f(T,e,n),B(j,[e])),_),Z=e=>a(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return n=e,h(T,((e,l)=>n(l,e)));var n},hasCheckpoint:Z,getCheckpoint:e=>C(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 d(_.clear())})(S)),y.get(S))})();export{S as createCheckpoints};
1
+ const e=e=>null==e,n=(n,l,t)=>e(n)?null==t?void 0:t():l(n),l=(e,n)=>e.includes(n),t=(e,n)=>e.forEach(n),r=e=>e.length,o=e=>0==r(e),s=(e,...n)=>e.push(...n),u=e=>e.pop(),i=e=>e.shift(),d=Object.freeze,a=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},c=n=>e(n)||0==(e=>e.size)(n),h=(e,n)=>null==e?void 0:e.forEach(n),v=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),C=(e,n)=>null==e?void 0:e.get(n),f=(n,l,t)=>e(t)?(v(n,l),n):null==n?void 0:n.set(l,t),g=(e,n,l)=>(a(e,n)||f(e,n,l()),C(e,n)),k=(e,l,t,o,s=0)=>n((t?g:C)(e,l[s],s>r(l)-2?t:p),(n=>{if(s>r(l)-2)return(null==o?void 0:o(n))&&f(e,l[s]),n;const u=k(n,l,t,o,s+1);return c(n)&&f(e,l[s]),u})),L=n=>new Set(Array.isArray(n)||e(n)?n:[n]),w=/^\d+$/,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=p(),I=p(),M=1;const b=p(),j=p(),[x,B,F]=(l=>{let o;const[u,d]=(()=>{const e=[];let n=0;return[l=>{var t;return null!=(t=l?i(e):null)?t:""+n++},n=>{w.test(n)&&r(e)<1e3&&s(e,n)}]})(),a=p();return[(e,n,l,t=[],r=(()=>[]))=>{null!=o||(o=_);const s=u(1);var i,d;return f(a,s,[e,n,l,t,r]),d=s,null==(i=k(n,null!=l?l:[""],L))||i.add(d),s},(e,n,...l)=>t(((e,n=[""])=>{const l=[],o=(e,u)=>u==r(n)?s(l,e):null===n[u]?h(e,(e=>o(e,u+1))):t([n[u],null],(n=>o(C(e,n),u+1)));return o(e,0),l})(e,n),(e=>h(e,(e=>C(a,e)[0](o,...null!=n?n:[],...l))))),e=>n(C(a,e),(([,n,l])=>(k(n,null!=l?l:[""],void 0,(n=>(v(n,e),c(n)?1:0))),f(a,e),d(e),l))),l=>n(C(a,l),(([n,,l=[],s,u])=>{const i=(...d)=>{var a,c;const h=r(d);h==r(l)?n(o,...d,...u(d)):e(l[h])?t(null!=(c=null==(a=s[h])?void 0:a.call(s,...d))?c:[],(e=>i(...d,e))):i(...d,l[h])};i()}))]})(),O=p(),T=p(),W=[],$=[],m=(n,l)=>{M=0,S.transaction((()=>{const[t,r]=C(O,l);h(t,((l,t)=>h(l,((l,r)=>h(l,((l,o)=>((n,l,t,r,o)=>e(o)?n.delCell(l,t,r,!0):n.setCell(l,t,r,o))(S,t,r,o,l[n]))))))),h(r,((l,t)=>((n,l,t)=>e(t)?n.delValue(l):n.setValue(l,t))(S,t,l[n])))})),M=1},q=e=>{f(O,e),f(T,e),B(j,[e])},D=(e,n)=>t(((e,n)=>e.splice(0,n))(e,null!=n?n:r(e)),q),G=()=>D(W,r(W)-V),H=()=>n(y,(()=>{s(W,y),G(),D($),y=void 0,E=1})),J=()=>{y=u(W),E=1},K=S.addCellListener(null,null,null,((e,n,l,t,r,o)=>{if(M){H();const e=g(A,n,p),s=g(e,l,p),u=g(s,t,(()=>[o,void 0]));u[1]=r,u[0]===r&&c(f(s,t))&&c(f(e,l))&&c(f(A,n))&&J(),U()}})),N=S.addValueListener(null,((e,n,l,t)=>{if(M){H();const e=g(I,n,(()=>[t,void 0]));e[1]=l,e[0]===l&&c(f(I,n))&&J(),U()}})),P=(n="")=>(e(y)&&(y=""+z++,f(O,y,[A,I]),Y(y,n),A=p(),I=p(),E=1),y),Q=()=>{o(W)||(((e,...n)=>{e.unshift(...n)})($,P()),m(0,y),y=u(W),E=1)},R=()=>{o($)||(s(W,y),y=i($),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)&&C(T,e)!==n&&(f(T,e,n),B(j,[e])),_),Z=e=>a(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return n=e,h(T,((e,l)=>n(l,e)));var n},hasCheckpoint:Z,getCheckpoint:e=>C(T,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:n=>{const t=l(W,n)?Q:l($,n)?R:null;for(;!e(t)&&n!=y;)t();return U(),_},addCheckpointIdsListener:e=>x(e,b),addCheckpointListener:(e,n)=>x(n,j,[e]),delListener:e=>(F(e),_),clear:()=>(D(W),D($),e(y)||q(y),y=void 0,z=0,X(),_),destroy:()=>{S.delListener(K),S.delListener(N)},getListenerStats:()=>({})};return d(_.clear())})(S)),y.get(S))})();export{S as createCheckpoints};
Binary file
@@ -1 +1 @@
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=Object.freeze,f=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},I=e=>a(e)||0==(e=>e.size)(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},S=e=>e.clear(),w=(e,n)=>null==e?void 0:e.forEach(n),L=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),x=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},y=(e,n)=>null==e?void 0:e.get(n),E=(e,n)=>w(e,((e,l)=>n(l,e))),R=(e,n,l)=>a(l)?(L(e,n),e):null==e?void 0:e.set(n,l),b=(e,n,l)=>(f(e,n)||R(e,n,l()),y(e,n)),T=(e,n,l,t,r=0)=>c((l?b:y)(e,n[r],r>d(n)-2?l:p),(s=>{if(r>d(n)-2)return(null==t?void 0:t(s))&&R(e,n[r]),s;const o=T(s,n,l,t,r+1);return I(s)&&R(e,n[r]),o})),k=e=>new Set(v(e)||a(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n),A=(t,r)=>e(t)==l?e=>e(t):null!=t?t:()=>null!=r?r:n,C=(e,n)=>e<n?-1:1,D=/^\d+$/,M=(e=>{const l=new WeakMap;return e=>(l.has(e)||l.set(e,(e=>{const l=p(),M=p(),[j,m,O,W,$,q,B,,F,G,H]=((e,n,l)=>{const t=e.hasRow,s=p(),o=p(),i=p(),h=p(),T=p(),A=(n,l,...t)=>{const r=b(T,n,k);return u(t,(n=>z(r,n)&&l&&e.callListener(n))),t},C=(n,...l)=>c(y(T,n),(t=>{u(0==d(l)?g(t):l,(n=>{e.delListener(n),L(t,n)})),I(t)&&R(T,n)})),D=(e,l)=>{R(s,e,l),f(o,e)||(R(o,e,n()),R(i,e,p()),R(h,e,p()))},M=e=>{R(s,e),R(o,e),R(i,e),R(h,e),C(e)};return[()=>e,()=>x(s),e=>E(o,e),e=>f(o,e),e=>y(s,e),e=>y(o,e),(e,n)=>R(o,e,n),D,(n,s,o,c,I)=>{D(n,s);const g=p(),L=p(),x=y(i,n),b=y(h,n),T=n=>{const o=l=>e.getCell(s,n,l),u=y(x,n),i=t(s,n)?l(c(o,n)):void 0;var h,f;if(u===i||v(u)&&v(i)&&(f=i,d(h=u)===d(f)&&r(h,((e,n)=>f[n]===e)))||R(g,n,[u,i]),!a(I)){const e=y(b,n),l=t(s,n)?I(o,n):void 0;e!=l&&R(L,n,l)}},k=e=>{o((()=>{w(g,(([,e],n)=>R(x,n,e))),w(L,((e,n)=>R(b,n,e)))}),g,L,x,b,e),S(g),S(L)};E(x,T),e.hasTable(s)&&u(e.getRowIds(s),(e=>{f(x,e)||T(e)})),k(!0),C(n),A(n,0,e.addRowListener(s,null,((e,n,l)=>T(l))),e.addTableListener(s,(()=>k())))},M,()=>E(T,M),A,C]})(e,p,(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=>{D.test(n)&&d(e)<1e3&&i(e,n)}]})(),s=p();return[(e,r,o,u=[],d=(()=>[]))=>{null!=l||(l=Q);const i=t(1);return R(s,i,[e,r,o,u,d]),z(T(r,null!=o?o:[n],k),i),i},(e,t,...r)=>u(((e,l=[n])=>{const t=[],r=(e,n)=>n==d(l)?i(t,e):null===l[n]?w(e,(e=>r(e,n+1))):u([l[n],null],(l=>r(y(e,l),n+1)));return r(e,0),t})(e,t),(e=>w(e,(e=>y(s,e)[0](l,...null!=t?t:[],...r))))),e=>c(y(s,e),(([,l,t])=>(T(l,null!=t?t:[n],void 0,(n=>(L(n,e),I(n)?1:0))),R(s,e),r(e),t))),e=>c(y(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);w(t,((n,t)=>l(t,(l=>w(n,(n=>l(n,(l=>e.forEachCell(r,n,l)))))))))},Q={setIndexDefinition:(e,n,t,r,u,d=C)=>{const i=a(u)?void 0:([e],[n])=>u(e,n);return F(e,n,((n,t,u,v,h,g)=>{let S=0;const x=k(),b=k(),T=q(e);if(w(t,(([e,n],l)=>{const t=k(e),s=k(n);w(t,(e=>L(s,e)?L(t,e):0)),w(t,(e=>{z(x,e),c(y(T,e),(n=>{L(n,l),I(n)&&(R(T,e),S=1)}))})),w(s,(e=>{z(x,e),f(T,e)||(R(T,e,k()),S=1),z(y(T,e),l),a(r)||z(b,e)}))})),n(),I(h)||(g?E(T,(e=>z(b,e))):E(u,(e=>c(y(v,e),(e=>z(b,e))))),w(b,(e=>{const n=(n,l)=>d(y(h,n),y(h,l),e),l=[...y(T,e)];s(l,n)||(R(T,e,k(o(l,n))),z(x,e))}))),(S||g)&&!a(i)){const n=[...T];s(n,i)||(B(e,p(o(n,i))),S=1)}S&&K(l,[e]),w(x,(n=>K(M,[e,n])))}),A(t),c(r,A)),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)=>f(q(e),n),getTableId:$,getSliceIds:e=>x(q(e)),getSliceRowIds:(e,n)=>g(y(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 h(Q)})(e)),l.get(e))})();export{M as createIndexes};
1
+ const e=e=>typeof e,n="",l=e(n),t=e=>n+e,r=e=>null==e,s=(e,n,l)=>r(e)?null==l?void 0:l():n(e),o=e=>Array.isArray(e),u=(e,n)=>e.every(n),d=(e,n)=>u(e,((l,t)=>0==t||n(e[t-1],l)<=0)),i=(e,n)=>e.sort(n),a=(e,n)=>e.forEach(n),c=e=>e.length,v=(e,...n)=>e.push(...n),h=Object.freeze,f=(e,n)=>{var l;return null!=(l=null==e?void 0:e.has(n))&&l},I=e=>r(e)||0==(e=>e.size)(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},S=e=>e.clear(),w=(e,n)=>null==e?void 0:e.forEach(n),L=(e,n)=>null==e?void 0:e.delete(n),p=e=>new Map(e),x=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},y=(e,n)=>null==e?void 0:e.get(n),E=(e,n)=>w(e,((e,l)=>n(l,e))),R=(e,n,l)=>r(l)?(L(e,n),e):null==e?void 0:e.set(n,l),b=(e,n,l)=>(f(e,n)||R(e,n,l()),y(e,n)),T=(e,n,l,t,r=0)=>s((l?b:y)(e,n[r],r>c(n)-2?l:p),(s=>{if(r>c(n)-2)return(null==t?void 0:t(s))&&R(e,n[r]),s;const o=T(s,n,l,t,r+1);return I(s)&&R(e,n[r]),o})),k=e=>new Set(o(e)||r(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n),A=(t,r)=>e(t)==l?e=>e(t):null!=t?t:()=>null!=r?r:n,C=(e,n)=>e<n?-1:1,D=/^\d+$/,M=(e=>{const l=new WeakMap;return e=>(l.has(e)||l.set(e,(e=>{const l=p(),M=p(),[j,m,O,W,$,q,B,,F,G,H]=((e,n,l)=>{const t=e.hasRow,d=p(),i=p(),v=p(),h=p(),T=p(),A=(n,l,...t)=>{const r=b(T,n,k);return a(t,(n=>z(r,n)&&l&&e.callListener(n))),t},C=(n,...l)=>s(y(T,n),(t=>{a(0==c(l)?g(t):l,(n=>{e.delListener(n),L(t,n)})),I(t)&&R(T,n)})),D=(e,l)=>{R(d,e,l),f(i,e)||(R(i,e,n()),R(v,e,p()),R(h,e,p()))},M=e=>{R(d,e),R(i,e),R(v,e),R(h,e),C(e)};return[()=>e,()=>x(d),e=>E(i,e),e=>f(i,e),e=>y(d,e),e=>y(i,e),(e,n)=>R(i,e,n),D,(n,s,d,i,I)=>{D(n,s);const g=p(),L=p(),x=y(v,n),b=y(h,n),T=n=>{const d=l=>e.getCell(s,n,l),a=y(x,n),v=t(s,n)?l(i(d,n)):void 0;var h,f;if(a===v||o(a)&&o(v)&&(f=v,c(h=a)===c(f)&&u(h,((e,n)=>f[n]===e)))||R(g,n,[a,v]),!r(I)){const e=y(b,n),l=t(s,n)?I(d,n):void 0;e!=l&&R(L,n,l)}},k=e=>{d((()=>{w(g,(([,e],n)=>R(x,n,e))),w(L,((e,n)=>R(b,n,e)))}),g,L,x,b,e),S(g),S(L)};E(x,T),e.hasTable(s)&&a(e.getRowIds(s),(e=>{f(x,e)||T(e)})),k(!0),C(n),A(n,0,e.addRowListener(s,null,((e,n,l)=>T(l))),e.addTableListener(s,(()=>k())))},M,()=>E(T,M),A,C]})(e,p,(e=>{return r(e)?n:o(e)?(l=t,e.map(l)):t(e);var l})),[J,K,N]=(e=>{let l;const[t,o]=(()=>{const e=[];let l=0;return[t=>{var r;return null!=(r=t?e.shift():null)?r:n+l++},n=>{D.test(n)&&c(e)<1e3&&v(e,n)}]})(),u=p();return[(e,r,s,o=[],d=(()=>[]))=>{null!=l||(l=Q);const i=t(1);return R(u,i,[e,r,s,o,d]),z(T(r,null!=s?s:[n],k),i),i},(e,t,...r)=>a(((e,l=[n])=>{const t=[],r=(e,n)=>n==c(l)?v(t,e):null===l[n]?w(e,(e=>r(e,n+1))):a([l[n],null],(l=>r(y(e,l),n+1)));return r(e,0),t})(e,t),(e=>w(e,(e=>y(u,e)[0](l,...null!=t?t:[],...r))))),e=>s(y(u,e),(([,l,t])=>(T(l,null!=t?t:[n],void 0,(n=>(L(n,e),I(n)?1:0))),R(u,e),o(e),t))),e=>s(y(u,e),(([e,,n=[],t,s])=>{const o=(...u)=>{var d,i;const v=c(u);v==c(n)?e(l,...u,...s(u)):r(n[v])?a(null!=(i=null==(d=t[v])?void 0:d.call(t,...u))?i:[],(e=>o(...u,e))):o(...u,n[v])};o()}))]})(),P=(n,l,t)=>{const r=$(n);w(t,((n,t)=>l(t,(l=>w(n,(n=>l(n,(l=>e.forEachCell(r,n,l)))))))))},Q={setIndexDefinition:(e,n,t,o,u,a=C)=>{const c=r(u)?void 0:([e],[n])=>u(e,n);return F(e,n,((n,t,u,v,h,g)=>{let S=0;const x=k(),b=k(),T=q(e);if(w(t,(([e,n],l)=>{const t=k(e),u=k(n);w(t,(e=>L(u,e)?L(t,e):0)),w(t,(e=>{z(x,e),s(y(T,e),(n=>{L(n,l),I(n)&&(R(T,e),S=1)}))})),w(u,(e=>{z(x,e),f(T,e)||(R(T,e,k()),S=1),z(y(T,e),l),r(o)||z(b,e)}))})),n(),I(h)||(g?E(T,(e=>z(b,e))):E(u,(e=>s(y(v,e),(e=>z(b,e))))),w(b,(e=>{const n=(n,l)=>a(y(h,n),y(h,l),e),l=[...y(T,e)];d(l,n)||(R(T,e,k(i(l,n))),z(x,e))}))),(S||g)&&!r(c)){const n=[...T];d(n,c)||(B(e,p(i(n,c))),S=1)}S&&K(l,[e]),w(x,(n=>K(M,[e,n])))}),A(t),s(o,A)),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)=>f(q(e),n),getTableId:$,getSliceIds:e=>x(q(e)),getSliceRowIds:(e,n)=>g(y(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 h(Q)})(e)),l.get(e))})();export{M as createIndexes};
Binary file
@@ -1 +1 @@
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=Object.freeze,L=e=>e.size,m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},w=e=>c(e)||0==L(e),y=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},p=e=>e.clear(),b=(e,n)=>null==e?void 0:e.forEach(n),x=(e,n)=>null==e?void 0:e.delete(n),E=e=>new Map(e),I=(e,n)=>null==e?void 0:e.get(n),R=(e,n)=>b(e,((e,t)=>n(t,e))),S=(e,n,t)=>c(t)?(x(e,n),e):null==e?void 0:e.set(n,t),T=(e,n,t)=>(m(e,n)||S(e,n,t()),I(e,n)),k=(e,n,t,l,r=0)=>h((t?T:I)(e,n[r],r>o(n)-2?t:E),(i=>{if(r>o(n)-2)return(null==l?void 0:l(i))&&S(e,n[r]),i;const u=k(i,n,t,l,r+1);return w(i)&&S(e,n[r]),u})),z=E([["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]]]),A=e=>new Set(f(e)||c(e)?e:[e]),D=(e,n)=>null==e?void 0:e.add(n),N=/^\d+$/,j=(i=>{const u=new WeakMap;return i=>(u.has(i)||u.set(i,(i=>{const u=E(),[d,a,j,C,F,O,W,,$,q,B]=((e,t,l)=>{const i=e.hasRow,u=E(),s=E(),d=E(),a=E(),v=E(),g=(n,t,...l)=>{const i=T(v,n,A);return r(l,(n=>D(i,n)&&t&&e.callListener(n))),l},M=(n,...t)=>h(I(v,n),(l=>{r(0==o(t)?y(l):t,(n=>{e.delListener(n),x(l,n)})),w(l)&&S(v,n)})),L=(e,n)=>{S(u,e,n),m(s,e)||(S(s,e,t()),S(d,e,E()),S(a,e,E()))},k=e=>{S(u,e),S(s,e),S(d,e),S(a,e),M(e)};return[()=>e,()=>{return[...null!=(n=null==(e=u)?void 0:e.keys())?n:[]];var e,n},e=>R(s,e),e=>m(s,e),e=>I(u,e),e=>I(s,e),(e,n)=>S(s,e,n),L,(t,l,u,s,v)=>{L(t,l);const h=E(),w=E(),y=I(d,t),x=I(a,t),T=t=>{const r=n=>e.getCell(l,t,n),u=I(y,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)))||S(h,t,[u,d]),!c(v)){const e=I(x,t),n=i(l,t)?v(r,t):void 0;e!=n&&S(w,t,n)}},k=e=>{u((()=>{b(h,(([,e],n)=>S(y,n,e))),b(w,((e,n)=>S(x,n,e)))}),h,w,y,x,e),p(h),p(w)};R(y,T),e.hasTable(l)&&r(e.getRowIds(l),(e=>{m(y,e)||T(e)})),k(!0),M(t),g(t,0,e.addRowListener(l,null,((e,n,t)=>T(t))),e.addTableListener(l,(()=>k())))},k,()=>R(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=>{N.test(n)&&o(e)<1e3&&s(e,n)}]})(),u=E();return[(e,r,i,o=[],s=(()=>[]))=>{null!=t||(t=K);const d=l(1);return S(u,d,[e,r,i,o,s]),D(k(r,null!=i?i:[n],A),d),d},(e,l,...i)=>r(((e,t=[n])=>{const l=[],i=(e,n)=>n==o(t)?s(l,e):null===t[n]?b(e,(e=>i(e,n+1))):r([t[n],null],(t=>i(I(e,t),n+1)));return i(e,0),l})(e,l),(e=>b(e,(e=>I(u,e)[0](t,...null!=l?l:[],...i))))),e=>h(I(u,e),(([,t,l])=>(k(t,null!=l?l:[n],void 0,(n=>(x(n,e),w(n)?1:0))),S(u,e),i(e),l))),e=>h(I(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=I(z,i))?h:I(z,"sum");return $(n,r,((e,t,l,r,i,o)=>{const s=O(n),d=L(r);o||(o=c(s)),e();let a=((e,n,t,l,r,i=!1)=>{if(w(t))return;const[o,u,s,d]=r;return i||(i=c(e)),b(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(y(t),L(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 M(K)})(i)),u.get(i))})();export{j as createMetrics};
1
+ const e=e=>typeof e,n="",t=e(n),l=e(e),r=Math.max,i=Math.min,o=isFinite,u=e=>null==e,s=(e,n,t)=>u(e)?null==t?void 0:t():n(e),d=e=>Array.isArray(e),a=()=>{},v=(e,n)=>e.forEach(n),c=e=>f(e,((e,n)=>e+n),0),h=e=>e.length,f=(e,n,t)=>e.reduce(n,t),g=(e,...n)=>e.push(...n),M=Object.freeze,L=e=>e.size,m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},w=e=>u(e)||0==L(e),y=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},p=e=>e.clear(),b=(e,n)=>null==e?void 0:e.forEach(n),x=(e,n)=>null==e?void 0:e.delete(n),E=e=>new Map(e),I=(e,n)=>null==e?void 0:e.get(n),R=(e,n)=>b(e,((e,t)=>n(t,e))),S=(e,n,t)=>u(t)?(x(e,n),e):null==e?void 0:e.set(n,t),T=(e,n,t)=>(m(e,n)||S(e,n,t()),I(e,n)),k=(e,n,t,l,r=0)=>s((t?T:I)(e,n[r],r>h(n)-2?t:E),(i=>{if(r>h(n)-2)return(null==l?void 0:l(i))&&S(e,n[r]),i;const o=k(i,n,t,l,r+1);return w(i)&&S(e,n[r]),o})),z=E([["avg",[(e,n)=>c(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=>r(...e),(e,n)=>r(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:r(n,e)]],["min",[e=>i(...e),(e,n)=>i(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:i(n,e)]],["sum",[e=>c(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),A=e=>new Set(d(e)||u(e)?e:[e]),D=(e,n)=>null==e?void 0:e.add(n),N=/^\d+$/,j=(r=>{const i=new WeakMap;return r=>(i.has(r)||i.set(r,(r=>{const i=E(),[c,f,j,C,F,O,W,,$,q,B]=((e,t,l)=>{const r=e.hasRow,i=E(),o=E(),a=E(),c=E(),f=E(),g=(n,t,...l)=>{const r=T(f,n,A);return v(l,(n=>D(r,n)&&t&&e.callListener(n))),l},M=(n,...t)=>s(I(f,n),(l=>{v(0==h(t)?y(l):t,(n=>{e.delListener(n),x(l,n)})),w(l)&&S(f,n)})),L=(e,n)=>{S(i,e,n),m(o,e)||(S(o,e,t()),S(a,e,E()),S(c,e,E()))},k=e=>{S(i,e),S(o,e),S(a,e),S(c,e),M(e)};return[()=>e,()=>{return[...null!=(n=null==(e=i)?void 0:e.keys())?n:[]];var e,n},e=>R(o,e),e=>m(o,e),e=>I(i,e),e=>I(o,e),(e,n)=>S(o,e,n),L,(t,l,i,o,s)=>{L(t,l);const f=E(),w=E(),y=I(a,t),x=I(c,t),T=t=>{const i=n=>e.getCell(l,t,n),a=I(y,t),v=r(l,t)?(c=o(i,t),isNaN(c)||u(c)||!0===c||!1===c||c===n?void 0:1*c):void 0;var c,g,M,L;if(a===v||d(a)&&d(v)&&(M=v,h(g=a)===h(M)&&(L=(e,n)=>M[n]===e,g.every(L)))||S(f,t,[a,v]),!u(s)){const e=I(x,t),n=r(l,t)?s(i,t):void 0;e!=n&&S(w,t,n)}},k=e=>{i((()=>{b(f,(([,e],n)=>S(y,n,e))),b(w,((e,n)=>S(x,n,e)))}),f,w,y,x,e),p(f),p(w)};R(y,T),e.hasTable(l)&&v(e.getRowIds(l),(e=>{m(y,e)||T(e)})),k(!0),M(t),g(t,0,e.addRowListener(l,null,((e,n,t)=>T(t))),e.addTableListener(l,(()=>k())))},k,()=>R(f,k),g,M]})(r,a),[G,H,J]=(e=>{let t;const[l,r]=(()=>{const e=[];let t=0;return[l=>{var r;return null!=(r=l?e.shift():null)?r:n+t++},n=>{N.test(n)&&h(e)<1e3&&g(e,n)}]})(),i=E();return[(e,r,o,u=[],s=(()=>[]))=>{null!=t||(t=K);const d=l(1);return S(i,d,[e,r,o,u,s]),D(k(r,null!=o?o:[n],A),d),d},(e,l,...r)=>v(((e,t=[n])=>{const l=[],r=(e,n)=>n==h(t)?g(l,e):null===t[n]?b(e,(e=>r(e,n+1))):v([t[n],null],(t=>r(I(e,t),n+1)));return r(e,0),l})(e,l),(e=>b(e,(e=>I(i,e)[0](t,...null!=l?l:[],...r))))),e=>s(I(i,e),(([,t,l])=>(k(t,null!=l?l:[n],void 0,(n=>(x(n,e),w(n)?1:0))),S(i,e),r(e),l))),e=>s(I(i,e),(([e,,n=[],l,r])=>{const i=(...o)=>{var s,d;const a=h(o);a==h(n)?e(t,...o,...r(o)):u(n[a])?v(null!=(d=null==(s=l[a])?void 0:s.call(l,...o))?d:[],(e=>i(...o,e))):i(...o,n[a])};i()}))]})(),K={setMetricDefinition:(n,r,s,d,a,v,c)=>{var h;const f=e(s)==l?[s,a,v,c]:null!=(h=I(z,s))?h:I(z,"sum");return $(n,r,((e,t,l,r,s,d)=>{const a=O(n),v=L(r);d||(d=u(a)),e();let c=((e,n,t,l,r,i=!1)=>{if(w(t))return;const[o,s,d,a]=r;return i||(i=u(e)),b(l,(([t,l])=>{i||(e=u(t)?null==s?void 0:s(e,l,n++):u(l)?null==d?void 0:d(e,t,n--):null==a?void 0:a(e,l,t,n),i||(i=u(e)))})),i?o(y(t),L(t)):e})(a,v,r,t,f,d);o(c)||(c=void 0),c!=a&&(W(n,c),H(i,[n],c,a))}),(1,e(g=d)==t?e=>e(g):null!=g?g:()=>1)),K;var g},delMetricDefinition:e=>(q(e),K),getStore:c,getMetricIds:f,forEachMetric:j,hasMetric:C,getTableId:F,getMetric:O,addMetricListener:(e,n)=>G(n,i,[e]),delListener:e=>(J(e),K),destroy:B,getListenerStats:()=>({})};return M(K)})(r)),i.get(r))})();export{j as createMetrics};
Binary file
@@ -1 +1 @@
1
- const t=JSON.parse,e=(t,e)=>t instanceof e,n=t=>null==t,o=Object,r=o.keys,l=o.freeze,i=t=>(t=>e(t,o)&&t.constructor==o)(t)&&0==(t=>r(t).length)(t);var u=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())})),a=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())}));const s="storage",d=globalThis.window,c=(o,r,c)=>((o,v,y,f,h)=>{let p,g,S,A=0,L=0,m=0;const w=[],x=t=>u(void 0,null,(function*(){return 2!=A&&(A=1,yield C.schedule((()=>u(void 0,null,(function*(){yield t(),A=0}))))),C})),C={load:(t,e)=>u(void 0,null,(function*(){return yield x((()=>u(void 0,null,(function*(){try{o.setContent(yield v())}catch(n){o.setContent([t,e])}}))))})),startAutoLoad:(...e)=>u(void 0,[...e],(function*(e={},n={}){return C.stopAutoLoad(),yield C.load(e,n),m=1,S=(e=>{const n=n=>{n.storageArea===c&&n.key===r&&e((()=>t(n.newValue)))};return d.addEventListener(s,n),n})(((t,e)=>u(void 0,null,(function*(){return yield x((()=>u(void 0,null,(function*(){var n;if(e)o.setTransactionChanges(e());else try{o.setContent(null!=(n=null==t?void 0:t())?n:yield v())}catch(t){}}))))})))),C})),stopAutoLoad:()=>{return m&&(t=S,d.removeEventListener(s,t),S=void 0,m=0),C;var t},save:t=>u(void 0,null,(function*(){return 1!=A&&(A=2,yield C.schedule((()=>u(void 0,null,(function*(){try{yield(t=o.getContent,a(void 0,null,(function*(){return c.setItem(r,(n=t(),JSON.stringify(n,((t,n)=>{return e(n,Map)?(o=(t,[e,n])=>(t[e]=n,t),r={},[...n].reduce(o,r)):n;var o,r}))));var n})))}catch(t){}var t;A=0}))))),C})),startAutoSave:()=>u(void 0,null,(function*(){return yield C.stopAutoSave().save(),p=o.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();i(n)&&i(o)||C.save((()=>[n,o]))})),C})),stopAutoSave:()=>{var t,e;return t=p,e=o.delListener,!!n(t)||e(t),C},schedule:(...t)=>u(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(w,...t),yield u(void 0,null,(function*(){if(!L){for(L=1;!n((t=w,g=t.shift()));)try{yield g()}catch(t){}L=0}var t})),C})),getStore:()=>o,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(C)})(o,(()=>a(void 0,null,(function*(){return t(c.getItem(r))})))),v=(t,e)=>c(t,e,localStorage),y=(t,e)=>c(t,e,sessionStorage);export{v as createLocalPersister,y as createSessionPersister};
1
+ const t=(t,e)=>t instanceof e,e=t=>null==t,n=Object,o=n.keys,r=n.freeze,l=e=>(e=>t(e,n)&&e.constructor==n)(e)&&0==(t=>o(t).length)(e),i=JSON.parse;var u=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())})),a=(t,e,n)=>new Promise(((o,r)=>{var l=t=>{try{u(n.next(t))}catch(t){r(t)}},i=t=>{try{u(n.throw(t))}catch(t){r(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(l,i);u((n=n.apply(t,e)).next())}));const s="storage",d=globalThis.window,c=(o,c,v)=>((o,y,f,h,p)=>{let g,S,A,m=0,L=0,w=0;const x=[],C=t=>u(void 0,null,(function*(){return 2!=m&&(m=1,yield P.schedule((()=>u(void 0,null,(function*(){yield t(),m=0}))))),P})),P={load:(t,e)=>u(void 0,null,(function*(){return yield C((()=>u(void 0,null,(function*(){try{o.setContent(yield y())}catch(n){o.setContent([t,e])}}))))})),startAutoLoad:(...t)=>u(void 0,[...t],(function*(t={},e={}){return P.stopAutoLoad(),yield P.load(t,e),w=1,A=(t=>{const e=e=>{e.storageArea===v&&e.key===c&&t((()=>i(e.newValue)))};return d.addEventListener(s,e),e})(((t,e)=>u(void 0,null,(function*(){return yield C((()=>u(void 0,null,(function*(){var n;if(e)o.setTransactionChanges(e());else try{o.setContent(null!=(n=null==t?void 0:t())?n:yield y())}catch(t){}}))))})))),P})),stopAutoLoad:()=>{return w&&(t=A,d.removeEventListener(s,t),A=void 0,w=0),P;var t},save:e=>u(void 0,null,(function*(){return 1!=m&&(m=2,yield P.schedule((()=>u(void 0,null,(function*(){try{yield(e=o.getContent,a(void 0,null,(function*(){return v.setItem(c,(o=e(),JSON.stringify(o,((e,o)=>t(o,Map)?n.fromEntries([...o]):o))));var o})))}catch(t){}var e;m=0}))))),P})),startAutoSave:()=>u(void 0,null,(function*(){return yield P.stopAutoSave().save(),g=o.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();l(n)&&l(o)||P.save((()=>[n,o]))})),P})),stopAutoSave:()=>{var t,n;return t=g,n=o.delListener,!!e(t)||n(t),P},schedule:(...t)=>u(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(x,...t),yield u(void 0,null,(function*(){if(!L){for(L=1;!e((t=x,S=t.shift()));)try{yield S()}catch(t){}L=0}var t})),P})),getStore:()=>o,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(P)})(o,(()=>a(void 0,null,(function*(){return i(v.getItem(c))})))),v=(t,e)=>c(t,e,localStorage),y=(t,e)=>c(t,e,sessionStorage);export{v as createLocalPersister,y as createSessionPersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=JSON.parse,y=(e,n)=>e instanceof n,f=e=>null==e,h=(e,n,t)=>f(e)?null==t?void 0:t():n(e),p=n=>e(n)==l,m=e=>{return n=function*(){return s.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},E=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},A=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},T=(e,n)=>null==e?void 0:e.delete(n),O=Object,P=O.keys,L=O.freeze,w=(e=[])=>O.fromEntries(e),b=(...e)=>O.assign({},...e),x=(e,n)=>(delete e[n],e),N=(e,n)=>o(O.entries(e),(([e,t])=>n(t,e))),S=e=>O.values(e),C=e=>i(P(e)),R=e=>(e=>y(e,O)&&e.constructor==O)(e)&&0==C(e),g=e=>new Map(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},D=(e,n)=>null==e?void 0:e.get(n),$=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},_=(e,n,t)=>f(t)?(T(e,n),e):null==e?void 0:e.set(n,t),j=(e,n,t,l=_)=>(N(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!f(((e,n)=>h(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),F="_id",M=e=>`"${e.replace(/"/g,'""')}"`,B=e=>new Set(Array.isArray(e)||f(e)?e:[e]),U=(e,n)=>null==e?void 0:e.add(n);var k=Object.defineProperty,H=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?k(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,z=(e,n)=>{for(var t in n||(n={}))J.call(n,t)&&Y(e,t,n[t]);if(H)for(var t of H(n))W.call(n,t)&&Y(e,t,n[t]);return e},K=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const V="SELECT*FROM",q="FROM pragma_table_",G="WHERE",Q=(e,n)=>{const l=g(),d=(e,n)=>!f(D(D(l,e),n)),s=(n,d,s,v,y)=>K(void 0,null,(function*(){const f=B();N(null!=y?y:{},(e=>o(P(e),(e=>U(f,e)))));const h=A(f);if(u(h)&&E(l,n)&&v)return yield e("DROP TABLE"+M(n)),void _(l,n);if(u(h)||E(l,n)){const t=D(l,n),r=B(I(t));yield m([...o(h,(l=>K(void 0,null,(function*(){T(r,l)||(yield e(`ALTER TABLE${M(n)}ADD${M(l)}`),_(t,l,""))})))),...s?o(A(r),(l=>K(void 0,null,(function*(){l!=d&&(yield e(`ALTER TABLE${M(n)}DROP${M(l)}`),_(t,l))})))):[]])}else yield e(`CREATE TABLE${M(n)}(${M(d)} PRIMARY KEY ON CONFLICT REPLACE${r(o(h,(e=>t+M(e))))});`),_(l,n,g([[d,""],...o(h,(e=>[e,""]))]));if(u(h))E(l,n)&&(yield e("DELETE FROM"+M(n)));else{const u=[],s=[],v=[],f=a(I(D(l,n)),(e=>e!=d));N(y,((e,n)=>{var t;c(u,`(?${t=i(f),",?".repeat(t)})`),c(s,n,...o(f,(n=>e[n]))),c(v,n)})),yield e("INSERT INTO"+M(n)+"("+M(d)+r(o(f,(e=>t+M(e))))+")VALUES"+r(u,t)+"ON CONFLICT("+M(d)+")DO UPDATE SET"+r(o(f,(e=>M(e)+"=excluded."+M(e))),t),s),yield e("DELETE FROM"+M(n)+G+M(d)+"NOT IN("+X(v)+")",v)}}));return[()=>K(void 0,null,(function*(){return j(l,w(yield m(o(yield e("SELECT name "+q+"list WHERE schema='main'AND type='table'AND name IN("+X(n)+")",n),(n=>K(void 0,[n],(function*({name:n}){return[n,w(o(yield e("SELECT name,type "+q+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>{return _(l,n,j((i=g,E(r=l,o=n)||_(r,o,i()),D(r,o)),t,((e,n,t)=>{t!=D(e,n)&&_(e,n,t)}),((e,n)=>_(e,n))));var r,o,i}),((e,n)=>_(l,n)))})),(n,t)=>K(void 0,null,(function*(){const l=d(n,t)?yield e(V+M(n)+G+M(t)+"=?",["_"]):[];return u(l)?null:x(l[0],t)})),(e,n,t,l)=>K(void 0,null,(function*(){return yield s(e,n,!0,!0,{[t]:l})})),(n,t)=>K(void 0,null,(function*(){return d(n,t)?w(a(o(yield e(V+M(n)),(e=>[e[t],x(z({},e),t)])),(([e,n])=>!f(e)&&!R(n)))):{}})),s]},X=e=>r(o(e,(()=>"?")),t);var Z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ee=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],y=e=>Z(void 0,null,(function*(){return 2!=a&&(a=1,yield p.schedule((()=>Z(void 0,null,(function*(){yield e(),a=0}))))),p})),p={load:(t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>Z(void 0,[...t],(function*(t={},r={}){return p.stopAutoLoad(),yield p.load(t,r),s=1,u=l(((t,l)=>Z(void 0,null,(function*(){return yield y((()=>Z(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),p})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),p),save:n=>Z(void 0,null,(function*(){return 1!=a&&(a=2,yield p.schedule((()=>Z(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),p})),startAutoSave:()=>Z(void 0,null,(function*(){return yield p.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();R(t)&&R(l)||p.save((()=>[t,l]))})),p})),stopAutoSave:()=>(h(o,e.delListener),p),schedule:(...e)=>Z(void 0,null,(function*(){return c(v,...e),yield Z(void 0,null,(function*(){if(!d){for(d=1;!f((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return L(p)};var ne=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const te="store",le=(e,n,t,l,[r],o)=>{const[i,u,a]=Q(n,o),d=ee(e,(()=>ne(void 0,null,(function*(){var e;return yield i(),v((null!=(e=yield u(r,F))?e:{})[te])}))),(e=>ne(void 0,null,(function*(){return d.schedule(i,(()=>ne(void 0,null,(function*(){var n;yield a(r,F,"_",{[te]:(n=e(),JSON.stringify(n,((e,n)=>{return y(n,Map)?(t=(e,[n,t])=>(e[n]=t,e),l={},[...n].reduce(t,l)):n;var t,l})))})}))))}))),t,l);return d};var re=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const oe=(e,n,t,l,[r,o,[i,u,d]],c)=>{const[s,v,y,h,p]=Q(n,c);return ee(e,(()=>re(void 0,null,(function*(){yield s();const e=yield re(void 0,null,(function*(){return w(a(yield m($(r,((e,n)=>re(void 0,[e,n],(function*([e,n],t){return[e,yield h(t,n)]}))))),(e=>!R(e[1]))))})),n=yield re(void 0,null,(function*(){return i?yield v(d,F):{}}));return R(e)&&f(n)?void 0:[e,n]}))),(e=>re(void 0,null,(function*(){const[n,t]=e();yield s(),yield(e=>re(void 0,null,(function*(){return yield m($(o,((n,t)=>re(void 0,[n,t],(function*([n,t,l,r],o){return yield p(n,t,l,r,e[o])})))))})))(n),yield(e=>re(void 0,null,(function*(){return u?yield y(d,F,"_",e):null})))(t)}))),t,l)},ie="json",ue="autoLoadIntervalSeconds",ae="rowIdColumnName",de="tableId",ce="tableName",se={mode:ie,[ue]:1},ve={load:0,save:0,[ce]:n+"_values"},ye=(e,n,t,l)=>{const r=g();return N(e,((e,o)=>{const i=d(S(b(n,p(e)?{[t]:e}:e)),0,C(n));f(i[0])||l(o,i[0])||_(r,o,i)})),r},fe="pragma ",he="data_version",pe="schema_version",me=(e,t,l,r,o)=>{let i,u;const[a,c,s,v]=(e=>{const t=(e=>b(se,p(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[ue];if(t.mode==ie){const{storeTableName:e=n}=t;return[1,l,[e],B(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=t,u=d(S(b(ve,i)),0,C(ve)),a=u[2],c=B(a);return[0,l,[ye(r,{[de]:null,[ae]:F},de,(e=>U(c,e)&&e==a)),ye(o,{[ce]:null,[ae]:F,deleteEmptyColumns:0,deleteEmptyTable:0},ce,((e,n)=>U(c,n)&&n==a)),u],c]})(t);return(a?le:oe)(e,l,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield l(fe+he))[0][he],t=(yield l(fe+pe))[0][pe];n==(null!=i?i:i=n)&&t==(null!=u?u:u=t)||(e(),i=n,u=t)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*c),r((n=>v.has(n)?e():0))]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),s,A(v))},Ee=(e,n,t)=>me(e,t,((e,...t)=>{return l=[e,...t],r=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(r.next(e))}catch(e){n(e)}},o=e=>{try{i(r.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>n.onUpdate(((n,t,l)=>e(l)))),(e=>e()));export{Ee as createCrSqliteWasmPersister};
1
+ const e=e=>typeof e,n="tinybase",t=",",l=e(""),r=(e,n="")=>e.join(n),o=(e,n)=>e.map(n),i=e=>e.length,u=e=>0==i(e),a=(e,n)=>e.filter(n),d=(e,n,t)=>e.slice(n,t),c=(e,...n)=>e.push(...n),s=Promise,v=(e,n)=>e instanceof n,y=e=>null==e,f=(e,n,t)=>y(e)?null==t?void 0:t():n(e),h=n=>e(n)==l,p=e=>{return n=function*(){return s.all(e)},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n},m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},E=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},A=(e,n)=>null==e?void 0:e.delete(n),T=Object,O=T.keys,P=T.freeze,L=(e=[])=>T.fromEntries(e),w=(...e)=>T.assign({},...e),b=(e,n)=>(delete e[n],e),x=(e,n)=>o(T.entries(e),(([e,t])=>n(t,e))),N=e=>T.values(e),S=e=>i(O(e)),C=e=>(e=>v(e,T)&&e.constructor==T)(e)&&0==S(e),R=e=>new Map(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},I=(e,n)=>null==e?void 0:e.get(n),D=(e,n)=>{var t;return o([...null!=(t=null==e?void 0:e.entries())?t:[]],(([e,t])=>n(t,e)))},$=(e,n,t)=>y(t)?(A(e,n),e):null==e?void 0:e.set(n,t),_=(e,n,t,l=$)=>(x(n,((n,l)=>t(e,l,n))),((e,n)=>{((e,n)=>{null==e||e.forEach(n)})(e,((e,t)=>n(t)))})(e,(t=>((e,n)=>!y(((e,n)=>f(e,(e=>e[n])))(e,n)))(n,t)?0:l(e,t))),e),j="_id",F=e=>`"${e.replace(/"/g,'""')}"`,M=e=>new Set(Array.isArray(e)||y(e)?e:[e]),B=(e,n)=>null==e?void 0:e.add(n);var U=Object.defineProperty,k=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,W=(e,n,t)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,Y=(e,n)=>{for(var t in n||(n={}))H.call(n,t)&&W(e,t,n[t]);if(k)for(var t of k(n))J.call(n,t)&&W(e,t,n[t]);return e},z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const K="SELECT*FROM",V="FROM pragma_table_",q="WHERE",G=(e,n)=>{const l=R(),d=(e,n)=>!y(I(I(l,e),n)),s=(n,d,s,v,y)=>z(void 0,null,(function*(){const f=M();x(null!=y?y:{},(e=>o(O(e),(e=>B(f,e)))));const h=E(f);if(u(h)&&m(l,n)&&v)return yield e("DROP TABLE"+F(n)),void $(l,n);if(u(h)||m(l,n)){const t=I(l,n),r=M(g(t));yield p([...o(h,(l=>z(void 0,null,(function*(){A(r,l)||(yield e(`ALTER TABLE${F(n)}ADD${F(l)}`),$(t,l,""))})))),...s?o(E(r),(l=>z(void 0,null,(function*(){l!=d&&(yield e(`ALTER TABLE${F(n)}DROP${F(l)}`),$(t,l))})))):[]])}else yield e(`CREATE TABLE${F(n)}(${F(d)} PRIMARY KEY ON CONFLICT REPLACE${r(o(h,(e=>t+F(e))))});`),$(l,n,R([[d,""],...o(h,(e=>[e,""]))]));if(u(h))m(l,n)&&(yield e("DELETE FROM"+F(n)));else{const u=[],s=[],v=[],f=a(g(I(l,n)),(e=>e!=d));x(y,((e,n)=>{var t;c(u,`(?${t=i(f),",?".repeat(t)})`),c(s,n,...o(f,(n=>e[n]))),c(v,n)})),yield e("INSERT INTO"+F(n)+"("+F(d)+r(o(f,(e=>t+F(e))))+")VALUES"+r(u,t)+"ON CONFLICT("+F(d)+")DO UPDATE SET"+r(o(f,(e=>F(e)+"=excluded."+F(e))),t),s),yield e("DELETE FROM"+F(n)+q+F(d)+"NOT IN("+Q(v)+")",v)}}));return[()=>z(void 0,null,(function*(){return _(l,L(yield p(o(yield e("SELECT name "+V+"list WHERE schema='main'AND type='table'AND name IN("+Q(n)+")",n),(n=>z(void 0,[n],(function*({name:n}){return[n,L(o(yield e("SELECT name,type "+V+"info(?)",[n]),(({name:e,type:n})=>[e,n])))]})))))),((e,n,t)=>{return $(l,n,_((i=R,m(r=l,o=n)||$(r,o,i()),I(r,o)),t,((e,n,t)=>{t!=I(e,n)&&$(e,n,t)}),((e,n)=>$(e,n))));var r,o,i}),((e,n)=>$(l,n)))})),(n,t)=>z(void 0,null,(function*(){const l=d(n,t)?yield e(K+F(n)+q+F(t)+"=?",["_"]):[];return u(l)?null:b(l[0],t)})),(e,n,t,l)=>z(void 0,null,(function*(){return yield s(e,n,!0,!0,{[t]:l})})),(n,t)=>z(void 0,null,(function*(){return d(n,t)?L(a(o(yield e(K+F(n)),(e=>[e[t],b(Y({},e),t)])),(([e,n])=>!y(e)&&!C(n)))):{}})),s]},Q=e=>r(o(e,(()=>"?")),t),X=JSON.parse;var Z=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const ee=(e,n,t,l,r)=>{let o,i,u,a=0,d=0,s=0;const v=[],h=e=>Z(void 0,null,(function*(){return 2!=a&&(a=1,yield p.schedule((()=>Z(void 0,null,(function*(){yield e(),a=0}))))),p})),p={load:(t,l)=>Z(void 0,null,(function*(){return yield h((()=>Z(void 0,null,(function*(){try{e.setContent(yield n())}catch(n){e.setContent([t,l])}}))))})),startAutoLoad:(...t)=>Z(void 0,[...t],(function*(t={},r={}){return p.stopAutoLoad(),yield p.load(t,r),s=1,u=l(((t,l)=>Z(void 0,null,(function*(){return yield h((()=>Z(void 0,null,(function*(){var r;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(r=null==t?void 0:t())?r:yield n())}catch(e){}}))))})))),p})),stopAutoLoad:()=>(s&&(r(u),u=void 0,s=0),p),save:n=>Z(void 0,null,(function*(){return 1!=a&&(a=2,yield p.schedule((()=>Z(void 0,null,(function*(){try{yield t(e.getContent,n)}catch(e){}a=0}))))),p})),startAutoSave:()=>Z(void 0,null,(function*(){return yield p.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,n)=>{const[t,l]=n();C(t)&&C(l)||p.save((()=>[t,l]))})),p})),stopAutoSave:()=>(f(o,e.delListener),p),schedule:(...e)=>Z(void 0,null,(function*(){return c(v,...e),yield Z(void 0,null,(function*(){if(!d){for(d=1;!y((e=v,i=e.shift()));)try{yield i()}catch(e){}d=0}var e})),p})),getStore:()=>e,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return P(p)};var ne=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const te="store",le=(e,n,t,l,[r],o)=>{const[i,u,a]=G(n,o),d=ee(e,(()=>ne(void 0,null,(function*(){var e;return yield i(),X((null!=(e=yield u(r,j))?e:{})[te])}))),(e=>ne(void 0,null,(function*(){return d.schedule(i,(()=>ne(void 0,null,(function*(){var n;yield a(r,j,"_",{[te]:(n=e(),JSON.stringify(n,((e,n)=>v(n,Map)?T.fromEntries([...n]):n)))})}))))}))),t,l);return d};var re=(e,n,t)=>new Promise(((l,r)=>{var o=e=>{try{u(t.next(e))}catch(e){r(e)}},i=e=>{try{u(t.throw(e))}catch(e){r(e)}},u=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,i);u((t=t.apply(e,n)).next())}));const oe=(e,n,t,l,[r,o,[i,u,d]],c)=>{const[s,v,f,h,m]=G(n,c);return ee(e,(()=>re(void 0,null,(function*(){yield s();const e=yield re(void 0,null,(function*(){return L(a(yield p(D(r,((e,n)=>re(void 0,[e,n],(function*([e,n],t){return[e,yield h(t,n)]}))))),(e=>!C(e[1]))))})),n=yield re(void 0,null,(function*(){return i?yield v(d,j):{}}));return C(e)&&y(n)?void 0:[e,n]}))),(e=>re(void 0,null,(function*(){const[n,t]=e();yield s(),yield(e=>re(void 0,null,(function*(){return yield p(D(o,((n,t)=>re(void 0,[n,t],(function*([n,t,l,r],o){return yield m(n,t,l,r,e[o])})))))})))(n),yield(e=>re(void 0,null,(function*(){return u?yield f(d,j,"_",e):null})))(t)}))),t,l)},ie="json",ue="autoLoadIntervalSeconds",ae="rowIdColumnName",de="tableId",ce="tableName",se={mode:ie,[ue]:1},ve={load:0,save:0,[ce]:n+"_values"},ye=(e,n,t,l)=>{const r=R();return x(e,((e,o)=>{const i=d(N(w(n,h(e)?{[t]:e}:e)),0,S(n));y(i[0])||l(o,i[0])||$(r,o,i)})),r},fe="pragma ",he="data_version",pe="schema_version",me=(e,t,l,r,o)=>{let i,u;const[a,c,s,v]=(e=>{const t=(e=>w(se,h(e)?{storeTableName:e}:null!=e?e:{}))(e),l=t[ue];if(t.mode==ie){const{storeTableName:e=n}=t;return[1,l,[e],M(e)]}const{tables:{load:r={},save:o={}}={},values:i={}}=t,u=d(N(w(ve,i)),0,S(ve)),a=u[2],c=M(a);return[0,l,[ye(r,{[de]:null,[ae]:j},de,(e=>B(c,e)&&e==a)),ye(o,{[ce]:null,[ae]:j,deleteEmptyColumns:0,deleteEmptyTable:0},ce,((e,n)=>B(c,n)&&n==a)),u],c]})(t);return(a?le:oe)(e,l,(e=>[setInterval((()=>{return n=function*(){try{const n=(yield l(fe+he))[0][he],t=(yield l(fe+pe))[0][pe];n==(null!=i?i:i=n)&&t==(null!=u?u:u=t)||(e(),i=n,u=t)}catch(e){}},new Promise(((e,t)=>{var l=e=>{try{o(n.next(e))}catch(e){t(e)}},r=e=>{try{o(n.throw(e))}catch(e){t(e)}},o=n=>n.done?e(n.value):Promise.resolve(n.value).then(l,r);o((n=n.apply(void 0,null)).next())}));var n}),1e3*c),r((n=>v.has(n)?e():0))]),(([e,n])=>{clearInterval(e),i=u=null,o(n)}),s,E(v))},Ee=(e,n,t)=>me(e,t,((e,...t)=>{return l=[e,...t],r=function*(e,t=[]){return yield n.execO(e,t)},new Promise(((e,n)=>{var t=e=>{try{i(r.next(e))}catch(e){n(e)}},o=e=>{try{i(r.throw(e))}catch(e){n(e)}},i=n=>n.done?e(n.value):Promise.resolve(n.value).then(t,o);i((r=r.apply(void 0,l)).next())}));var l,r}),(e=>n.onUpdate(((n,t,l)=>e(l)))),(e=>e()));export{Ee as createCrSqliteWasmPersister};