tinybase 3.0.0-beta.1 → 3.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +1 -1
- package/lib/debug/store.d.ts +34 -1
- package/lib/debug/store.js +6 -0
- package/lib/debug/tinybase.js +6 -0
- package/lib/debug/tools.d.ts +20 -0
- package/lib/debug/tools.js +2 -0
- package/lib/es6/store.d.ts +34 -1
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.d.ts +20 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/store.d.ts +34 -1
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.d.ts +20 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/umd/store.d.ts +34 -1
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.d.ts +20 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd-es6/store.d.ts +34 -1
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.d.ts +20 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/package.json +13 -13
- package/readme.md +17 -6
package/bin/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#! /usr/bin/env node
|
|
2
|
-
import{resolve as
|
|
2
|
+
import{resolve as e,dirname as t}from"path";import{writeFileSync as r,readFileSync as s}from"fs";import{createStore as o}from"tinybase";import{createTools as a}from"tinybase/tools";import{fileURLToPath as i}from"url";const n=JSON.parse,m=Object,p=(...e)=>{return t=e=>process.stdout.write(e+"\n"),e.forEach(t);var t},c=e=>n(s(e,"utf8")),f=()=>{var e,t;p("","tinybase <command>","","Usage:",""),e=l,t=([,e,t],r)=>p(` tinybase ${r} ${e}`," - "+t,""),((e,t)=>{e.map(t)})(m.entries(e),(([e,r])=>t(r,e))),p("See also http://tinybase.org/guides/developer-tools/command-line/","")},l={help:[f,"","print this message"],version:[()=>p(c(e(t(i(import.meta.url)),"../package.json")).version),"","get the current TinyBase version"],getStoreApi:[async(t,s,i)=>{try{const m=c(t),f=a(o().setSchema(...(n=m,Array.isArray(n)?m:[m]))),[l,u]=await f.getPrettyStoreApi(s),d=e(i,s+".d.ts"),h=e(i,s+".ts");r(d,l,"utf8"),r(h,u,"utf8"),p(" Definition: "+d,"Implementation: "+h)}catch{process.stderr.write("ERROR: provide a valid schemaFile, storeName, and outputDir\n")}var n},"<schemaFile> <storeName> <outputDir>","generate .d.ts and .ts files from a schema file"]};(()=>{const[,,e,...t]=process.argv;(l[e]?.[0]??f)(...t)})();
|
package/lib/debug/store.d.ts
CHANGED
|
@@ -114,6 +114,7 @@ export type CellOrUndefined = Cell | undefined;
|
|
|
114
114
|
* const values: Values = {open: true, employees: 4};
|
|
115
115
|
* ```
|
|
116
116
|
* @category Store
|
|
117
|
+
* @since v3.0.0
|
|
117
118
|
*/
|
|
118
119
|
export type Values = {[valueId: Id]: Value};
|
|
119
120
|
|
|
@@ -130,6 +131,7 @@ export type Values = {[valueId: Id]: Value};
|
|
|
130
131
|
* const value: Value = 'dog';
|
|
131
132
|
* ```
|
|
132
133
|
* @category Store
|
|
134
|
+
* @since v3.0.0
|
|
133
135
|
*/
|
|
134
136
|
export type Value = string | number | boolean;
|
|
135
137
|
|
|
@@ -142,6 +144,7 @@ export type Value = string | number | boolean;
|
|
|
142
144
|
* state where the Value has since been added.
|
|
143
145
|
*
|
|
144
146
|
* @category Store
|
|
147
|
+
* @since v3.0.0
|
|
145
148
|
*/
|
|
146
149
|
export type ValueOrUndefined = Value | undefined;
|
|
147
150
|
|
|
@@ -206,6 +209,7 @@ export type CellCallback = (cellId: Id, cell: Cell) => void;
|
|
|
206
209
|
* @param valueId The Id of the Value that the callback can operate on.
|
|
207
210
|
* @param value The Value itself.
|
|
208
211
|
* @category Callback
|
|
212
|
+
* @since v3.0.0
|
|
209
213
|
*/
|
|
210
214
|
export type ValueCallback = (valueId: Id, value: Value) => void;
|
|
211
215
|
|
|
@@ -232,6 +236,7 @@ export type MapCell = (cell: CellOrUndefined) => Cell;
|
|
|
232
236
|
*
|
|
233
237
|
* @param value The current Value to map to a new Value.
|
|
234
238
|
* @category Callback
|
|
239
|
+
* @since v3.0.0
|
|
235
240
|
*/
|
|
236
241
|
export type MapValue = (value: ValueOrUndefined) => Value;
|
|
237
242
|
|
|
@@ -570,6 +575,7 @@ export type ValueIdsListener = (store: Store) => void;
|
|
|
570
575
|
* @param getValueChange A function that returns information about any Value's
|
|
571
576
|
* changes.
|
|
572
577
|
* @category Listener
|
|
578
|
+
* @since v3.0.0
|
|
573
579
|
*/
|
|
574
580
|
export type ValueListener = (
|
|
575
581
|
store: Store,
|
|
@@ -2898,6 +2904,33 @@ export interface Store {
|
|
|
2898
2904
|
*/
|
|
2899
2905
|
delValuesSchema(): Store;
|
|
2900
2906
|
|
|
2907
|
+
/**
|
|
2908
|
+
* The delSchema method lets you remove both the TablesSchema and ValuesSchema
|
|
2909
|
+
* of the Store.
|
|
2910
|
+
*
|
|
2911
|
+
* Prior to v3.0.0, this method removed the TablesSchema only.
|
|
2912
|
+
*
|
|
2913
|
+
* @returns A reference to the Store.
|
|
2914
|
+
* @example
|
|
2915
|
+
* This example removes the TablesSchema and ValuesSchema of a Store.
|
|
2916
|
+
*
|
|
2917
|
+
* ```js
|
|
2918
|
+
* const store = createStore()
|
|
2919
|
+
* .setTablesSchema({
|
|
2920
|
+
* pets: {species: {type: 'string'}},
|
|
2921
|
+
* })
|
|
2922
|
+
* .setValuesSchema({
|
|
2923
|
+
* sold: {type: 'boolean', default: false},
|
|
2924
|
+
* });
|
|
2925
|
+
* store.delSchema();
|
|
2926
|
+
* console.log(store.getSchemaJson());
|
|
2927
|
+
* // -> '[{},{}]'
|
|
2928
|
+
* ```
|
|
2929
|
+
* @category Deleter
|
|
2930
|
+
* @since v3.0.0
|
|
2931
|
+
*/
|
|
2932
|
+
delSchema(): Store;
|
|
2933
|
+
|
|
2901
2934
|
/**
|
|
2902
2935
|
* The transaction method takes a function that makes multiple mutations to
|
|
2903
2936
|
* the Store, buffering all calls to the relevant listeners until it
|
|
@@ -4388,7 +4421,7 @@ export interface Store {
|
|
|
4388
4421
|
*/
|
|
4389
4422
|
addValueListener(
|
|
4390
4423
|
valueId: IdOrNull,
|
|
4391
|
-
listener:
|
|
4424
|
+
listener: ValueListener,
|
|
4392
4425
|
mutator?: boolean,
|
|
4393
4426
|
): Id;
|
|
4394
4427
|
|
package/lib/debug/store.js
CHANGED
|
@@ -1064,6 +1064,11 @@ const createStore = () => {
|
|
|
1064
1064
|
setValidValuesSchema({});
|
|
1065
1065
|
hasValuesSchema = false;
|
|
1066
1066
|
});
|
|
1067
|
+
const delSchema = () =>
|
|
1068
|
+
fluentTransaction(() => {
|
|
1069
|
+
delTablesSchema();
|
|
1070
|
+
delValuesSchema();
|
|
1071
|
+
});
|
|
1067
1072
|
const transaction = (actions, doRollback) => {
|
|
1068
1073
|
if (transactions == -1) {
|
|
1069
1074
|
return;
|
|
@@ -1306,6 +1311,7 @@ const createStore = () => {
|
|
|
1306
1311
|
delValue,
|
|
1307
1312
|
delTablesSchema,
|
|
1308
1313
|
delValuesSchema,
|
|
1314
|
+
delSchema,
|
|
1309
1315
|
transaction,
|
|
1310
1316
|
startTransaction,
|
|
1311
1317
|
finishTransaction,
|
package/lib/debug/tinybase.js
CHANGED
|
@@ -2632,6 +2632,11 @@ const createStore = () => {
|
|
|
2632
2632
|
setValidValuesSchema({});
|
|
2633
2633
|
hasValuesSchema = false;
|
|
2634
2634
|
});
|
|
2635
|
+
const delSchema = () =>
|
|
2636
|
+
fluentTransaction(() => {
|
|
2637
|
+
delTablesSchema();
|
|
2638
|
+
delValuesSchema();
|
|
2639
|
+
});
|
|
2635
2640
|
const transaction = (actions, doRollback) => {
|
|
2636
2641
|
if (transactions == -1) {
|
|
2637
2642
|
return;
|
|
@@ -2874,6 +2879,7 @@ const createStore = () => {
|
|
|
2874
2879
|
delValue,
|
|
2875
2880
|
delTablesSchema,
|
|
2876
2881
|
delValuesSchema,
|
|
2882
|
+
delSchema,
|
|
2877
2883
|
transaction,
|
|
2878
2884
|
startTransaction,
|
|
2879
2885
|
finishTransaction,
|
package/lib/debug/tools.d.ts
CHANGED
|
@@ -442,6 +442,26 @@ export interface Tools {
|
|
|
442
442
|
* @since v2.2.0
|
|
443
443
|
*/
|
|
444
444
|
getPrettyStoreApi(storeName: string): Promise<[string, string]>;
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* The getStore method returns a reference to the underlying Store that is
|
|
448
|
+
* backing this Tools object.
|
|
449
|
+
*
|
|
450
|
+
* @returns A reference to the Store.
|
|
451
|
+
* @example
|
|
452
|
+
* This example creates a Tools object against a newly-created Store and
|
|
453
|
+
* then gets its reference in order to update its data.
|
|
454
|
+
*
|
|
455
|
+
* ```js
|
|
456
|
+
* const tools = createTools(createStore());
|
|
457
|
+
* tools.getStore().setCell('species', 'dog', 'price', 5);
|
|
458
|
+
* console.log(tools.getStoreStats().totalCells);
|
|
459
|
+
* // -> 1
|
|
460
|
+
* ```
|
|
461
|
+
* @category Getter
|
|
462
|
+
* @since v3.0.0
|
|
463
|
+
*/
|
|
464
|
+
getStore(): Store;
|
|
445
465
|
}
|
|
446
466
|
|
|
447
467
|
/* eslint-disable max-len */
|
package/lib/debug/tools.js
CHANGED
|
@@ -1304,12 +1304,14 @@ const createTools = getCreateFunction((store) => {
|
|
|
1304
1304
|
formatJsDoc(format(file, prettierConfig)),
|
|
1305
1305
|
);
|
|
1306
1306
|
};
|
|
1307
|
+
const getStore = () => store;
|
|
1307
1308
|
const tools = {
|
|
1308
1309
|
getStoreStats,
|
|
1309
1310
|
getStoreTablesSchema,
|
|
1310
1311
|
getStoreValuesSchema,
|
|
1311
1312
|
getStoreApi: getStoreApi$1,
|
|
1312
1313
|
getPrettyStoreApi,
|
|
1314
|
+
getStore,
|
|
1313
1315
|
};
|
|
1314
1316
|
return objFreeze(tools);
|
|
1315
1317
|
});
|
package/lib/es6/store.d.ts
CHANGED
|
@@ -114,6 +114,7 @@ export type CellOrUndefined = Cell | undefined;
|
|
|
114
114
|
* const values: Values = {open: true, employees: 4};
|
|
115
115
|
* ```
|
|
116
116
|
* @category Store
|
|
117
|
+
* @since v3.0.0
|
|
117
118
|
*/
|
|
118
119
|
export type Values = {[valueId: Id]: Value};
|
|
119
120
|
|
|
@@ -130,6 +131,7 @@ export type Values = {[valueId: Id]: Value};
|
|
|
130
131
|
* const value: Value = 'dog';
|
|
131
132
|
* ```
|
|
132
133
|
* @category Store
|
|
134
|
+
* @since v3.0.0
|
|
133
135
|
*/
|
|
134
136
|
export type Value = string | number | boolean;
|
|
135
137
|
|
|
@@ -142,6 +144,7 @@ export type Value = string | number | boolean;
|
|
|
142
144
|
* state where the Value has since been added.
|
|
143
145
|
*
|
|
144
146
|
* @category Store
|
|
147
|
+
* @since v3.0.0
|
|
145
148
|
*/
|
|
146
149
|
export type ValueOrUndefined = Value | undefined;
|
|
147
150
|
|
|
@@ -206,6 +209,7 @@ export type CellCallback = (cellId: Id, cell: Cell) => void;
|
|
|
206
209
|
* @param valueId The Id of the Value that the callback can operate on.
|
|
207
210
|
* @param value The Value itself.
|
|
208
211
|
* @category Callback
|
|
212
|
+
* @since v3.0.0
|
|
209
213
|
*/
|
|
210
214
|
export type ValueCallback = (valueId: Id, value: Value) => void;
|
|
211
215
|
|
|
@@ -232,6 +236,7 @@ export type MapCell = (cell: CellOrUndefined) => Cell;
|
|
|
232
236
|
*
|
|
233
237
|
* @param value The current Value to map to a new Value.
|
|
234
238
|
* @category Callback
|
|
239
|
+
* @since v3.0.0
|
|
235
240
|
*/
|
|
236
241
|
export type MapValue = (value: ValueOrUndefined) => Value;
|
|
237
242
|
|
|
@@ -570,6 +575,7 @@ export type ValueIdsListener = (store: Store) => void;
|
|
|
570
575
|
* @param getValueChange A function that returns information about any Value's
|
|
571
576
|
* changes.
|
|
572
577
|
* @category Listener
|
|
578
|
+
* @since v3.0.0
|
|
573
579
|
*/
|
|
574
580
|
export type ValueListener = (
|
|
575
581
|
store: Store,
|
|
@@ -2898,6 +2904,33 @@ export interface Store {
|
|
|
2898
2904
|
*/
|
|
2899
2905
|
delValuesSchema(): Store;
|
|
2900
2906
|
|
|
2907
|
+
/**
|
|
2908
|
+
* The delSchema method lets you remove both the TablesSchema and ValuesSchema
|
|
2909
|
+
* of the Store.
|
|
2910
|
+
*
|
|
2911
|
+
* Prior to v3.0.0, this method removed the TablesSchema only.
|
|
2912
|
+
*
|
|
2913
|
+
* @returns A reference to the Store.
|
|
2914
|
+
* @example
|
|
2915
|
+
* This example removes the TablesSchema and ValuesSchema of a Store.
|
|
2916
|
+
*
|
|
2917
|
+
* ```js
|
|
2918
|
+
* const store = createStore()
|
|
2919
|
+
* .setTablesSchema({
|
|
2920
|
+
* pets: {species: {type: 'string'}},
|
|
2921
|
+
* })
|
|
2922
|
+
* .setValuesSchema({
|
|
2923
|
+
* sold: {type: 'boolean', default: false},
|
|
2924
|
+
* });
|
|
2925
|
+
* store.delSchema();
|
|
2926
|
+
* console.log(store.getSchemaJson());
|
|
2927
|
+
* // -> '[{},{}]'
|
|
2928
|
+
* ```
|
|
2929
|
+
* @category Deleter
|
|
2930
|
+
* @since v3.0.0
|
|
2931
|
+
*/
|
|
2932
|
+
delSchema(): Store;
|
|
2933
|
+
|
|
2901
2934
|
/**
|
|
2902
2935
|
* The transaction method takes a function that makes multiple mutations to
|
|
2903
2936
|
* the Store, buffering all calls to the relevant listeners until it
|
|
@@ -4388,7 +4421,7 @@ export interface Store {
|
|
|
4388
4421
|
*/
|
|
4389
4422
|
addValueListener(
|
|
4390
4423
|
valueId: IdOrNull,
|
|
4391
|
-
listener:
|
|
4424
|
+
listener: ValueListener,
|
|
4392
4425
|
mutator?: boolean,
|
|
4393
4426
|
): Id;
|
|
4394
4427
|
|
package/lib/es6/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t=e(""),l=e(!0),n=e(0),s=e(e),r=e=>""+e,a=(e,t)=>e.forEach(t),o=(e,t)=>e.map(t),u=e=>e.length,i=(e,t,l)=>e.slice(t,l),d=(e,...t)=>e.push(...t),c=e=>JSON.stringify(e,((e,t)=>{return h(t,Map)?(l=(e,[t,l])=>(e[t]=l,e),n={},[...t].reduce(l,n)):t;var l,n})),v=JSON.parse,f=isFinite,h=(e,t)=>e instanceof t,T=e=>null==e,V=(e,t,l)=>T(e)?null==l?void 0:l():t(e),g=e=>e==t||e==l,b=t=>e(t)==s,S=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},w=e=>T(e)||0==(e=>e.size)(e),y=e=>e.clear(),I=(e,t)=>null==e?void 0:e.forEach(t),R=(e,t)=>null==e?void 0:e.delete(t),p=e=>new Map(e),C=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},J=(e,t)=>null==e?void 0:e.get(t),m=(e,t)=>I(e,((e,l)=>t(l,e))),L=(e,t,l)=>T(l)?(R(e,t),e):null==e?void 0:e.set(t,l),E=(e,t,l)=>(S(e,t)||L(e,t,l()),J(e,t)),F=(e,t,l)=>{const n={},s=null!=t?t:e=>e;return I(e,((e,t)=>V(s(e),(e=>(null==l?void 0:l(e))?0:n[t]=e)))),n},z=(e,t)=>{const l=p(),n=null!=t?t:e=>e;return I(e,((e,t)=>l.set(t,n(e)))),l},O=e=>z(e,z),k=(e,t,l,n,s=0)=>V((l?E:J)(e,t[s],s>u(t)-2?l:p),(r=>{if(s>u(t)-2)return(null==n?void 0:n(r))&&L(e,t[s]),r;const a=k(r,t,l,n,s+1);return w(r)&&L(e,t[s]),a})),A=e=>new Set(Array.isArray(e)||T(e)?e:[e]),M=(e,t)=>null==e?void 0:e.add(t),N=/^\d+$/,P=()=>{const e=[];let t=0;return[()=>{var l;return null!=(l=e.shift())?l:""+t++},t=>{N.test(t)&&u(e)<1e3&&d(e,t)}]},j=Object,x=j.keys,D=j.isFrozen,W=j.freeze,$=e=>h(e,j)&&e.constructor==j,q=(e,t)=>!T(((e,t)=>V(e,(e=>e[t])))(e,t)),B=(e,t)=>delete e[t],G=(e,t)=>o(j.entries(e),(([e,l])=>t(l,e))),H=e=>{return $(e)&&(t=x(e),0==u(t));var t},K=e=>[e,e],Q=()=>[p(),p()],U=t=>{const l=e(t);return g(l)||l==n&&f(t)?l:void 0},X=(e,t,l,n=L)=>{const s=(r=e=>!q(t,e),C(e).filter(r));var r;return a(x(t),(n=>l(e,n,t[n]))),a(s,(t=>n(e,t))),e},Y=(e,t,l)=>T(e)||!$(e)||H(e)||D(e)?(null==l||l(),!1):(G(e,((l,n)=>{t(l,n)||B(e,n)})),!H(e)),Z=(e,t,l)=>L(e,t,J(e,t)==-l?void 0:l),_=()=>{let e,t,l,s,f=0;const h=p(),N=p(),j=p(),x=p(),D=p(),$=p(),ee=p(),te=p(),le=p(),ne=p(),se=p(),re=p(),ae=A(),oe=p(),ue=p(),ie=p(),de=Q(),ce=Q(),ve=Q(),fe=Q(),he=Q(),Te=Q(),Ve=Q(),ge=Q(),be=Q(),Se=Q(),we=Q(),ye=Q(),Ie=Q(),Re=Q(),[pe,Ce,Je,me]=(e=>{let t;const[l,n]=P(),s=p();return[(e,n,r,a=[],o=(()=>[]))=>{null!=t||(t=Mt);const u=l();return L(s,u,[e,n,r,a,o]),M(k(n,null!=r?r:[""],A),u),u},(e,l,...n)=>a(((e,t=[""])=>{const l=[],n=(e,s)=>s==u(t)?d(l,e):null===t[s]?I(e,(e=>n(e,s+1))):a([t[s],null],(t=>n(J(e,t),s+1)));return n(e,0),l})(e,l),(e=>I(e,(e=>J(s,e)[0](t,...null!=l?l:[],...n))))),e=>V(J(s,e),(([,t,l])=>(k(t,null!=l?l:[""],void 0,(t=>(R(t,e),w(t)?1:0))),L(s,e),n(e),l))),e=>V(J(s,e),(([e,,l=[],n,s])=>{const r=(...o)=>{var i,d;const c=u(o);c==u(l)?e(t,...o,...s(o)):T(l[c])?a(null!=(d=null==(i=n[c])?void 0:i.call(n,...o))?d:[],(e=>r(...o,e))):r(...o,l[c])};r()}))]})(),Le=e=>{if(!Y(e,((e,t)=>["type","default"].includes(t))))return!1;const t=e.type;return!(!g(t)&&t!=n||(U(e.default)!=t&&B(e,"default"),0))},Ee=(t,l)=>(!e||S(le,l)||rt(l))&&Y(t,((e,t)=>Fe(l,t,e)),(()=>rt(l))),Fe=(e,t,l,n)=>Y(n?l:Ae(l,e,t),((n,s)=>V(ze(e,t,s,n),(e=>(l[s]=e,!0)),(()=>!1))),(()=>rt(e,t))),ze=(t,l,n,s)=>e?V(J(J(le,t),n),(e=>U(s)!=e.type?rt(t,l,n,s,e.default):s),(()=>rt(t,l,n,s))):T(U(s))?rt(t,l,n,s):s,Oe=(e,t)=>Y(t?e:Me(e),((t,l)=>V(ke(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>at())),ke=(e,l)=>t?V(J(se,e),(t=>U(l)!=t.type?at(e,l,t.default):l),(()=>at(e,l))):T(U(l))?at(e,l):l,Ae=(e,t,l)=>(V(J(ne,t),(([n,s])=>{I(n,((t,l)=>{q(e,l)||(e[l]=t)})),I(s,(n=>{q(e,n)||rt(t,l,n)}))})),e),Me=e=>(t&&(I(re,((t,l)=>{q(e,l)||(e[l]=t)})),I(ae,(t=>{q(e,t)||at(t)}))),e),Ne=e=>X(le,e,((e,t,l)=>{const n=p(),s=A();X(E(le,t,p),l,((e,t,l)=>{L(e,t,l),V(l.default,(e=>L(n,t,e)),(()=>M(s,t)))})),L(ne,t,[n,s])}),((e,t)=>{L(le,t),L(ne,t)})),Pe=e=>X(se,e,((e,t,l)=>{L(se,t,l),V(l.default,(e=>L(re,t,e)),(()=>M(ae,t)))}),((e,t)=>{L(se,t),L(re,t),R(ae,t)})),je=e=>H(e)?Et():pt(e),xe=e=>X(ue,e,((e,t,l)=>De(t,l)),((e,t)=>Ue(t))),De=(e,t)=>X(E(ue,e,(()=>(_e(e,1),p()))),t,((t,l,n)=>We(e,t,l,n)),((t,l)=>Xe(e,t,l))),We=(e,t,l,n,s)=>X(E(t,l,(()=>(et(e,l,1),p()))),n,((t,n,s)=>$e(e,l,t,n,s)),((n,r)=>Ye(e,t,l,n,r,s))),$e=(e,t,l,n,s)=>{S(l,n)||tt(e,t,n,1);const r=J(l,n);s!==r&&(lt(e,t,n,r,s),L(l,n,s))},qe=(e,t,l,n,s)=>V(J(t,l),(t=>$e(e,l,t,n,s)),(()=>We(e,t,l,Ae({[n]:s},e,l)))),Be=e=>H(e)?Ft():Ct(e),Ge=e=>X(ie,e,((e,t,l)=>He(t,l)),((e,t)=>Ze(t))),He=(e,t)=>{S(ie,e)||nt(e,1);const l=J(ie,e);t!==l&&(st(e,l,t),L(ie,e,t))},Ke=e=>{const[t]=E(oe,e,P),l=t();return S(J(ue,e),l)?Ke(e):l},Qe=e=>{var t;return null!=(t=J(ue,e))?t:De(e,{})},Ue=e=>De(e,{}),Xe=(e,t,l)=>{const[,n]=E(oe,e,P);n(l),We(e,t,l,{},!0)},Ye=(e,t,l,n,s,r)=>{var a;const o=J(null==(a=J(ne,e))?void 0:a[0],s);if(!T(o)&&!r)return $e(e,l,n,s,o);const u=t=>{lt(e,l,t,J(n,t)),tt(e,l,t,-1),L(n,t)};T(o)?u(s):m(n,u),w(n)&&(et(e,l,-1),w(L(t,l))&&(_e(e,-1),L(ue,e),L(oe,e)))},Ze=e=>{const t=J(re,e);if(!T(t))return He(e,t);st(e,J(ie,e)),nt(e,-1),L(ie,e)},_e=(e,t)=>Z(h,e,t),et=(e,t,l)=>Z(E(N,e,p),t,l),tt=(e,t,l,n)=>Z(E(E(j,e,p),t,p),l,n),lt=(e,t,l,n,s)=>E(E(E(x,e,p),t,p),l,(()=>[n,0]))[1]=s,nt=(e,t)=>Z(D,e,t),st=(e,t,l)=>E($,e,(()=>[t,0]))[1]=l,rt=(e,t,l,n,s)=>(d(E(E(E(ee,e,p),t,p),l,(()=>[])),n),s),at=(e,t,l)=>(d(E(te,e,(()=>[])),t),l),ot=(e,t,l)=>V(J(J(J(x,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...K(wt(e,t,l))])),ut=e=>V(J($,e),(([e,t])=>[!0,e,t]),(()=>[!1,...K(Rt(e))])),it=e=>w(ee)||w(be[e])?0:I(e?z(ee,O):ee,((t,l)=>I(t,((t,n)=>I(t,((t,s)=>Ce(be[e],[l,n,s],t))))))),dt=e=>w(te)||w(Se[e])?0:I(e?z(te):te,((t,l)=>Ce(Se[e],[l],t))),ct=(e,t,l)=>{if(!w(t))return Ce(e,l),1},vt=e=>{const t=w(he[e]),l=w(Ve[e])&&w(fe[e])&&t&&w(ce[e]),n=w(ge[e])&&w(Te[e])&&w(ve[e])&&w(de[e]);if(!l||!n){const s=e?[z(h),O(N),z(j,O),z(x,O)]:[h,N,j,x];if(!l){I(s[2],((t,l)=>I(t,((t,n)=>ct(Ve[e],t,[l,n])))));const l=A();I(s[1],((n,s)=>{ct(fe[e],n,[s])&&!t&&(Ce(he[e],[s,null]),M(l,s))})),t||I(s[3],((t,n)=>{if(!S(l,n)){const l=A();I(t,(e=>I(e,(([t,n],s)=>n!==t?M(l,s):R(e,s))))),I(l,(t=>Ce(he[e],[n,t])))}})),ct(ce[e],s[0])}if(!n){let t;I(s[3],((l,n)=>{let s;I(l,((l,r)=>{let a;I(l,(([l,o],u)=>{o!==l&&(Ce(ge[e],[n,r,u],o,l,ot),t=s=a=1)})),a&&Ce(Te[e],[n,r],ot)})),s&&Ce(ve[e],[n],ot)})),t&&Ce(de[e],void 0,ot)}}},ft=e=>{const t=w(ye[e]),l=w(Ie[e])&&w(we[e]);if(!t||!l){const n=e?[z(D),z($)]:[D,$];if(t||ct(ye[e],n[0]),!l){let t;I(n[1],(([l,n],s)=>{n!==l&&(Ce(Ie[e],[s],n,l,ut),t=1)})),t&&Ce(we[e],void 0,ut)}}},ht=(e,...t)=>(Ot((()=>e(...o(t,r)))),Mt),Tt=()=>F(ue,(e=>F(e,F))),Vt=()=>C(ue),gt=e=>C(J(ue,r(e))),bt=(e,t,l,n=0,s)=>{return o(i((u=J(ue,r(e)),d=(e,l)=>[T(t)?l:J(e,r(t)),l],a=([e],[t])=>(e<t?-1:1)*(l?-1:1),o([...null!=(c=null==u?void 0:u.entries())?c:[]],(([e,t])=>d(t,e))).sort(a)),n,T(s)?s:n+s),(([,e])=>e));var a,u,d,c},St=(e,t)=>C(J(J(ue,r(e)),r(t))),wt=(e,t,l)=>J(J(J(ue,r(e)),r(t)),r(l)),yt=()=>F(ie),It=()=>C(ie),Rt=e=>J(ie,r(e)),pt=e=>ht((()=>(e=>Y(e,Ee,rt))(e)?xe(e):0)),Ct=e=>ht((()=>Oe(e)?Ge(e):0)),Jt=e=>{try{je(v(e))}catch(e){}return Mt},mt=t=>ht((()=>{if((e=Y(t,(e=>Y(e,Le))))&&(Ne(t),!w(ue))){const e=Tt();Et(),pt(e)}})),Lt=e=>ht((()=>{if(t=(e=>Y(e,Le))(e)){const l=yt();zt(),Ft(),t=!0,Pe(e),Ct(l)}})),Et=()=>ht((()=>xe({}))),Ft=()=>ht((()=>Ge({}))),zt=()=>ht((()=>{Pe({}),t=!1})),Ot=(e,t)=>{if(-1==f)return;kt();const l=e();return At(t),l},kt=()=>(f++,Mt),At=e=>(f>0&&(f--,0==f&&(l=!w(x),s=!w($),f=1,it(1),l&&vt(1),dt(1),s&&ft(1),f=-1,(null==e?void 0:e(F(x,(e=>F(e,(e=>F(e,(e=>[...e]),(([e,t])=>e===t))),H)),H),F(ee,(e=>F(e,F))),F($,(e=>[...e]),(([e,t])=>e===t)),F(te)))&&(f=1,I(x,((e,t)=>I(e,((e,l)=>I(e,(([e],n)=>((e,t,l,n,s)=>T(s)?e.delCell(t,l,n,!0):e.setCell(t,l,n,s))(Mt,t,l,n,e))))))),I($,(([e],t)=>((e,t,l)=>T(l)?e.delValue(t):e.setValue(t,l))(Mt,t,e))),f=-1,l=s=!1),Ce(Re[0],void 0,l,s),it(0),l&&vt(0),dt(0),s&&ft(0),Ce(Re[1],void 0,l,s),f=0,a([h,N,j,x,ee,D,$,te],y))),Mt),Mt={getTables:Tt,getTableIds:Vt,getTable:e=>F(J(ue,r(e)),F),getRowIds:gt,getSortedRowIds:bt,getRow:(e,t)=>F(J(J(ue,r(e)),r(t))),getCellIds:St,getCell:wt,getValues:yt,getValueIds:It,getValue:Rt,hasTables:()=>!w(ue),hasTable:e=>S(ue,r(e)),hasRow:(e,t)=>S(J(ue,r(e)),r(t)),hasCell:(e,t,l)=>S(J(J(ue,r(e)),r(t)),r(l)),hasValues:()=>!w(ie),hasValue:e=>S(ie,r(e)),getTablesJson:()=>c(ue),getValuesJson:()=>c(ie),getJson:()=>c([ue,ie]),getTablesSchemaJson:()=>c(le),getValuesSchemaJson:()=>c(se),getSchemaJson:()=>c([le,se]),setTables:pt,setTable:(e,t)=>ht((e=>Ee(t,e)?De(e,t):0),e),setRow:(e,t,l)=>ht(((e,t)=>Fe(e,t,l)?We(e,Qe(e),t,l):0),e,t),addRow:(e,t)=>Ot((()=>{let l;return Fe(e,l,t)&&(e=r(e),We(e,Qe(e),l=Ke(e),t)),l})),setPartialRow:(e,t,l)=>ht(((e,t)=>{if(Fe(e,t,l,1)){const n=Qe(e);G(l,((l,s)=>qe(e,n,t,s,l)))}}),e,t),setCell:(e,t,l,n)=>ht(((e,t,l)=>V(ze(e,t,l,b(n)?n(wt(e,t,l)):n),(n=>qe(e,Qe(e),t,l,n)))),e,t,l),setValues:Ct,setPartialValues:e=>ht((()=>Oe(e,1)?G(e,((e,t)=>He(t,e))):0)),setValue:(e,t)=>ht((e=>V(ke(e,b(t)?t(Rt(e)):t),(t=>He(e,t)))),e),setTablesJson:Jt,setValuesJson:e=>{try{Be(v(e))}catch(e){}return Mt},setJson:e=>{try{const[t,l]=v(e);je(t),Be(l)}catch(t){Jt(e)}return Mt},setTablesSchema:mt,setValuesSchema:Lt,setSchema:(e,t)=>ht((()=>{mt(e),Lt(t)})),delTables:Et,delTable:e=>ht((e=>S(ue,e)?Ue(e):0),e),delRow:(e,t)=>ht(((e,t)=>V(J(ue,e),(l=>S(l,t)?Xe(e,l,t):0))),e,t),delCell:(e,t,l,n)=>ht(((e,t,l)=>V(J(ue,e),(s=>V(J(s,t),(r=>S(r,l)?Ye(e,s,t,r,l,n):0))))),e,t,l),delValues:Ft,delValue:e=>ht((e=>S(ie,e)?Ze(e):0),e),delTablesSchema:()=>ht((()=>{Ne({}),e=!1})),delValuesSchema:zt,transaction:Ot,startTransaction:kt,finishTransaction:At,forEachTable:e=>I(ue,((t,l)=>e(l,(e=>I(t,((t,l)=>e(l,(e=>m(t,e))))))))),forEachRow:(e,t)=>I(J(ue,r(e)),((e,l)=>t(l,(t=>m(e,t))))),forEachCell:(e,t,l)=>m(J(J(ue,r(e)),r(t)),l),forEachValue:e=>m(ie,e),addSortedRowIdsListener:(e,t,l,n,s,r,a)=>{let o=bt(e,t,l,n,s);return pe((()=>{const a=bt(e,t,l,n,s);var i,d,c;d=o,u(i=a)===u(d)&&(c=(e,t)=>d[t]===e,i.every(c))||(o=a,r(Mt,e,t,l,n,s,o))}),he[a?1:0],[e,t],[Vt])},addWillFinishTransactionListener:e=>pe(e,Re[0]),addDidFinishTransactionListener:e=>pe(e,Re[1]),callListener:e=>(me(e),Mt),delListener:e=>(Je(e),Mt),getListenerStats:()=>({}),createStore:_};return G({Tables:[0,de],TableIds:[0,ce],Table:[1,ve,[Vt]],RowIds:[1,fe,[Vt]],Row:[2,Te,[Vt,gt]],CellIds:[2,Ve,[Vt,gt]],Cell:[3,ge,[Vt,gt,St],e=>K(wt(...e))],InvalidCell:[3,be],Values:[0,we],ValueIds:[0,ye],Value:[1,Ie,[It],e=>K(Rt(e[0]))],InvalidValue:[1,Se]},(([e,t,l,n],s)=>{Mt["add"+s+"Listener"]=(...s)=>pe(s[e],t[s[e+1]?1:0],e>0?i(s,0,e):void 0,l,n)})),W(Mt)};export{_ as createStore};
|
|
1
|
+
const e=e=>typeof e,t=e(""),l=e(!0),n=e(0),s=e(e),r=e=>""+e,a=(e,t)=>e.forEach(t),o=(e,t)=>e.map(t),u=e=>e.length,i=(e,t,l)=>e.slice(t,l),d=(e,...t)=>e.push(...t),c=e=>JSON.stringify(e,((e,t)=>{return h(t,Map)?(l=(e,[t,l])=>(e[t]=l,e),n={},[...t].reduce(l,n)):t;var l,n})),v=JSON.parse,f=isFinite,h=(e,t)=>e instanceof t,T=e=>null==e,V=(e,t,l)=>T(e)?null==l?void 0:l():t(e),g=e=>e==t||e==l,b=t=>e(t)==s,S=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},w=e=>T(e)||0==(e=>e.size)(e),y=e=>e.clear(),I=(e,t)=>null==e?void 0:e.forEach(t),R=(e,t)=>null==e?void 0:e.delete(t),p=e=>new Map(e),C=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},J=(e,t)=>null==e?void 0:e.get(t),m=(e,t)=>I(e,((e,l)=>t(l,e))),L=(e,t,l)=>T(l)?(R(e,t),e):null==e?void 0:e.set(t,l),E=(e,t,l)=>(S(e,t)||L(e,t,l()),J(e,t)),F=(e,t,l)=>{const n={},s=null!=t?t:e=>e;return I(e,((e,t)=>V(s(e),(e=>(null==l?void 0:l(e))?0:n[t]=e)))),n},z=(e,t)=>{const l=p(),n=null!=t?t:e=>e;return I(e,((e,t)=>l.set(t,n(e)))),l},O=e=>z(e,z),k=(e,t,l,n,s=0)=>V((l?E:J)(e,t[s],s>u(t)-2?l:p),(r=>{if(s>u(t)-2)return(null==n?void 0:n(r))&&L(e,t[s]),r;const a=k(r,t,l,n,s+1);return w(r)&&L(e,t[s]),a})),A=e=>new Set(Array.isArray(e)||T(e)?e:[e]),M=(e,t)=>null==e?void 0:e.add(t),N=/^\d+$/,P=()=>{const e=[];let t=0;return[()=>{var l;return null!=(l=e.shift())?l:""+t++},t=>{N.test(t)&&u(e)<1e3&&d(e,t)}]},j=Object,x=j.keys,D=j.isFrozen,W=j.freeze,$=e=>h(e,j)&&e.constructor==j,q=(e,t)=>!T(((e,t)=>V(e,(e=>e[t])))(e,t)),B=(e,t)=>delete e[t],G=(e,t)=>o(j.entries(e),(([e,l])=>t(l,e))),H=e=>{return $(e)&&(t=x(e),0==u(t));var t},K=e=>[e,e],Q=()=>[p(),p()],U=t=>{const l=e(t);return g(l)||l==n&&f(t)?l:void 0},X=(e,t,l,n=L)=>{const s=(r=e=>!q(t,e),C(e).filter(r));var r;return a(x(t),(n=>l(e,n,t[n]))),a(s,(t=>n(e,t))),e},Y=(e,t,l)=>T(e)||!$(e)||H(e)||D(e)?(null==l||l(),!1):(G(e,((l,n)=>{t(l,n)||B(e,n)})),!H(e)),Z=(e,t,l)=>L(e,t,J(e,t)==-l?void 0:l),_=()=>{let e,t,l,s,f=0;const h=p(),N=p(),j=p(),x=p(),D=p(),$=p(),ee=p(),te=p(),le=p(),ne=p(),se=p(),re=p(),ae=A(),oe=p(),ue=p(),ie=p(),de=Q(),ce=Q(),ve=Q(),fe=Q(),he=Q(),Te=Q(),Ve=Q(),ge=Q(),be=Q(),Se=Q(),we=Q(),ye=Q(),Ie=Q(),Re=Q(),[pe,Ce,Je,me]=(e=>{let t;const[l,n]=P(),s=p();return[(e,n,r,a=[],o=(()=>[]))=>{null!=t||(t=Nt);const u=l();return L(s,u,[e,n,r,a,o]),M(k(n,null!=r?r:[""],A),u),u},(e,l,...n)=>a(((e,t=[""])=>{const l=[],n=(e,s)=>s==u(t)?d(l,e):null===t[s]?I(e,(e=>n(e,s+1))):a([t[s],null],(t=>n(J(e,t),s+1)));return n(e,0),l})(e,l),(e=>I(e,(e=>J(s,e)[0](t,...null!=l?l:[],...n))))),e=>V(J(s,e),(([,t,l])=>(k(t,null!=l?l:[""],void 0,(t=>(R(t,e),w(t)?1:0))),L(s,e),n(e),l))),e=>V(J(s,e),(([e,,l=[],n,s])=>{const r=(...o)=>{var i,d;const c=u(o);c==u(l)?e(t,...o,...s(o)):T(l[c])?a(null!=(d=null==(i=n[c])?void 0:i.call(n,...o))?d:[],(e=>r(...o,e))):r(...o,l[c])};r()}))]})(),Le=e=>{if(!Y(e,((e,t)=>["type","default"].includes(t))))return!1;const t=e.type;return!(!g(t)&&t!=n||(U(e.default)!=t&&B(e,"default"),0))},Ee=(t,l)=>(!e||S(le,l)||rt(l))&&Y(t,((e,t)=>Fe(l,t,e)),(()=>rt(l))),Fe=(e,t,l,n)=>Y(n?l:Ae(l,e,t),((n,s)=>V(ze(e,t,s,n),(e=>(l[s]=e,!0)),(()=>!1))),(()=>rt(e,t))),ze=(t,l,n,s)=>e?V(J(J(le,t),n),(e=>U(s)!=e.type?rt(t,l,n,s,e.default):s),(()=>rt(t,l,n,s))):T(U(s))?rt(t,l,n,s):s,Oe=(e,t)=>Y(t?e:Me(e),((t,l)=>V(ke(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>at())),ke=(e,l)=>t?V(J(se,e),(t=>U(l)!=t.type?at(e,l,t.default):l),(()=>at(e,l))):T(U(l))?at(e,l):l,Ae=(e,t,l)=>(V(J(ne,t),(([n,s])=>{I(n,((t,l)=>{q(e,l)||(e[l]=t)})),I(s,(n=>{q(e,n)||rt(t,l,n)}))})),e),Me=e=>(t&&(I(re,((t,l)=>{q(e,l)||(e[l]=t)})),I(ae,(t=>{q(e,t)||at(t)}))),e),Ne=e=>X(le,e,((e,t,l)=>{const n=p(),s=A();X(E(le,t,p),l,((e,t,l)=>{L(e,t,l),V(l.default,(e=>L(n,t,e)),(()=>M(s,t)))})),L(ne,t,[n,s])}),((e,t)=>{L(le,t),L(ne,t)})),Pe=e=>X(se,e,((e,t,l)=>{L(se,t,l),V(l.default,(e=>L(re,t,e)),(()=>M(ae,t)))}),((e,t)=>{L(se,t),L(re,t),R(ae,t)})),je=e=>H(e)?Et():pt(e),xe=e=>X(ue,e,((e,t,l)=>De(t,l)),((e,t)=>Ue(t))),De=(e,t)=>X(E(ue,e,(()=>(_e(e,1),p()))),t,((t,l,n)=>We(e,t,l,n)),((t,l)=>Xe(e,t,l))),We=(e,t,l,n,s)=>X(E(t,l,(()=>(et(e,l,1),p()))),n,((t,n,s)=>$e(e,l,t,n,s)),((n,r)=>Ye(e,t,l,n,r,s))),$e=(e,t,l,n,s)=>{S(l,n)||tt(e,t,n,1);const r=J(l,n);s!==r&&(lt(e,t,n,r,s),L(l,n,s))},qe=(e,t,l,n,s)=>V(J(t,l),(t=>$e(e,l,t,n,s)),(()=>We(e,t,l,Ae({[n]:s},e,l)))),Be=e=>H(e)?Ft():Ct(e),Ge=e=>X(ie,e,((e,t,l)=>He(t,l)),((e,t)=>Ze(t))),He=(e,t)=>{S(ie,e)||nt(e,1);const l=J(ie,e);t!==l&&(st(e,l,t),L(ie,e,t))},Ke=e=>{const[t]=E(oe,e,P),l=t();return S(J(ue,e),l)?Ke(e):l},Qe=e=>{var t;return null!=(t=J(ue,e))?t:De(e,{})},Ue=e=>De(e,{}),Xe=(e,t,l)=>{const[,n]=E(oe,e,P);n(l),We(e,t,l,{},!0)},Ye=(e,t,l,n,s,r)=>{var a;const o=J(null==(a=J(ne,e))?void 0:a[0],s);if(!T(o)&&!r)return $e(e,l,n,s,o);const u=t=>{lt(e,l,t,J(n,t)),tt(e,l,t,-1),L(n,t)};T(o)?u(s):m(n,u),w(n)&&(et(e,l,-1),w(L(t,l))&&(_e(e,-1),L(ue,e),L(oe,e)))},Ze=e=>{const t=J(re,e);if(!T(t))return He(e,t);st(e,J(ie,e)),nt(e,-1),L(ie,e)},_e=(e,t)=>Z(h,e,t),et=(e,t,l)=>Z(E(N,e,p),t,l),tt=(e,t,l,n)=>Z(E(E(j,e,p),t,p),l,n),lt=(e,t,l,n,s)=>E(E(E(x,e,p),t,p),l,(()=>[n,0]))[1]=s,nt=(e,t)=>Z(D,e,t),st=(e,t,l)=>E($,e,(()=>[t,0]))[1]=l,rt=(e,t,l,n,s)=>(d(E(E(E(ee,e,p),t,p),l,(()=>[])),n),s),at=(e,t,l)=>(d(E(te,e,(()=>[])),t),l),ot=(e,t,l)=>V(J(J(J(x,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...K(wt(e,t,l))])),ut=e=>V(J($,e),(([e,t])=>[!0,e,t]),(()=>[!1,...K(Rt(e))])),it=e=>w(ee)||w(be[e])?0:I(e?z(ee,O):ee,((t,l)=>I(t,((t,n)=>I(t,((t,s)=>Ce(be[e],[l,n,s],t))))))),dt=e=>w(te)||w(Se[e])?0:I(e?z(te):te,((t,l)=>Ce(Se[e],[l],t))),ct=(e,t,l)=>{if(!w(t))return Ce(e,l),1},vt=e=>{const t=w(he[e]),l=w(Ve[e])&&w(fe[e])&&t&&w(ce[e]),n=w(ge[e])&&w(Te[e])&&w(ve[e])&&w(de[e]);if(!l||!n){const s=e?[z(h),O(N),z(j,O),z(x,O)]:[h,N,j,x];if(!l){I(s[2],((t,l)=>I(t,((t,n)=>ct(Ve[e],t,[l,n])))));const l=A();I(s[1],((n,s)=>{ct(fe[e],n,[s])&&!t&&(Ce(he[e],[s,null]),M(l,s))})),t||I(s[3],((t,n)=>{if(!S(l,n)){const l=A();I(t,(e=>I(e,(([t,n],s)=>n!==t?M(l,s):R(e,s))))),I(l,(t=>Ce(he[e],[n,t])))}})),ct(ce[e],s[0])}if(!n){let t;I(s[3],((l,n)=>{let s;I(l,((l,r)=>{let a;I(l,(([l,o],u)=>{o!==l&&(Ce(ge[e],[n,r,u],o,l,ot),t=s=a=1)})),a&&Ce(Te[e],[n,r],ot)})),s&&Ce(ve[e],[n],ot)})),t&&Ce(de[e],void 0,ot)}}},ft=e=>{const t=w(ye[e]),l=w(Ie[e])&&w(we[e]);if(!t||!l){const n=e?[z(D),z($)]:[D,$];if(t||ct(ye[e],n[0]),!l){let t;I(n[1],(([l,n],s)=>{n!==l&&(Ce(Ie[e],[s],n,l,ut),t=1)})),t&&Ce(we[e],void 0,ut)}}},ht=(e,...t)=>(kt((()=>e(...o(t,r)))),Nt),Tt=()=>F(ue,(e=>F(e,F))),Vt=()=>C(ue),gt=e=>C(J(ue,r(e))),bt=(e,t,l,n=0,s)=>{return o(i((u=J(ue,r(e)),d=(e,l)=>[T(t)?l:J(e,r(t)),l],a=([e],[t])=>(e<t?-1:1)*(l?-1:1),o([...null!=(c=null==u?void 0:u.entries())?c:[]],(([e,t])=>d(t,e))).sort(a)),n,T(s)?s:n+s),(([,e])=>e));var a,u,d,c},St=(e,t)=>C(J(J(ue,r(e)),r(t))),wt=(e,t,l)=>J(J(J(ue,r(e)),r(t)),r(l)),yt=()=>F(ie),It=()=>C(ie),Rt=e=>J(ie,r(e)),pt=e=>ht((()=>(e=>Y(e,Ee,rt))(e)?xe(e):0)),Ct=e=>ht((()=>Oe(e)?Ge(e):0)),Jt=e=>{try{je(v(e))}catch(e){}return Nt},mt=t=>ht((()=>{if((e=Y(t,(e=>Y(e,Le))))&&(Ne(t),!w(ue))){const e=Tt();Et(),pt(e)}})),Lt=e=>ht((()=>{if(t=(e=>Y(e,Le))(e)){const l=yt();Ot(),Ft(),t=!0,Pe(e),Ct(l)}})),Et=()=>ht((()=>xe({}))),Ft=()=>ht((()=>Ge({}))),zt=()=>ht((()=>{Ne({}),e=!1})),Ot=()=>ht((()=>{Pe({}),t=!1})),kt=(e,t)=>{if(-1==f)return;At();const l=e();return Mt(t),l},At=()=>(f++,Nt),Mt=e=>(f>0&&(f--,0==f&&(l=!w(x),s=!w($),f=1,it(1),l&&vt(1),dt(1),s&&ft(1),f=-1,(null==e?void 0:e(F(x,(e=>F(e,(e=>F(e,(e=>[...e]),(([e,t])=>e===t))),H)),H),F(ee,(e=>F(e,F))),F($,(e=>[...e]),(([e,t])=>e===t)),F(te)))&&(f=1,I(x,((e,t)=>I(e,((e,l)=>I(e,(([e],n)=>((e,t,l,n,s)=>T(s)?e.delCell(t,l,n,!0):e.setCell(t,l,n,s))(Nt,t,l,n,e))))))),I($,(([e],t)=>((e,t,l)=>T(l)?e.delValue(t):e.setValue(t,l))(Nt,t,e))),f=-1,l=s=!1),Ce(Re[0],void 0,l,s),it(0),l&&vt(0),dt(0),s&&ft(0),Ce(Re[1],void 0,l,s),f=0,a([h,N,j,x,ee,D,$,te],y))),Nt),Nt={getTables:Tt,getTableIds:Vt,getTable:e=>F(J(ue,r(e)),F),getRowIds:gt,getSortedRowIds:bt,getRow:(e,t)=>F(J(J(ue,r(e)),r(t))),getCellIds:St,getCell:wt,getValues:yt,getValueIds:It,getValue:Rt,hasTables:()=>!w(ue),hasTable:e=>S(ue,r(e)),hasRow:(e,t)=>S(J(ue,r(e)),r(t)),hasCell:(e,t,l)=>S(J(J(ue,r(e)),r(t)),r(l)),hasValues:()=>!w(ie),hasValue:e=>S(ie,r(e)),getTablesJson:()=>c(ue),getValuesJson:()=>c(ie),getJson:()=>c([ue,ie]),getTablesSchemaJson:()=>c(le),getValuesSchemaJson:()=>c(se),getSchemaJson:()=>c([le,se]),setTables:pt,setTable:(e,t)=>ht((e=>Ee(t,e)?De(e,t):0),e),setRow:(e,t,l)=>ht(((e,t)=>Fe(e,t,l)?We(e,Qe(e),t,l):0),e,t),addRow:(e,t)=>kt((()=>{let l;return Fe(e,l,t)&&(e=r(e),We(e,Qe(e),l=Ke(e),t)),l})),setPartialRow:(e,t,l)=>ht(((e,t)=>{if(Fe(e,t,l,1)){const n=Qe(e);G(l,((l,s)=>qe(e,n,t,s,l)))}}),e,t),setCell:(e,t,l,n)=>ht(((e,t,l)=>V(ze(e,t,l,b(n)?n(wt(e,t,l)):n),(n=>qe(e,Qe(e),t,l,n)))),e,t,l),setValues:Ct,setPartialValues:e=>ht((()=>Oe(e,1)?G(e,((e,t)=>He(t,e))):0)),setValue:(e,t)=>ht((e=>V(ke(e,b(t)?t(Rt(e)):t),(t=>He(e,t)))),e),setTablesJson:Jt,setValuesJson:e=>{try{Be(v(e))}catch(e){}return Nt},setJson:e=>{try{const[t,l]=v(e);je(t),Be(l)}catch(t){Jt(e)}return Nt},setTablesSchema:mt,setValuesSchema:Lt,setSchema:(e,t)=>ht((()=>{mt(e),Lt(t)})),delTables:Et,delTable:e=>ht((e=>S(ue,e)?Ue(e):0),e),delRow:(e,t)=>ht(((e,t)=>V(J(ue,e),(l=>S(l,t)?Xe(e,l,t):0))),e,t),delCell:(e,t,l,n)=>ht(((e,t,l)=>V(J(ue,e),(s=>V(J(s,t),(r=>S(r,l)?Ye(e,s,t,r,l,n):0))))),e,t,l),delValues:Ft,delValue:e=>ht((e=>S(ie,e)?Ze(e):0),e),delTablesSchema:zt,delValuesSchema:Ot,delSchema:()=>ht((()=>{zt(),Ot()})),transaction:kt,startTransaction:At,finishTransaction:Mt,forEachTable:e=>I(ue,((t,l)=>e(l,(e=>I(t,((t,l)=>e(l,(e=>m(t,e))))))))),forEachRow:(e,t)=>I(J(ue,r(e)),((e,l)=>t(l,(t=>m(e,t))))),forEachCell:(e,t,l)=>m(J(J(ue,r(e)),r(t)),l),forEachValue:e=>m(ie,e),addSortedRowIdsListener:(e,t,l,n,s,r,a)=>{let o=bt(e,t,l,n,s);return pe((()=>{const a=bt(e,t,l,n,s);var i,d,c;d=o,u(i=a)===u(d)&&(c=(e,t)=>d[t]===e,i.every(c))||(o=a,r(Nt,e,t,l,n,s,o))}),he[a?1:0],[e,t],[Vt])},addWillFinishTransactionListener:e=>pe(e,Re[0]),addDidFinishTransactionListener:e=>pe(e,Re[1]),callListener:e=>(me(e),Nt),delListener:e=>(Je(e),Nt),getListenerStats:()=>({}),createStore:_};return G({Tables:[0,de],TableIds:[0,ce],Table:[1,ve,[Vt]],RowIds:[1,fe,[Vt]],Row:[2,Te,[Vt,gt]],CellIds:[2,Ve,[Vt,gt]],Cell:[3,ge,[Vt,gt,St],e=>K(wt(...e))],InvalidCell:[3,be],Values:[0,we],ValueIds:[0,ye],Value:[1,Ie,[It],e=>K(Rt(e[0]))],InvalidValue:[1,Se]},(([e,t,l,n],s)=>{Nt["add"+s+"Listener"]=(...s)=>pe(s[e],t[s[e+1]?1:0],e>0?i(s,0,e):void 0,l,n)})),W(Nt)};export{_ as createStore};
|
package/lib/es6/store.js.gz
CHANGED
|
Binary file
|
package/lib/es6/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{watch as e,promises as t}from"fs";const n=e=>typeof e,l=n(""),o=n(!0),s=n(0),r=n(n),a=e=>""+e,i=(e,t)=>e.includes(t),d=(e,t)=>e.every(t),u=(e,t)=>L(e)===L(t)&&d(e,((e,n)=>t[n]===e)),c=(e,t)=>d(e,((n,l)=>0==l||t(e[l-1],n)<=0)),v=(e,t)=>e.sort(t),h=(e,t)=>e.forEach(t),f=(e,t)=>e.map(t),g=e=>w(e,((e,t)=>e+t),0),L=e=>e.length,y=e=>0==L(e),w=(e,t,n)=>e.reduce(t,n),p=(e,t,n)=>e.slice(t,n),I=(e,...t)=>e.push(...t),R=e=>e.pop(),S=e=>e.shift(),T=e=>JSON.stringify(e,((e,t)=>E(t,Map)?w([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),b=JSON.parse,m=Math.max,C=Math.min,V=isFinite,E=(e,t)=>e instanceof t,x=e=>null==e,k=(e,t,n)=>x(e)?null==n?void 0:n():t(e),J=e=>e==l||e==o,P=e=>n(e)==r,A=e=>Array.isArray(e),M=()=>{},D=e=>e.size,O=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},F=e=>x(e)||0==D(e),j=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},Q=e=>e.clear(),z=(e,t)=>null==e?void 0:e.forEach(t),N=(e,t)=>null==e?void 0:e.delete(t),W=e=>new Map(e),B=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},H=(e,t)=>null==e?void 0:e.get(t),$=(e,t)=>z(e,((e,n)=>t(n,e))),q=(e,t,n)=>x(n)?(N(e,t),e):null==e?void 0:e.set(t,n),G=(e,t,n)=>(O(e,t)||q(e,t,n()),H(e,t)),K=(e,t,n)=>{const l={},o=null!=t?t:e=>e;return z(e,((e,t)=>k(o(e),(e=>(null==n?void 0:n(e))?0:l[t]=e)))),l},U=(e,t)=>{const n=W(),l=null!=t?t:e=>e;return z(e,((e,t)=>n.set(t,l(e)))),n},X=e=>U(e,U),Y=(e,t,n,l,o=0)=>k((n?G:H)(e,t[o],o>L(t)-2?n:W),(s=>{if(o>L(t)-2)return(null==l?void 0:l(s))&&q(e,t[o]),s;const r=Y(s,t,n,l,o+1);return F(s)&&q(e,t[o]),r})),Z=e=>{const t=n(e);return J(t)||t==s&&V(e)?t:void 0},_=(e,t,n,l,o)=>x(o)?e.delCell(t,n,l,!0):e.setCell(t,n,l,o),ee=(e,t,n)=>x(n)?e.delValue(t):e.setValue(t,n),te=e=>new Set(A(e)||x(e)?e:[e]),ne=(e,t)=>null==e?void 0:e.add(t),le=(e,t,n)=>{const l=e.hasRow,o=W(),s=W(),r=W(),a=W(),i=W(),d=(t,n,...l)=>{const o=G(i,t,te);return h(l,(t=>ne(o,t)&&n&&e.callListener(t))),l},c=(t,...n)=>k(H(i,t),(l=>{h(y(n)?j(l):n,(t=>{e.delListener(t),N(l,t)})),F(l)&&q(i,t)})),v=(e,n)=>{q(o,e,n),O(s,e)||(q(s,e,t()),q(r,e,W()),q(a,e,W()))},f=e=>{q(o,e),q(s,e),q(r,e),q(a,e),c(e)};return[()=>e,()=>B(o),e=>$(s,e),e=>O(s,e),e=>H(o,e),e=>H(s,e),(e,t)=>q(s,e,t),v,(t,o,s,i,f)=>{v(t,o);const g=W(),L=W(),y=H(r,t),w=H(a,t),p=t=>{const s=n=>e.getCell(o,t,n),r=H(y,t),a=l(o,t)?n(i(s,t)):void 0;if(r===a||A(r)&&A(a)&&u(r,a)||q(g,t,[r,a]),!x(f)){const e=H(w,t),n=l(o,t)?f(s,t):void 0;e!=n&&q(L,t,n)}},I=e=>{s((()=>{z(g,(([,e],t)=>q(y,t,e))),z(L,((e,t)=>q(w,t,e)))}),g,L,y,w,e),Q(g),Q(L)};$(y,p),e.hasTable(o)&&h(e.getRowIds(o),(e=>{O(y,e)||p(e)})),I(!0),c(t),d(t,0,e.addRowListener(o,null,((e,t,n)=>p(n))),e.addTableListener(o,(()=>I())))},f,()=>$(i,f),d,c]},oe=(e,t)=>n(e)==l?t=>t(e):null!=e?e:()=>null!=t?t:"",se=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},re=/^\d+$/,ae=()=>{const e=[];let t=0;return[()=>{var n;return null!=(n=S(e))?n:""+t++},t=>{re.test(t)&&L(e)<1e3&&I(e,t)}]},ie=e=>{let t;const[n,l]=ae(),o=W();return[(l,s,r,a=[],i=(()=>[]))=>{null!=t||(t=e());const d=n();return q(o,d,[l,s,r,a,i]),ne(Y(s,null!=r?r:[""],te),d),d},(e,n,...l)=>h(((e,t=[""])=>{const n=[],l=(e,o)=>o==L(t)?I(n,e):null===t[o]?z(e,(e=>l(e,o+1))):h([t[o],null],(t=>l(H(e,t),o+1)));return l(e,0),n})(e,n),(e=>z(e,(e=>H(o,e)[0](t,...null!=n?n:[],...l))))),e=>k(H(o,e),(([,t,n])=>(Y(t,null!=n?n:[""],void 0,(t=>(N(t,e),F(t)?1:0))),q(o,e),l(e),n))),e=>k(H(o,e),(([e,,n=[],l,o])=>{const s=(...r)=>{var a,i;const d=L(r);d==L(n)?e(t,...r,...o(r)):x(n[d])?h(null!=(i=null==(a=l[d])?void 0:a.call(l,...r))?i:[],(e=>s(...r,e))):s(...r,n[d])};s()}))]},de=Object,ue=de.keys,ce=de.isFrozen,ve=de.freeze,he=e=>E(e,de)&&e.constructor==de,fe=(e,t)=>!x(((e,t)=>k(e,(e=>e[t])))(e,t)),ge=(e,t)=>delete e[t],Le=(e,t)=>f(de.entries(e),(([e,n])=>t(n,e))),ye=e=>he(e)&&y(ue(e)),we=se((e=>{let t,n,l,o=100,s=W(),r=W(),a=1;const d=W(),u=W(),[c,v,f]=ie((()=>U)),g=W(),w=W(),p=[],T=[],b=(t,n)=>{a=0,e.transaction((()=>{const[l,o]=H(g,n);z(l,((n,l)=>z(n,((n,o)=>z(n,((n,s)=>_(e,l,o,s,n[t]))))))),z(o,((n,l)=>ee(e,l,n[t])))})),a=1},m=e=>{q(g,e),q(w,e),v(u,[e])},C=(e,t)=>h(((e,t)=>e.splice(0,t))(e,null!=t?t:L(e)),m),V=()=>C(p,L(p)-o),E=()=>k(t,(()=>{I(p,t),V(),C(T),t=void 0,l=1})),J=()=>{t=R(p),l=1},P=e.addCellListener(null,null,null,((e,t,n,l,o,r)=>{if(a){E();const e=G(s,t,W),a=G(e,n,W),i=G(a,l,(()=>[r,void 0]));i[1]=o,i[0]===o&&F(q(a,l))&&F(q(e,n))&&F(q(s,t))&&J(),Q()}})),A=e.addValueListener(null,((e,t,n,l)=>{if(a){E();const e=G(r,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&F(q(r,t))&&J(),Q()}})),M=(e="")=>(x(t)&&(t=""+n++,q(g,t,[s,r]),B(t,e),s=W(),r=W(),l=1),t),D=()=>{y(p)||(((e,...t)=>{e.unshift(...t)})(T,M()),b(0,t),t=R(p),l=1)},j=()=>{y(T)||(I(p,t),t=S(T),b(1,t),l=1)},Q=()=>{l&&(v(d),l=0)},N=e=>{const t=M(e);return Q(),t},B=(e,t)=>(K(e)&&H(w,e)!==t&&(q(w,e,t),v(u,[e])),U),K=e=>O(g,e),U={setSize:e=>(o=e,V(),U),addCheckpoint:N,setCheckpoint:B,getStore:()=>e,getCheckpointIds:()=>[[...p],t,[...T]],forEachCheckpoint:e=>$(w,e),hasCheckpoint:K,getCheckpoint:e=>H(w,e),goBackward:()=>(D(),Q(),U),goForward:()=>(j(),Q(),U),goTo:e=>{const n=i(p,e)?D:i(T,e)?j:null;for(;!x(n)&&e!=t;)n();return Q(),U},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(f(e),U),clear:()=>(C(p),C(T),x(t)||m(t),t=void 0,n=0,N(),U),destroy:()=>{e.delListener(P),e.delListener(A)},getListenerStats:()=>({})};return ve(U.clear())})),pe=(e,t)=>e<t?-1:1,Ie=se((e=>{const t=W(),n=W(),[l,o,s,r,i,d,u,,h,g,L]=le(e,W,(e=>x(e)?"":A(e)?f(e,a):a(e))),[y,w,p]=ie((()=>R)),I=(t,n,l)=>{const o=i(t);z(l,((t,l)=>n(l,(n=>z(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},R={setIndexDefinition:(e,l,o,s,r,a=pe)=>{const i=x(r)?void 0:([e],[t])=>r(e,t);return h(e,l,((l,o,r,h,f,g)=>{let L=0;const y=te(),p=te(),I=d(e);if(z(o,(([e,t],n)=>{const l=te(e),o=te(t);z(l,(e=>N(o,e)?N(l,e):0)),z(l,(e=>{ne(y,e),k(H(I,e),(t=>{N(t,n),F(t)&&(q(I,e),L=1)}))})),z(o,(e=>{ne(y,e),O(I,e)||(q(I,e,te()),L=1),ne(H(I,e),n),x(s)||ne(p,e)}))})),l(),F(f)||(g?$(I,(e=>ne(p,e))):$(r,(e=>k(H(h,e),(e=>ne(p,e))))),z(p,(e=>{const t=(t,n)=>a(H(f,t),H(f,n),e),n=[...H(I,e)];c(n,t)||(q(I,e,te(v(n,t))),ne(y,e))}))),(L||g)&&!x(i)){const t=[...I];c(t,i)||(u(e,W(v(t,i))),L=1)}L&&w(t,[e]),z(y,(t=>w(n,[e,t])))}),oe(o),k(s,oe)),R},delIndexDefinition:e=>(g(e),R),getStore:l,getIndexIds:o,forEachIndex:e=>s(((t,n)=>e(t,(e=>I(t,e,n))))),forEachSlice:(e,t)=>I(e,t,d(e)),hasIndex:r,hasSlice:(e,t)=>O(d(e),t),getTableId:i,getSliceIds:e=>B(d(e)),getSliceRowIds:(e,t)=>j(H(d(e),t)),addSliceIdsListener:(e,n)=>y(n,t,[e]),addSliceRowIdsListener:(e,t,l)=>y(l,n,[e,t]),delListener:e=>(p(e),R),destroy:L,getListenerStats:()=>({})};return ve(R)})),Re=W([["avg",[(e,t)=>g(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=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:m(t,e)]],["min",[e=>C(...e),(e,t)=>C(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:C(t,e)]],["sum",[e=>g(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Se=(e,t,n,l,o,s=!1)=>{if(F(n))return;const[r,a,i,d]=o;return s||(s=x(e)),z(l,(([n,l])=>{s||(e=x(n)?null==a?void 0:a(e,l,t++):x(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),s||(s=x(e)))})),s?r(j(n),D(n)):e},Te=se((e=>{const t=W(),[n,l,o,s,r,a,i,,d,u,c]=le(e,M,(e=>isNaN(e)||x(e)||!0===e||!1===e||""===e?void 0:1*e)),[v,h,f]=ie((()=>g)),g={setMetricDefinition:(e,n,l,o,s,r,u)=>{var c;const v=P(l)?[l,s,r,u]:null!=(c=H(Re,l))?c:H(Re,"sum");return d(e,n,((n,l,o,s,r,d)=>{const u=a(e),c=D(s);d||(d=x(u)),n();let f=Se(u,c,s,l,v,d);V(f)||(f=void 0),f!=u&&(i(e,f),h(t,[e],f,u))}),oe(o,1)),g},delMetricDefinition:e=>(u(e),g),getStore:n,getMetricIds:l,forEachMetric:o,hasMetric:s,getTableId:r,getMetric:a,addMetricListener:(e,n)=>v(n,t,[e]),delListener:e=>(f(e),g),destroy:c,getListenerStats:()=>({})};return ve(g)}));var be=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const me=(e,t,n,l,o)=>{let s,r,a=0;const i={load:(n,l)=>be(void 0,null,(function*(){if(2!=a){a=1;const o=yield t();x(o)||""==o?e.transaction((()=>e.setTables(n).setValues(l))):e.setJson(o),a=0}return i})),startAutoLoad:(e,t)=>be(void 0,null,(function*(){return i.stopAutoLoad(),yield i.load(e,t),l(i.load),i})),stopAutoLoad:()=>(o(),i),save:()=>be(void 0,null,(function*(){return 1!=a&&(a=2,yield n(e.getJson()),a=0),i})),startAutoSave:()=>be(void 0,null,(function*(){return yield i.stopAutoSave().save(),s=e.addTablesListener(i.save),r=e.addValuesListener(i.save),i})),stopAutoSave:()=>(k(s,e.delListener),k(r,e.delListener),i),getStore:()=>e,destroy:()=>i.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ve(i)};var Ce=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const Ve=globalThis.window,Ee=(e,t,n)=>{let l;return me(e,(()=>Ce(void 0,null,(function*(){return n.getItem(t)}))),(e=>Ce(void 0,null,(function*(){return n.setItem(t,e)}))),(e=>{l=l=>{l.storageArea===n&&l.key===t&&e()},Ve.addEventListener("storage",l)}),(()=>{Ve.removeEventListener("storage",l),l=void 0}))},xe=(e,t)=>Ee(e,t,localStorage),ke=(e,t)=>Ee(e,t,sessionStorage);var Je=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const Pe=(n,l)=>{let o;return me(n,(()=>Je(void 0,null,(function*(){try{return yield t.readFile(l,"utf8")}catch(e){}}))),(e=>Je(void 0,null,(function*(){try{yield t.writeFile(l,e,"utf8")}catch(e){}}))),(t=>{o=e(l,t)}),(()=>{null==o||o.close(),o=void 0}))};var Ae=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const Me=e=>e.headers.get("ETag"),De=(e,t,n,l)=>{let o,s;return me(e,(()=>Ae(void 0,null,(function*(){const e=yield fetch(t);return s=Me(e),e.text()}))),(e=>Ae(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{o=setInterval((()=>Ae(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),l=Me(n);x(s)||x(l)||l==s||(s=l,e())}))),1e3*l)}),(()=>{k(o,clearInterval),o=void 0}))};var Oe=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable;const Qe=se((e=>{const t=e.createStore,[n,l,o,s,r,,,a,,i,u,c,v]=le(e,(()=>!0),M),f=t(),g=t(),w=W(),R=(e,t,...n)=>h(n,(n=>ne(G(G(w,t,W),e,te),n))),S=e=>{k(H(w,e),(e=>{$(e,((e,t)=>z(t,(t=>e.delListener(t))))),Q(e)})),h([g,f],(t=>t.delTable(e)))},T=(e,t,n)=>R(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),b={setQueryDefinition:(t,n,l)=>{a(t,n),S(t);const o=[],s=[[null,[n,null,null,[],W()]]],r=[],i=[],u=[];l({select:(e,t)=>{const n=P(e)?[L(o)+"",e]:[x(t)?e:t,n=>n(e,t)];return I(o,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const l=x(n)||P(t)?null:t,o=x(l)?t:n,r=[e,[e,l,P(o)?o:e=>e(o),[],W()]];return I(s,r),{as:e=>r[0]=e}},where:(e,t,n)=>I(r,P(e)?e:x(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,o)=>{var s;const r=[e,[e,P(t)?[t,n,l,o]:null!=(s=H(Re,t))?s:[(e,t)=>t]]];return I(i,r),{as:e=>r[0]=e}},having:(e,t)=>I(u,P(e)?e:n=>n(e)===t)});const w=W(o);if(F(w))return b;const p=W(s);$(p,((e,[,t])=>k(H(p,t),(({3:t})=>x(e)?0:I(t,e)))));const m=W(i);let C=f;if(F(m)&&y(u))C=g;else{T(t,C,g);const e=W();$(m,((t,[n,l])=>ne(G(e,n,te),[t,l])));const n=te();$(w,(t=>O(e,t)?0:ne(n,t)));const l=W(),o=(n,l,o,s)=>k(n,(([r,a,i,c])=>{$(l,((t,[n])=>{const l=G(r,t,W),a=H(l,o),i=s?void 0:n;if(a!==i){const n=te([[a,i]]),s=D(l);q(l,o,i),z(H(e,t),(([e,t])=>{const o=Se(c[e],s,l,n,t);c[e]=x(Z(o))?null:o}))}})),F(a)||!d(u,(e=>e((e=>c[e]))))?g.delRow(t,i):x(i)?n[2]=g.addRow(t,c):g.setRow(t,i,c)}));R(C,t,C.addRowListener(t,null,((s,r,a,i)=>{const d=[],u=[],c=W(),v=C.hasRow(t,a);let h=!v;z(n,(e=>{const[n,l,o]=i(t,a,e);I(d,l),I(u,o),h||(h=n)})),$(e,(e=>{const[n,,l]=i(t,a,e);(h||n)&&q(c,e,[l])})),h&&o(Y(l,d,void 0,(([,e])=>(N(e,a),F(e)))),c,a,1),v&&o(Y(l,u,(()=>{const e={};return z(n,(n=>e[n]=C.getCell(t,a,n))),[W(),te(),void 0,e]}),(([,e])=>{ne(e,a)})),c,a)})))}T(t,e,C);const V=(l,o,s,a)=>{const i=t=>e.getCell(o,s,t);h(a,(n=>{var o;const[s,,r,a,d]=H(p,n),u=null==r?void 0:r(i,l),[h,f]=null!=(o=H(d,l))?o:[];u!=h&&(x(f)||v(t,f),q(d,l,x(u)?null:[u,...c(t,1,e.addRowListener(s,u,(()=>V(l,s,u,a))))]))})),(l=>{const o=(t,o)=>{var s,r,a;return e.getCell(...x(o)?[n,l,t]:t===n?[n,l,o]:[null==(s=H(p,t))?void 0:s[0],null==(a=H(null==(r=H(p,t))?void 0:r[4],l))?void 0:a[0],o])};C.transaction((()=>d(r,(e=>e(o)))?$(w,((e,n)=>_(C,t,l,e,n(o,l)))):C.delRow(t,l)))})(l)},{3:E}=H(p,null);return C.transaction((()=>c(t,1,e.addRowListener(n,null,((l,o,s)=>{e.hasRow(n,s)?V(s,n,s,E):(C.delRow(t,s),z(p,(({4:e})=>k(H(e,s),(([,n])=>{v(t,n),q(e,s)})))))}))))),b},delQueryDefinition:e=>(S(e),i(e),b),getStore:n,getQueryIds:l,forEachQuery:o,hasQuery:s,getTableId:r,delListener:e=>(g.delListener(e),b),destroy:u,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Fe.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Oe)for(var l of Oe(e))t.indexOf(l)<0&&je.call(e,l)&&(n[l]=e[l]);return n})(g.getListenerStats(),["tables","tableIds","transaction"])};return Le({Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},(([e,t],n)=>{h(e?["get","has","forEach"]:["get"],(e=>b[e+"Result"+n]=(...t)=>g[e+n](...t))),b["addResult"+n+"Listener"]=(...e)=>g["add"+n+"Listener"](...p(e,0,t),((n,...l)=>e[t](b,...l)))})),ve(b)})),ze=se((e=>{const t=W(),n=W(),l=W(),o=W(),[s,r,a,i,d,u,,,c,v,h]=le(e,(()=>[W(),W(),W(),W()]),(e=>x(e)?void 0:e+"")),[f,g,L]=ie((()=>I)),y=(e,t,n)=>k(u(e),(([l,,o])=>{if(!O(o,t)){const s=te();if(d(e)!=p(e))ne(s,t);else{let e=t;for(;!x(e)&&!O(s,e);)ne(s,e),e=H(l,e)}if(n)return s;q(o,t,s)}return H(o,t)})),w=(e,t)=>k(u(e),(([,,e])=>q(e,t))),p=e=>H(t,e),I={setRelationshipDefinition:(e,s,r,a)=>(q(t,e,r),c(e,s,((t,s)=>{const r=te(),a=te(),i=te(),[d,c]=u(e);z(s,(([t,n],l)=>{x(t)||(ne(a,t),k(H(c,t),(e=>{N(e,l),F(e)&&q(c,t)}))),x(n)||(ne(a,n),O(c,n)||q(c,n,te()),ne(H(c,n),l)),ne(r,l),q(d,l,n),$(H(o,e),(t=>{O(y(e,t),l)&&ne(i,t)}))})),t(),z(r,(t=>g(n,[e,t]))),z(a,(t=>g(l,[e,t]))),z(i,(t=>{w(e,t),g(o,[e,t])}))}),oe(a)),I),delRelationshipDefinition:e=>(q(t,e),v(e),I),getStore:s,getRelationshipIds:r,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(d(n),t))))),hasRelationship:i,getLocalTableId:d,getRemoteTableId:p,getRemoteRowId:(e,t)=>{var n;return H(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return j(H(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>x(u(e))?[t]:j(y(e,t,!0)),addRemoteRowIdListener:(e,t,l)=>f(l,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>f(n,l,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(y(e,t),f(n,o,[e,t])),delListener:e=>(w(...L(e)),I),destroy:h,getListenerStats:()=>({})};return ve(I)})),Ne=e=>[e,e],We=()=>[W(),W()],Be=(e,t,n,l=q)=>{const o=(s=e=>!fe(t,e),B(e).filter(s));var s;return h(ue(t),(l=>n(e,l,t[l]))),h(o,(t=>l(e,t))),e},He=(e,t,n)=>x(e)||!he(e)||ye(e)||ce(e)?(null==n||n(),!1):(Le(e,((n,l)=>{t(n,l)||ge(e,l)})),!ye(e)),$e=(e,t,n)=>q(e,t,H(e,t)==-n?void 0:n),qe=()=>{let e,t,n,l,o=0;const r=W(),d=W(),c=W(),g=W(),L=W(),y=W(),w=W(),R=W(),S=W(),m=W(),C=W(),V=W(),E=te(),A=W(),M=W(),D=W(),j=We(),Y=We(),le=We(),oe=We(),se=We(),re=We(),de=We(),ue=We(),ce=We(),he=We(),we=We(),Ie=We(),Re=We(),Se=We(),[Te,be,me,Ce]=ie((()=>zt)),Ve=e=>{if(!He(e,((e,t)=>i(["type","default"],t))))return!1;const t=e.type;return!(!J(t)&&t!=s||(Z(e.default)!=t&&ge(e,"default"),0))},Ee=(t,n)=>(!e||O(S,n)||ut(n))&&He(t,((e,t)=>xe(n,t,e)),(()=>ut(n))),xe=(e,t,n,l)=>He(l?n:Ae(n,e,t),((l,o)=>k(ke(e,t,o,l),(e=>(n[o]=e,!0)),(()=>!1))),(()=>ut(e,t))),ke=(t,n,l,o)=>e?k(H(H(S,t),l),(e=>Z(o)!=e.type?ut(t,n,l,o,e.default):o),(()=>ut(t,n,l,o))):x(Z(o))?ut(t,n,l,o):o,Je=(e,t)=>He(t?e:Me(e),((t,n)=>k(Pe(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>ct())),Pe=(e,n)=>t?k(H(C,e),(t=>Z(n)!=t.type?ct(e,n,t.default):n),(()=>ct(e,n))):x(Z(n))?ct(e,n):n,Ae=(e,t,n)=>(k(H(m,t),(([l,o])=>{z(l,((t,n)=>{fe(e,n)||(e[n]=t)})),z(o,(l=>{fe(e,l)||ut(t,n,l)}))})),e),Me=e=>(t&&(z(V,((t,n)=>{fe(e,n)||(e[n]=t)})),z(E,(t=>{fe(e,t)||ct(t)}))),e),De=e=>Be(S,e,((e,t,n)=>{const l=W(),o=te();Be(G(S,t,W),n,((e,t,n)=>{q(e,t,n),k(n.default,(e=>q(l,t,e)),(()=>ne(o,t)))})),q(m,t,[l,o])}),((e,t)=>{q(S,t),q(m,t)})),Oe=e=>Be(C,e,((e,t,n)=>{q(C,t,n),k(n.default,(e=>q(V,t,e)),(()=>ne(E,t)))}),((e,t)=>{q(C,t),q(V,t),N(E,t)})),Fe=e=>ye(e)?Mt():xt(e),je=e=>Be(M,e,((e,t,n)=>Qe(t,n)),((e,t)=>et(t))),Qe=(e,t)=>Be(G(M,e,(()=>(ot(e,1),W()))),t,((t,n,l)=>ze(e,t,n,l)),((t,n)=>tt(e,t,n))),ze=(e,t,n,l,o)=>Be(G(t,n,(()=>(st(e,n,1),W()))),l,((t,l,o)=>Ge(e,n,t,l,o)),((l,s)=>nt(e,t,n,l,s,o))),Ge=(e,t,n,l,o)=>{O(n,l)||rt(e,t,l,1);const s=H(n,l);o!==s&&(at(e,t,l,s,o),q(n,l,o))},Ke=(e,t,n,l,o)=>k(H(t,n),(t=>Ge(e,n,t,l,o)),(()=>ze(e,t,n,Ae({[l]:o},e,n)))),Ue=e=>ye(e)?Dt():kt(e),Xe=e=>Be(D,e,((e,t,n)=>Ye(t,n)),((e,t)=>lt(t))),Ye=(e,t)=>{O(D,e)||it(e,1);const n=H(D,e);t!==n&&(dt(e,n,t),q(D,e,t))},Ze=e=>{const[t]=G(A,e,ae),n=t();return O(H(M,e),n)?Ze(e):n},_e=e=>{var t;return null!=(t=H(M,e))?t:Qe(e,{})},et=e=>Qe(e,{}),tt=(e,t,n)=>{const[,l]=G(A,e,ae);l(n),ze(e,t,n,{},!0)},nt=(e,t,n,l,o,s)=>{var r;const a=H(null==(r=H(m,e))?void 0:r[0],o);if(!x(a)&&!s)return Ge(e,n,l,o,a);const i=t=>{at(e,n,t,H(l,t)),rt(e,n,t,-1),q(l,t)};x(a)?i(o):$(l,i),F(l)&&(st(e,n,-1),F(q(t,n))&&(ot(e,-1),q(M,e),q(A,e)))},lt=e=>{const t=H(V,e);if(!x(t))return Ye(e,t);dt(e,H(D,e)),it(e,-1),q(D,e)},ot=(e,t)=>$e(r,e,t),st=(e,t,n)=>$e(G(d,e,W),t,n),rt=(e,t,n,l)=>$e(G(G(c,e,W),t,W),n,l),at=(e,t,n,l,o)=>G(G(G(g,e,W),t,W),n,(()=>[l,0]))[1]=o,it=(e,t)=>$e(L,e,t),dt=(e,t,n)=>G(y,e,(()=>[t,0]))[1]=n,ut=(e,t,n,l,o)=>(I(G(G(G(w,e,W),t,W),n,(()=>[])),l),o),ct=(e,t,n)=>(I(G(R,e,(()=>[])),t),n),vt=(e,t,n)=>k(H(H(H(g,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ne(mt(e,t,n))])),ht=e=>k(H(y,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ne(Et(e))])),ft=e=>F(w)||F(ce[e])?0:z(e?U(w,X):w,((t,n)=>z(t,((t,l)=>z(t,((t,o)=>be(ce[e],[n,l,o],t))))))),gt=e=>F(R)||F(he[e])?0:z(e?U(R):R,((t,n)=>be(he[e],[n],t))),Lt=(e,t,n)=>{if(!F(t))return be(e,n),1},yt=e=>{const t=F(se[e]),n=F(de[e])&&F(oe[e])&&t&&F(Y[e]),l=F(ue[e])&&F(re[e])&&F(le[e])&&F(j[e]);if(!n||!l){const o=e?[U(r),X(d),U(c,X),U(g,X)]:[r,d,c,g];if(!n){z(o[2],((t,n)=>z(t,((t,l)=>Lt(de[e],t,[n,l])))));const n=te();z(o[1],((l,o)=>{Lt(oe[e],l,[o])&&!t&&(be(se[e],[o,null]),ne(n,o))})),t||z(o[3],((t,l)=>{if(!O(n,l)){const n=te();z(t,(e=>z(e,(([t,l],o)=>l!==t?ne(n,o):N(e,o))))),z(n,(t=>be(se[e],[l,t])))}})),Lt(Y[e],o[0])}if(!l){let t;z(o[3],((n,l)=>{let o;z(n,((n,s)=>{let r;z(n,(([n,a],i)=>{a!==n&&(be(ue[e],[l,s,i],a,n,vt),t=o=r=1)})),r&&be(re[e],[l,s],vt)})),o&&be(le[e],[l],vt)})),t&&be(j[e],void 0,vt)}}},wt=e=>{const t=F(Ie[e]),n=F(Re[e])&&F(we[e]);if(!t||!n){const l=e?[U(L),U(y)]:[L,y];if(t||Lt(Ie[e],l[0]),!n){let t;z(l[1],(([n,l],o)=>{l!==n&&(be(Re[e],[o],l,n,ht),t=1)})),t&&be(we[e],void 0,ht)}}},pt=(e,...t)=>(Ft((()=>e(...f(t,a)))),zt),It=()=>K(M,(e=>K(e,K))),Rt=()=>B(M),St=e=>B(H(M,a(e))),Tt=(e,t,n,l=0,o)=>{return f(p(v((s=H(M,a(e)),r=(e,n)=>[x(t)?n:H(e,a(t)),n],f([...null!=(i=null==s?void 0:s.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>pe(e,t)*(n?-1:1))),l,x(o)?o:l+o),(([,e])=>e));var s,r,i},bt=(e,t)=>B(H(H(M,a(e)),a(t))),mt=(e,t,n)=>H(H(H(M,a(e)),a(t)),a(n)),Ct=()=>K(D),Vt=()=>B(D),Et=e=>H(D,a(e)),xt=e=>pt((()=>(e=>He(e,Ee,ut))(e)?je(e):0)),kt=e=>pt((()=>Je(e)?Xe(e):0)),Jt=e=>{try{Fe(b(e))}catch(e){}return zt},Pt=t=>pt((()=>{if((e=He(t,(e=>He(e,Ve))))&&(De(t),!F(M))){const e=It();Mt(),xt(e)}})),At=e=>pt((()=>{if(t=(e=>He(e,Ve))(e)){const n=Ct();Ot(),Dt(),t=!0,Oe(e),kt(n)}})),Mt=()=>pt((()=>je({}))),Dt=()=>pt((()=>Xe({}))),Ot=()=>pt((()=>{Oe({}),t=!1})),Ft=(e,t)=>{if(-1==o)return;jt();const n=e();return Qt(t),n},jt=()=>(o++,zt),Qt=e=>(o>0&&(o--,0==o&&(n=!F(g),l=!F(y),o=1,ft(1),n&&yt(1),gt(1),l&&wt(1),o=-1,(null==e?void 0:e(K(g,(e=>K(e,(e=>K(e,(e=>[...e]),(([e,t])=>e===t))),ye)),ye),K(w,(e=>K(e,K))),K(y,(e=>[...e]),(([e,t])=>e===t)),K(R)))&&(o=1,z(g,((e,t)=>z(e,((e,n)=>z(e,(([e],l)=>_(zt,t,n,l,e))))))),z(y,(([e],t)=>ee(zt,t,e))),o=-1,n=l=!1),be(Se[0],void 0,n,l),ft(0),n&&yt(0),gt(0),l&&wt(0),be(Se[1],void 0,n,l),o=0,h([r,d,c,g,w,L,y,R],Q))),zt),zt={getTables:It,getTableIds:Rt,getTable:e=>K(H(M,a(e)),K),getRowIds:St,getSortedRowIds:Tt,getRow:(e,t)=>K(H(H(M,a(e)),a(t))),getCellIds:bt,getCell:mt,getValues:Ct,getValueIds:Vt,getValue:Et,hasTables:()=>!F(M),hasTable:e=>O(M,a(e)),hasRow:(e,t)=>O(H(M,a(e)),a(t)),hasCell:(e,t,n)=>O(H(H(M,a(e)),a(t)),a(n)),hasValues:()=>!F(D),hasValue:e=>O(D,a(e)),getTablesJson:()=>T(M),getValuesJson:()=>T(D),getJson:()=>T([M,D]),getTablesSchemaJson:()=>T(S),getValuesSchemaJson:()=>T(C),getSchemaJson:()=>T([S,C]),setTables:xt,setTable:(e,t)=>pt((e=>Ee(t,e)?Qe(e,t):0),e),setRow:(e,t,n)=>pt(((e,t)=>xe(e,t,n)?ze(e,_e(e),t,n):0),e,t),addRow:(e,t)=>Ft((()=>{let n;return xe(e,n,t)&&(e=a(e),ze(e,_e(e),n=Ze(e),t)),n})),setPartialRow:(e,t,n)=>pt(((e,t)=>{if(xe(e,t,n,1)){const l=_e(e);Le(n,((n,o)=>Ke(e,l,t,o,n)))}}),e,t),setCell:(e,t,n,l)=>pt(((e,t,n)=>k(ke(e,t,n,P(l)?l(mt(e,t,n)):l),(l=>Ke(e,_e(e),t,n,l)))),e,t,n),setValues:kt,setPartialValues:e=>pt((()=>Je(e,1)?Le(e,((e,t)=>Ye(t,e))):0)),setValue:(e,t)=>pt((e=>k(Pe(e,P(t)?t(Et(e)):t),(t=>Ye(e,t)))),e),setTablesJson:Jt,setValuesJson:e=>{try{Ue(b(e))}catch(e){}return zt},setJson:e=>{try{const[t,n]=b(e);Fe(t),Ue(n)}catch(t){Jt(e)}return zt},setTablesSchema:Pt,setValuesSchema:At,setSchema:(e,t)=>pt((()=>{Pt(e),At(t)})),delTables:Mt,delTable:e=>pt((e=>O(M,e)?et(e):0),e),delRow:(e,t)=>pt(((e,t)=>k(H(M,e),(n=>O(n,t)?tt(e,n,t):0))),e,t),delCell:(e,t,n,l)=>pt(((e,t,n)=>k(H(M,e),(o=>k(H(o,t),(s=>O(s,n)?nt(e,o,t,s,n,l):0))))),e,t,n),delValues:Dt,delValue:e=>pt((e=>O(D,e)?lt(e):0),e),delTablesSchema:()=>pt((()=>{De({}),e=!1})),delValuesSchema:Ot,transaction:Ft,startTransaction:jt,finishTransaction:Qt,forEachTable:e=>z(M,((t,n)=>e(n,(e=>z(t,((t,n)=>e(n,(e=>$(t,e))))))))),forEachRow:(e,t)=>z(H(M,a(e)),((e,n)=>t(n,(t=>$(e,t))))),forEachCell:(e,t,n)=>$(H(H(M,a(e)),a(t)),n),forEachValue:e=>$(D,e),addSortedRowIdsListener:(e,t,n,l,o,s,r)=>{let a=Tt(e,t,n,l,o);return Te((()=>{const r=Tt(e,t,n,l,o);u(r,a)||(a=r,s(zt,e,t,n,l,o,a))}),se[r?1:0],[e,t],[Rt])},addWillFinishTransactionListener:e=>Te(e,Se[0]),addDidFinishTransactionListener:e=>Te(e,Se[1]),callListener:e=>(Ce(e),zt),delListener:e=>(me(e),zt),getListenerStats:()=>({}),createStore:qe};return Le({Tables:[0,j],TableIds:[0,Y],Table:[1,le,[Rt]],RowIds:[1,oe,[Rt]],Row:[2,re,[Rt,St]],CellIds:[2,de,[Rt,St]],Cell:[3,ue,[Rt,St,bt],e=>Ne(mt(...e))],InvalidCell:[3,ce],Values:[0,we],ValueIds:[0,Ie],Value:[1,Re,[Vt],e=>Ne(Et(e[0]))],InvalidValue:[1,he]},(([e,t,n,l],o)=>{zt["add"+o+"Listener"]=(...o)=>Te(o[e],t[o[e+1]?1:0],e>0?p(o,0,e):void 0,n,l)})),ve(zt)};export{we as createCheckpoints,me as createCustomPersister,Pe as createFilePersister,Ie as createIndexes,xe as createLocalPersister,Te as createMetrics,Qe as createQueries,ze as createRelationships,De as createRemotePersister,ke as createSessionPersister,qe as createStore,pe as defaultSorter};
|
|
1
|
+
import{watch as e,promises as t}from"fs";const n=e=>typeof e,l=n(""),o=n(!0),s=n(0),r=n(n),a=e=>""+e,i=(e,t)=>e.includes(t),d=(e,t)=>e.every(t),u=(e,t)=>L(e)===L(t)&&d(e,((e,n)=>t[n]===e)),c=(e,t)=>d(e,((n,l)=>0==l||t(e[l-1],n)<=0)),v=(e,t)=>e.sort(t),h=(e,t)=>e.forEach(t),f=(e,t)=>e.map(t),g=e=>w(e,((e,t)=>e+t),0),L=e=>e.length,y=e=>0==L(e),w=(e,t,n)=>e.reduce(t,n),p=(e,t,n)=>e.slice(t,n),I=(e,...t)=>e.push(...t),R=e=>e.pop(),S=e=>e.shift(),T=e=>JSON.stringify(e,((e,t)=>E(t,Map)?w([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),b=JSON.parse,m=Math.max,C=Math.min,V=isFinite,E=(e,t)=>e instanceof t,x=e=>null==e,k=(e,t,n)=>x(e)?null==n?void 0:n():t(e),J=e=>e==l||e==o,P=e=>n(e)==r,A=e=>Array.isArray(e),M=()=>{},D=e=>e.size,O=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},F=e=>x(e)||0==D(e),j=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},Q=e=>e.clear(),z=(e,t)=>null==e?void 0:e.forEach(t),N=(e,t)=>null==e?void 0:e.delete(t),W=e=>new Map(e),B=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},H=(e,t)=>null==e?void 0:e.get(t),$=(e,t)=>z(e,((e,n)=>t(n,e))),q=(e,t,n)=>x(n)?(N(e,t),e):null==e?void 0:e.set(t,n),G=(e,t,n)=>(O(e,t)||q(e,t,n()),H(e,t)),K=(e,t,n)=>{const l={},o=null!=t?t:e=>e;return z(e,((e,t)=>k(o(e),(e=>(null==n?void 0:n(e))?0:l[t]=e)))),l},U=(e,t)=>{const n=W(),l=null!=t?t:e=>e;return z(e,((e,t)=>n.set(t,l(e)))),n},X=e=>U(e,U),Y=(e,t,n,l,o=0)=>k((n?G:H)(e,t[o],o>L(t)-2?n:W),(s=>{if(o>L(t)-2)return(null==l?void 0:l(s))&&q(e,t[o]),s;const r=Y(s,t,n,l,o+1);return F(s)&&q(e,t[o]),r})),Z=e=>{const t=n(e);return J(t)||t==s&&V(e)?t:void 0},_=(e,t,n,l,o)=>x(o)?e.delCell(t,n,l,!0):e.setCell(t,n,l,o),ee=(e,t,n)=>x(n)?e.delValue(t):e.setValue(t,n),te=e=>new Set(A(e)||x(e)?e:[e]),ne=(e,t)=>null==e?void 0:e.add(t),le=(e,t,n)=>{const l=e.hasRow,o=W(),s=W(),r=W(),a=W(),i=W(),d=(t,n,...l)=>{const o=G(i,t,te);return h(l,(t=>ne(o,t)&&n&&e.callListener(t))),l},c=(t,...n)=>k(H(i,t),(l=>{h(y(n)?j(l):n,(t=>{e.delListener(t),N(l,t)})),F(l)&&q(i,t)})),v=(e,n)=>{q(o,e,n),O(s,e)||(q(s,e,t()),q(r,e,W()),q(a,e,W()))},f=e=>{q(o,e),q(s,e),q(r,e),q(a,e),c(e)};return[()=>e,()=>B(o),e=>$(s,e),e=>O(s,e),e=>H(o,e),e=>H(s,e),(e,t)=>q(s,e,t),v,(t,o,s,i,f)=>{v(t,o);const g=W(),L=W(),y=H(r,t),w=H(a,t),p=t=>{const s=n=>e.getCell(o,t,n),r=H(y,t),a=l(o,t)?n(i(s,t)):void 0;if(r===a||A(r)&&A(a)&&u(r,a)||q(g,t,[r,a]),!x(f)){const e=H(w,t),n=l(o,t)?f(s,t):void 0;e!=n&&q(L,t,n)}},I=e=>{s((()=>{z(g,(([,e],t)=>q(y,t,e))),z(L,((e,t)=>q(w,t,e)))}),g,L,y,w,e),Q(g),Q(L)};$(y,p),e.hasTable(o)&&h(e.getRowIds(o),(e=>{O(y,e)||p(e)})),I(!0),c(t),d(t,0,e.addRowListener(o,null,((e,t,n)=>p(n))),e.addTableListener(o,(()=>I())))},f,()=>$(i,f),d,c]},oe=(e,t)=>n(e)==l?t=>t(e):null!=e?e:()=>null!=t?t:"",se=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},re=/^\d+$/,ae=()=>{const e=[];let t=0;return[()=>{var n;return null!=(n=S(e))?n:""+t++},t=>{re.test(t)&&L(e)<1e3&&I(e,t)}]},ie=e=>{let t;const[n,l]=ae(),o=W();return[(l,s,r,a=[],i=(()=>[]))=>{null!=t||(t=e());const d=n();return q(o,d,[l,s,r,a,i]),ne(Y(s,null!=r?r:[""],te),d),d},(e,n,...l)=>h(((e,t=[""])=>{const n=[],l=(e,o)=>o==L(t)?I(n,e):null===t[o]?z(e,(e=>l(e,o+1))):h([t[o],null],(t=>l(H(e,t),o+1)));return l(e,0),n})(e,n),(e=>z(e,(e=>H(o,e)[0](t,...null!=n?n:[],...l))))),e=>k(H(o,e),(([,t,n])=>(Y(t,null!=n?n:[""],void 0,(t=>(N(t,e),F(t)?1:0))),q(o,e),l(e),n))),e=>k(H(o,e),(([e,,n=[],l,o])=>{const s=(...r)=>{var a,i;const d=L(r);d==L(n)?e(t,...r,...o(r)):x(n[d])?h(null!=(i=null==(a=l[d])?void 0:a.call(l,...r))?i:[],(e=>s(...r,e))):s(...r,n[d])};s()}))]},de=Object,ue=de.keys,ce=de.isFrozen,ve=de.freeze,he=e=>E(e,de)&&e.constructor==de,fe=(e,t)=>!x(((e,t)=>k(e,(e=>e[t])))(e,t)),ge=(e,t)=>delete e[t],Le=(e,t)=>f(de.entries(e),(([e,n])=>t(n,e))),ye=e=>he(e)&&y(ue(e)),we=se((e=>{let t,n,l,o=100,s=W(),r=W(),a=1;const d=W(),u=W(),[c,v,f]=ie((()=>U)),g=W(),w=W(),p=[],T=[],b=(t,n)=>{a=0,e.transaction((()=>{const[l,o]=H(g,n);z(l,((n,l)=>z(n,((n,o)=>z(n,((n,s)=>_(e,l,o,s,n[t]))))))),z(o,((n,l)=>ee(e,l,n[t])))})),a=1},m=e=>{q(g,e),q(w,e),v(u,[e])},C=(e,t)=>h(((e,t)=>e.splice(0,t))(e,null!=t?t:L(e)),m),V=()=>C(p,L(p)-o),E=()=>k(t,(()=>{I(p,t),V(),C(T),t=void 0,l=1})),J=()=>{t=R(p),l=1},P=e.addCellListener(null,null,null,((e,t,n,l,o,r)=>{if(a){E();const e=G(s,t,W),a=G(e,n,W),i=G(a,l,(()=>[r,void 0]));i[1]=o,i[0]===o&&F(q(a,l))&&F(q(e,n))&&F(q(s,t))&&J(),Q()}})),A=e.addValueListener(null,((e,t,n,l)=>{if(a){E();const e=G(r,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&F(q(r,t))&&J(),Q()}})),M=(e="")=>(x(t)&&(t=""+n++,q(g,t,[s,r]),B(t,e),s=W(),r=W(),l=1),t),D=()=>{y(p)||(((e,...t)=>{e.unshift(...t)})(T,M()),b(0,t),t=R(p),l=1)},j=()=>{y(T)||(I(p,t),t=S(T),b(1,t),l=1)},Q=()=>{l&&(v(d),l=0)},N=e=>{const t=M(e);return Q(),t},B=(e,t)=>(K(e)&&H(w,e)!==t&&(q(w,e,t),v(u,[e])),U),K=e=>O(g,e),U={setSize:e=>(o=e,V(),U),addCheckpoint:N,setCheckpoint:B,getStore:()=>e,getCheckpointIds:()=>[[...p],t,[...T]],forEachCheckpoint:e=>$(w,e),hasCheckpoint:K,getCheckpoint:e=>H(w,e),goBackward:()=>(D(),Q(),U),goForward:()=>(j(),Q(),U),goTo:e=>{const n=i(p,e)?D:i(T,e)?j:null;for(;!x(n)&&e!=t;)n();return Q(),U},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(f(e),U),clear:()=>(C(p),C(T),x(t)||m(t),t=void 0,n=0,N(),U),destroy:()=>{e.delListener(P),e.delListener(A)},getListenerStats:()=>({})};return ve(U.clear())})),pe=(e,t)=>e<t?-1:1,Ie=se((e=>{const t=W(),n=W(),[l,o,s,r,i,d,u,,h,g,L]=le(e,W,(e=>x(e)?"":A(e)?f(e,a):a(e))),[y,w,p]=ie((()=>R)),I=(t,n,l)=>{const o=i(t);z(l,((t,l)=>n(l,(n=>z(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},R={setIndexDefinition:(e,l,o,s,r,a=pe)=>{const i=x(r)?void 0:([e],[t])=>r(e,t);return h(e,l,((l,o,r,h,f,g)=>{let L=0;const y=te(),p=te(),I=d(e);if(z(o,(([e,t],n)=>{const l=te(e),o=te(t);z(l,(e=>N(o,e)?N(l,e):0)),z(l,(e=>{ne(y,e),k(H(I,e),(t=>{N(t,n),F(t)&&(q(I,e),L=1)}))})),z(o,(e=>{ne(y,e),O(I,e)||(q(I,e,te()),L=1),ne(H(I,e),n),x(s)||ne(p,e)}))})),l(),F(f)||(g?$(I,(e=>ne(p,e))):$(r,(e=>k(H(h,e),(e=>ne(p,e))))),z(p,(e=>{const t=(t,n)=>a(H(f,t),H(f,n),e),n=[...H(I,e)];c(n,t)||(q(I,e,te(v(n,t))),ne(y,e))}))),(L||g)&&!x(i)){const t=[...I];c(t,i)||(u(e,W(v(t,i))),L=1)}L&&w(t,[e]),z(y,(t=>w(n,[e,t])))}),oe(o),k(s,oe)),R},delIndexDefinition:e=>(g(e),R),getStore:l,getIndexIds:o,forEachIndex:e=>s(((t,n)=>e(t,(e=>I(t,e,n))))),forEachSlice:(e,t)=>I(e,t,d(e)),hasIndex:r,hasSlice:(e,t)=>O(d(e),t),getTableId:i,getSliceIds:e=>B(d(e)),getSliceRowIds:(e,t)=>j(H(d(e),t)),addSliceIdsListener:(e,n)=>y(n,t,[e]),addSliceRowIdsListener:(e,t,l)=>y(l,n,[e,t]),delListener:e=>(p(e),R),destroy:L,getListenerStats:()=>({})};return ve(R)})),Re=W([["avg",[(e,t)=>g(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=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:m(t,e)]],["min",[e=>C(...e),(e,t)=>C(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:C(t,e)]],["sum",[e=>g(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Se=(e,t,n,l,o,s=!1)=>{if(F(n))return;const[r,a,i,d]=o;return s||(s=x(e)),z(l,(([n,l])=>{s||(e=x(n)?null==a?void 0:a(e,l,t++):x(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),s||(s=x(e)))})),s?r(j(n),D(n)):e},Te=se((e=>{const t=W(),[n,l,o,s,r,a,i,,d,u,c]=le(e,M,(e=>isNaN(e)||x(e)||!0===e||!1===e||""===e?void 0:1*e)),[v,h,f]=ie((()=>g)),g={setMetricDefinition:(e,n,l,o,s,r,u)=>{var c;const v=P(l)?[l,s,r,u]:null!=(c=H(Re,l))?c:H(Re,"sum");return d(e,n,((n,l,o,s,r,d)=>{const u=a(e),c=D(s);d||(d=x(u)),n();let f=Se(u,c,s,l,v,d);V(f)||(f=void 0),f!=u&&(i(e,f),h(t,[e],f,u))}),oe(o,1)),g},delMetricDefinition:e=>(u(e),g),getStore:n,getMetricIds:l,forEachMetric:o,hasMetric:s,getTableId:r,getMetric:a,addMetricListener:(e,n)=>v(n,t,[e]),delListener:e=>(f(e),g),destroy:c,getListenerStats:()=>({})};return ve(g)}));var be=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const me=(e,t,n,l,o)=>{let s,r,a=0;const i={load:(n,l)=>be(void 0,null,(function*(){if(2!=a){a=1;const o=yield t();x(o)||""==o?e.transaction((()=>e.setTables(n).setValues(l))):e.setJson(o),a=0}return i})),startAutoLoad:(e,t)=>be(void 0,null,(function*(){return i.stopAutoLoad(),yield i.load(e,t),l(i.load),i})),stopAutoLoad:()=>(o(),i),save:()=>be(void 0,null,(function*(){return 1!=a&&(a=2,yield n(e.getJson()),a=0),i})),startAutoSave:()=>be(void 0,null,(function*(){return yield i.stopAutoSave().save(),s=e.addTablesListener(i.save),r=e.addValuesListener(i.save),i})),stopAutoSave:()=>(k(s,e.delListener),k(r,e.delListener),i),getStore:()=>e,destroy:()=>i.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ve(i)};var Ce=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const Ve=globalThis.window,Ee=(e,t,n)=>{let l;return me(e,(()=>Ce(void 0,null,(function*(){return n.getItem(t)}))),(e=>Ce(void 0,null,(function*(){return n.setItem(t,e)}))),(e=>{l=l=>{l.storageArea===n&&l.key===t&&e()},Ve.addEventListener("storage",l)}),(()=>{Ve.removeEventListener("storage",l),l=void 0}))},xe=(e,t)=>Ee(e,t,localStorage),ke=(e,t)=>Ee(e,t,sessionStorage);var Je=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const Pe=(n,l)=>{let o;return me(n,(()=>Je(void 0,null,(function*(){try{return yield t.readFile(l,"utf8")}catch(e){}}))),(e=>Je(void 0,null,(function*(){try{yield t.writeFile(l,e,"utf8")}catch(e){}}))),(t=>{o=e(l,t)}),(()=>{null==o||o.close(),o=void 0}))};var Ae=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const Me=e=>e.headers.get("ETag"),De=(e,t,n,l)=>{let o,s;return me(e,(()=>Ae(void 0,null,(function*(){const e=yield fetch(t);return s=Me(e),e.text()}))),(e=>Ae(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{o=setInterval((()=>Ae(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),l=Me(n);x(s)||x(l)||l==s||(s=l,e())}))),1e3*l)}),(()=>{k(o,clearInterval),o=void 0}))};var Oe=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable;const Qe=se((e=>{const t=e.createStore,[n,l,o,s,r,,,a,,i,u,c,v]=le(e,(()=>!0),M),f=t(),g=t(),w=W(),R=(e,t,...n)=>h(n,(n=>ne(G(G(w,t,W),e,te),n))),S=e=>{k(H(w,e),(e=>{$(e,((e,t)=>z(t,(t=>e.delListener(t))))),Q(e)})),h([g,f],(t=>t.delTable(e)))},T=(e,t,n)=>R(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),b={setQueryDefinition:(t,n,l)=>{a(t,n),S(t);const o=[],s=[[null,[n,null,null,[],W()]]],r=[],i=[],u=[];l({select:(e,t)=>{const n=P(e)?[L(o)+"",e]:[x(t)?e:t,n=>n(e,t)];return I(o,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const l=x(n)||P(t)?null:t,o=x(l)?t:n,r=[e,[e,l,P(o)?o:e=>e(o),[],W()]];return I(s,r),{as:e=>r[0]=e}},where:(e,t,n)=>I(r,P(e)?e:x(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,o)=>{var s;const r=[e,[e,P(t)?[t,n,l,o]:null!=(s=H(Re,t))?s:[(e,t)=>t]]];return I(i,r),{as:e=>r[0]=e}},having:(e,t)=>I(u,P(e)?e:n=>n(e)===t)});const w=W(o);if(F(w))return b;const p=W(s);$(p,((e,[,t])=>k(H(p,t),(({3:t})=>x(e)?0:I(t,e)))));const m=W(i);let C=f;if(F(m)&&y(u))C=g;else{T(t,C,g);const e=W();$(m,((t,[n,l])=>ne(G(e,n,te),[t,l])));const n=te();$(w,(t=>O(e,t)?0:ne(n,t)));const l=W(),o=(n,l,o,s)=>k(n,(([r,a,i,c])=>{$(l,((t,[n])=>{const l=G(r,t,W),a=H(l,o),i=s?void 0:n;if(a!==i){const n=te([[a,i]]),s=D(l);q(l,o,i),z(H(e,t),(([e,t])=>{const o=Se(c[e],s,l,n,t);c[e]=x(Z(o))?null:o}))}})),F(a)||!d(u,(e=>e((e=>c[e]))))?g.delRow(t,i):x(i)?n[2]=g.addRow(t,c):g.setRow(t,i,c)}));R(C,t,C.addRowListener(t,null,((s,r,a,i)=>{const d=[],u=[],c=W(),v=C.hasRow(t,a);let h=!v;z(n,(e=>{const[n,l,o]=i(t,a,e);I(d,l),I(u,o),h||(h=n)})),$(e,(e=>{const[n,,l]=i(t,a,e);(h||n)&&q(c,e,[l])})),h&&o(Y(l,d,void 0,(([,e])=>(N(e,a),F(e)))),c,a,1),v&&o(Y(l,u,(()=>{const e={};return z(n,(n=>e[n]=C.getCell(t,a,n))),[W(),te(),void 0,e]}),(([,e])=>{ne(e,a)})),c,a)})))}T(t,e,C);const V=(l,o,s,a)=>{const i=t=>e.getCell(o,s,t);h(a,(n=>{var o;const[s,,r,a,d]=H(p,n),u=null==r?void 0:r(i,l),[h,f]=null!=(o=H(d,l))?o:[];u!=h&&(x(f)||v(t,f),q(d,l,x(u)?null:[u,...c(t,1,e.addRowListener(s,u,(()=>V(l,s,u,a))))]))})),(l=>{const o=(t,o)=>{var s,r,a;return e.getCell(...x(o)?[n,l,t]:t===n?[n,l,o]:[null==(s=H(p,t))?void 0:s[0],null==(a=H(null==(r=H(p,t))?void 0:r[4],l))?void 0:a[0],o])};C.transaction((()=>d(r,(e=>e(o)))?$(w,((e,n)=>_(C,t,l,e,n(o,l)))):C.delRow(t,l)))})(l)},{3:E}=H(p,null);return C.transaction((()=>c(t,1,e.addRowListener(n,null,((l,o,s)=>{e.hasRow(n,s)?V(s,n,s,E):(C.delRow(t,s),z(p,(({4:e})=>k(H(e,s),(([,n])=>{v(t,n),q(e,s)})))))}))))),b},delQueryDefinition:e=>(S(e),i(e),b),getStore:n,getQueryIds:l,forEachQuery:o,hasQuery:s,getTableId:r,delListener:e=>(g.delListener(e),b),destroy:u,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Fe.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Oe)for(var l of Oe(e))t.indexOf(l)<0&&je.call(e,l)&&(n[l]=e[l]);return n})(g.getListenerStats(),["tables","tableIds","transaction"])};return Le({Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},(([e,t],n)=>{h(e?["get","has","forEach"]:["get"],(e=>b[e+"Result"+n]=(...t)=>g[e+n](...t))),b["addResult"+n+"Listener"]=(...e)=>g["add"+n+"Listener"](...p(e,0,t),((n,...l)=>e[t](b,...l)))})),ve(b)})),ze=se((e=>{const t=W(),n=W(),l=W(),o=W(),[s,r,a,i,d,u,,,c,v,h]=le(e,(()=>[W(),W(),W(),W()]),(e=>x(e)?void 0:e+"")),[f,g,L]=ie((()=>I)),y=(e,t,n)=>k(u(e),(([l,,o])=>{if(!O(o,t)){const s=te();if(d(e)!=p(e))ne(s,t);else{let e=t;for(;!x(e)&&!O(s,e);)ne(s,e),e=H(l,e)}if(n)return s;q(o,t,s)}return H(o,t)})),w=(e,t)=>k(u(e),(([,,e])=>q(e,t))),p=e=>H(t,e),I={setRelationshipDefinition:(e,s,r,a)=>(q(t,e,r),c(e,s,((t,s)=>{const r=te(),a=te(),i=te(),[d,c]=u(e);z(s,(([t,n],l)=>{x(t)||(ne(a,t),k(H(c,t),(e=>{N(e,l),F(e)&&q(c,t)}))),x(n)||(ne(a,n),O(c,n)||q(c,n,te()),ne(H(c,n),l)),ne(r,l),q(d,l,n),$(H(o,e),(t=>{O(y(e,t),l)&&ne(i,t)}))})),t(),z(r,(t=>g(n,[e,t]))),z(a,(t=>g(l,[e,t]))),z(i,(t=>{w(e,t),g(o,[e,t])}))}),oe(a)),I),delRelationshipDefinition:e=>(q(t,e),v(e),I),getStore:s,getRelationshipIds:r,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(d(n),t))))),hasRelationship:i,getLocalTableId:d,getRemoteTableId:p,getRemoteRowId:(e,t)=>{var n;return H(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return j(H(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>x(u(e))?[t]:j(y(e,t,!0)),addRemoteRowIdListener:(e,t,l)=>f(l,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>f(n,l,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(y(e,t),f(n,o,[e,t])),delListener:e=>(w(...L(e)),I),destroy:h,getListenerStats:()=>({})};return ve(I)})),Ne=e=>[e,e],We=()=>[W(),W()],Be=(e,t,n,l=q)=>{const o=(s=e=>!fe(t,e),B(e).filter(s));var s;return h(ue(t),(l=>n(e,l,t[l]))),h(o,(t=>l(e,t))),e},He=(e,t,n)=>x(e)||!he(e)||ye(e)||ce(e)?(null==n||n(),!1):(Le(e,((n,l)=>{t(n,l)||ge(e,l)})),!ye(e)),$e=(e,t,n)=>q(e,t,H(e,t)==-n?void 0:n),qe=()=>{let e,t,n,l,o=0;const r=W(),d=W(),c=W(),g=W(),L=W(),y=W(),w=W(),R=W(),S=W(),m=W(),C=W(),V=W(),E=te(),A=W(),M=W(),D=W(),j=We(),Y=We(),le=We(),oe=We(),se=We(),re=We(),de=We(),ue=We(),ce=We(),he=We(),we=We(),Ie=We(),Re=We(),Se=We(),[Te,be,me,Ce]=ie((()=>Nt)),Ve=e=>{if(!He(e,((e,t)=>i(["type","default"],t))))return!1;const t=e.type;return!(!J(t)&&t!=s||(Z(e.default)!=t&&ge(e,"default"),0))},Ee=(t,n)=>(!e||O(S,n)||ut(n))&&He(t,((e,t)=>xe(n,t,e)),(()=>ut(n))),xe=(e,t,n,l)=>He(l?n:Ae(n,e,t),((l,o)=>k(ke(e,t,o,l),(e=>(n[o]=e,!0)),(()=>!1))),(()=>ut(e,t))),ke=(t,n,l,o)=>e?k(H(H(S,t),l),(e=>Z(o)!=e.type?ut(t,n,l,o,e.default):o),(()=>ut(t,n,l,o))):x(Z(o))?ut(t,n,l,o):o,Je=(e,t)=>He(t?e:Me(e),((t,n)=>k(Pe(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>ct())),Pe=(e,n)=>t?k(H(C,e),(t=>Z(n)!=t.type?ct(e,n,t.default):n),(()=>ct(e,n))):x(Z(n))?ct(e,n):n,Ae=(e,t,n)=>(k(H(m,t),(([l,o])=>{z(l,((t,n)=>{fe(e,n)||(e[n]=t)})),z(o,(l=>{fe(e,l)||ut(t,n,l)}))})),e),Me=e=>(t&&(z(V,((t,n)=>{fe(e,n)||(e[n]=t)})),z(E,(t=>{fe(e,t)||ct(t)}))),e),De=e=>Be(S,e,((e,t,n)=>{const l=W(),o=te();Be(G(S,t,W),n,((e,t,n)=>{q(e,t,n),k(n.default,(e=>q(l,t,e)),(()=>ne(o,t)))})),q(m,t,[l,o])}),((e,t)=>{q(S,t),q(m,t)})),Oe=e=>Be(C,e,((e,t,n)=>{q(C,t,n),k(n.default,(e=>q(V,t,e)),(()=>ne(E,t)))}),((e,t)=>{q(C,t),q(V,t),N(E,t)})),Fe=e=>ye(e)?Mt():xt(e),je=e=>Be(M,e,((e,t,n)=>Qe(t,n)),((e,t)=>et(t))),Qe=(e,t)=>Be(G(M,e,(()=>(ot(e,1),W()))),t,((t,n,l)=>ze(e,t,n,l)),((t,n)=>tt(e,t,n))),ze=(e,t,n,l,o)=>Be(G(t,n,(()=>(st(e,n,1),W()))),l,((t,l,o)=>Ge(e,n,t,l,o)),((l,s)=>nt(e,t,n,l,s,o))),Ge=(e,t,n,l,o)=>{O(n,l)||rt(e,t,l,1);const s=H(n,l);o!==s&&(at(e,t,l,s,o),q(n,l,o))},Ke=(e,t,n,l,o)=>k(H(t,n),(t=>Ge(e,n,t,l,o)),(()=>ze(e,t,n,Ae({[l]:o},e,n)))),Ue=e=>ye(e)?Dt():kt(e),Xe=e=>Be(D,e,((e,t,n)=>Ye(t,n)),((e,t)=>lt(t))),Ye=(e,t)=>{O(D,e)||it(e,1);const n=H(D,e);t!==n&&(dt(e,n,t),q(D,e,t))},Ze=e=>{const[t]=G(A,e,ae),n=t();return O(H(M,e),n)?Ze(e):n},_e=e=>{var t;return null!=(t=H(M,e))?t:Qe(e,{})},et=e=>Qe(e,{}),tt=(e,t,n)=>{const[,l]=G(A,e,ae);l(n),ze(e,t,n,{},!0)},nt=(e,t,n,l,o,s)=>{var r;const a=H(null==(r=H(m,e))?void 0:r[0],o);if(!x(a)&&!s)return Ge(e,n,l,o,a);const i=t=>{at(e,n,t,H(l,t)),rt(e,n,t,-1),q(l,t)};x(a)?i(o):$(l,i),F(l)&&(st(e,n,-1),F(q(t,n))&&(ot(e,-1),q(M,e),q(A,e)))},lt=e=>{const t=H(V,e);if(!x(t))return Ye(e,t);dt(e,H(D,e)),it(e,-1),q(D,e)},ot=(e,t)=>$e(r,e,t),st=(e,t,n)=>$e(G(d,e,W),t,n),rt=(e,t,n,l)=>$e(G(G(c,e,W),t,W),n,l),at=(e,t,n,l,o)=>G(G(G(g,e,W),t,W),n,(()=>[l,0]))[1]=o,it=(e,t)=>$e(L,e,t),dt=(e,t,n)=>G(y,e,(()=>[t,0]))[1]=n,ut=(e,t,n,l,o)=>(I(G(G(G(w,e,W),t,W),n,(()=>[])),l),o),ct=(e,t,n)=>(I(G(R,e,(()=>[])),t),n),vt=(e,t,n)=>k(H(H(H(g,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ne(mt(e,t,n))])),ht=e=>k(H(y,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ne(Et(e))])),ft=e=>F(w)||F(ce[e])?0:z(e?U(w,X):w,((t,n)=>z(t,((t,l)=>z(t,((t,o)=>be(ce[e],[n,l,o],t))))))),gt=e=>F(R)||F(he[e])?0:z(e?U(R):R,((t,n)=>be(he[e],[n],t))),Lt=(e,t,n)=>{if(!F(t))return be(e,n),1},yt=e=>{const t=F(se[e]),n=F(de[e])&&F(oe[e])&&t&&F(Y[e]),l=F(ue[e])&&F(re[e])&&F(le[e])&&F(j[e]);if(!n||!l){const o=e?[U(r),X(d),U(c,X),U(g,X)]:[r,d,c,g];if(!n){z(o[2],((t,n)=>z(t,((t,l)=>Lt(de[e],t,[n,l])))));const n=te();z(o[1],((l,o)=>{Lt(oe[e],l,[o])&&!t&&(be(se[e],[o,null]),ne(n,o))})),t||z(o[3],((t,l)=>{if(!O(n,l)){const n=te();z(t,(e=>z(e,(([t,l],o)=>l!==t?ne(n,o):N(e,o))))),z(n,(t=>be(se[e],[l,t])))}})),Lt(Y[e],o[0])}if(!l){let t;z(o[3],((n,l)=>{let o;z(n,((n,s)=>{let r;z(n,(([n,a],i)=>{a!==n&&(be(ue[e],[l,s,i],a,n,vt),t=o=r=1)})),r&&be(re[e],[l,s],vt)})),o&&be(le[e],[l],vt)})),t&&be(j[e],void 0,vt)}}},wt=e=>{const t=F(Ie[e]),n=F(Re[e])&&F(we[e]);if(!t||!n){const l=e?[U(L),U(y)]:[L,y];if(t||Lt(Ie[e],l[0]),!n){let t;z(l[1],(([n,l],o)=>{l!==n&&(be(Re[e],[o],l,n,ht),t=1)})),t&&be(we[e],void 0,ht)}}},pt=(e,...t)=>(jt((()=>e(...f(t,a)))),Nt),It=()=>K(M,(e=>K(e,K))),Rt=()=>B(M),St=e=>B(H(M,a(e))),Tt=(e,t,n,l=0,o)=>{return f(p(v((s=H(M,a(e)),r=(e,n)=>[x(t)?n:H(e,a(t)),n],f([...null!=(i=null==s?void 0:s.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>pe(e,t)*(n?-1:1))),l,x(o)?o:l+o),(([,e])=>e));var s,r,i},bt=(e,t)=>B(H(H(M,a(e)),a(t))),mt=(e,t,n)=>H(H(H(M,a(e)),a(t)),a(n)),Ct=()=>K(D),Vt=()=>B(D),Et=e=>H(D,a(e)),xt=e=>pt((()=>(e=>He(e,Ee,ut))(e)?je(e):0)),kt=e=>pt((()=>Je(e)?Xe(e):0)),Jt=e=>{try{Fe(b(e))}catch(e){}return Nt},Pt=t=>pt((()=>{if((e=He(t,(e=>He(e,Ve))))&&(De(t),!F(M))){const e=It();Mt(),xt(e)}})),At=e=>pt((()=>{if(t=(e=>He(e,Ve))(e)){const n=Ct();Ft(),Dt(),t=!0,Oe(e),kt(n)}})),Mt=()=>pt((()=>je({}))),Dt=()=>pt((()=>Xe({}))),Ot=()=>pt((()=>{De({}),e=!1})),Ft=()=>pt((()=>{Oe({}),t=!1})),jt=(e,t)=>{if(-1==o)return;Qt();const n=e();return zt(t),n},Qt=()=>(o++,Nt),zt=e=>(o>0&&(o--,0==o&&(n=!F(g),l=!F(y),o=1,ft(1),n&&yt(1),gt(1),l&&wt(1),o=-1,(null==e?void 0:e(K(g,(e=>K(e,(e=>K(e,(e=>[...e]),(([e,t])=>e===t))),ye)),ye),K(w,(e=>K(e,K))),K(y,(e=>[...e]),(([e,t])=>e===t)),K(R)))&&(o=1,z(g,((e,t)=>z(e,((e,n)=>z(e,(([e],l)=>_(Nt,t,n,l,e))))))),z(y,(([e],t)=>ee(Nt,t,e))),o=-1,n=l=!1),be(Se[0],void 0,n,l),ft(0),n&&yt(0),gt(0),l&&wt(0),be(Se[1],void 0,n,l),o=0,h([r,d,c,g,w,L,y,R],Q))),Nt),Nt={getTables:It,getTableIds:Rt,getTable:e=>K(H(M,a(e)),K),getRowIds:St,getSortedRowIds:Tt,getRow:(e,t)=>K(H(H(M,a(e)),a(t))),getCellIds:bt,getCell:mt,getValues:Ct,getValueIds:Vt,getValue:Et,hasTables:()=>!F(M),hasTable:e=>O(M,a(e)),hasRow:(e,t)=>O(H(M,a(e)),a(t)),hasCell:(e,t,n)=>O(H(H(M,a(e)),a(t)),a(n)),hasValues:()=>!F(D),hasValue:e=>O(D,a(e)),getTablesJson:()=>T(M),getValuesJson:()=>T(D),getJson:()=>T([M,D]),getTablesSchemaJson:()=>T(S),getValuesSchemaJson:()=>T(C),getSchemaJson:()=>T([S,C]),setTables:xt,setTable:(e,t)=>pt((e=>Ee(t,e)?Qe(e,t):0),e),setRow:(e,t,n)=>pt(((e,t)=>xe(e,t,n)?ze(e,_e(e),t,n):0),e,t),addRow:(e,t)=>jt((()=>{let n;return xe(e,n,t)&&(e=a(e),ze(e,_e(e),n=Ze(e),t)),n})),setPartialRow:(e,t,n)=>pt(((e,t)=>{if(xe(e,t,n,1)){const l=_e(e);Le(n,((n,o)=>Ke(e,l,t,o,n)))}}),e,t),setCell:(e,t,n,l)=>pt(((e,t,n)=>k(ke(e,t,n,P(l)?l(mt(e,t,n)):l),(l=>Ke(e,_e(e),t,n,l)))),e,t,n),setValues:kt,setPartialValues:e=>pt((()=>Je(e,1)?Le(e,((e,t)=>Ye(t,e))):0)),setValue:(e,t)=>pt((e=>k(Pe(e,P(t)?t(Et(e)):t),(t=>Ye(e,t)))),e),setTablesJson:Jt,setValuesJson:e=>{try{Ue(b(e))}catch(e){}return Nt},setJson:e=>{try{const[t,n]=b(e);Fe(t),Ue(n)}catch(t){Jt(e)}return Nt},setTablesSchema:Pt,setValuesSchema:At,setSchema:(e,t)=>pt((()=>{Pt(e),At(t)})),delTables:Mt,delTable:e=>pt((e=>O(M,e)?et(e):0),e),delRow:(e,t)=>pt(((e,t)=>k(H(M,e),(n=>O(n,t)?tt(e,n,t):0))),e,t),delCell:(e,t,n,l)=>pt(((e,t,n)=>k(H(M,e),(o=>k(H(o,t),(s=>O(s,n)?nt(e,o,t,s,n,l):0))))),e,t,n),delValues:Dt,delValue:e=>pt((e=>O(D,e)?lt(e):0),e),delTablesSchema:Ot,delValuesSchema:Ft,delSchema:()=>pt((()=>{Ot(),Ft()})),transaction:jt,startTransaction:Qt,finishTransaction:zt,forEachTable:e=>z(M,((t,n)=>e(n,(e=>z(t,((t,n)=>e(n,(e=>$(t,e))))))))),forEachRow:(e,t)=>z(H(M,a(e)),((e,n)=>t(n,(t=>$(e,t))))),forEachCell:(e,t,n)=>$(H(H(M,a(e)),a(t)),n),forEachValue:e=>$(D,e),addSortedRowIdsListener:(e,t,n,l,o,s,r)=>{let a=Tt(e,t,n,l,o);return Te((()=>{const r=Tt(e,t,n,l,o);u(r,a)||(a=r,s(Nt,e,t,n,l,o,a))}),se[r?1:0],[e,t],[Rt])},addWillFinishTransactionListener:e=>Te(e,Se[0]),addDidFinishTransactionListener:e=>Te(e,Se[1]),callListener:e=>(Ce(e),Nt),delListener:e=>(me(e),Nt),getListenerStats:()=>({}),createStore:qe};return Le({Tables:[0,j],TableIds:[0,Y],Table:[1,le,[Rt]],RowIds:[1,oe,[Rt]],Row:[2,re,[Rt,St]],CellIds:[2,de,[Rt,St]],Cell:[3,ue,[Rt,St,bt],e=>Ne(mt(...e))],InvalidCell:[3,ce],Values:[0,we],ValueIds:[0,Ie],Value:[1,Re,[Vt],e=>Ne(Et(e[0]))],InvalidValue:[1,he]},(([e,t,n,l],o)=>{Nt["add"+o+"Listener"]=(...o)=>Te(o[e],t[o[e+1]?1:0],e>0?p(o,0,e):void 0,n,l)})),ve(Nt)};export{we as createCheckpoints,me as createCustomPersister,Pe as createFilePersister,Ie as createIndexes,xe as createLocalPersister,Te as createMetrics,Qe as createQueries,ze as createRelationships,De as createRemotePersister,ke as createSessionPersister,qe as createStore,pe as defaultSorter};
|
package/lib/es6/tinybase.js.gz
CHANGED
|
Binary file
|
package/lib/es6/tools.d.ts
CHANGED
|
@@ -442,6 +442,26 @@ export interface Tools {
|
|
|
442
442
|
* @since v2.2.0
|
|
443
443
|
*/
|
|
444
444
|
getPrettyStoreApi(storeName: string): Promise<[string, string]>;
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* The getStore method returns a reference to the underlying Store that is
|
|
448
|
+
* backing this Tools object.
|
|
449
|
+
*
|
|
450
|
+
* @returns A reference to the Store.
|
|
451
|
+
* @example
|
|
452
|
+
* This example creates a Tools object against a newly-created Store and
|
|
453
|
+
* then gets its reference in order to update its data.
|
|
454
|
+
*
|
|
455
|
+
* ```js
|
|
456
|
+
* const tools = createTools(createStore());
|
|
457
|
+
* tools.getStore().setCell('species', 'dog', 'price', 5);
|
|
458
|
+
* console.log(tools.getStoreStats().totalCells);
|
|
459
|
+
* // -> 1
|
|
460
|
+
* ```
|
|
461
|
+
* @category Getter
|
|
462
|
+
* @since v3.0.0
|
|
463
|
+
*/
|
|
464
|
+
getStore(): Store;
|
|
445
465
|
}
|
|
446
466
|
|
|
447
467
|
/* eslint-disable max-len */
|
package/lib/es6/tools.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,a="",l=e(a),t=e(!0),o=e(0),n="type",s="default",r=(e,a)=>e.every(a),d=(e,a)=>e.sort(a),$=(e,a)=>e.forEach(a),i=(e,a)=>e.map(a),u=e=>e.length,I=e=>0==u(e),c=(e,...a)=>e.push(...a),b=e=>e.pop(),w=(e,...a)=>e.unshift(...a),h=e=>e.shift(),g=JSON.parse,C=isFinite,V=(e,a)=>e instanceof a,T=e=>null==e,v=e=>e==l||e==t,f=a=>e(a)==l,R=e=>Array.isArray(e),m=a=>{const l=e(a);return v(l)||l==o&&C(a)?l:void 0},p=(e,a)=>{var l;return null!=(l=null==e?void 0:e.has(a))&&l},L=e=>{var a;return[...null!=(a=null==e?void 0:e.values())?a:[]]},y=(e,a)=>null==e?void 0:e.forEach(a),S=(e,a)=>null==e?void 0:e.delete(a),k=e=>new Map(e),J=(e,a)=>null==e?void 0:e.get(a),E=(e,a)=>y(e,((e,l)=>a(l,e))),O=(e,a)=>{var l;return i([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>a(l,e)))},j=(e,a,l)=>T(l)?(S(e,a),e):null==e?void 0:e.set(a,l),x=(e,a,l)=>(p(e,a)||j(e,a,l()),J(e,a)),A=e=>new Set(R(e)||T(e)?e:[e]),P=(e,a)=>null==e?void 0:e.add(a),D=e=>[e,e],N=()=>[k(),k()],G=/[^A-Za-z]+/,z=/[^A-Za-z0-9]+/,F=/^( *)\/\*\* *(.*?) *\*\/$/gm,W=(e,a,l)=>e.substring(a,l),M=e=>e.toUpperCase(),Z=e=>e.toLowerCase(),_=(e,a,l,t=1)=>{const o=`${a}${1==t?"":t}`;return p(e,o)?_(e,a,l,t+1):(j(e,o,l),o)},Q=e=>e.replace(F,((e,a,l)=>{const t=77-U(a);return`${a}/**\n${l.replace(RegExp(`([^\\n]{1,${t}})(\\s|$)`,"g"),a+" * $1\n")}${a} */`})),U=e=>e.length,q=(e,l=a)=>e.join(l),B=e=>e.flat(1e3),H=(e,a=0)=>q(i(e.split(z),((e,l)=>(l>0||a?M:Z)(W(e,0,1))+W(e,1)))),K=e=>M(q((e&&!G.test(e[0])?e:" "+e).split(z),"_")),X=e=>`/** ${e}. */`,Y=()=>{const e=N(),l=k(),t=k(),o=k();return[(...e)=>q(B(e),"\n"),(a,l,...t)=>$(t,(t=>P(x(e[a],l,A),t))),(e,a,t)=>_(l,e,[a,t]),(e,a,l,o,n,s="")=>_(t,e,[a,l,o,n,s]),(e,a,l)=>_(o,e,R(l)?[`(${a}) => {`,l,"}"]:[`(${a}) => ${l}`]),(e,a)=>J(o,e)===a?e:_(o,e,a),l=>[...d(O(e[l],((e,a)=>`import {${q(d(L(e)),", ")}} from '${a}';`))),a],()=>O(l,(([e,l],t)=>[X(l),`export type ${t} = ${e};`,a])),e=>O(t,(([l,t,o,n,s],r)=>{const d=e?[`${r}: ${s}(${l}): ${t} => ${o},`]:[`${r}${s}(${l}): ${t};`];return e||w(d,X(n)),c(d,a),d})),()=>O(o,((e,l)=>(e=R(e)?e:[e],c(e,b(e)+";"),[`const ${l} = ${h(e)}`,e,a])))]},ee=Object,ae=ee.keys,le=ee.freeze,te=e=>V(e,ee)&&e.constructor==ee,oe=(e,a)=>i(ee.entries(e),(([e,l])=>a(l,e))),ne=e=>te(e)&&I(ae(e)),se=e=>{const a=new WeakMap;return l=>(a.has(l)||a.set(l,e(l)),a.get(l))},re="the Store",de="A function for",$e="export",ie="listener",ue=" | undefined",Ie=`Registers a ${ie} that will be called`,ce="Represents",be=" => void",we="the end of the transaction",he="the specified Row",ge="a string serialization of",Ce=(e=0,a=0)=>`the ${De[e]}content of${a?" "+re:""}`,Ve=(e,a=0,l=0)=>`${Ae[e]} ${Ce(a,1)}${l?" when set":""}`,Te=(e,a=0)=>`${ce} a Row when ${a?"s":"g"}etting ${Ce()} the '${e}' Table`,ve=(e,a,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in ${a}`,fe=(e,a)=>`Calls a function for each ${e} in ${a}`,Re=(e,a=re)=>`Gets whether ${e} exists in ${a}`,me=e=>"A function that takes "+e,pe=(e,a=0)=>`${de} listening to changes to ${Pe[e]} in ${Pe[a]}`,Le=(e,l,t=0)=>`${Ie} whenever ${e} in ${l} change`+(t?a:"s"),ye=e=>`the '${e}' Table`,Se=e=>`${he} in ${ye(e)}`,ke=e=>`the '${e}' Cell`,Je=e=>`the '${e}' Value`,Ee=(e,a=0)=>`${Ae[a]} ${Ce()} ${ye(e)}`,Oe=(e,a=0)=>`${Ae[a]} ${Ce()} ${Se(e)}`,je=(e,a,l=0)=>`${Ae[l]} ${ke(a)} for ${Se(e)}`,xe=(e,a=0)=>`${Ae[a]} ${Je(e)}`,Ae=["Gets","Sets","Sets part of","Deletes",ce,"Gets "+ge,"Sets "+ge,Ie+" whenever"],Pe=[re,"Tables","Table Ids","a Table","Row Ids","a Row","Cell Ids","a Cell","invalid Cell changes","Values","Value Ids","a Value","invalid Value changes"],De=["","tabular ","keyed value "],Ne=["DoRollback","Id","IdOrNull","Ids","Json","Store"],Ge=(e,l=a,t=a)=>`store.${e}(${l})${t?" as "+t:a}`,ze=(e,l=a)=>`fluent(() => ${Ge(e,l)})`,Fe=(e,l=a,t=a)=>`store.${e}(${l?l+", ":a}proxy(${ie})${t?", "+t:a})`,We=(e,l,o)=>{if(ne(e)&&ne(l))return D(a);const[r,d,$,i,u,I,b,w,h,g]=Y(),C=`./${H(o)}.d`,V=H(o,1),v=H(V),R=[],m=k(),p=l=>oe(e,((e,t)=>l(t,x(m,t,(()=>{const e=H(t,1);return[$(e+"Table",`{[rowId: Id]: ${e}Row}`,`${ce} the '${t}' Table`),$(e+"Row",`{${q(y(t,((e,l,t)=>`'${e}'${T(t)?"?":a}: ${l};`))," ")}}`,Te(t)),$(e+"RowWhenSet",`{${q(y(t,((e,a)=>`'${e}'?: ${a};`))," ")}}`,Te(t,1)),$(e+"CellId",q(y(t,(e=>`'${e}'`))," | "),`A Cell Id for the '${t}' Table`),$(e+"CellCallback",`(...[cellId, cell]: ${q(y(t,((e,a)=>`[cellId: '${e}', cell: ${a}]`))," | ")})${be}`,me(`a Cell Id and value from a Row in the '${t}' Table`)),$(e+"RowCallback",`(rowId: Id, forEachCell: (cellCallback: ${e}CellCallback)${be})${be}`,me(`a Row Id from the '${t}' Table, and a Cell iterator`))]})),H(t,1),I(K(t),`'${t}'`)))),y=(a,l)=>oe(e[a],((e,a)=>l(a,e[n],e[s],I(K(a),`'${a}'`),H(a,1)))),S=e=>oe(l,((a,l)=>e(l,a[n],a[s],I(K(l),`'${l}'`),H(l,1))));if(d(1,C,V,`create${V} as create${V}Decl`),!ne(e)){const e=$("Tables",`{${q(p(((e,a)=>`'${e}'?: ${a[0]};`))," ")}}`,Ve(4,1)),l=$("TableId",q(p((e=>`'${e}'`))," | "),"A Table Id in "+re),o=$("TableCallback",`(...[tableId, rowCallback]: ${q(p(((e,a)=>`[tableId: '${e}', forEachRow: (rowCallback: ${a[5]})${be}]`))," | ")})${be}`,me("a Table Id, and a Row iterator")),r=$("GetCellChange",`(...[tableId, rowId, cellId]: ${q(p(((e,a)=>`[tableId: '${e}', rowId: Id, cellId: ${a[3]}]`))," | ")}) => CellChange`,de+" returning information about any Cell's changes during a transaction"),u=$("TablesListener",`(${v}: ${V}, getCellChange: ${r}${ue})${be}`,pe(1)),b=$("TableIdsListener",`(${v}: ${V})${be}`,pe(2)),w=$("TableListener",`(${v}: ${V}, tableId: ${l}, getCellChange: ${r}${ue})${be}`,pe(3)),h=$("RowIdsListener",`(${v}: ${V}, tableId: ${l})`+be,pe(4,3)),g=$("RowListener",`(${v}: ${V}, tableId: ${l}, rowId: Id, getCellChange: ${r}${ue})${be}`,pe(5,3)),m=$("CellIdsListener",`(${v}: ${V}, tableId: ${l}, rowId: Id)`+be,pe(6,5)),S=$("CellListener",`(...[${v}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${q(B(p((e=>y(e,((a,l)=>`[${v}: ${V}, tableId: '${e}', rowId: Id, cellId: '${a}', newCell: ${l}${ue}, oldCell: ${l}${ue}, getCellChange: ${r} | undefined]`)))))," | ")})${be}`,pe(7,5)),J=$("InvalidCellListener",`(${v}: ${V}, tableId: Id, rowId: Id, cellId: Id, invalidCells: any[])${be}`,pe(8));i("hasTables",a,t,Ge("hasTables"),Re("any Table")),i("getTables",a,e,Ge("getTables"),Ve(0,1)),i("setTables","tables: "+e,V,ze("setTables","tables"),Ve(1,1)),i("delTables",a,V,ze("delTables"),Ve(3,1)),i("getTableIds",a,l+"[]",Ge("getTableIds",a,l+"[]"),ve("Table",re)),i("forEachTable","tableCallback: "+o,"void",Ge("forEachTable","tableCallback as any"),fe("Table",re));const O=k();p(((e,[l,o,n,s,r,$],u,I)=>{d(1,C,l,o,n,s,r,$),i(`has${u}Table`,a,t,Ge("hasTable",I),Re(ye(e))),i(`get${u}Table`,a,l,Ge("getTable",I,l),Ee(e)),i(`set${u}Table`,"table: "+l,V,ze("setTable",I+", table"),Ee(e,1)),i(`del${u}Table`,a,V,ze("delTable",I),Ee(e,3)),i(`get${u}RowIds`,a,"Ids",Ge("getRowIds",I),ve("Row",ye(e))),i(`get${u}SortedRowIds`,`cellId?: ${s}, descending?: boolean, offset?: number, limit?: number`,"Ids",Ge("getSortedRowIds",I+", cellId, descending, offset, limit"),ve("Row",ye(e),1)),i(`forEach${u}Row`,"rowCallback: "+$,"void",Ge("forEachRow",I+", rowCallback as any"),fe("Row",ye(e))),i(`has${u}Row`,"rowId: Id",t,Ge("hasRow",I+", rowId"),Re(he,ye(e))),i(`get${u}Row`,"rowId: Id",o,Ge("getRow",I+", rowId",o),Oe(e)),i(`set${u}Row`,"rowId: Id, row: "+n,V,ze("setRow",I+", rowId, row"),Oe(e,1)),i(`add${u}Row`,"row: "+n,"Id"+ue,Ge("addRow",I+", row"),"Adds a new Row to "+ye(e)),i(`set${u}PartialRow`,"rowId: Id, partialRow: "+n,V,ze("setPartialRow",I+", rowId, partialRow"),Oe(e,2)),i(`del${u}Row`,"rowId: Id",V,ze("delRow",I+", rowId"),Oe(e,3)),i(`get${u}CellIds`,"rowId: Id",s+"[]",Ge("getCellIds",I+", rowId",s+"[]"),ve("Cell",Se(e))),i(`forEach${u}Cell`,"rowId: Id, cellCallback: "+r,"void",Ge("forEachCell",I+", rowId, cellCallback as any"),fe("Cell",Se(e))),y(e,((l,o,n,s,r)=>{const d="Map"+H(o,1);j(O,o,d),i(`has${u}${r}Cell`,"rowId: Id",t,Ge("hasCell",`${I}, rowId, ${s}`),Re(ke(l),Se(e)));const $=`${o}${T(n)?ue:a}`;i(`get${u}${r}Cell`,"rowId: Id",$,Ge("getCell",`${I}, rowId, ${s}`,$),je(e,l)),i(`set${u}${r}Cell`,`rowId: Id, cell: ${o} | ${d}`,V,ze("setCell",`${I}, rowId, ${s}, cell as any`),je(e,l,1)),i(`del${u}${r}Cell`,"rowId: Id",V,ze("delCell",`${I}, rowId, ${s}`),je(e,l,3))}))})),i("getTablesJson",a,"Json",Ge("getTablesJson"),Ve(5,1)),i("setTablesJson","tablesJson: Json",V,ze("setTablesJson","tablesJson"),Ve(6,1)),i("addTablesListener",`${ie}: ${u}, mutator?: boolean`,"Id",Fe("addTablesListener",a,"mutator"),Ve(7,1)+" changes"),i("addTableIdsListener",`${ie}: ${b}, mutator?: boolean`,"Id",Fe("addTableIdsListener",a,"mutator"),Le("the Table Ids",re,1)),i("addTableListener",`tableId: ${l} | null, ${ie}: ${w}, mutator?: boolean`,"Id",Fe("addTableListener","tableId","mutator"),Le("a Table",re)),i("addRowIdsListener",`tableId: ${l} | null, ${ie}: ${h}, mutator?: boolean`,"Id",Fe("addRowIdsListener","tableId","mutator"),Le("the Row Ids","a Table",1)),i("addRowListener",`tableId: ${l} | null, rowId: IdOrNull, ${ie}: ${g}, mutator?: boolean`,"Id",Fe("addRowListener","tableId, rowId","mutator"),Le("a Row","a Table")),i("addCellIdsListener",`tableId: ${l} | null, rowId: IdOrNull, ${ie}: ${m}, mutator?: boolean`,"Id",Fe("addCellIdsListener","tableId, rowId","mutator"),Le("the Cell Ids","a Row",1)),i("addCellListener",`tableId: ${l} | null, rowId: IdOrNull, cellId: ${q(p(((e,a)=>a[3]))," | ")} | null, ${ie}: ${S}, mutator?: boolean`,"Id",Fe("addCellListener","tableId, rowId, cellId","mutator"),Le("a Cell","a Row")),i("addInvalidCellListener",`tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull, ${ie}: ${J}, mutator?: boolean`,"Id",Fe("addInvalidCellListener","tableId, rowId, cellId","mutator"),Ie+" whenever an invalid Cell change was attempted"),E(O,((e,a)=>$(a,`(cell: ${e}${ue}) => ${e}`,`Takes a ${e} Cell value and returns another`))),d(1,C,e,l,o,u,b,w,h,g,m,S,J,...L(O)),d(0,"tinybase","CellChange"),c(R,".setTablesSchema({",B(p(((e,l,t,o)=>[`[${o}]: {`,...y(e,((e,l,t,o)=>`[${o}]: {[${I(K(n),`'${n}'`)}]: ${I(K(l),`'${l}'`)}${T(t)?a:`, [${I(K(s),`'${s}'`)}]: ${f(t)?I(K(t),`'${t}'`):t}`}},`)),"},"]))),"})")}if(!ne(l)){const e=$("Values",`{${q(S(((e,l,t)=>`'${e}'${T(t)?"?":a}: ${l};`))," ")}}`,Ve(4,2)),l=$("ValuesWhenSet",`{${q(S(((e,a)=>`'${e}'?: ${a};`))," ")}}`,Ve(4,2,1)),o=$("ValueId",q(S((e=>`'${e}'`))," | "),"A Value Id in "+re),r=$("ValueCallback",`(...[valueId, rowCallback]: ${q(S(((e,a)=>`[valueId: '${e}', value: ${a}]`))," | ")})${be}`,me("a Value Id, and value")),u=$("GetValueChange",`(valueId: ${o}) => ValueChange`,de+" returning information about any Value's changes during a transaction"),b=$("ValuesListener",`(${v}: ${V}, getValueChange: ${u}${ue})`+be,pe(9)),w=$("ValueIdsListener",`(${v}: ${V})${be}`,pe(10)),h=$("ValueListener",`(...[${v}, valueId, newValue, oldValue, getValueChange]: ${q(S(((e,a)=>`[${v}: ${V}, valueId: '${e}', newValue: ${a}${ue}, oldValue: ${a}${ue}, getValueChange: ${u} | undefined]`))," | ")})${be}`,pe(11)),g=$("InvalidValueListener",`(${v}: ${V}, valueId: Id, invalidValues: any[])${be}`,pe(12));i("hasValues",a,t,Ge("hasValues"),Re("any Value")),i("getValues",a,e,Ge("getValues"),Ve(0,2)),i("setValues","values: "+l,V,ze("setValues","values"),Ve(1,2)),i("setPartialValues","partialValues: "+l,V,ze("setPartialValues","partialValues"),Ve(2,2)),i("delValues",a,V,ze("delValues"),Ve(3,2)),i("getValueIds",a,o+"[]",Ge("getValueIds",a,o+"[]"),ve("Value",re)),i("forEachValue","valueCallback: "+r,"void",Ge("forEachValue","valueCallback as any"),fe("Value",re)),S(((e,l,o,n,s)=>{i(`has${s}Value`,a,t,Ge("hasValue",n),Re(Je(e))),i(`get${s}Value`,a,l,Ge("getValue",n,l),xe(e)),i(`set${s}Value`,"value: "+l,V,ze("setValue",n+", value"),xe(e,1)),i(`del${s}Value`,a,V,ze("delValue",n),xe(e,3))})),i("getValuesJson",a,"Json",Ge("getValuesJson"),Ve(5,2)),i("setValuesJson","valuesJson: Json",V,ze("setValuesJson","valuesJson"),Ve(6,2)),i("addValuesListener",`${ie}: ${b}, mutator?: boolean`,"Id",Fe("addValuesListener",a,"mutator"),Ve(7,2)+" changes"),i("addValueIdsListener",`${ie}: ${w}, mutator?: boolean`,"Id",Fe("addValueIdsListener",a,"mutator"),Le("the Value Ids",re,1)),i("addValueListener",`valueId: ${o} | null, ${ie}: ${h}, mutator?: boolean`,"Id",Fe("addValueListener","valueId","mutator"),Le("a Value",re)),i("addInvalidValueListener",`valueId: IdOrNull, ${ie}: ${g}, mutator?: boolean`,"Id",Fe("addInvalidValueListener","valueId","mutator"),Ie+" whenever an invalid Cell change was attempted"),d(1,C,e,o,r,b,w,h,g),d(0,"tinybase","ValueChange"),c(R,".setValuesSchema({",S(((e,l,t,o)=>[`[${o}]: {[${I(K(n),`'${n}'`)}]: ${I(K(l),`'${l}'`)}${T(t)?a:`, [${I(K(s),`'${s}'`)}]: ${f(t)?I(K(t),`'${t}'`):t}`}},`])),"})")}d(0,"tinybase",...Ne);const J=$("TransactionListener",`(${v}: ${V}, cellsTouched: boolean, valuesTouched: boolean)${be}`,de+" listening to the completion of a transaction");return i("getJson",a,"Json",Ge("getJson"),Ve(5)),i("setJson","json: Json",V,ze("setJson","json"),Ve(6)),i("transaction","actions: () => Return, doRollback?: DoRollback","Return",Ge("transaction","actions, doRollback"),"Execute a transaction to make multiple mutations","<Return>"),i("startTransaction",a,V,ze("startTransaction"),"Explicitly starts a transaction"),i("finishTransaction","doRollback?: DoRollback,",V,ze("finishTransaction","doRollback"),"Explicitly finishes a transaction"),i("addWillFinishTransactionListener",`${ie}: ${J}`,"Id",Fe("addWillFinishTransactionListener"),`${Ie} just before ${we}`),i("addDidFinishTransactionListener",`${ie}: ${J}`,"Id",Fe("addDidFinishTransactionListener"),`${Ie} just after ${we}`),i("callListener",ie+"Id: Id",V,ze("callListener",ie+"Id"),`Manually provoke a ${ie} to be called`),i("delListener",ie+"Id: Id",V,ze("delListener",ie+"Id"),`Remove a ${ie} that was previously added to ${re}`),i("getStore",a,"Store","store",Ae[0]+" the underlying Store object"),d(1,"tinybase","createStore",...Ne),d(1,C,V,`create${V} as create${V}Decl`,J),I("store",["createStore()",...R]),u("fluent","actions: () => Store",["actions();",`return ${v};`]),u("proxy",ie+": any",`(_: Store, ...args: any[]) => ${ie}(${v}, ...args)`),I(v,["{",...h(1),"}"]),[r(...b(0),...w(),`${$e} interface ${V} {`,...h(0),"}",a,X(`Creates a ${V} object`),`${$e} function create${V}(): ${V};`),r(...b(1),`${$e} const create${V}: typeof create${V}Decl = () => {`,...g(),`return Object.freeze(${v});`,"};")]};var Me=Object.defineProperty,Ze=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,Qe=Object.prototype.propertyIsEnumerable,Ue=(e,a,l)=>a in e?Me(e,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[a]=l,qe=(e,a)=>{for(var l in a||(a={}))_e.call(a,l)&&Ue(e,l,a[l]);if(Ze)for(var l of Ze(a))Qe.call(a,l)&&Ue(e,l,a[l]);return e},Be=(e,a,l)=>new Promise(((t,o)=>{var n=e=>{try{r(l.next(e))}catch(e){o(e)}},s=e=>{try{r(l.throw(e))}catch(e){o(e)}},r=e=>e.done?t(e.value):Promise.resolve(e.value).then(n,s);r((l=l.apply(e,a)).next())}));const He={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},Ke=se((e=>{const a=()=>{const a=g(e.getTablesSchemaJson());return!ne(a)||r(e.getTableIds(),(l=>{const t=e.getRowIds(l),o=k();if(r(t,(a=>r(e.getCellIds(l,a),(t=>{const n=e.getCell(l,a,t),s=x(o,t,(()=>[m(n),k(),[0],0])),[r,d,[$]]=s,i=x(d,n,(()=>0))+1;return i>$&&(s[2]=[i,n]),j(d,n,i),s[3]++,r==m(n)})))))return a[l]={},y(o,(([e,,[,o],r],d)=>{a[l][d]=qe({[n]:e},r==u(t)?{[s]:o}:{})})),1}))?a:{}},l=()=>{const a=g(e.getValuesSchemaJson());return ne(a)&&e.forEachValue(((e,l)=>{a[e]={[n]:m(l)}})),a},t=e=>We(a(),l(),e),o=e=>Be(void 0,null,(function*(){let a;try{a=(yield import("prettier")).format}catch(e){a=e=>e}return i(t(e),(e=>Q(a(e,He))))}));return le({getStoreStats:a=>{let l=0,t=0,o=0;const n={};return e.forEachTable(((e,s)=>{l++;let r=0,d=0;const $={};s(((e,l)=>{r++;let t=0;l((()=>t++)),d+=t,a&&($[e]={rowCells:t})})),t+=r,o+=d,a&&(n[e]={tableRows:r,tableCells:d,rows:$})})),qe({totalTables:l,totalRows:t,totalCells:o,totalValues:u(e.getValueIds()),jsonLength:U(e.getJson())},a?{detail:{tables:n}}:{})},getStoreTablesSchema:a,getStoreValuesSchema:l,getStoreApi:t,getPrettyStoreApi:o})}));export{Ke as createTools};
|
|
1
|
+
const e=e=>typeof e,a="",l=e(a),t=e(!0),o=e(0),n="type",s="default",r=(e,a)=>e.every(a),d=(e,a)=>e.sort(a),$=(e,a)=>e.forEach(a),i=(e,a)=>e.map(a),u=e=>e.length,I=e=>0==u(e),c=(e,...a)=>e.push(...a),b=e=>e.pop(),w=(e,...a)=>e.unshift(...a),h=e=>e.shift(),g=JSON.parse,C=isFinite,V=(e,a)=>e instanceof a,T=e=>null==e,v=e=>e==l||e==t,f=a=>e(a)==l,R=e=>Array.isArray(e),m=a=>{const l=e(a);return v(l)||l==o&&C(a)?l:void 0},p=(e,a)=>{var l;return null!=(l=null==e?void 0:e.has(a))&&l},L=e=>{var a;return[...null!=(a=null==e?void 0:e.values())?a:[]]},y=(e,a)=>null==e?void 0:e.forEach(a),S=(e,a)=>null==e?void 0:e.delete(a),k=e=>new Map(e),J=(e,a)=>null==e?void 0:e.get(a),E=(e,a)=>y(e,((e,l)=>a(l,e))),O=(e,a)=>{var l;return i([...null!=(l=null==e?void 0:e.entries())?l:[]],(([e,l])=>a(l,e)))},j=(e,a,l)=>T(l)?(S(e,a),e):null==e?void 0:e.set(a,l),x=(e,a,l)=>(p(e,a)||j(e,a,l()),J(e,a)),A=e=>new Set(R(e)||T(e)?e:[e]),P=(e,a)=>null==e?void 0:e.add(a),D=e=>[e,e],N=()=>[k(),k()],G=/[^A-Za-z]+/,z=/[^A-Za-z0-9]+/,F=/^( *)\/\*\* *(.*?) *\*\/$/gm,W=(e,a,l)=>e.substring(a,l),M=e=>e.toUpperCase(),Z=e=>e.toLowerCase(),_=(e,a,l,t=1)=>{const o=`${a}${1==t?"":t}`;return p(e,o)?_(e,a,l,t+1):(j(e,o,l),o)},Q=e=>e.replace(F,((e,a,l)=>{const t=77-U(a);return`${a}/**\n${l.replace(RegExp(`([^\\n]{1,${t}})(\\s|$)`,"g"),a+" * $1\n")}${a} */`})),U=e=>e.length,q=(e,l=a)=>e.join(l),B=e=>e.flat(1e3),H=(e,a=0)=>q(i(e.split(z),((e,l)=>(l>0||a?M:Z)(W(e,0,1))+W(e,1)))),K=e=>M(q((e&&!G.test(e[0])?e:" "+e).split(z),"_")),X=e=>`/** ${e}. */`,Y=()=>{const e=N(),l=k(),t=k(),o=k();return[(...e)=>q(B(e),"\n"),(a,l,...t)=>$(t,(t=>P(x(e[a],l,A),t))),(e,a,t)=>_(l,e,[a,t]),(e,a,l,o,n,s="")=>_(t,e,[a,l,o,n,s]),(e,a,l)=>_(o,e,R(l)?[`(${a}) => {`,l,"}"]:[`(${a}) => ${l}`]),(e,a)=>J(o,e)===a?e:_(o,e,a),l=>[...d(O(e[l],((e,a)=>`import {${q(d(L(e)),", ")}} from '${a}';`))),a],()=>O(l,(([e,l],t)=>[X(l),`export type ${t} = ${e};`,a])),e=>O(t,(([l,t,o,n,s],r)=>{const d=e?[`${r}: ${s}(${l}): ${t} => ${o},`]:[`${r}${s}(${l}): ${t};`];return e||w(d,X(n)),c(d,a),d})),()=>O(o,((e,l)=>(e=R(e)?e:[e],c(e,b(e)+";"),[`const ${l} = ${h(e)}`,e,a])))]},ee=Object,ae=ee.keys,le=ee.freeze,te=e=>V(e,ee)&&e.constructor==ee,oe=(e,a)=>i(ee.entries(e),(([e,l])=>a(l,e))),ne=e=>te(e)&&I(ae(e)),se=e=>{const a=new WeakMap;return l=>(a.has(l)||a.set(l,e(l)),a.get(l))},re="the Store",de="A function for",$e="export",ie="listener",ue=" | undefined",Ie=`Registers a ${ie} that will be called`,ce="Represents",be=" => void",we="the end of the transaction",he="the specified Row",ge="a string serialization of",Ce=(e=0,a=0)=>`the ${De[e]}content of${a?" "+re:""}`,Ve=(e,a=0,l=0)=>`${Ae[e]} ${Ce(a,1)}${l?" when set":""}`,Te=(e,a=0)=>`${ce} a Row when ${a?"s":"g"}etting ${Ce()} the '${e}' Table`,ve=(e,a,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in ${a}`,fe=(e,a)=>`Calls a function for each ${e} in ${a}`,Re=(e,a=re)=>`Gets whether ${e} exists in ${a}`,me=e=>"A function that takes "+e,pe=(e,a=0)=>`${de} listening to changes to ${Pe[e]} in ${Pe[a]}`,Le=(e,l,t=0)=>`${Ie} whenever ${e} in ${l} change`+(t?a:"s"),ye=e=>`the '${e}' Table`,Se=e=>`${he} in ${ye(e)}`,ke=e=>`the '${e}' Cell`,Je=e=>`the '${e}' Value`,Ee=(e,a=0)=>`${Ae[a]} ${Ce()} ${ye(e)}`,Oe=(e,a=0)=>`${Ae[a]} ${Ce()} ${Se(e)}`,je=(e,a,l=0)=>`${Ae[l]} ${ke(a)} for ${Se(e)}`,xe=(e,a=0)=>`${Ae[a]} ${Je(e)}`,Ae=["Gets","Sets","Sets part of","Deletes",ce,"Gets "+ge,"Sets "+ge,Ie+" whenever"],Pe=[re,"Tables","Table Ids","a Table","Row Ids","a Row","Cell Ids","a Cell","invalid Cell changes","Values","Value Ids","a Value","invalid Value changes"],De=["","tabular ","keyed value "],Ne=["DoRollback","Id","IdOrNull","Ids","Json","Store"],Ge=(e,l=a,t=a)=>`store.${e}(${l})${t?" as "+t:a}`,ze=(e,l=a)=>`fluent(() => ${Ge(e,l)})`,Fe=(e,l=a,t=a)=>`store.${e}(${l?l+", ":a}proxy(${ie})${t?", "+t:a})`,We=(e,l,o)=>{if(ne(e)&&ne(l))return D(a);const[r,d,$,i,u,I,b,w,h,g]=Y(),C=`./${H(o)}.d`,V=H(o,1),v=H(V),R=[],m=k(),p=l=>oe(e,((e,t)=>l(t,x(m,t,(()=>{const e=H(t,1);return[$(e+"Table",`{[rowId: Id]: ${e}Row}`,`${ce} the '${t}' Table`),$(e+"Row",`{${q(y(t,((e,l,t)=>`'${e}'${T(t)?"?":a}: ${l};`))," ")}}`,Te(t)),$(e+"RowWhenSet",`{${q(y(t,((e,a)=>`'${e}'?: ${a};`))," ")}}`,Te(t,1)),$(e+"CellId",q(y(t,(e=>`'${e}'`))," | "),`A Cell Id for the '${t}' Table`),$(e+"CellCallback",`(...[cellId, cell]: ${q(y(t,((e,a)=>`[cellId: '${e}', cell: ${a}]`))," | ")})${be}`,me(`a Cell Id and value from a Row in the '${t}' Table`)),$(e+"RowCallback",`(rowId: Id, forEachCell: (cellCallback: ${e}CellCallback)${be})${be}`,me(`a Row Id from the '${t}' Table, and a Cell iterator`))]})),H(t,1),I(K(t),`'${t}'`)))),y=(a,l)=>oe(e[a],((e,a)=>l(a,e[n],e[s],I(K(a),`'${a}'`),H(a,1)))),S=e=>oe(l,((a,l)=>e(l,a[n],a[s],I(K(l),`'${l}'`),H(l,1))));if(d(1,C,V,`create${V} as create${V}Decl`),!ne(e)){const e=$("Tables",`{${q(p(((e,a)=>`'${e}'?: ${a[0]};`))," ")}}`,Ve(4,1)),l=$("TableId",q(p((e=>`'${e}'`))," | "),"A Table Id in "+re),o=$("TableCallback",`(...[tableId, rowCallback]: ${q(p(((e,a)=>`[tableId: '${e}', forEachRow: (rowCallback: ${a[5]})${be}]`))," | ")})${be}`,me("a Table Id, and a Row iterator")),r=$("GetCellChange",`(...[tableId, rowId, cellId]: ${q(p(((e,a)=>`[tableId: '${e}', rowId: Id, cellId: ${a[3]}]`))," | ")}) => CellChange`,de+" returning information about any Cell's changes during a transaction"),u=$("TablesListener",`(${v}: ${V}, getCellChange: ${r}${ue})${be}`,pe(1)),b=$("TableIdsListener",`(${v}: ${V})${be}`,pe(2)),w=$("TableListener",`(${v}: ${V}, tableId: ${l}, getCellChange: ${r}${ue})${be}`,pe(3)),h=$("RowIdsListener",`(${v}: ${V}, tableId: ${l})`+be,pe(4,3)),g=$("RowListener",`(${v}: ${V}, tableId: ${l}, rowId: Id, getCellChange: ${r}${ue})${be}`,pe(5,3)),m=$("CellIdsListener",`(${v}: ${V}, tableId: ${l}, rowId: Id)`+be,pe(6,5)),S=$("CellListener",`(...[${v}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${q(B(p((e=>y(e,((a,l)=>`[${v}: ${V}, tableId: '${e}', rowId: Id, cellId: '${a}', newCell: ${l}${ue}, oldCell: ${l}${ue}, getCellChange: ${r} | undefined]`)))))," | ")})${be}`,pe(7,5)),J=$("InvalidCellListener",`(${v}: ${V}, tableId: Id, rowId: Id, cellId: Id, invalidCells: any[])${be}`,pe(8));i("hasTables",a,t,Ge("hasTables"),Re("any Table")),i("getTables",a,e,Ge("getTables"),Ve(0,1)),i("setTables","tables: "+e,V,ze("setTables","tables"),Ve(1,1)),i("delTables",a,V,ze("delTables"),Ve(3,1)),i("getTableIds",a,l+"[]",Ge("getTableIds",a,l+"[]"),ve("Table",re)),i("forEachTable","tableCallback: "+o,"void",Ge("forEachTable","tableCallback as any"),fe("Table",re));const O=k();p(((e,[l,o,n,s,r,$],u,I)=>{d(1,C,l,o,n,s,r,$),i(`has${u}Table`,a,t,Ge("hasTable",I),Re(ye(e))),i(`get${u}Table`,a,l,Ge("getTable",I,l),Ee(e)),i(`set${u}Table`,"table: "+l,V,ze("setTable",I+", table"),Ee(e,1)),i(`del${u}Table`,a,V,ze("delTable",I),Ee(e,3)),i(`get${u}RowIds`,a,"Ids",Ge("getRowIds",I),ve("Row",ye(e))),i(`get${u}SortedRowIds`,`cellId?: ${s}, descending?: boolean, offset?: number, limit?: number`,"Ids",Ge("getSortedRowIds",I+", cellId, descending, offset, limit"),ve("Row",ye(e),1)),i(`forEach${u}Row`,"rowCallback: "+$,"void",Ge("forEachRow",I+", rowCallback as any"),fe("Row",ye(e))),i(`has${u}Row`,"rowId: Id",t,Ge("hasRow",I+", rowId"),Re(he,ye(e))),i(`get${u}Row`,"rowId: Id",o,Ge("getRow",I+", rowId",o),Oe(e)),i(`set${u}Row`,"rowId: Id, row: "+n,V,ze("setRow",I+", rowId, row"),Oe(e,1)),i(`add${u}Row`,"row: "+n,"Id"+ue,Ge("addRow",I+", row"),"Adds a new Row to "+ye(e)),i(`set${u}PartialRow`,"rowId: Id, partialRow: "+n,V,ze("setPartialRow",I+", rowId, partialRow"),Oe(e,2)),i(`del${u}Row`,"rowId: Id",V,ze("delRow",I+", rowId"),Oe(e,3)),i(`get${u}CellIds`,"rowId: Id",s+"[]",Ge("getCellIds",I+", rowId",s+"[]"),ve("Cell",Se(e))),i(`forEach${u}Cell`,"rowId: Id, cellCallback: "+r,"void",Ge("forEachCell",I+", rowId, cellCallback as any"),fe("Cell",Se(e))),y(e,((l,o,n,s,r)=>{const d="Map"+H(o,1);j(O,o,d),i(`has${u}${r}Cell`,"rowId: Id",t,Ge("hasCell",`${I}, rowId, ${s}`),Re(ke(l),Se(e)));const $=`${o}${T(n)?ue:a}`;i(`get${u}${r}Cell`,"rowId: Id",$,Ge("getCell",`${I}, rowId, ${s}`,$),je(e,l)),i(`set${u}${r}Cell`,`rowId: Id, cell: ${o} | ${d}`,V,ze("setCell",`${I}, rowId, ${s}, cell as any`),je(e,l,1)),i(`del${u}${r}Cell`,"rowId: Id",V,ze("delCell",`${I}, rowId, ${s}`),je(e,l,3))}))})),i("getTablesJson",a,"Json",Ge("getTablesJson"),Ve(5,1)),i("setTablesJson","tablesJson: Json",V,ze("setTablesJson","tablesJson"),Ve(6,1)),i("addTablesListener",`${ie}: ${u}, mutator?: boolean`,"Id",Fe("addTablesListener",a,"mutator"),Ve(7,1)+" changes"),i("addTableIdsListener",`${ie}: ${b}, mutator?: boolean`,"Id",Fe("addTableIdsListener",a,"mutator"),Le("the Table Ids",re,1)),i("addTableListener",`tableId: ${l} | null, ${ie}: ${w}, mutator?: boolean`,"Id",Fe("addTableListener","tableId","mutator"),Le("a Table",re)),i("addRowIdsListener",`tableId: ${l} | null, ${ie}: ${h}, mutator?: boolean`,"Id",Fe("addRowIdsListener","tableId","mutator"),Le("the Row Ids","a Table",1)),i("addRowListener",`tableId: ${l} | null, rowId: IdOrNull, ${ie}: ${g}, mutator?: boolean`,"Id",Fe("addRowListener","tableId, rowId","mutator"),Le("a Row","a Table")),i("addCellIdsListener",`tableId: ${l} | null, rowId: IdOrNull, ${ie}: ${m}, mutator?: boolean`,"Id",Fe("addCellIdsListener","tableId, rowId","mutator"),Le("the Cell Ids","a Row",1)),i("addCellListener",`tableId: ${l} | null, rowId: IdOrNull, cellId: ${q(p(((e,a)=>a[3]))," | ")} | null, ${ie}: ${S}, mutator?: boolean`,"Id",Fe("addCellListener","tableId, rowId, cellId","mutator"),Le("a Cell","a Row")),i("addInvalidCellListener",`tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull, ${ie}: ${J}, mutator?: boolean`,"Id",Fe("addInvalidCellListener","tableId, rowId, cellId","mutator"),Ie+" whenever an invalid Cell change was attempted"),E(O,((e,a)=>$(a,`(cell: ${e}${ue}) => ${e}`,`Takes a ${e} Cell value and returns another`))),d(1,C,e,l,o,u,b,w,h,g,m,S,J,...L(O)),d(0,"tinybase","CellChange"),c(R,".setTablesSchema({",B(p(((e,l,t,o)=>[`[${o}]: {`,...y(e,((e,l,t,o)=>`[${o}]: {[${I(K(n),`'${n}'`)}]: ${I(K(l),`'${l}'`)}${T(t)?a:`, [${I(K(s),`'${s}'`)}]: ${f(t)?I(K(t),`'${t}'`):t}`}},`)),"},"]))),"})")}if(!ne(l)){const e=$("Values",`{${q(S(((e,l,t)=>`'${e}'${T(t)?"?":a}: ${l};`))," ")}}`,Ve(4,2)),l=$("ValuesWhenSet",`{${q(S(((e,a)=>`'${e}'?: ${a};`))," ")}}`,Ve(4,2,1)),o=$("ValueId",q(S((e=>`'${e}'`))," | "),"A Value Id in "+re),r=$("ValueCallback",`(...[valueId, rowCallback]: ${q(S(((e,a)=>`[valueId: '${e}', value: ${a}]`))," | ")})${be}`,me("a Value Id, and value")),u=$("GetValueChange",`(valueId: ${o}) => ValueChange`,de+" returning information about any Value's changes during a transaction"),b=$("ValuesListener",`(${v}: ${V}, getValueChange: ${u}${ue})`+be,pe(9)),w=$("ValueIdsListener",`(${v}: ${V})${be}`,pe(10)),h=$("ValueListener",`(...[${v}, valueId, newValue, oldValue, getValueChange]: ${q(S(((e,a)=>`[${v}: ${V}, valueId: '${e}', newValue: ${a}${ue}, oldValue: ${a}${ue}, getValueChange: ${u} | undefined]`))," | ")})${be}`,pe(11)),g=$("InvalidValueListener",`(${v}: ${V}, valueId: Id, invalidValues: any[])${be}`,pe(12));i("hasValues",a,t,Ge("hasValues"),Re("any Value")),i("getValues",a,e,Ge("getValues"),Ve(0,2)),i("setValues","values: "+l,V,ze("setValues","values"),Ve(1,2)),i("setPartialValues","partialValues: "+l,V,ze("setPartialValues","partialValues"),Ve(2,2)),i("delValues",a,V,ze("delValues"),Ve(3,2)),i("getValueIds",a,o+"[]",Ge("getValueIds",a,o+"[]"),ve("Value",re)),i("forEachValue","valueCallback: "+r,"void",Ge("forEachValue","valueCallback as any"),fe("Value",re)),S(((e,l,o,n,s)=>{i(`has${s}Value`,a,t,Ge("hasValue",n),Re(Je(e))),i(`get${s}Value`,a,l,Ge("getValue",n,l),xe(e)),i(`set${s}Value`,"value: "+l,V,ze("setValue",n+", value"),xe(e,1)),i(`del${s}Value`,a,V,ze("delValue",n),xe(e,3))})),i("getValuesJson",a,"Json",Ge("getValuesJson"),Ve(5,2)),i("setValuesJson","valuesJson: Json",V,ze("setValuesJson","valuesJson"),Ve(6,2)),i("addValuesListener",`${ie}: ${b}, mutator?: boolean`,"Id",Fe("addValuesListener",a,"mutator"),Ve(7,2)+" changes"),i("addValueIdsListener",`${ie}: ${w}, mutator?: boolean`,"Id",Fe("addValueIdsListener",a,"mutator"),Le("the Value Ids",re,1)),i("addValueListener",`valueId: ${o} | null, ${ie}: ${h}, mutator?: boolean`,"Id",Fe("addValueListener","valueId","mutator"),Le("a Value",re)),i("addInvalidValueListener",`valueId: IdOrNull, ${ie}: ${g}, mutator?: boolean`,"Id",Fe("addInvalidValueListener","valueId","mutator"),Ie+" whenever an invalid Cell change was attempted"),d(1,C,e,o,r,b,w,h,g),d(0,"tinybase","ValueChange"),c(R,".setValuesSchema({",S(((e,l,t,o)=>[`[${o}]: {[${I(K(n),`'${n}'`)}]: ${I(K(l),`'${l}'`)}${T(t)?a:`, [${I(K(s),`'${s}'`)}]: ${f(t)?I(K(t),`'${t}'`):t}`}},`])),"})")}d(0,"tinybase",...Ne);const J=$("TransactionListener",`(${v}: ${V}, cellsTouched: boolean, valuesTouched: boolean)${be}`,de+" listening to the completion of a transaction");return i("getJson",a,"Json",Ge("getJson"),Ve(5)),i("setJson","json: Json",V,ze("setJson","json"),Ve(6)),i("transaction","actions: () => Return, doRollback?: DoRollback","Return",Ge("transaction","actions, doRollback"),"Execute a transaction to make multiple mutations","<Return>"),i("startTransaction",a,V,ze("startTransaction"),"Explicitly starts a transaction"),i("finishTransaction","doRollback?: DoRollback,",V,ze("finishTransaction","doRollback"),"Explicitly finishes a transaction"),i("addWillFinishTransactionListener",`${ie}: ${J}`,"Id",Fe("addWillFinishTransactionListener"),`${Ie} just before ${we}`),i("addDidFinishTransactionListener",`${ie}: ${J}`,"Id",Fe("addDidFinishTransactionListener"),`${Ie} just after ${we}`),i("callListener",ie+"Id: Id",V,ze("callListener",ie+"Id"),`Manually provoke a ${ie} to be called`),i("delListener",ie+"Id: Id",V,ze("delListener",ie+"Id"),`Remove a ${ie} that was previously added to ${re}`),i("getStore",a,"Store","store",Ae[0]+" the underlying Store object"),d(1,"tinybase","createStore",...Ne),d(1,C,V,`create${V} as create${V}Decl`,J),I("store",["createStore()",...R]),u("fluent","actions: () => Store",["actions();",`return ${v};`]),u("proxy",ie+": any",`(_: Store, ...args: any[]) => ${ie}(${v}, ...args)`),I(v,["{",...h(1),"}"]),[r(...b(0),...w(),`${$e} interface ${V} {`,...h(0),"}",a,X(`Creates a ${V} object`),`${$e} function create${V}(): ${V};`),r(...b(1),`${$e} const create${V}: typeof create${V}Decl = () => {`,...g(),`return Object.freeze(${v});`,"};")]};var Me=Object.defineProperty,Ze=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,Qe=Object.prototype.propertyIsEnumerable,Ue=(e,a,l)=>a in e?Me(e,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[a]=l,qe=(e,a)=>{for(var l in a||(a={}))_e.call(a,l)&&Ue(e,l,a[l]);if(Ze)for(var l of Ze(a))Qe.call(a,l)&&Ue(e,l,a[l]);return e},Be=(e,a,l)=>new Promise(((t,o)=>{var n=e=>{try{r(l.next(e))}catch(e){o(e)}},s=e=>{try{r(l.throw(e))}catch(e){o(e)}},r=e=>e.done?t(e.value):Promise.resolve(e.value).then(n,s);r((l=l.apply(e,a)).next())}));const He={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},Ke=se((e=>{const a=()=>{const a=g(e.getTablesSchemaJson());return!ne(a)||r(e.getTableIds(),(l=>{const t=e.getRowIds(l),o=k();if(r(t,(a=>r(e.getCellIds(l,a),(t=>{const n=e.getCell(l,a,t),s=x(o,t,(()=>[m(n),k(),[0],0])),[r,d,[$]]=s,i=x(d,n,(()=>0))+1;return i>$&&(s[2]=[i,n]),j(d,n,i),s[3]++,r==m(n)})))))return a[l]={},y(o,(([e,,[,o],r],d)=>{a[l][d]=qe({[n]:e},r==u(t)?{[s]:o}:{})})),1}))?a:{}},l=()=>{const a=g(e.getValuesSchemaJson());return ne(a)&&e.forEachValue(((e,l)=>{a[e]={[n]:m(l)}})),a},t=e=>We(a(),l(),e),o=e=>Be(void 0,null,(function*(){let a;try{a=(yield import("prettier")).format}catch(e){a=e=>e}return i(t(e),(e=>Q(a(e,He))))}));return le({getStoreStats:a=>{let l=0,t=0,o=0;const n={};return e.forEachTable(((e,s)=>{l++;let r=0,d=0;const $={};s(((e,l)=>{r++;let t=0;l((()=>t++)),d+=t,a&&($[e]={rowCells:t})})),t+=r,o+=d,a&&(n[e]={tableRows:r,tableCells:d,rows:$})})),qe({totalTables:l,totalRows:t,totalCells:o,totalValues:u(e.getValueIds()),jsonLength:U(e.getJson())},a?{detail:{tables:n}}:{})},getStoreTablesSchema:a,getStoreValuesSchema:l,getStoreApi:t,getPrettyStoreApi:o,getStore:()=>e})}));export{Ke as createTools};
|
package/lib/es6/tools.js.gz
CHANGED
|
Binary file
|