tinybase 2.2.0-beta.0 → 2.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +1 -1
- package/lib/checkpoints.js +1 -1
- package/lib/checkpoints.js.gz +0 -0
- package/lib/debug/queries.js +4 -3
- package/lib/debug/store.js +5 -5
- package/lib/debug/tinybase.js +6 -6
- package/lib/debug/tools.d.ts +155 -5
- package/lib/debug/tools.js +488 -431
- package/lib/es6/checkpoints.js +1 -1
- package/lib/es6/checkpoints.js.gz +0 -0
- package/lib/es6/indexes.js +1 -1
- package/lib/es6/indexes.js.gz +0 -0
- package/lib/es6/metrics.js +1 -1
- package/lib/es6/metrics.js.gz +0 -0
- package/lib/es6/queries.js +1 -1
- package/lib/es6/queries.js.gz +0 -0
- package/lib/es6/relationships.js +1 -1
- package/lib/es6/relationships.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.d.ts +155 -5
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/indexes.js +1 -1
- package/lib/indexes.js.gz +0 -0
- package/lib/metrics.js +1 -1
- package/lib/metrics.js.gz +0 -0
- package/lib/queries.js +1 -1
- package/lib/queries.js.gz +0 -0
- package/lib/relationships.js +1 -1
- package/lib/relationships.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.d.ts +155 -5
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/umd/checkpoints.js +1 -1
- package/lib/umd/checkpoints.js.gz +0 -0
- package/lib/umd/indexes.js +1 -1
- package/lib/umd/indexes.js.gz +0 -0
- package/lib/umd/metrics.js +1 -1
- package/lib/umd/metrics.js.gz +0 -0
- package/lib/umd/queries.js +1 -1
- package/lib/umd/queries.js.gz +0 -0
- package/lib/umd/relationships.js +1 -1
- package/lib/umd/relationships.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.d.ts +155 -5
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd-es6/checkpoints.js +1 -1
- package/lib/umd-es6/checkpoints.js.gz +0 -0
- package/lib/umd-es6/indexes.js +1 -1
- package/lib/umd-es6/indexes.js.gz +0 -0
- package/lib/umd-es6/metrics.js +1 -1
- package/lib/umd-es6/metrics.js.gz +0 -0
- package/lib/umd-es6/queries.js +1 -1
- package/lib/umd-es6/queries.js.gz +0 -0
- package/lib/umd-es6/relationships.js +1 -1
- package/lib/umd-es6/relationships.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.d.ts +155 -5
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/lib/umd-es6/ui-react.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +6 -5
- package/readme.md +21 -2
package/lib/umd/tools.d.ts
CHANGED
|
@@ -224,21 +224,171 @@ export interface Tools {
|
|
|
224
224
|
|
|
225
225
|
/**
|
|
226
226
|
* The getStoreApi method returns a code-generated .d.ts file and a .ts file
|
|
227
|
-
* that
|
|
227
|
+
* that describe the schema of a Store in an ORM style.
|
|
228
228
|
*
|
|
229
|
-
*
|
|
229
|
+
* If the Store does not already have an explicit Schema associated with it,
|
|
230
|
+
* the data in the Store will be scanned to attempt to infer a new Schema. The
|
|
231
|
+
* method returns two strings (which should be saved as files) though if no
|
|
232
|
+
* schema can be inferred, the strings will be empty.
|
|
233
|
+
*
|
|
234
|
+
* The method takes a single argument which represents the name you want the
|
|
235
|
+
* generated store object to have in code. You are expected to save the files
|
|
236
|
+
* as `[storeName].d.ts` and `[storeName].ts`, and alongside each other so
|
|
237
|
+
* that the latter can import types from the former.
|
|
238
|
+
*
|
|
239
|
+
* The .d.ts and .ts files that are generated are designed to resemble the
|
|
240
|
+
* main TinyBase `store.d.ts` and `store.ts` files, but provide named types
|
|
241
|
+
* and methods that describe the domain of the schema in the store.
|
|
242
|
+
*
|
|
243
|
+
* For example, from a Store that has a `pets` Table, you will get methods
|
|
244
|
+
* like `getPetsTable`, and types like `PetsRow`, that are more specific
|
|
245
|
+
* versions of the underlying getTable method or the Row type. For example:
|
|
246
|
+
*
|
|
247
|
+
* |Store type|Equivalent generated type|
|
|
248
|
+
* |-|-|
|
|
249
|
+
* |Table|[Table]Table|
|
|
250
|
+
* |Row|[Table]Row|
|
|
251
|
+
* |(Cell) Id|[Table]CellId|
|
|
252
|
+
* |CellCallback|[Table]CellCallback|
|
|
253
|
+
* |...|...|
|
|
254
|
+
*
|
|
255
|
+
* |Store method|Equivalent generated method|
|
|
256
|
+
* |-|-|
|
|
257
|
+
* |setTable|set[Table]Table|
|
|
258
|
+
* |hasRow|has[Table]Row|
|
|
259
|
+
* |getCell|get[Table][Cell]Cell|
|
|
260
|
+
* |...|...|
|
|
261
|
+
*
|
|
262
|
+
* Equivalent to the TinyBase createStore function, a `create[StoreName]`
|
|
263
|
+
* function will also be created. This acts as the main entry point to the
|
|
264
|
+
* generated implementation.
|
|
265
|
+
*
|
|
266
|
+
* Each method is refined correctly to take, or return, the types specified by
|
|
267
|
+
* the schema. For example, if the `pets` Table has a numeric `price` Cell in
|
|
268
|
+
* the schema, the `getPetsPriceCell` method will be typed to return a number.
|
|
269
|
+
*
|
|
270
|
+
* The tables above include just a sample of the generated output. For the
|
|
271
|
+
* full set of methods and types generated by this method, inspect the output
|
|
272
|
+
* directly.
|
|
273
|
+
*
|
|
274
|
+
* @param storeName The name you want to provide to the generated Store, which
|
|
275
|
+
* should also be used to save the `.d.ts` and `.ts` files.
|
|
276
|
+
* @returns A pair of strings representing the contents of the `.d.ts` and
|
|
277
|
+
* `.ts` files.
|
|
278
|
+
* @example
|
|
279
|
+
* This example creates a Tools object and generates code for a Store that
|
|
280
|
+
* already has a Schema.
|
|
281
|
+
* ```js
|
|
282
|
+
* const store = createStore().setSchema({
|
|
283
|
+
* pets: {
|
|
284
|
+
* price: {type: 'number'},
|
|
285
|
+
* },
|
|
286
|
+
* });
|
|
287
|
+
* const [dTs, ts] = createTools(store).getStoreApi('shop');
|
|
288
|
+
*
|
|
289
|
+
* const dTsLines = dTs.split('\n');
|
|
290
|
+
* console.log(dTsLines[3]);
|
|
291
|
+
* // -> 'export type PetsTable = {[rowId: Id]: PetsRow};'
|
|
292
|
+
* console.log(dTsLines[6]);
|
|
293
|
+
* // -> 'export type PetsRow = {\'price\'?: number;};'
|
|
294
|
+
*
|
|
295
|
+
* const tsLines = ts.split('\n');
|
|
296
|
+
* console.log(tsLines[40]);
|
|
297
|
+
* // -> 'getPetsTable: (): PetsTable => store.getTable(PETS) as PetsTable,'
|
|
298
|
+
* ```
|
|
299
|
+
* @example
|
|
300
|
+
* This example creates a Tools object and generates code for a Store that
|
|
301
|
+
* doesn't already have a Schema.
|
|
302
|
+
* ```js
|
|
303
|
+
* const store = createStore().setTable('pets', {
|
|
304
|
+
* fido: {price: 5},
|
|
305
|
+
* felix: {price: 4},
|
|
306
|
+
* });
|
|
307
|
+
* const [dTs, ts] = createTools(store).getStoreApi('shop');
|
|
230
308
|
*
|
|
309
|
+
* const dTsLines = dTs.split('\n');
|
|
310
|
+
* console.log(dTsLines[3]);
|
|
311
|
+
* // -> 'export type PetsTable = {[rowId: Id]: PetsRow};'
|
|
312
|
+
* console.log(dTsLines[6]);
|
|
313
|
+
* // -> 'export type PetsRow = {\'price\': number;};'
|
|
314
|
+
*
|
|
315
|
+
* const tsLines = ts.split('\n');
|
|
316
|
+
* console.log(tsLines[42]);
|
|
317
|
+
* // -> 'getPetsTable: (): PetsTable => store.getTable(PETS) as PetsTable,'
|
|
318
|
+
* ```
|
|
231
319
|
* @category Modelling
|
|
232
320
|
* @since v2.2.0
|
|
233
321
|
*/
|
|
234
322
|
getStoreApi(storeName: string): [string, string];
|
|
235
323
|
|
|
236
324
|
/**
|
|
237
|
-
* The
|
|
238
|
-
* file and a .ts file that
|
|
325
|
+
* The getPrettyStoreApi method attempts to returns a prettified
|
|
326
|
+
* code-generated .d.ts file and a .ts file that describe the schema of a
|
|
327
|
+
* Store in an ORM style.
|
|
328
|
+
*
|
|
329
|
+
* This is simply a wrapper around the getStoreApi method that attempts to
|
|
330
|
+
* invoke the `prettier` module (which it hopes you have installed) to format
|
|
331
|
+
* the generated code. If `prettier` is not present, the output will resemble
|
|
332
|
+
* that of the underlying getStoreApi method.
|
|
239
333
|
*
|
|
240
|
-
*
|
|
334
|
+
* The method is asynchronous, so you should use the `await` keyword or handle
|
|
335
|
+
* the results as a promise.
|
|
241
336
|
*
|
|
337
|
+
* The method takes a single argument which represents the name you want the
|
|
338
|
+
* generated store object to have in code. You are expected to save the files
|
|
339
|
+
* as `[storeName].d.ts` and `[storeName].ts`, and alongside each other so
|
|
340
|
+
* that the latter can import types from the former.
|
|
341
|
+
*
|
|
342
|
+
* See the documentation for the getStoreApi method for details of the content
|
|
343
|
+
* of the generated files.
|
|
344
|
+
*
|
|
345
|
+
* @param storeName The name you want to provide to the generated Store, which
|
|
346
|
+
* should also be used to save the `.d.ts` and `.ts` files.
|
|
347
|
+
* @returns A pair of strings representing the contents of the `.d.ts` and
|
|
348
|
+
* `.ts` files.
|
|
349
|
+
* @example
|
|
350
|
+
* This example creates a Tools object and generates code for a Store that
|
|
351
|
+
* already has a Schema.
|
|
352
|
+
* ```js
|
|
353
|
+
* const store = createStore().setSchema({
|
|
354
|
+
* pets: {
|
|
355
|
+
* price: {type: 'number'},
|
|
356
|
+
* },
|
|
357
|
+
* });
|
|
358
|
+
* const tools = createTools(store);
|
|
359
|
+
* const [dTs, ts] = await tools.getPrettyStoreApi('shop');
|
|
360
|
+
*
|
|
361
|
+
* const dTsLines = dTs.split('\n');
|
|
362
|
+
* console.log(dTsLines[14]);
|
|
363
|
+
* // -> 'export type PetsTable = {[rowId: Id]: PetsRow};'
|
|
364
|
+
* console.log(dTsLines[19]);
|
|
365
|
+
* // -> 'export type PetsRow = {price?: number};'
|
|
366
|
+
*
|
|
367
|
+
* const tsLines = ts.split('\n');
|
|
368
|
+
* console.log(tsLines[73]);
|
|
369
|
+
* // -> ' hasPetsTable: (): boolean => store.hasTable(PETS),'
|
|
370
|
+
* ```
|
|
371
|
+
* @example
|
|
372
|
+
* This example creates a Tools object and generates code for a Store that
|
|
373
|
+
* doesn't already have a Schema.
|
|
374
|
+
* ```js
|
|
375
|
+
* const store = createStore().setTable('pets', {
|
|
376
|
+
* fido: {price: 5},
|
|
377
|
+
* felix: {price: 4},
|
|
378
|
+
* });
|
|
379
|
+
* const tools = createTools(store);
|
|
380
|
+
* const [dTs, ts] = await tools.getPrettyStoreApi('shop');
|
|
381
|
+
*
|
|
382
|
+
* const dTsLines = dTs.split('\n');
|
|
383
|
+
* console.log(dTsLines[14]);
|
|
384
|
+
* // -> 'export type PetsTable = {[rowId: Id]: PetsRow};'
|
|
385
|
+
* console.log(dTsLines[19]);
|
|
386
|
+
* // -> 'export type PetsRow = {price: number};'
|
|
387
|
+
*
|
|
388
|
+
* const tsLines = ts.split('\n');
|
|
389
|
+
* console.log(tsLines[75]);
|
|
390
|
+
* // -> ' hasPetsTable: (): boolean => store.hasTable(PETS),'
|
|
391
|
+
* ```
|
|
242
392
|
* @category Modelling
|
|
243
393
|
* @since v2.2.0
|
|
244
394
|
*/
|
package/lib/umd/tools.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,l="",a=t(l),o=t(!0),n=t(0),r="type",s="default",d=(e,t)=>e.every(t),i=(e,t)=>e.sort(t),$=(e,t)=>e.forEach(t),c=(e,t)=>e.map(t),I=e=>e.length,b=(e,...t)=>e.push(...t),h=e=>e.shift(),w=JSON.parse,u=isFinite,f=e=>null==e,C=e=>Array.isArray(e),g=(e,t)=>e?.has(t)??!1,T=e=>[...e?.values()??[]],R=(e,t)=>e?.forEach(t),p=e=>new Map(e),v=(e,t)=>e?.get(t),m=(e,t)=>c([...e?.entries()??[]],(([e,l])=>t(l,e))),S=(e,t,l)=>{return f(l)?(a=t,e?.delete(a),e):e?.set(t,l);var a},y=(e,t,l)=>(g(e,t)||S(e,t,l()),v(e,t)),L=e=>new Set(C(e)||f(e)?e:[e]),k=/[^A-Za-z0-9]+/,A=/^( *)\/\*\* *(.*?) *\*\/$/gm,E=(e,t,l)=>e.substring(t,l),x=e=>e.toUpperCase(),j=e=>e.toLowerCase(),J=(e,t,l,a=1)=>{const o=`${t}${1==a?"":a}`;return g(e,o)?J(e,t,l,a+1):(S(e,o,l),o)},O=e=>e.length,N=(e,t="")=>e.join(t),G=(e,t=0)=>N(c(e.split(k),((e,l)=>(l>0||t?x:j)(E(e,0,1))+E(e,1)))),z=e=>x(N(e.split(k),"_")),D=e=>`/** ${e}. */`,F=()=>{const e=[p(),p()],t=p(),a=p(),o=p();return[(...e)=>{const t=[],l=e=>C(e)?$(e,l):b(t,e);return $(e,l),t.join("\n")},(t,l,...a)=>$(a,(a=>{return o=y(e[t],l,L),n=a,o?.add(n);var o,n})),(e,l="",a="")=>J(t,e,[l,a]),(e,l,a)=>S(t,e,[l,a]),(e,t,l,o,n,r="")=>J(a,e,[t,l,o,n,r]),(e,t,l)=>J(o,e,C(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>v(o,e)===t?e:J(o,e,t),t=>[...i(m(e[t],((e,t)=>`import {${N(i(T(e)),", ")}} from '${t}';`))),l],()=>m(t,(([e,t],a)=>[D(t),`export type ${a} = ${e};`,l])),e=>m(a,(([t,a,o,n,r],s)=>{const d=e?[`${s}: ${r}(${t}): ${a} => ${o},`]:[`${s}${r}(${t}): ${a};`];return e||((e,...t)=>{e.unshift(...t)})(d,D(n)),b(d,l),d})),()=>m(o,((e,t)=>(e=C(e)?e:[e],b(e,e.pop()+";"),[`const ${t} = ${h(e)}`,e,l])))]},M=Object,W=M.keys,P=M.freeze,_=(e,t)=>{return a=e=>e[t],f(l=e)?o?.():a(l);var l,a,o},B=(e,t)=>$(M.entries(e),(([e,l])=>t(l,e))),Q=e=>{return t=W(e),0==I(t);var t},U=e=>{const l=t(e);return(e=>e==a||e==o)(l)||l==n&&u(e)?l:void 0},Z="the Store",q="the specified Row",H="Registers a listener that will be called",K=(e,t="",l="")=>`store.${e}(${t})${l?" as "+l:""}`,V=(e,t="")=>`fluent(() => ${K(e,t)})`,X=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in ${t}`,Y=(e,t)=>`Calls a function for each ${e} in ${t}`,ee=(e,t=Z)=>`Gets whether ${e} exists in ${t}`,te=e=>"A function that takes "+e,le=(e,t,l=0)=>`${H} whenever ${e} in ${t} change`+(l?"":"s"),ae=(e=0)=>1==e?"Sets":2==e?"Sets part of":3==e?"Deletes":"Gets",oe=(e,l)=>{if(Q(e))return[n="// store has no inferable schema",n];var n;const d=G(l),i=G(l,1),$=G(i),c=`return ${$};`,I=[],h=[],w=[],u=[],C=[],g=[],v=[],m=(e,t="",l="")=>`store.${e}(${t?t+", ":""}proxy(listener)${l?", "+l:""})`,[y,L,k,A,E,x,j,J,O,M,W]=F();L(0,"tinybase","CellChange","ChangedCells","Id","IdOrNull","Ids","InvalidCells","Json","Store"),L(1,"tinybase","ChangedCells","Id","IdOrNull","Ids","InvalidCells","Json","Store","createStore"),x("fluent","actions: () => Store",["actions();",c]),x("proxy","listener: any",`(_: Store, ...args: any[]) => listener(${$}, ...args)`);const P=j(z(r),"'type'"),U=j(z(s),"'default'"),oe=k("Tables"),ne=k("TableId"),re=k("TableCallback"),se=k("GetCellChange"),de=k("TablesListener",`(${$}: ${i}, getCellChange: ${se} | undefined) => void`,"A function for listening to changes to the content of the Store"),ie=k("TableIdsListener",`(${$}: ${i}) => void`,"A function for listening to changes to Table Ids in the Store"),$e=k("TableListener",`(${$}: ${i}, tableId: ${ne}, getCellChange: ${se} | undefined) => void`,"A function for listening to changes to a Table in the Store"),ce=k("RowIdsListener",`(${$}: ${i}, tableId: ${ne}) => void`,"A function for listening to changes to Row Ids in the Store"),Ie=k("RowListener",`(${$}: ${i}, tableId: ${ne}, rowId: Id, getCellChange: ${se} | undefined) => void`,"A function for listening to changes to a Row in the Store"),be=k("CellIdsListener",`(${$}: ${i}, tableId: ${ne}, rowId: Id) => void`,"A function for listening to changes to Cell Ids in the Store"),he=k("CellListener"),we=k("InvalidCellListener",`(${$}: ${i}, tableId: Id, rowId: Id, cellId: Id, invalidCells: any[]) => void;`,"A function for listening to invalid Cell changes"),ue=k("TransactionListener",`(${$}: ${i}, cellsTouched: boolean) => void;`,"A function for listening to the completion of a transaction");L(1,`./${d}.d`,i,`create${i} as create${i}Decl`,oe,ne,re,de,ie,$e,ce,Ie,be,he,we,ue);const fe=(e=0)=>ae(e)+" the content of the Store";E("hasTables","",o,K("hasTables"),ee("any Table")),E("getTables","",oe,K("getTables"),fe()),E("setTables","tables: "+oe,i,V("setTables","tables"),fe(1)),E("delTables","",i,V("delTables"),fe(3)),E("getTableIds","",ne+"[]",K("getTableIds","",ne+"[]"),X("Table",Z)),E("forEachTable","tableCallback: "+re,"void",K("forEachTable","tableCallback as any"),Y("Table",Z));const Ce=p();var ge;return B(e,((e,l)=>{const n=G(l,1),r=j(z(l),`'${l}'`),c=[],T=[],R=[],p=[],m=`the '${l}' Table`,y="the specified Row in "+m,x="the content of "+m,J=(e=0)=>`${ae(e)} the content of ${m}`,O=(e=0)=>`${ae(e)} the content of ${y}`,D=(e=0)=>`Represents a Row when ${e?"s":"g"}etting ${x}`,F=k(n+"Table",`{[rowId: Id]: ${n}Row}`,"Represents "+m),M=k(n+"Row"),W=k(n+"RowWhenSet"),Q=k(n+"CellId"),Z=k(n+"CellCallback"),H=k(n+"RowCallback");L(1,`./${d}.d`,F,M,W,Q,Z,H),E(`has${n}Table`,"",o,K("hasTable",r),ee(m)),E(`get${n}Table`,"",F,K("getTable",r,F),J()),E(`set${n}Table`,"table: "+F,i,V("setTable",r+", table"),J(1)),E(`del${n}Table`,"",i,V("delTable",r),J(3)),E(`get${n}RowIds`,"","Ids",K("getRowIds",r),X("Row",m)),E(`get${n}SortedRowIds`,`cellId?: ${Q}, descending?: boolean, offset?: number, limit?: number`,"Ids",K("getSortedRowIds",r+", cellId, descending, offset, limit"),X("Row",m,1)),E(`forEach${n}Row`,"rowCallback: "+H,"void",K("forEachRow",r+", rowCallback as any"),Y("Row",m)),E(`has${n}Row`,"rowId: Id",o,K("hasRow",r+", rowId"),ee(q,m)),E(`get${n}Row`,"rowId: Id",M,K("getRow",r+", rowId",M),O()),E(`set${n}Row`,"rowId: Id, row: "+W,i,V("setRow",r+", rowId, row"),O(1)),E(`add${n}Row`,"row: "+W,"Id | undefined",K("addRow",r+", row"),"Adds a new Row to "+m),E(`set${n}PartialRow`,"rowId: Id, partialRow: "+W,i,V("setPartialRow",r+", rowId, partialRow"),O(2)),E(`del${n}Row`,"rowId: Id",i,V("delRow",r+", rowId"),O(3)),E(`get${n}CellIds`,"rowId: Id",Q+"[]",K("getCellIds",r+", rowId",Q+"[]"),X("Cell",y)),E(`forEach${n}Cell`,"rowId: Id, cellCallback: "+Z,"void",K("forEachCell",r+", rowId, cellCallback as any"),Y("Cell",y)),b(v,`[${r}]: {`),B(e,((e,d)=>{const I=G(d,1),h=j(z(d),`'${d}'`),w=e.type,u=!f(_(e,s)),g=e.default,m=`the '${d}' Cell`,L=(e=0)=>`${ae(e)} ${m} for ${y}`;var k;b(v,`[${h}]: {[${P}]: ${j(z(w),`'${w}'`)}${u?`, [${U}]: ${k=g,t(k)==a?j(z(g),`'${g}'`):g}`:""}},`),b(c,`'${d}'${u?"":"?"}: ${w};`),b(T,`'${d}'?: ${w};`),b(R,`'${d}'`),b(p,`[cellId: '${d}', cell: ${w}]`),b(C,`[${$}: ${i}, tableId: '${l}', rowId: Id, cellId: '${d}', newCell: ${w} | undefined, oldCell: ${w} | undefined, getCellChange: ${se} | undefined]`);const A="Map"+G(w,1);S(Ce,w,A),E(`has${n}${I}Cell`,"rowId: Id",o,K("hasCell",`${r}, rowId, ${h}`),ee(m,y));const x=`${w}${u?"":" | undefined"}`;E(`get${n}${I}Cell`,"rowId: Id",x,K("getCell",`${r}, rowId, ${h}`,x),L()),E(`set${n}${I}Cell`,`rowId: Id, cell: ${w} | ${A}`,i,V("setCell",`${r}, rowId, ${h}, cell as any`),L(1)),E(`del${n}${I}Cell`,"rowId: Id",i,V("delCell",`${r}, rowId, ${h}`),L(3))})),b(v,"},"),b(I,`'${l}'?: ${F};`),b(h,`'${l}'`),b(w,`[tableId: '${l}', forEachRow: (rowCallback: ${H}) => void]`),b(u,`[tableId: '${l}', rowId: Id, cellId: ${Q}]`),b(g,Q),A(M,`{${N(c," ")}}`,D()),A(W,`{${N(T," ")}}`,D(1)),A(Q,N(R," | "),"A Cell Id for "+m),A(Z,`(...[cellId, cell]: ${N(p," | ")}) => void`,te("a Cell Id and value from a Row in "+m)),A(H,`(rowId: Id, forEachCell: (cellCallback: ${Z}) => void) => void`,te(`a Row Id from ${m}, and a Cell iterator`))})),E("getJson","","Json",K("getJson"),"Gets a a string serialization the content of the Store"),E("setJson","json: Json",i,V("setJson","json"),"Sets the content of the Store from a serialized string"),E("transaction","actions: () => Return, doRollback?: (changedCells: ChangedCells, invalidCells: InvalidCells) => boolean","Return",K("transaction","actions, doRollback"),"Execute a transaction to make multiple mutations","<Return>"),E("startTransaction","",i,V("startTransaction"),"Explicitly starts a transaction"),E("finishTransaction","doRollback?: (changedCells: ChangedCells, invalidCells: InvalidCells) => boolean,",i,V("finishTransaction","doRollback"),"Explicitly finishes a transaction"),E("addTablesListener",`listener: ${de}, mutator?: boolean`,"Id",m("addTablesListener","","mutator"),H+" whenever the content of the Store changes"),E("addTableIdsListener",`listener: ${ie}, mutator?: boolean`,"Id",m("addTableIdsListener","","mutator"),le("the Table Ids",Z,1)),E("addTableListener",`tableId: ${ne} | null, listener: ${$e}, mutator?: boolean`,"Id",m("addTableListener","tableId","mutator"),le("a Table",Z)),E("addRowIdsListener",`tableId: ${ne} | null, listener: ${ce}, mutator?: boolean`,"Id",m("addRowIdsListener","tableId","mutator"),le("the Row Ids","a Table",1)),E("addRowListener",`tableId: ${ne} | null, rowId: IdOrNull, listener: ${Ie}, mutator?: boolean`,"Id",m("addRowListener","tableId, rowId","mutator"),le("a Row","a Table")),E("addCellIdsListener",`tableId: ${ne} | null, rowId: IdOrNull, listener: ${be}, mutator?: boolean`,"Id",m("addCellIdsListener","tableId, rowId","mutator"),le("the Cell Ids","a Row",1)),E("addCellListener",`tableId: ${ne} | null, rowId: IdOrNull, cellId: ${N(g," | ")} | null, listener: ${he}, mutator?: boolean`,"Id",m("addCellListener","tableId, rowId, cellId","mutator"),le("a Cell","a Row")),E("addInvalidCellListener",`tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull, listener: ${we}, mutator?: boolean`,"Id",m("addCellListener","tableId, rowId, cellId","mutator"),H+" whenever an invalid Cell change was attempted"),E("addWillFinishTransactionListener","listener: "+ue,"Id",m("addWillFinishTransactionListener"),H+" just before the end of the transaction"),E("addDidFinishTransactionListener","listener: "+ue,"Id",m("addDidFinishTransactionListener"),H+" just after the end of the transaction"),E("callListener","listenerId: Id",i,V("callListener","listenerId"),"Manually provoke a listener to be called"),E("delListener","listenerId: Id",i,V("delListener","listenerId"),"Remove a listener that was previously added to the Store"),E("getStore","","Store","store","Gets the underlying Store object"),A(oe,`{${N(I," ")}}`,"Represents the content of the Store"),A(ne,N(h," | "),"A Table Id in the Store"),A(re,`(...[tableId, rowCallback]: ${N(w," | ")}) => void`,te("a Table Id, and a Row iterator")),A(se,`(...[tableId, rowId, cellId]: ${N(u," | ")}) => CellChange`,"A function that returns information about any Cell's changes during a transaction"),A(he,`(...[${$}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${N(C," | ")}) => void`,"A function for listening to changes to a Cell in the Store"),ge=(e,t)=>k(t,`(cell: ${e} | undefined) => ${e}`,`Takes a ${e} Cell value and returns another`),R(Ce,((e,t)=>ge(t,e))),L(1,`./${d}.d`,...T(Ce)),j("store",["createStore().setSchema({",...v,"})"]),j($,["{",...M(1),"}"]),[y(...J(0),...O(),`export interface ${i} {`,...M(0),"}","",D(`Creates a ${i} object`),`export function create${i}(): ${i};`),y(...J(1),`export const create${i}: typeof create${i}Decl = () => {`,...W(),`return Object.freeze(${$});`,"};")]},ne={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},re=(e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))})((e=>{const t=()=>{const t=w(e.getSchemaJson());return!Q(t)||d(e.getTableIds(),(l=>{const a=e.getRowIds(l),o=p();if(d(a,(t=>d(e.getCellIds(l,t),(a=>{const n=e.getCell(l,t,a),r=y(o,a,(()=>[U(n),p(),[0],0])),[s,d,[i]]=r,$=y(d,n,(()=>0))+1;return $>i&&(r[2]=[$,n]),S(d,n,$),r[3]++,s==U(n)})))))return t[l]={},R(o,(([e,,[,o],n],d)=>{t[l][d]={[r]:e,...n==I(a)?{[s]:o}:{}}})),1}))?t:{}},l=e=>oe(t(),e);return P({getStoreStats:t=>{let l=0,a=0,o=0;const n={};return e.forEachTable(((e,r)=>{l++;let s=0,d=0;const i={};r(((e,l)=>{s++;let a=0;l((()=>a++)),d+=a,t&&(i[e]={rowCells:a})})),a+=s,o+=d,t&&(n[e]={tableRows:s,tableCells:d,rows:i})})),{totalTables:l,totalRows:a,totalCells:o,jsonLength:O(e.getJson()),...t?{detail:{tables:n}}:{}}},getStoreSchema:t,getStoreApi:l,getPrettyStoreApi:async e=>{const t=l(e);try{const{format:e}=await import("prettier");return c(t,(t=>(e=>e.replace(A,((e,t,l)=>{const a=77-O(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})))(e(t,ne))))}catch{}return t}})}));e.createTools=re},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
|
|
1
|
+
var e,l;e=this,l=function(e){"use strict";const l=e=>typeof e,t="",a=l(t),o=l(!0),n=l(0),d="type",r="default",s=(e,l)=>e.every(l),$=(e,l)=>e.sort(l),i=(e,l)=>e.forEach(l),I=(e,l)=>e.map(l),c=e=>e.length,b=e=>0==c(e),w=(e,...l)=>e.push(...l),C=e=>e.pop(),h=(e,...l)=>e.unshift(...l),u=e=>e.shift(),g=JSON.parse,T=isFinite,f=e=>null==e,R=e=>e==a||e==o,p=e=>l(e)==a,m=e=>Array.isArray(e),y=(e,l)=>e?.has(l)??!1,L=e=>[...e?.values()??[]],v=(e,l)=>e?.forEach(l),S=(e,l)=>e?.delete(l),k=e=>new Map(e),E=(e,l)=>e?.get(l),j=(e,l)=>v(e,((e,t)=>l(t,e))),x=(e,l)=>I([...e?.entries()??[]],(([e,t])=>l(t,e))),A=(e,l,t)=>f(t)?(S(e,l),e):e?.set(l,t),J=(e,l,t)=>(y(e,l)||A(e,l,t()),E(e,l)),O=e=>new Set(m(e)||f(e)?e:[e]),N=(e,l)=>e?.add(l),z=e=>[e,e],D=()=>[k(),k()],F=/[^A-Za-z0-9]+/,G=/^( *)\/\*\* *(.*?) *\*\/$/gm,M=(e,l,t)=>e.substring(l,t),W=e=>e.toUpperCase(),P=e=>e.toLowerCase(),_=(e,l,t,a=1)=>{const o=`${l}${1==a?"":a}`;return y(e,o)?_(e,l,t,a+1):(A(e,o,t),o)},B=e=>e.replace(G,((e,l,t)=>{const a=77-Q(l);return`${l}/**\n${t.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),l+" * $1\n")}${l} */`})),Q=e=>e.length,U=(e,l=t)=>e.join(l),Z=e=>e.flat(1e3),q=(e,l=0)=>U(I(e.split(F),((e,t)=>(t>0||l?W:P)(M(e,0,1))+M(e,1)))),H=e=>W(U(e.split(F),"_")),K=e=>`/** ${e}. */`,V=()=>{const e=D(),l=k(),a=k(),o=k();return[(...e)=>U(Z(e),"\n"),(l,t,...a)=>i(a,(a=>N(J(e[l],t,O),a))),(e,t="",a="")=>_(l,e,[t,a]),(e,l,t,o,n,d="")=>_(a,e,[l,t,o,n,d]),(e,l,t)=>_(o,e,m(t)?[`(${l}) => {`,t,"}"]:[`(${l}) => ${t}`]),(e,l)=>E(o,e)===l?e:_(o,e,l),l=>[...$(x(e[l],((e,l)=>`import {${U($(L(e)),", ")}} from '${l}';`))),t],()=>x(l,(([e,l],a)=>[K(l),`export type ${a} = ${e};`,t])),e=>x(a,(([l,a,o,n,d],r)=>{const s=e?[`${r}: ${d}(${l}): ${a} => ${o},`]:[`${r}${d}(${l}): ${a};`];return e||h(s,K(n)),w(s,t),s})),()=>x(o,((e,l)=>(e=m(e)?e:[e],w(e,C(e)+";"),[`const ${l} = ${u(e)}`,e,t])))]},X=Object,Y=X.keys,ee=X.freeze,le=(e,l)=>I(X.entries(e),(([e,t])=>l(t,e))),te=e=>b(Y(e)),ae=e=>{const t=l(e);return R(t)||t==n&&T(e)?t:void 0},oe="the content of",ne="the Store",de="A function for",re="export",se="listener",$e=" | undefined",ie=`Registers a ${se} that will be called`,Ie="Represents",ce=" => void",be=`${oe} ${ne}`,we="the end of the transaction",Ce="the specified Row",he=(e,l=0)=>`${Ie} a Row when ${l?"s":"g"}etting ${oe} the '${e}' Table`,ue=(e,l,t=0)=>`Gets ${t?"sorted, paginated":"the"} Ids of the ${e}s in ${l}`,ge=(e,l)=>`Calls a function for each ${e} in ${l}`,Te=(e,l=ne)=>`Gets whether ${e} exists in ${l}`,fe=e=>"A function that takes "+e,Re=(e=0,l=0)=>`${de} listening to changes to ${xe[e]} in ${xe[l]}`,pe=(e,l,t=0)=>`${ie} whenever ${e} in ${l} change`+(t?"":"s"),me=(e=0)=>`${je[e]} ${be}`,ye=e=>`the '${e}' Table`,Le=e=>`${Ce} in ${ye(e)}`,ve=e=>`the '${e}' Cell`,Se=(e,l=0)=>`${je[l]} ${oe} ${ye(e)}`,ke=(e,l=0)=>`${je[l]} ${oe} ${Le(e)}`,Ee=(e,l,t=0)=>`${je[t]} ${ve(l)} for ${Le(e)}`,je=["Gets","Sets","Sets part of","Deletes"],xe=[ne,"anything","Table Ids","a Table","Row Ids","a Row","Cell Ids","a Cell","invalid Cell changes"],Ae=["ChangedCells","Id","IdOrNull","Ids","InvalidCells","Json","Store"],Je=(e,l=t,a=t)=>`store.${e}(${l})${a?" as "+a:t}`,Oe=(e,l=t)=>`fluent(() => ${Je(e,l)})`,Ne=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(${se})${a?", "+a:t})`,ze=(e,l)=>{if(te(e))return z(t);const[a,n,s,$,i,I,c,b,w,C]=V(),h=`./${q(l)}.d`,u=q(l,1),g=q(u),T=k(),R=l=>le(e,((e,a)=>l(a,J(T,a,(()=>{const e=q(a,1);return[s(e+"Table",`{[rowId: Id]: ${e}Row}`,`${Ie} the '${a}' Table`),s(e+"Row",`{${U(m(a,((e,l,a)=>`'${e}'${f(a)?"?":t}: ${l};`))," ")}}`,he(a)),s(e+"RowWhenSet",`{${U(m(a,((e,l)=>`'${e}'?: ${l};`))," ")}}`,he(a,1)),s(e+"CellId",U(m(a,(e=>`'${e}'`))," | "),`A Cell Id for the '${a}' Table`),s(e+"CellCallback",`(...[cellId, cell]: ${U(m(a,((e,l)=>`[cellId: '${e}', cell: ${l}]`))," | ")})${ce}`,fe(`a Cell Id and value from a Row in the '${a}' Table`)),s(e+"RowCallback",`(rowId: Id, forEachCell: (cellCallback: ${e}CellCallback)${ce})${ce}`,fe(`a Row Id from the '${a}' Table, and a Cell iterator`))]})),q(a,1),I(H(a),`'${a}'`)))),m=(l,t)=>le(e[l],((e,l)=>t(l,e[d],e[r],I(H(l),`'${l}'`),q(l,1)))),y=s("Tables",`{${U(R(((e,l)=>`'${e}'?: ${l[0]};`))," ")}}`,`${Ie} ${be}`),v=s("TableId",U(R((e=>`'${e}'`))," | "),"A Table Id in "+ne),S=s("TableCallback",`(...[tableId, rowCallback]: ${U(R(((e,l)=>`[tableId: '${e}', forEachRow: (rowCallback: ${l[5]})${ce}]`))," | ")})${ce}`,fe("a Table Id, and a Row iterator")),E=s("GetCellChange",`(...[tableId, rowId, cellId]: ${U(R(((e,l)=>`[tableId: '${e}', rowId: Id, cellId: ${l[3]}]`))," | ")}) => CellChange`,de+" returning information about any Cell's changes during a transaction"),x=s("TablesListener",`(${g}: ${u}, getCellChange: ${E}${$e})${ce}`,Re(1)),O=s("TableIdsListener",`(${g}: ${u})${ce}`,Re(2)),N=s("TableListener",`(${g}: ${u}, tableId: ${v}, getCellChange: ${E}${$e})${ce}`,Re(3)),D=s("RowIdsListener",`(${g}: ${u}, tableId: ${v})${ce}`,Re(4,3)),F=s("RowListener",`(${g}: ${u}, tableId: ${v}, rowId: Id, getCellChange: ${E}${$e})${ce}`,Re(5,3)),G=s("CellIdsListener",`(${g}: ${u}, tableId: ${v}, rowId: Id)`+ce,Re(6,5)),M=s("CellListener",`(...[${g}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${U(Z(R((e=>m(e,((l,t)=>`[${g}: ${u}, tableId: '${e}', rowId: Id, cellId: '${l}', newCell: ${t}${$e}, oldCell: ${t}${$e}, getCellChange: ${E} | undefined]`)))))," | ")})${ce}`,Re(7,5)),W=s("InvalidCellListener",`(${g}: ${u}, tableId: Id, rowId: Id, cellId: Id, invalidCells: any[])${ce};`,Re(8)),P=s("TransactionListener",`(${g}: ${u}, cellsTouched: boolean)${ce};`,de+" listening to the completion of a transaction");$("hasTables",t,o,Je("hasTables"),Te("any Table")),$("getTables",t,y,Je("getTables"),me()),$("setTables","tables: "+y,u,Oe("setTables","tables"),me(1)),$("delTables",t,u,Oe("delTables"),me(3)),$("getTableIds",t,v+"[]",Je("getTableIds",t,v+"[]"),ue("Table",ne)),$("forEachTable","tableCallback: "+S,"void",Je("forEachTable","tableCallback as any"),ge("Table",ne));const _=k();return R(((e,[l,a,d,r,s,i],I,c)=>{n(1,h,l,a,d,r,s,i),$(`has${I}Table`,t,o,Je("hasTable",c),Te(ye(e))),$(`get${I}Table`,t,l,Je("getTable",c,l),Se(e)),$(`set${I}Table`,"table: "+l,u,Oe("setTable",c+", table"),Se(e,1)),$(`del${I}Table`,t,u,Oe("delTable",c),Se(e,3)),$(`get${I}RowIds`,t,"Ids",Je("getRowIds",c),ue("Row",ye(e))),$(`get${I}SortedRowIds`,`cellId?: ${r}, descending?: boolean, offset?: number, limit?: number`,"Ids",Je("getSortedRowIds",c+", cellId, descending, offset, limit"),ue("Row",ye(e),1)),$(`forEach${I}Row`,"rowCallback: "+i,"void",Je("forEachRow",c+", rowCallback as any"),ge("Row",ye(e))),$(`has${I}Row`,"rowId: Id",o,Je("hasRow",c+", rowId"),Te(Ce,ye(e))),$(`get${I}Row`,"rowId: Id",a,Je("getRow",c+", rowId",a),ke(e)),$(`set${I}Row`,"rowId: Id, row: "+d,u,Oe("setRow",c+", rowId, row"),ke(e,1)),$(`add${I}Row`,"row: "+d,"Id"+$e,Je("addRow",c+", row"),"Adds a new Row to "+ye(e)),$(`set${I}PartialRow`,"rowId: Id, partialRow: "+d,u,Oe("setPartialRow",c+", rowId, partialRow"),ke(e,2)),$(`del${I}Row`,"rowId: Id",u,Oe("delRow",c+", rowId"),ke(e,3)),$(`get${I}CellIds`,"rowId: Id",r+"[]",Je("getCellIds",c+", rowId",r+"[]"),ue("Cell",Le(e))),$(`forEach${I}Cell`,"rowId: Id, cellCallback: "+s,"void",Je("forEachCell",c+", rowId, cellCallback as any"),ge("Cell",Le(e))),m(e,((l,a,n,d,r)=>{const s="Map"+q(a,1);A(_,a,s),$(`has${I}${r}Cell`,"rowId: Id",o,Je("hasCell",`${c}, rowId, ${d}`),Te(ve(l),Le(e)));const i=`${a}${f(n)?$e:t}`;$(`get${I}${r}Cell`,"rowId: Id",i,Je("getCell",`${c}, rowId, ${d}`,i),Ee(e,l)),$(`set${I}${r}Cell`,`rowId: Id, cell: ${a} | ${s}`,u,Oe("setCell",`${c}, rowId, ${d}, cell as any`),Ee(e,l,1)),$(`del${I}${r}Cell`,"rowId: Id",u,Oe("delCell",`${c}, rowId, ${d}`),Ee(e,l,3))}))})),$("getJson",t,"Json",Je("getJson"),`${je[0]} a string serialization ${be}`),$("setJson","json: Json",u,Oe("setJson","json"),`${je[1]} ${be} from a serialized string`),$("transaction","actions: () => Return, doRollback?: (changedCells: ChangedCells, invalidCells: InvalidCells) => boolean","Return",Je("transaction","actions, doRollback"),"Execute a transaction to make multiple mutations","<Return>"),$("startTransaction",t,u,Oe("startTransaction"),"Explicitly starts a transaction"),$("finishTransaction","doRollback?: (changedCells: ChangedCells, invalidCells: InvalidCells) => boolean,",u,Oe("finishTransaction","doRollback"),"Explicitly finishes a transaction"),$("addTablesListener",`${se}: ${x}, mutator?: boolean`,"Id",Ne("addTablesListener",t,"mutator"),`${ie} whenever ${be} changes`),$("addTableIdsListener",`${se}: ${O}, mutator?: boolean`,"Id",Ne("addTableIdsListener",t,"mutator"),pe("the Table Ids",ne,1)),$("addTableListener",`tableId: ${v} | null, ${se}: ${N}, mutator?: boolean`,"Id",Ne("addTableListener","tableId","mutator"),pe("a Table",ne)),$("addRowIdsListener",`tableId: ${v} | null, ${se}: ${D}, mutator?: boolean`,"Id",Ne("addRowIdsListener","tableId","mutator"),pe("the Row Ids","a Table",1)),$("addRowListener",`tableId: ${v} | null, rowId: IdOrNull, ${se}: ${F}, mutator?: boolean`,"Id",Ne("addRowListener","tableId, rowId","mutator"),pe("a Row","a Table")),$("addCellIdsListener",`tableId: ${v} | null, rowId: IdOrNull, ${se}: ${G}, mutator?: boolean`,"Id",Ne("addCellIdsListener","tableId, rowId","mutator"),pe("the Cell Ids","a Row",1)),$("addCellListener",`tableId: ${v} | null, rowId: IdOrNull, cellId: ${U(R(((e,l)=>l[3]))," | ")} | null, ${se}: ${M}, mutator?: boolean`,"Id",Ne("addCellListener","tableId, rowId, cellId","mutator"),pe("a Cell","a Row")),$("addInvalidCellListener",`tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull, ${se}: ${W}, mutator?: boolean`,"Id",Ne("addCellListener","tableId, rowId, cellId","mutator"),ie+" whenever an invalid Cell change was attempted"),$("addWillFinishTransactionListener",`${se}: ${P}`,"Id",Ne("addWillFinishTransactionListener"),`${ie} just before ${we}`),$("addDidFinishTransactionListener",`${se}: ${P}`,"Id",Ne("addDidFinishTransactionListener"),`${ie} just after ${we}`),$("callListener",se+"Id: Id",u,Oe("callListener",se+"Id"),`Manually provoke a ${se} to be called`),$("delListener",se+"Id: Id",u,Oe("delListener",se+"Id"),`Remove a ${se} that was previously added to ${ne}`),$("getStore",t,"Store","store",je[0]+" the underlying Store object"),j(_,((e,l)=>s(l,`(cell: ${e}${$e}) => ${e}`,`Takes a ${e} Cell value and returns another`))),n(0,"tinybase","CellChange",...Ae),n(1,"tinybase","createStore",...Ae),n(1,h,u,`create${u} as create${u}Decl`,y,v,S,x,O,N,D,F,G,M,W,P,...L(_)),I("store",["createStore().setSchema({",Z(R(((e,l,a,o)=>[`[${o}]: {`,...m(e,((e,l,a,o)=>`[${o}]: {[${I(H(d),`'${d}'`)}]: ${I(H(l),`'${l}'`)}${f(a)?t:`, [${I(H(r),`'${r}'`)}]: ${p(a)?I(H(a),`'${a}'`):a}`}},`)),"},"]))),"})"]),i("fluent","actions: () => Store",["actions();",`return ${g};`]),i("proxy",se+": any",`(_: Store, ...args: any[]) => ${se}(${g}, ...args)`),I(g,["{",...w(1),"}"]),[a(...c(0),...b(),`${re} interface ${u} {`,...w(0),"}",t,K(`Creates a ${u} object`),`${re} function create${u}(): ${u};`),a(...c(1),`${re} const create${u}: typeof create${u}Decl = () => {`,...C(),`return Object.freeze(${g});`,"};")]},De={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},Fe=(e=>{const l=new WeakMap;return t=>(l.has(t)||l.set(t,e(t)),l.get(t))})((e=>{const l=()=>{const l=g(e.getSchemaJson());return!te(l)||s(e.getTableIds(),(t=>{const a=e.getRowIds(t),o=k();if(s(a,(l=>s(e.getCellIds(t,l),(a=>{const n=e.getCell(t,l,a),d=J(o,a,(()=>[ae(n),k(),[0],0])),[r,s,[$]]=d,i=J(s,n,(()=>0))+1;return i>$&&(d[2]=[i,n]),A(s,n,i),d[3]++,r==ae(n)})))))return l[t]={},v(o,(([e,,[,o],n],s)=>{l[t][s]={[d]:e,...n==c(a)?{[r]:o}:{}}})),1}))?l:{}},t=e=>ze(l(),e),a=async e=>{let l;try{l=(await import("prettier")).format}catch{l=e=>e}return I(t(e),(e=>B(l(e,De))))};return ee({getStoreStats:l=>{let t=0,a=0,o=0;const n={};return e.forEachTable(((e,d)=>{t++;let r=0,s=0;const $={};d(((e,t)=>{r++;let a=0;t((()=>a++)),s+=a,l&&($[e]={rowCells:a})})),a+=r,o+=s,l&&(n[e]={tableRows:r,tableCells:s,rows:$})})),{totalTables:t,totalRows:a,totalCells:o,jsonLength:Q(e.getJson()),...l?{detail:{tables:n}}:{}}},getStoreSchema:l,getStoreApi:t,getPrettyStoreApi:a})}));e.createTools=Fe},"object"==typeof exports&&"undefined"!=typeof module?l(exports):"function"==typeof define&&define.amd?define(["exports"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
|
package/lib/umd/tools.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,n;e=this,n=function(e){"use strict";const n=
|
|
1
|
+
var e,n;e=this,n=function(e){"use strict";const n=(e,n)=>e.includes(n),t=(e,n)=>e.forEach(n),l=e=>e.length,o=e=>0==l(e),r=(e,...n)=>e.push(...n),s=e=>e.pop(),i=e=>e.shift(),u=e=>null==e,d=(e,n,t)=>u(e)?null==t?void 0:t():n(e),c=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},a=e=>u(e)||0==(e=>e.size)(e),h=(e,n)=>null==e?void 0:e.forEach(n),p=(e,n)=>null==e?void 0:e.delete(n),f=e=>new Map(e),v=(e,n)=>null==e?void 0:e.get(n),C=(e,n,t)=>u(t)?(p(e,n),e):null==e?void 0:e.set(n,t),g=(e,n,t)=>(c(e,n)||C(e,n,t()),v(e,n)),k=(e,n,t,o,r=0)=>d((t?g:v)(e,n[r],r>l(n)-2?t:f),(s=>{if(r>l(n)-2)return(null==o?void 0:o(s))&&C(e,n[r]),s;const i=k(s,n,t,o,r+1);return a(s)&&C(e,n[r]),i})),y=e=>new Set(Array.isArray(e)||u(e)?e:[e]),L=/^\d+$/,w=Object.freeze,b=(e=>{const b=new WeakMap;return e=>(b.has(e)||b.set(e,(e=>{let b,S,T,x=100,z=f(),E=1;const j=f(),m=f(),[A,B,I]=(e=>{let n;const[o,s]=(()=>{const e=[];let n=0;return[()=>{var t;return null!=(t=i(e))?t:""+n++},n=>{L.test(n)&&l(e)<1e3&&r(e,n)}]})(),c=f();return[(e,t,l)=>{null!=n||(n=V);const r=o();var s,i;return C(c,r,[e,t,l]),i=r,null==(s=k(t,null!=l?l:[""],y))||s.add(i),r},(e,o,...s)=>t(((e,n=[""])=>{const o=[],s=(e,i)=>i==l(n)?r(o,e):null===n[i]?h(e,(e=>s(e,i+1))):t([n[i],null],(n=>s(v(e,n),i+1)));return s(e,0),o})(e,o),(e=>h(e,(e=>v(c,e)[0](n,...null!=o?o:[],...s))))),e=>d(v(c,e),(([,n,t])=>(k(n,null!=t?t:[""],void 0,(n=>(p(n,e),a(n)?1:0))),C(c,e),s(e),t))),(e,o,r)=>d(v(c,e),(([e,,s=[]])=>{const i=(...d)=>{const c=l(d);c==l(s)?e(n,...d,...r(d)):u(s[c])?t(o[c](...d),(e=>i(...d,e))):i(...d,s[c])};i()}))]})(),M=f(),F=f(),O=[],W=[],$=(n,t)=>{E=0,e.transaction((()=>h(v(M,t),((t,l)=>h(t,((t,o)=>h(t,((t,r)=>((e,n,t,l,o)=>u(o)?e.delCell(n,t,l,!0):e.setCell(n,t,l,o))(e,l,o,r,t[n]))))))))),E=1},q=e=>{C(M,e),C(F,e),B(m,[e])},D=(e,n)=>t(((e,n)=>e.splice(0,n))(e,null!=n?n:l(e)),q),G=()=>D(O,l(O)-x),H=e.addCellListener(null,null,null,((e,n,t,l,o,i)=>{if(E){d(b,(()=>{r(O,b),G(),D(W),b=void 0,T=1}));const e=g(z,n,f),u=g(e,t,f),c=g(u,l,(()=>[i,void 0]));c[1]=o,c[0]===o&&a(C(u,l))&&a(C(e,t))&&a(C(z,n))&&(b=s(O),T=1),P()}})),J=(e="")=>(u(b)&&(b=""+S++,C(M,b,z),R(b,e),z=f(),T=1),b),K=()=>{o(O)||(((e,...n)=>{e.unshift(...n)})(W,J()),$(0,b),b=s(O),T=1)},N=()=>{o(W)||(r(O,b),b=i(W),$(1,b),T=1)},P=()=>{T&&(B(j),T=0)},Q=e=>{const n=J(e);return P(),n},R=(e,n)=>(U(e)&&v(F,e)!==n&&(C(F,e,n),B(m,[e])),V),U=e=>c(M,e),V={setSize:e=>(x=e,G(),V),addCheckpoint:Q,setCheckpoint:R,getStore:()=>e,getCheckpointIds:()=>[[...O],b,[...W]],forEachCheckpoint:e=>{return n=e,h(F,((e,t)=>n(t,e)));var n},hasCheckpoint:U,getCheckpoint:e=>v(F,e),goBackward:()=>(K(),P(),V),goForward:()=>(N(),P(),V),goTo:e=>{const t=n(O,e)?K:n(W,e)?N:null;for(;!u(t)&&e!=b;)t();return P(),V},addCheckpointIdsListener:e=>A(e,j),addCheckpointListener:(e,n)=>A(n,m,[e]),delListener:e=>(I(e),V),clear:()=>(D(O),D(W),u(b)||q(b),b=void 0,S=0,Q(),V),destroy:()=>{e.delListener(H)},getListenerStats:()=>({})};return w(V.clear())})(e)),b.get(e))})();e.createCheckpoints=b},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCheckpoints={});
|
|
Binary file
|
package/lib/umd-es6/indexes.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="",l=n(t),r=e=>t+e,s=(e,n)=>e.every(n),o=(e,n)=>s(e,((t,l)=>0==l||n(e[l-1],t)<=0)),d=(e,n)=>e.sort(n),i=(e,n)=>e.forEach(n),u=e=>e.length,a=(e,...n)=>e.push(...n),c=e=>null==e,f=(e,n,t)=>c(e)?null==t?void 0:t():n(e),v=e=>Array.isArray(e),h=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},I=e=>c(e)||0==(e=>e.size)(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},p=e=>e.clear(),y=(e,n)=>null==e?void 0:e.forEach(n),x=(e,n)=>null==e?void 0:e.delete(n),S=e=>new Map(e),w=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},L=(e,n)=>null==e?void 0:e.get(n),b=(e,n)=>y(e,((e,t)=>n(t,e))),T=(e,n,t)=>c(t)?(x(e,n),e):null==e?void 0:e.set(n,t),E=(e,n,t)=>(h(e,n)||T(e,n,t()),L(e,n)),R=(e,n,t,l,r=0)=>f((t?E:L)(e,n[r],r>u(n)-2?t:S),(s=>{if(r>u(n)-2)return(null==l?void 0:l(s))&&T(e,n[r]),s;const o=R(s,n,t,l,r+1);return I(s)&&T(e,n[r]),o})),m=e=>new Set(v(e)||c(e)?e:[e]),j=(e,n)=>null==e?void 0:e.add(n),k=(e,n,t)=>{const l=e.hasRow,r=S(),o=S(),d=S(),a=S(),R=S(),k=(n,t,...l)=>{const r=E(R,n,m);return i(l,(n=>j(r,n)&&t&&e.callListener(n))),l},z=(n,...t)=>f(L(R,n),(l=>{i(0==u(t)?g(l):t,(n=>{e.delListener(n),x(l,n)})),I(l)&&T(R,n)})),A=(e,t)=>{T(r,e,t),h(o,e)||(T(o,e,n()),T(d,e,S()),T(a,e,S()))},C=e=>{T(r,e),T(o,e),T(d,e),T(a,e),z(e)};return[()=>e,()=>w(r),e=>b(o,e),e=>h(o,e),e=>L(r,e),e=>L(o,e),(e,n)=>T(o,e,n),A,(n,r,o,f,I)=>{A(n,r);const g=S(),x=S(),w=L(d,n),E=L(a,n),R=n=>{const o=t=>e.getCell(r,n,t),d=L(w,n),i=l(r,n)?t(f(o,n)):void 0;var a,h;if(d===i||v(d)&&v(i)&&(h=i,u(a=d)===u(h)&&s(a,((e,n)=>h[n]===e)))||T(g,n,[d,i]),!c(I)){const e=L(E,n),t=l(r,n)?I(o,n):void 0;e!=t&&T(x,n,t)}},m=e=>{o((()=>{y(g,(([,e],n)=>T(w,n,e))),y(x,((e,n)=>T(E,n,e)))}),g,x,w,E,e),p(g),p(x)};b(w,R),e.hasTable(r)&&i(e.getRowIds(r),(e=>{h(w,e)||R(e)})),m(!0),z(n),k(n,0,e.addRowListener(r,null,((e,n,t)=>R(t))),e.addTableListener(r,(()=>m())))},C,()=>b(R,C),k,z]}
|
|
1
|
+
var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="",l=n(t),r=e=>t+e,s=(e,n)=>e.every(n),o=(e,n)=>s(e,((t,l)=>0==l||n(e[l-1],t)<=0)),d=(e,n)=>e.sort(n),i=(e,n)=>e.forEach(n),u=e=>e.length,a=(e,...n)=>e.push(...n),c=e=>null==e,f=(e,n,t)=>c(e)?null==t?void 0:t():n(e),v=e=>Array.isArray(e),h=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},I=e=>c(e)||0==(e=>e.size)(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},p=e=>e.clear(),y=(e,n)=>null==e?void 0:e.forEach(n),x=(e,n)=>null==e?void 0:e.delete(n),S=e=>new Map(e),w=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},L=(e,n)=>null==e?void 0:e.get(n),b=(e,n)=>y(e,((e,t)=>n(t,e))),T=(e,n,t)=>c(t)?(x(e,n),e):null==e?void 0:e.set(n,t),E=(e,n,t)=>(h(e,n)||T(e,n,t()),L(e,n)),R=(e,n,t,l,r=0)=>f((t?E:L)(e,n[r],r>u(n)-2?t:S),(s=>{if(r>u(n)-2)return(null==l?void 0:l(s))&&T(e,n[r]),s;const o=R(s,n,t,l,r+1);return I(s)&&T(e,n[r]),o})),m=e=>new Set(v(e)||c(e)?e:[e]),j=(e,n)=>null==e?void 0:e.add(n),k=(e,r)=>n(e)==l?n=>n(e):null!=e?e:()=>null!=r?r:t,z=(e,n)=>e<n?-1:1,A=/^\d+$/,C=Object.freeze,D=(e=>{const n=new WeakMap;return e=>(n.has(e)||n.set(e,(e=>{const n=S(),l=S(),[D,M,B,O,W,$,q,,F,G,H]=((e,n,t)=>{const l=e.hasRow,r=S(),o=S(),d=S(),a=S(),R=S(),k=(n,t,...l)=>{const r=E(R,n,m);return i(l,(n=>j(r,n)&&t&&e.callListener(n))),l},z=(n,...t)=>f(L(R,n),(l=>{i(0==u(t)?g(l):t,(n=>{e.delListener(n),x(l,n)})),I(l)&&T(R,n)})),A=(e,t)=>{T(r,e,t),h(o,e)||(T(o,e,n()),T(d,e,S()),T(a,e,S()))},C=e=>{T(r,e),T(o,e),T(d,e),T(a,e),z(e)};return[()=>e,()=>w(r),e=>b(o,e),e=>h(o,e),e=>L(r,e),e=>L(o,e),(e,n)=>T(o,e,n),A,(n,r,o,f,I)=>{A(n,r);const g=S(),x=S(),w=L(d,n),E=L(a,n),R=n=>{const o=t=>e.getCell(r,n,t),d=L(w,n),i=l(r,n)?t(f(o,n)):void 0;var a,h;if(d===i||v(d)&&v(i)&&(h=i,u(a=d)===u(h)&&s(a,((e,n)=>h[n]===e)))||T(g,n,[d,i]),!c(I)){const e=L(E,n),t=l(r,n)?I(o,n):void 0;e!=t&&T(x,n,t)}},m=e=>{o((()=>{y(g,(([,e],n)=>T(w,n,e))),y(x,((e,n)=>T(E,n,e)))}),g,x,w,E,e),p(g),p(x)};b(w,R),e.hasTable(r)&&i(e.getRowIds(r),(e=>{h(w,e)||R(e)})),m(!0),z(n),k(n,0,e.addRowListener(r,null,((e,n,t)=>R(t))),e.addTableListener(r,(()=>m())))},C,()=>b(R,C),k,z]})(e,S,(e=>{return c(e)?t:v(e)?(n=r,e.map(n)):r(e);var n})),[J,K,N]=(e=>{let n;const[l,r]=(()=>{const e=[];let n=0;return[()=>{var l;return null!=(l=e.shift())?l:t+n++},n=>{A.test(n)&&u(e)<1e3&&a(e,n)}]})(),s=S();return[(e,r,o)=>{null!=n||(n=Q);const d=l();return T(s,d,[e,r,o]),j(R(r,null!=o?o:[t],m),d),d},(e,l,...r)=>i(((e,n=[t])=>{const l=[],r=(e,t)=>t==u(n)?a(l,e):null===n[t]?y(e,(e=>r(e,t+1))):i([n[t],null],(n=>r(L(e,n),t+1)));return r(e,0),l})(e,l),(e=>y(e,(e=>L(s,e)[0](n,...null!=l?l:[],...r))))),e=>f(L(s,e),(([,n,l])=>(R(n,null!=l?l:[t],void 0,(n=>(x(n,e),I(n)?1:0))),T(s,e),r(e),l))),(e,t,l)=>f(L(s,e),(([e,,r=[]])=>{const s=(...o)=>{const d=u(o);d==u(r)?e(n,...o,...l(o)):c(r[d])?i(t[d](...o),(e=>s(...o,e))):s(...o,r[d])};s()}))]})(),P=(n,t,l)=>{const r=W(n);y(l,((n,l)=>t(l,(t=>y(n,(n=>t(n,(t=>e.forEachCell(r,n,t)))))))))},Q={setIndexDefinition:(e,t,r,s,i,u=z)=>{const a=c(i)?void 0:([e],[n])=>i(e,n);return F(e,t,((t,r,i,v,g,p)=>{let w=0;const E=m(),R=m(),k=$(e);if(y(r,(([e,n],t)=>{const l=m(e),r=m(n);y(l,(e=>x(r,e)?x(l,e):0)),y(l,(e=>{j(E,e),f(L(k,e),(n=>{x(n,t),I(n)&&(T(k,e),w=1)}))})),y(r,(e=>{j(E,e),h(k,e)||(T(k,e,m()),w=1),j(L(k,e),t),c(s)||j(R,e)}))})),t(),I(g)||(p?b(k,(e=>j(R,e))):b(i,(e=>f(L(v,e),(e=>j(R,e))))),y(R,(e=>{const n=(n,t)=>u(L(g,n),L(g,t),e),t=[...L(k,e)];o(t,n)||(T(k,e,m(d(t,n))),j(E,e))}))),(w||p)&&!c(a)){const n=[...k];o(n,a)||(q(e,S(d(n,a))),w=1)}w&&K(n,[e]),y(E,(n=>K(l,[e,n])))}),k(r),f(s,k)),Q},delIndexDefinition:e=>(G(e),Q),getStore:D,getIndexIds:M,forEachIndex:e=>B(((n,t)=>e(n,(e=>P(n,e,t))))),forEachSlice:(e,n)=>P(e,n,$(e)),hasIndex:O,hasSlice:(e,n)=>h($(e),n),getTableId:W,getSliceIds:e=>w($(e)),getSliceRowIds:(e,n)=>g(L($(e),n)),addSliceIdsListener:(e,t)=>J(t,n,[e]),addSliceRowIdsListener:(e,n,t)=>J(t,l,[e,n]),delListener:e=>(N(e),Q),destroy:H,getListenerStats:()=>({})};return C(Q)})(e)),n.get(e))})();e.createIndexes=D},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseIndexes={});
|
|
Binary file
|
package/lib/umd-es6/metrics.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),r=t(t),i=(e,t)=>e.forEach(t),o=e=>u(e,((e,t)=>e+t),0),s=e=>e.length,u=(e,t,n)=>e.reduce(t,n),d=(e,...t)=>e.push(...t),a=Math.max,c=Math.min,v=isFinite,f=e=>null==e,h=(e,t,n)=>f(e)?null==n?void 0:n():t(e),g=e=>Array.isArray(e),M=()=>{},p=e=>e.size,y=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},m=e=>f(e)||0==p(e),b=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},L=e=>e.clear(),w=(e,t)=>null==e?void 0:e.forEach(t),T=(e,t)=>null==e?void 0:e.delete(t),x=e=>new Map(e),E=(e,t)=>null==e?void 0:e.get(t),I=(e,t)=>w(e,((e,n)=>t(n,e))),R=(e,t,n)=>f(n)?(T(e,t),e):null==e?void 0:e.set(t,n),S=(e,t,n)=>(y(e,t)||R(e,t,n()),E(e,t)),j=(e,t,n,l,r=0)=>h((n?S:E)(e,t[r],r>s(t)-2?n:x),(i=>{if(r>s(t)-2)return(null==l?void 0:l(i))&&R(e,t[r]),i;const o=j(i,t,n,l,r+1);return m(i)&&R(e,t[r]),o})),k=x([["avg",[(e,t)=>o(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=>a(...e),(e,t)=>a(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:a(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=>o(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),z=e=>new Set(g(e)||f(e)?e:[e]),A=(e,t)=>null==e?void 0:e.add(t),D=(e,t,
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),r=t(t),i=(e,t)=>e.forEach(t),o=e=>u(e,((e,t)=>e+t),0),s=e=>e.length,u=(e,t,n)=>e.reduce(t,n),d=(e,...t)=>e.push(...t),a=Math.max,c=Math.min,v=isFinite,f=e=>null==e,h=(e,t,n)=>f(e)?null==n?void 0:n():t(e),g=e=>Array.isArray(e),M=()=>{},p=e=>e.size,y=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},m=e=>f(e)||0==p(e),b=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},L=e=>e.clear(),w=(e,t)=>null==e?void 0:e.forEach(t),T=(e,t)=>null==e?void 0:e.delete(t),x=e=>new Map(e),E=(e,t)=>null==e?void 0:e.get(t),I=(e,t)=>w(e,((e,n)=>t(n,e))),R=(e,t,n)=>f(n)?(T(e,t),e):null==e?void 0:e.set(t,n),S=(e,t,n)=>(y(e,t)||R(e,t,n()),E(e,t)),j=(e,t,n,l,r=0)=>h((n?S:E)(e,t[r],r>s(t)-2?n:x),(i=>{if(r>s(t)-2)return(null==l?void 0:l(i))&&R(e,t[r]),i;const o=j(i,t,n,l,r+1);return m(i)&&R(e,t[r]),o})),k=x([["avg",[(e,t)=>o(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=>a(...e),(e,t)=>a(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:a(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=>o(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),z=e=>new Set(g(e)||f(e)?e:[e]),A=(e,t)=>null==e?void 0:e.add(t),D=/^\d+$/,N=Object.freeze,B=(e=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const o=x(),[u,a,c,B,C,F,O,,W,$,q]=((e,t,l)=>{const r=e.hasRow,o=x(),u=x(),d=x(),a=x(),c=x(),v=(t,n,...l)=>{const r=S(c,t,z);return i(l,(t=>A(r,t)&&n&&e.callListener(t))),l},M=(t,...n)=>h(E(c,t),(l=>{i(0==s(n)?b(l):n,(t=>{e.delListener(t),T(l,t)})),m(l)&&R(c,t)})),p=(e,n)=>{R(o,e,n),y(u,e)||(R(u,e,t()),R(d,e,x()),R(a,e,x()))},j=e=>{R(o,e),R(u,e),R(d,e),R(a,e),M(e)};return[()=>e,()=>{return[...null!=(t=null==(e=o)?void 0:e.keys())?t:[]];var e,t},e=>I(u,e),e=>y(u,e),e=>E(o,e),e=>E(u,e),(e,t)=>R(u,e,t),p,(t,l,o,u,c)=>{p(t,l);const h=x(),m=x(),b=E(d,t),T=E(a,t),S=t=>{const i=n=>e.getCell(l,t,n),o=E(b,t),d=r(l,t)?(a=u(i,t),isNaN(a)||f(a)||!0===a||!1===a||a===n?void 0:1*a):void 0;var a,v,M,p;if(o===d||g(o)&&g(d)&&(M=d,s(v=o)===s(M)&&(p=(e,t)=>M[t]===e,v.every(p)))||R(h,t,[o,d]),!f(c)){const e=E(T,t),n=r(l,t)?c(i,t):void 0;e!=n&&R(m,t,n)}},j=e=>{o((()=>{w(h,(([,e],t)=>R(b,t,e))),w(m,((e,t)=>R(T,t,e)))}),h,m,b,T,e),L(h),L(m)};I(b,S),e.hasTable(l)&&i(e.getRowIds(l),(e=>{y(b,e)||S(e)})),j(!0),M(t),v(t,0,e.addRowListener(l,null,((e,t,n)=>S(n))),e.addTableListener(l,(()=>j())))},j,()=>I(c,j),v,M]})(e,M),[G,H,J]=(e=>{let t;const[l,r]=(()=>{const e=[];let t=0;return[()=>{var l;return null!=(l=e.shift())?l:n+t++},t=>{D.test(t)&&s(e)<1e3&&d(e,t)}]})(),o=x();return[(e,r,i)=>{null!=t||(t=K);const s=l();return R(o,s,[e,r,i]),A(j(r,null!=i?i:[n],z),s),s},(e,l,...r)=>i(((e,t=[n])=>{const l=[],r=(e,n)=>n==s(t)?d(l,e):null===t[n]?w(e,(e=>r(e,n+1))):i([t[n],null],(t=>r(E(e,t),n+1)));return r(e,0),l})(e,l),(e=>w(e,(e=>E(o,e)[0](t,...null!=l?l:[],...r))))),e=>h(E(o,e),(([,t,l])=>(j(t,null!=l?l:[n],void 0,(t=>(T(t,e),m(t)?1:0))),R(o,e),r(e),l))),(e,n,l)=>h(E(o,e),(([e,,r=[]])=>{const o=(...u)=>{const d=s(u);d==s(r)?e(t,...u,...l(u)):f(r[d])?i(n[d](...u),(e=>o(...u,e))):o(...u,r[d])};o()}))]})(),K={setMetricDefinition:(e,n,i,s,u,d,a)=>{var c;const h=t(i)==r?[i,u,d,a]:null!=(c=E(k,i))?c:E(k,"sum");return W(e,n,((t,n,l,r,i,s)=>{const u=F(e),d=p(r);s||(s=f(u)),t();let a=((e,t,n,l,r,i=!1)=>{if(m(n))return;const[o,s,u,d]=r;return i||(i=f(e)),w(l,(([n,l])=>{i||(e=f(n)?null==s?void 0:s(e,l,t++):f(l)?null==u?void 0:u(e,n,t--):null==d?void 0:d(e,l,n,t),i||(i=f(e)))})),i?o(b(n),p(n)):e})(u,d,r,n,h,s);v(a)||(a=void 0),a!=u&&(O(e,a),H(o,[e],a,u))}),(1,t(g=s)==l?e=>e(g):null!=g?g:()=>1)),K;var g},delMetricDefinition:e=>($(e),K),getStore:u,getMetricIds:a,forEachMetric:c,hasMetric:B,getTableId:C,getMetric:F,addMetricListener:(e,t)=>G(t,o,[e]),delListener:e=>(J(e),K),destroy:q,getListenerStats:()=>({})};return N(K)})(e)),o.get(e))})();e.createMetrics=B},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMetrics={});
|
|
Binary file
|
package/lib/umd-es6/queries.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t=n(""),l=n(!0),r=n(0),o=n(n),s="Listener",i=
|
|
1
|
+
var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t=n(""),l=n(!0),r=n(0),o=n(n),s="Listener",i=(e,n)=>e.every(n),a=(e,n)=>e.forEach(n),d=e=>v(e,((e,n)=>e+n),0),u=e=>e.length,c=e=>0==u(e),v=(e,n,t)=>e.reduce(n,t),f=(e,...n)=>e.push(...n),h=Math.max,w=Math.min,y=isFinite,g=e=>null==e,p=(e,n,t)=>g(e)?null==t?void 0:t():n(e),R=e=>n(e)==o,b=e=>Array.isArray(e),L=()=>{},T=e=>e.size,m=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},C=e=>g(e)||0==T(e),I=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},O=e=>e.clear(),x=(e,n)=>null==e?void 0:e.forEach(n),Q=(e,n)=>null==e?void 0:e.delete(n),S=e=>new Map(e),j=(e,n)=>null==e?void 0:e.get(n),E=(e,n)=>x(e,((e,t)=>n(t,e))),M=(e,n,t)=>g(t)?(Q(e,n),e):null==e?void 0:e.set(n,t),D=(e,n,t)=>(m(e,n)||M(e,n,t()),j(e,n)),F=(e,n,t,l,r=0)=>p((t?D:j)(e,n[r],r>u(n)-2?t:S),(o=>{if(r>u(n)-2)return(null==l?void 0:l(o))&&M(e,n[r]),o;const s=F(o,n,t,l,r+1);return C(o)&&M(e,n[r]),s})),k=e=>new Set(b(e)||g(e)?e:[e]),z=(e,n)=>null==e?void 0:e.add(n),A=S([["avg",[(e,n)=>d(e)/n,(e,n,t)=>e+(n-e)/(t+1),(e,n,t)=>e+(e-n)/(t-1),(e,n,t,l)=>e+(n-t)/l]],["max",[e=>h(...e),(e,n)=>h(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:h(n,e)]],["min",[e=>w(...e),(e,n)=>w(n,e),(e,n)=>n==e?void 0:e,(e,n,t)=>t==e?void 0:w(n,e)]],["sum",[e=>d(e),(e,n)=>e+n,(e,n)=>e-n,(e,n,t)=>e-t+n]]]),P=Object,W=P.freeze;var B=Object.getOwnPropertySymbols,q=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable;const H=(e=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const o=e.createStore,[d,v,h,w,H,,,J,,K,N,U,V]=((e,n,t)=>{const l=e.hasRow,r=S(),o=S(),s=S(),d=S(),v=S(),f=(n,t,...l)=>{const r=D(v,n,k);return a(l,(n=>z(r,n)&&t&&e.callListener(n))),l},h=(n,...t)=>p(j(v,n),(l=>{a(c(t)?I(l):t,(n=>{e.delListener(n),Q(l,n)})),C(l)&&M(v,n)})),w=(e,n)=>{M(r,e,n),m(o,e)||(M(o,e,!0),M(s,e,S()),M(d,e,S()))},y=e=>{M(r,e),M(o,e),M(s,e),M(d,e),h(e)};return[()=>e,()=>{return[...null!=(n=null==(e=r)?void 0:e.keys())?n:[]];var e,n},e=>E(o,e),e=>m(o,e),e=>j(r,e),e=>j(o,e),(e,n)=>M(o,e,n),w,(n,r,o,c,v)=>{w(n,r);const y=S(),p=S(),R=j(s,n),L=j(d,n),T=n=>{const o=t=>e.getCell(r,n,t),s=j(R,n),a=l(r,n)?t(c(o,n)):void 0;var d,f;if(s===a||b(s)&&b(a)&&(f=a,u(d=s)===u(f)&&i(d,((e,n)=>f[n]===e)))||M(y,n,[s,a]),!g(v)){const e=j(L,n),t=l(r,n)?v(o,n):void 0;e!=t&&M(p,n,t)}},C=e=>{o((()=>{x(y,(([,e],n)=>M(R,n,e))),x(p,((e,n)=>M(L,n,e)))}),y,p,R,L,e),O(y),O(p)};E(R,T),e.hasTable(r)&&a(e.getRowIds(r),(e=>{m(R,e)||T(e)})),C(!0),h(n),f(n,0,e.addRowListener(r,null,((e,n,t)=>T(t))),e.addTableListener(r,(()=>C())))},y,()=>E(v,y),f,h]})(e,0,L),X=o(),Y=o(),Z=S(),$=(e,n,...t)=>a(t,(t=>z(D(D(Z,n,S),e,k),t))),_=e=>{p(j(Z,e),(e=>{E(e,((e,n)=>x(n,(n=>e.delListener(n))))),O(e)})),a([Y,X],(n=>n.delTable(e)))},ee=(e,n,t)=>$(n,e,n.addWillFinishTransactionListener(t.startTransaction),n.addDidFinishTransactionListener((()=>t.finishTransaction()))),ne={setQueryDefinition:(o,s,d)=>{J(o,s),_(o);const v=[],h=[[null,[s,null,null,[],S()]]],w=[],b=[],L=[];d({select:(e,n)=>{const t=R(e)?[u(v)+"",e]:[g(n)?e:n,t=>t(e,n)];return f(v,t),{as:e=>t[0]=e}},join:(e,n,t)=>{const l=g(t)||R(n)?null:n,r=g(l)?n:t,o=[e,[e,l,R(r)?r:e=>e(r),[],S()]];return f(h,o),{as:e=>o[0]=e}},where:(e,n,t)=>f(w,R(e)?e:g(t)?t=>t(e)===n:l=>l(e,n)===t),group:(e,n,t,l,r)=>{var o;const s=[e,[e,R(n)?[n,t,l,r]:null!=(o=j(A,n))?o:[(e,n)=>n]]];return f(b,s),{as:e=>s[0]=e}},having:(e,n)=>f(L,R(e)?e:t=>t(e)===n)});const O=S(v);if(C(O))return ne;const P=S(h);E(P,((e,[,n])=>p(j(P,n),(({3:n})=>g(e)?0:f(n,e)))));const W=S(b);let B=X;if(C(W)&&c(L))B=Y;else{ee(o,B,Y);const e=S();E(W,((n,[t,l])=>z(D(e,t,k),[n,l])));const s=k();E(O,(n=>m(e,n)?0:z(s,n)));const a=S(),d=(s,a,d,u)=>p(s,(([c,v,f,h])=>{E(a,((o,[s])=>{const i=D(c,o,S),a=j(i,d),v=u?void 0:s;if(a!==v){const s=k([[a,v]]),u=T(i);M(i,d,v),x(j(e,o),(([e,o])=>{const a=((e,n,t,l,r,o=!1)=>{if(C(t))return;const[s,i,a,d]=r;return o||(o=g(e)),x(l,(([t,l])=>{o||(e=g(t)?null==i?void 0:i(e,l,n++):g(l)?null==a?void 0:a(e,t,n--):null==d?void 0:d(e,l,t,n),o||(o=g(e)))})),o?s(I(t),T(t)):e})(h[e],u,i,s,o);h[e]=g((e=>{const o=n(e);return(e=>e==t||e==l)(o)||o==r&&y(e)?o:void 0})(a))?null:a}))}})),C(v)||!i(L,(e=>e((e=>h[e]))))?Y.delRow(o,f):g(f)?s[2]=Y.addRow(o,h):Y.setRow(o,f,h)}));$(B,o,B.addRowListener(o,null,((n,t,l,r)=>{const i=[],u=[],c=S(),v=B.hasRow(o,l);let h=!v;x(s,(e=>{const[n,t,s]=r(o,l,e);f(i,t),f(u,s),h||(h=n)})),E(e,(e=>{const[n,,t]=r(o,l,e);(h||n)&&M(c,e,[t])})),h&&d(F(a,i,void 0,(([,e])=>(Q(e,l),C(e)))),c,l,1),v&&d(F(a,u,(()=>{const e={};return x(s,(n=>e[n]=B.getCell(o,l,n))),[S(),k(),void 0,e]}),(([,e])=>{z(e,l)})),c,l)})))}ee(o,e,B);const q=(n,t,l,r)=>{const d=n=>e.getCell(t,l,n);a(r,(t=>{var l;const[r,,s,i,a]=j(P,t),u=null==s?void 0:s(d,n),[c,v]=null!=(l=j(a,n))?l:[];u!=c&&(g(v)||V(o,v),M(a,n,g(u)?null:[u,...U(o,1,e.addRowListener(r,u,(()=>q(n,r,u,i))))]))})),(n=>{const t=(t,l)=>{var r,o,i;return e.getCell(...g(l)?[s,n,t]:t===s?[s,n,l]:[null==(r=j(P,t))?void 0:r[0],null==(i=j(null==(o=j(P,t))?void 0:o[4],n))?void 0:i[0],l])};B.transaction((()=>i(w,(e=>e(t)))?E(O,((e,l)=>((e,n,t,l,r)=>g(r)?e.delCell(n,t,l,!0):e.setCell(n,t,l,r))(B,o,n,e,l(t,n)))):B.delRow(o,n)))})(n)},{3:G}=j(P,null);return B.transaction((()=>U(o,1,e.addRowListener(s,null,((n,t,l)=>{e.hasRow(s,l)?q(l,s,l,G):(B.delRow(o,l),x(P,(({4:e})=>p(j(e,l),(([,n])=>{V(o,n),M(e,l)})))))}))))),ne},delQueryDefinition:e=>(_(e),K(e),ne),getStore:d,getQueryIds:v,forEachQuery:h,hasQuery:w,getTableId:H,delListener:e=>(Y.delListener(e),ne),destroy:N,getListenerStats:()=>((e,n)=>{var t={};for(var l in e)q.call(e,l)&&n.indexOf(l)<0&&(t[l]=e[l]);if(null!=e&&B)for(var l of B(e))n.indexOf(l)<0&&G.call(e,l)&&(t[l]=e[l]);return t})(Y.getListenerStats(),["tables","tableIds","transaction"])};var te,le;return te={Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},le=([e,n],t)=>{a(e?["get","has","forEach"]:["get"],(e=>ne[e+"Result"+t]=(...n)=>Y[e+t](...n))),ne["addResult"+t+s]=(...e)=>{return Y["add"+t+s](...(l=e,0,r=n,l.slice(0,r)),((t,...l)=>e[n](ne,...l)));var l,r}},((e,n)=>{e.map(n)})(P.entries(te),(([e,n])=>le(n,e))),W(ne)})(e)),o.get(e))})();e.createQueries=H},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseQueries={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),o=(e,t)=>e.forEach(t),r=e=>e.length,s=(e,...t)=>e.push(...t),i=e=>null==e,d=(e,t,n)=>i(e)?null==n?void 0:n():t(e),
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),o=(e,t)=>e.forEach(t),r=e=>e.length,s=(e,...t)=>e.push(...t),i=e=>null==e,d=(e,t,n)=>i(e)?null==n?void 0:n():t(e),a=e=>Array.isArray(e),u=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},c=e=>i(e)||0==(e=>e.size)(e),f=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},v=e=>e.clear(),h=(e,t)=>null==e?void 0:e.forEach(t),R=(e,t)=>null==e?void 0:e.delete(t),p=e=>new Map(e),g=(e,t)=>null==e?void 0:e.get(t),L=(e,t)=>h(e,((e,n)=>t(n,e))),w=(e,t,n)=>i(n)?(R(e,t),e):null==e?void 0:e.set(t,n),y=(e,t,n)=>(u(e,t)||w(e,t,n()),g(e,t)),I=(e,t,n,l,o=0)=>d((n?y:g)(e,t[o],o>r(t)-2?n:p),(s=>{if(o>r(t)-2)return(null==l?void 0:l(s))&&w(e,t[o]),s;const i=I(s,t,n,l,o+1);return c(s)&&w(e,t[o]),i})),b=e=>new Set(a(e)||i(e)?e:[e]),T=(e,t)=>null==e?void 0:e.add(t),m=/^\d+$/,k=Object.freeze,E=(e=>{const E=new WeakMap;return e=>(E.has(e)||E.set(e,(e=>{const E=p(),x=p(),S=p(),j=p(),[z,A,D,M,B,C,,,O,W,$]=((e,t,l)=>{const s=e.hasRow,I=p(),m=p(),k=p(),E=p(),x=p(),S=(t,n,...l)=>{const r=y(x,t,b);return o(l,(t=>T(r,t)&&n&&e.callListener(t))),l},j=(t,...n)=>d(g(x,t),(l=>{o(0==r(n)?f(l):n,(t=>{e.delListener(t),R(l,t)})),c(l)&&w(x,t)})),z=(e,t)=>{w(I,e,t),u(m,e)||(w(m,e,[p(),p(),p(),p()]),w(k,e,p()),w(E,e,p()))},A=e=>{w(I,e),w(m,e),w(k,e),w(E,e),j(e)};return[()=>e,()=>{return[...null!=(t=null==(e=I)?void 0:e.keys())?t:[]];var e,t},e=>L(m,e),e=>u(m,e),e=>g(I,e),e=>g(m,e),(e,t)=>w(m,e,t),z,(t,l,d,c,f)=>{z(t,l);const R=p(),y=p(),I=g(k,t),b=g(E,t),T=t=>{const o=n=>e.getCell(l,t,n),d=g(I,t),u=s(l,t)?(v=c(o,t),i(v)?void 0:v+n):void 0;var v,h,p,L;if(d===u||a(d)&&a(u)&&(p=u,r(h=d)===r(p)&&(L=(e,t)=>p[t]===e,h.every(L)))||w(R,t,[d,u]),!i(f)){const e=g(b,t),n=s(l,t)?f(o,t):void 0;e!=n&&w(y,t,n)}},m=e=>{d((()=>{h(R,(([,e],t)=>w(I,t,e))),h(y,((e,t)=>w(b,t,e)))}),R,y,I,b,e),v(R),v(y)};L(I,T),e.hasTable(l)&&o(e.getRowIds(l),(e=>{u(I,e)||T(e)})),m(!0),j(t),S(t,0,e.addRowListener(l,null,((e,t,n)=>T(n))),e.addTableListener(l,(()=>m())))},A,()=>L(x,A),S,j]})(e),[q,F,G]=(e=>{let t;const[l,a]=(()=>{const e=[];let t=0;return[()=>{var l;return null!=(l=e.shift())?l:n+t++},t=>{m.test(t)&&r(e)<1e3&&s(e,t)}]})(),u=p();return[(e,o,r)=>{null!=t||(t=N);const s=l();return w(u,s,[e,o,r]),T(I(o,null!=r?r:[n],b),s),s},(e,l,...i)=>o(((e,t=[n])=>{const l=[],i=(e,n)=>n==r(t)?s(l,e):null===t[n]?h(e,(e=>i(e,n+1))):o([t[n],null],(t=>i(g(e,t),n+1)));return i(e,0),l})(e,l),(e=>h(e,(e=>g(u,e)[0](t,...null!=l?l:[],...i))))),e=>d(g(u,e),(([,t,l])=>(I(t,null!=l?l:[n],void 0,(t=>(R(t,e),c(t)?1:0))),w(u,e),a(e),l))),(e,n,l)=>d(g(u,e),(([e,,s=[]])=>{const d=(...a)=>{const u=r(a);u==r(s)?e(t,...a,...l(a)):i(s[u])?o(n[u](...a),(e=>d(...a,e))):d(...a,s[u])};d()}))]})(),H=(e,t,n)=>d(C(e),(([l,,o])=>{if(!u(o,t)){const r=b();if(B(e)!=K(e))T(r,t);else{let e=t;for(;!i(e)&&!u(r,e);)T(r,e),e=g(l,e)}if(n)return r;w(o,t,r)}return g(o,t)})),J=(e,t)=>d(C(e),(([,,e])=>w(e,t))),K=e=>g(E,e),N={setRelationshipDefinition:(e,o,r,s)=>{return w(E,e,r),O(e,o,((t,n)=>{const l=b(),o=b(),r=b(),[s,a]=C(e);h(n,(([t,n],f)=>{i(t)||(T(o,t),d(g(a,t),(e=>{R(e,f),c(e)&&w(a,t)}))),i(n)||(T(o,n),u(a,n)||w(a,n,b()),T(g(a,n),f)),T(l,f),w(s,f,n),L(g(j,e),(t=>{u(H(e,t),f)&&T(r,t)}))})),t(),h(l,(t=>F(x,[e,t]))),h(o,(t=>F(S,[e,t]))),h(r,(t=>{J(e,t),F(j,[e,t])}))}),t(a=s)==l?e=>e(a):null!=a?a:()=>n),N;var a},delRelationshipDefinition:e=>(w(E,e),W(e),N),getStore:z,getRelationshipIds:A,forEachRelationship:t=>D((n=>t(n,(t=>e.forEachRow(B(n),t))))),hasRelationship:M,getLocalTableId:B,getRemoteTableId:K,getRemoteRowId:(e,t)=>{var n;return g(null==(n=C(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return f(g(null==(n=C(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>i(C(e))?[t]:f(H(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>q(n,x,[e,t]),addLocalRowIdsListener:(e,t,n)=>q(n,S,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(H(e,t),q(n,j,[e,t])),delListener:e=>(J(...G(e)),N),destroy:$,getListenerStats:()=>({})};return k(N)})(e)),E.get(e))})();e.createRelationships=E},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseRelationships={});
|
|
Binary file
|
package/lib/umd-es6/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),r=t(!0),s=t(0),o=t(t),i="type",a="default",u=e=>n+e,d=(e,t)=>e.forEach(t),c=(e,t)=>e.map(t),f=e=>e.length,v=(e,t,n)=>e.slice(t,n),h=(e,...t)=>e.push(...t),T=e=>JSON.stringify(e,((e,t)=>{return p(t,Map)?(n=
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),r=t(!0),s=t(0),o=t(t),i="type",a="default",u=e=>n+e,d=(e,t)=>e.forEach(t),c=(e,t)=>e.map(t),f=e=>e.length,v=(e,t,n)=>e.slice(t,n),h=(e,...t)=>e.push(...t),T=e=>JSON.stringify(e,((e,t)=>{return p(t,Map)?(n=(e,[t,n])=>(e[t]=n,e),l={},[...t].reduce(n,l)):t;var n,l})),b=JSON.parse,g=isFinite,p=(e,t)=>e instanceof t,y=e=>null==e,w=(e,t,n)=>y(e)?null==n?void 0:n():t(e),R=e=>e==l||e==r,S=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},C=e=>y(e)||0==(e=>e.size)(e),I=e=>e.clear(),L=(e,t)=>null==e?void 0:e.forEach(t),m=(e,t)=>null==e?void 0:e.delete(t),E=e=>new Map(e),J=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},F=(e,t)=>null==e?void 0:e.get(t),x=(e,t)=>L(e,((e,n)=>t(n,e))),z=(e,t,n)=>y(n)?(m(e,t),e):null==e?void 0:e.set(t,n),O=(e,t,n)=>(S(e,t)||z(e,t,n()),F(e,t)),j=(e,t,n)=>{const l={},r=null!=t?t:e=>e;return L(e,((e,t)=>w(r(e),(e=>(null==n?void 0:n(e))?0:l[t]=e)))),l},k=(e,t)=>{const n=E(),l=null!=t?t:e=>e;return L(e,((e,t)=>n.set(t,l(e)))),n},A=e=>k(e,k),M=(e,t,n,l,r=0)=>w((n?O:F)(e,t[r],r>f(t)-2?n:E),(s=>{if(r>f(t)-2)return(null==l?void 0:l(s))&&z(e,t[r]),s;const o=M(s,t,n,l,r+1);return C(s)&&z(e,t[r]),o})),N=Object,B=N.keys,D=N.isFrozen,P=N.freeze,W=(e,t)=>!y(((e,t)=>w(e,(e=>e[t])))(e,t)),$=(e,t)=>delete e[t],q=(e,t)=>c(N.entries(e),(([e,n])=>t(n,e))),G=e=>{return t=B(e),0==f(t);var t},H=e=>new Set(Array.isArray(e)||y(e)?e:[e]),K=(e,t)=>null==e?void 0:e.add(t),Q=/^\d+$/,U=()=>{const e=[];let t=0;return[()=>{var l;return null!=(l=e.shift())?l:n+t++},t=>{Q.test(t)&&f(e)<1e3&&h(e,t)}]},V=e=>[e,e],X=()=>[E(),E()],Y=e=>{const n=t(e);return R(n)||n==s&&g(e)?n:void 0},Z=(e,t,n,l=z)=>{const r=(s=e=>!W(t,e),J(e).filter(s));var s;return d(B(t),(l=>n(e,l,t[l]))),d(r,(t=>l(e,t))),e},_=(e,t,n)=>y(e)||!(e=>p(e,N)&&e.constructor==N)(e)||G(e)||D(e)?(null==n||n(),!1):(q(e,((n,l)=>{t(n,l)||$(e,l)})),!G(e)),ee=(e,t,n)=>z(e,t,F(e,t)==-n?void 0:n),te=()=>{let e,l,r=0;const g=E(),p=E(),N=E(),B=E(),D=E(),Q=E(),ne=E(),le=E(),re=E(),se=X(),oe=X(),ie=X(),ae=X(),ue=X(),de=X(),ce=X(),fe=X(),ve=X(),he=X(),[Te,be,ge,pe]=(e=>{let t;const[l,r]=U(),s=E();return[(e,r,o)=>{null!=t||(t=tt);const i=l();return z(s,i,[e,r,o]),K(M(r,null!=o?o:[n],H),i),i},(e,l,...r)=>d(((e,t=[n])=>{const l=[],r=(e,n)=>n==f(t)?h(l,e):null===t[n]?L(e,(e=>r(e,n+1))):d([t[n],null],(t=>r(F(e,t),n+1)));return r(e,0),l})(e,l),(e=>L(e,(e=>F(s,e)[0](t,...null!=l?l:[],...r))))),e=>w(F(s,e),(([,t,l])=>(M(t,null!=l?l:[n],void 0,(t=>(m(t,e),C(t)?1:0))),z(s,e),r(e),l))),(e,n,l)=>w(F(s,e),(([e,,r=[]])=>{const s=(...o)=>{const i=f(o);i==f(r)?e(t,...o,...l(o)):y(r[i])?d(n[i](...o),(e=>s(...o,e))):s(...o,r[i])};s()}))]})(),ye=(t,n)=>(!e||S(Q,n)||Be(n))&&_(t,((e,t)=>we(n,t,e)),(()=>Be(n))),we=(e,t,n,l)=>_(l?n:Se(n,e,t),((l,r)=>w(Re(e,t,r,l),(e=>(n[r]=e,!0)),(()=>!1))),(()=>Be(e,t))),Re=(t,n,l,r)=>e?w(F(F(Q,t),l),(e=>Y(r)!=e.type?Be(t,n,l,r,e.default):r),(()=>Be(t,n,l,r))):y(Y(r))?Be(t,n,l,r):r,Se=(e,t,n)=>(w(F(ne,t),(([l,r])=>{L(l,((t,n)=>{W(e,n)||(e[n]=t)})),L(r,(l=>{W(e,l)||Be(t,n,l)}))})),e),Ce=e=>Z(Q,e,((e,t,n)=>{const l=E(),r=H();Z(O(Q,t,E),n,((e,t,n)=>{z(e,t,n),w(n.default,(e=>z(l,t,e)),(()=>K(r,t)))})),z(ne,t,[l,r])}),((e,t)=>{z(Q,t),z(ne,t)})),Ie=e=>Z(re,e,((e,t,n)=>Le(t,n)),((e,t)=>ze(t))),Le=(e,t)=>Z(O(re,e,(()=>(ke(e,1),E()))),t,((t,n,l)=>me(e,t,n,l)),((t,n)=>Oe(e,t,n))),me=(e,t,n,l,r)=>Z(O(t,n,(()=>(Ae(e,n,1),E()))),l,((t,l,r)=>Ee(e,n,t,l,r)),((l,s)=>je(e,t,n,l,s,r))),Ee=(e,t,n,l,r)=>{S(n,l)||Me(e,t,l,1);const s=F(n,l);r!==s&&(Ne(e,t,l,s,r),z(n,l,r))},Je=(e,t,n,l,r)=>w(F(t,n),(t=>Ee(e,n,t,l,r)),(()=>me(e,t,n,Se({[l]:r},e,n)))),Fe=e=>{const[t]=O(le,e,U),n=t();return S(F(re,e),n)?Fe(e):n},xe=e=>{var t;return null!=(t=F(re,e))?t:Le(e,{})},ze=e=>Le(e,{}),Oe=(e,t,n)=>{const[,l]=O(le,e,U);l(n),me(e,t,n,{},!0)},je=(e,t,n,l,r,s)=>{var o;const i=F(null==(o=F(ne,e))?void 0:o[0],r);if(!y(i)&&!s)return Ee(e,n,l,r,i);const a=t=>{Ne(e,n,t,F(l,t)),Me(e,n,t,-1),z(l,t)};y(i)?a(r):x(l,a),C(l)&&(Ae(e,n,-1),C(z(t,n))&&(ke(e,-1),z(re,e),z(le,e)))},ke=(e,t)=>ee(g,e,t),Ae=(e,t,n)=>ee(O(p,e,E),t,n),Me=(e,t,n,l)=>ee(O(O(N,e,E),t,E),n,l),Ne=(e,t,n,l,r)=>O(O(O(B,e,E),t,E),n,(()=>[l,0]))[1]=r,Be=(e,t,n,l,r)=>(h(O(O(O(D,e,E),t,E),n,(()=>[])),l),r),De=(e,t,n)=>w(F(F(F(B,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...V(Ve(e,t,n))])),Pe=e=>C(D)||C(ve[e])?0:L(e?k(D,A):D,((t,n)=>L(t,((t,l)=>L(t,((t,r)=>be(ve[e],[n,l,r],t))))))),We=(e,t,n)=>{if(!C(t))return be(e,n),1},$e=e=>{const t=C(ue[e]),n=C(ce[e])&&C(ae[e])&&t&&C(oe[e]),l=C(fe[e])&&C(de[e])&&C(ie[e])&&C(se[e]);if(!n||!l){const r=e?[k(g),A(p),k(N,A),k(B,A)]:[g,p,N,B];if(!n){L(r[2],((t,n)=>L(t,((t,l)=>We(ce[e],t,[n,l])))));const n=H();L(r[1],((l,r)=>{We(ae[e],l,[r])&&!t&&(be(ue[e],[r,null]),K(n,r))})),t||L(r[3],((t,l)=>{if(!S(n,l)){const n=H();L(t,(e=>L(e,(([t,l],r)=>l!==t?K(n,r):m(e,r))))),L(n,(t=>be(ue[e],[l,t])))}})),We(oe[e],r[0])}if(!l){let t;L(r[3],((n,l)=>{let r;L(n,((n,s)=>{let o;L(n,(([n,i],a)=>{i!==n&&(be(fe[e],[l,s,a],i,n,De),t=r=o=1)})),o&&be(de[e],[l,s],De)})),r&&be(ie[e],[l],De)})),t&&be(se[e],void 0,De)}}},qe=(e,...t)=>(Ze((()=>e(...c(t,u)))),tt),Ge=()=>j(re,(e=>j(e,j))),He=()=>J(re),Ke=e=>J(F(re,u(e))),Qe=(e,t,n,l=0,r)=>{return c(v((o=F(re,u(e)),i=(e,n)=>[y(t)?n:F(e,u(t)),n],s=([e],[t])=>(e<t?-1:1)*(n?-1:1),c([...null!=(a=null==o?void 0:o.entries())?a:[]],(([e,t])=>i(t,e))).sort(s)),l,y(r)?r:l+r),(([,e])=>e));var s,o,i,a},Ue=(e,t)=>J(F(F(re,u(e)),u(t))),Ve=(e,t,n)=>F(F(F(re,u(e)),u(t)),u(n)),Xe=e=>qe((()=>(e=>_(e,ye,Be))(e)?Ie(e):0)),Ye=()=>qe((()=>Ie({}))),Ze=(e,t)=>{if(-1==r)return;_e();const n=e();return et(t),n},_e=()=>(r++,tt),et=e=>(r>0&&(r--,0==r&&(l=!C(B),r=1,Pe(1),l&&$e(1),r=-1,(null==e?void 0:e(j(B,(e=>j(e,(e=>j(e,(e=>[...e]),(([e,t])=>e===t))),G)),G),j(D,(e=>j(e,j)))))&&(r=1,L(B,((e,t)=>L(e,((e,n)=>L(e,(([e],l)=>((e,t,n,l,r)=>y(r)?e.delCell(t,n,l,!0):e.setCell(t,n,l,r))(tt,t,n,l,e))))))),r=-1,l=!1),be(he[0],void 0,l),Pe(0),l&&$e(0),be(he[1],void 0,l),r=0,d([B,D,g,p,N],I))),tt),tt={getTables:Ge,getTableIds:He,getTable:e=>j(F(re,u(e)),j),getRowIds:Ke,getSortedRowIds:Qe,getRow:(e,t)=>j(F(F(re,u(e)),u(t))),getCellIds:Ue,getCell:Ve,hasTables:()=>!C(re),hasTable:e=>S(re,u(e)),hasRow:(e,t)=>S(F(re,u(e)),u(t)),hasCell:(e,t,n)=>S(F(F(re,u(e)),u(t)),u(n)),getJson:()=>T(re),getSchemaJson:()=>T(Q),setTables:Xe,setTable:(e,t)=>qe((e=>ye(t,e)?Le(e,t):0),e),setRow:(e,t,n)=>qe(((e,t)=>we(u(e),u(t),n)?me(u(e),xe(u(e)),u(t),n):0),e,t),addRow:(e,t)=>Ze((()=>{let n;return we(e,n,t)&&(e=u(e),me(e,xe(e),n=Fe(e),t)),n})),setPartialRow:(e,t,n)=>qe(((e,t)=>{if(we(e,t,n,1)){const l=xe(e);q(n,((n,r)=>Je(e,l,t,r,n)))}}),e,t),setCell:(e,n,l,r)=>qe(((e,n,l)=>w(Re(e,n,l,t(r)==o?r(Ve(e,n,l)):r),(t=>Je(e,xe(e),n,l,t)))),e,n,l),setJson:e=>{try{"{}"===e?Ye():Xe(b(e))}catch(e){}return tt},setSchema:t=>qe((()=>{if((e=(e=>_(e,(e=>_(e,(e=>{if(!_(e,((e,t)=>[i,a].includes(t))))return!1;const t=e.type;return!(!R(t)&&t!=s||(Y(e.default)!=t&&$(e,a),0))})))))(t))&&(Ce(t),!C(re))){const e=Ge();Ye(),Xe(e)}})),delTables:Ye,delTable:e=>qe((e=>S(re,e)?ze(e):0),e),delRow:(e,t)=>qe(((e,t)=>w(F(re,e),(n=>S(n,t)?Oe(e,n,t):0))),e,t),delCell:(e,t,n,l)=>qe(((e,t,n)=>w(F(re,e),(r=>w(F(r,t),(s=>S(s,n)?je(e,r,t,s,n,l):0))))),e,t,n),delSchema:()=>qe((()=>{Ce({}),e=!1})),transaction:Ze,startTransaction:_e,finishTransaction:et,forEachTable:e=>L(re,((t,n)=>e(n,(e=>L(t,((t,n)=>e(n,(e=>x(t,e))))))))),forEachRow:(e,t)=>L(F(re,u(e)),((e,n)=>t(n,(t=>x(e,t))))),forEachCell:(e,t,n)=>x(F(F(re,u(e)),u(t)),n),addSortedRowIdsListener:(e,t,n,l,r,s,o)=>{let i=Qe(e,t,n,l,r);return Te((()=>{const o=Qe(e,t,n,l,r);var a,u,d;u=i,f(a=o)===f(u)&&(d=(e,t)=>u[t]===e,a.every(d))||(i=o,s(tt,e,t,n,l,r,i))}),ue[o?1:0],[e,t])},addWillFinishTransactionListener:e=>Te(e,he[0]),addDidFinishTransactionListener:e=>Te(e,he[1]),callListener:e=>(pe(e,[He,Ke,Ue],(e=>y(e[2])?[]:V(Ve(...e)))),tt),delListener:e=>(ge(e),tt),getListenerStats:()=>({}),createStore:te};return q({Tables:[0,se],TableIds:[0,oe],Table:[1,ie],RowIds:[1,ae],Row:[2,de],CellIds:[2,ce],Cell:[3,fe],InvalidCell:[3,ve]},(([e,t],n)=>{tt["add"+n+"Listener"]=(...n)=>Te(n[e],t[n[e+1]?1:0],e>0?v(n,0,e):void 0)})),P(tt)};e.createStore=te},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
|
package/lib/umd-es6/store.js.gz
CHANGED
|
Binary file
|