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/tools.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t=e(""),l=e(!0),a=e(0),o=(e,t)=>e.every(t),n=(e,t)=>e.sort(t),r=(e,t)=>e.forEach(t),s=(e,t)=>e.map(t),d=e=>e.length,i=(e,...t)=>e.push(...t),$=e=>e.shift(),c=JSON.parse,I=isFinite,b=e=>null==e,h=e=>Array.isArray(e),w=(e,t)=>e?.has(t)??!1,u=e=>[...e?.values()??[]],C=(e,t)=>e?.forEach(t),g=e=>new Map(e),f=(e,t)=>e?.get(t),R=(e,t)=>s([...e?.entries()??[]],(([e,l])=>t(l,e))),T=(e,t,l)=>{return b(l)?(a=t,e?.delete(a),e):e?.set(t,l);var a},p=(e,t,l)=>(w(e,t)||T(e,t,l()),f(e,t)),v=e=>new Set(h(e)||b(e)?e:[e]),m=/[^A-Za-z0-9]+/,S=/^( *)\/\*\* *(.*?) *\*\/$/gm,L=(e,t,l)=>e.substring(t,l),y=e=>e.toUpperCase(),k=e=>e.toLowerCase(),A=(e,t,l,a=1)=>{const o=`${t}${1==a?"":a}`;return w(e,o)?A(e,t,l,a+1):(T(e,o,l),o)},E=e=>e.length,j=(e,t="")=>e.join(t),x=(e,t=0)=>j(s(e.split(m),((e,l)=>(l>0||t?y:k)(L(e,0,1))+L(e,1)))),J=e=>y(j(e.split(m),"_")),O=e=>`/** ${e}. */`,N=()=>{const e=[g(),g()],t=g(),l=g(),a=g();return[(...e)=>{const t=[],l=e=>h(e)?r(e,l):i(t,e);return r(e,l),t.join("\n")},(t,l,...a)=>r(a,(a=>{return o=p(e[t],l,v),n=a,o?.add(n);var o,n})),(e,l="",a="")=>A(t,e,[l,a]),(e,l,a)=>T(t,e,[l,a]),(e,t,a,o,n,r="")=>A(l,e,[t,a,o,n,r]),(e,t,l)=>A(a,e,h(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>f(a,e)===t?e:A(a,e,t),t=>[...n(R(e[t],((e,t)=>`import {${j(n(u(e)),", ")}} from '${t}';`))),""],()=>R(t,(([e,t],l)=>[O(t),`export type ${l} = ${e};`,""])),e=>R(l,(([t,l,a,o,n],r)=>{const s=e?[`${r}: ${n}(${t}): ${l} => ${a},`]:[`${r}${n}(${t}): ${l};`];return e||((e,...t)=>{e.unshift(...t)})(s,O(o)),i(s,""),s})),()=>R(a,((e,t)=>(e=h(e)?e:[e],i(e,e.pop()+";"),[`const ${t} = ${$(e)}`,e,""])))]},G=Object,z=G.keys,D=G.freeze,F=(e,t)=>{return a=e=>e[t],b(l=e)?o?.():a(l);var l,a,o},M=(e,t)=>r(G.entries(e),(([e,l])=>t(l,e))),W=e=>{return t=z(e),0==d(t);var t},P=o=>{const n=e(o);return(e=>e==t||e==l)(n)||n==a&&I(o)?n:void 0},_="the Store",Q="Registers a listener that will be called",U=(e,t="",l="")=>`store.${e}(${t})${l?" as "+l:""}`,Z=(e,t="")=>`fluent(() => ${U(e,t)})`,q=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in ${t}`,B=(e,t)=>`Calls a function for each ${e} in ${t}`,H=(e,t=_)=>`Gets whether ${e} exists in ${t}`,K=e=>"A function that takes "+e,V=(e,t,l=0)=>`${Q} whenever ${e} in ${t} change`+(l?"":"s"),X=(e=0)=>1==e?"Sets":2==e?"Sets part of":3==e?"Deletes":"Gets",Y=(a,o)=>{if(W(a))return[n="// store has no inferable schema",n];var n;const r=x(o),s=x(o,1),d=x(s),$=`return ${d};`,c=[],I=[],h=[],w=[],f=[],R=[],p=[],v=(e,t="",l="")=>`store.${e}(${t?t+", ":""}proxy(listener)${l?", "+l:""})`,[m,S,L,y,k,A,E,G,z,D,P]=N();S(0,"tinybase","CellChange","ChangedCells","Id","IdOrNull","Ids","InvalidCells","Json","Store"),S(1,"tinybase","ChangedCells","Id","IdOrNull","Ids","InvalidCells","Json","Store","createStore"),A("fluent","actions: () => Store",["actions();",$]),A("proxy","listener: any",`(_: Store, ...args: any[]) => listener(${d}, ...args)`);const Y=E(J("type"),"'type'"),ee=E(J("default"),"'default'"),te=L("Tables"),le=L("TableId"),ae=L("TableCallback"),oe=L("GetCellChange"),ne=L("TablesListener",`(${d}: ${s}, getCellChange: ${oe} | undefined) => void`,"A function for listening to changes to the content of the Store"),re=L("TableIdsListener",`(${d}: ${s}) => void`,"A function for listening to changes to Table Ids in the Store"),se=L("TableListener",`(${d}: ${s}, tableId: ${le}, getCellChange: ${oe} | undefined) => void`,"A function for listening to changes to a Table in the Store"),de=L("RowIdsListener",`(${d}: ${s}, tableId: ${le}) => void`,"A function for listening to changes to Row Ids in the Store"),ie=L("RowListener",`(${d}: ${s}, tableId: ${le}, rowId: Id, getCellChange: ${oe} | undefined) => void`,"A function for listening to changes to a Row in the Store"),$e=L("CellIdsListener",`(${d}: ${s}, tableId: ${le}, rowId: Id) => void`,"A function for listening to changes to Cell Ids in the Store"),ce=L("CellListener"),Ie=L("InvalidCellListener",`(${d}: ${s}, tableId: Id, rowId: Id, cellId: Id, invalidCells: any[]) => void;`,"A function for listening to invalid Cell changes"),be=L("TransactionListener",`(${d}: ${s}, cellsTouched: boolean) => void;`,"A function for listening to the completion of a transaction");S(1,`./${r}.d`,s,`create${s} as create${s}Decl`,te,le,ae,ne,re,se,de,ie,$e,ce,Ie,be);const he=(e=0)=>X(e)+" the content of the Store";k("hasTables","",l,U("hasTables"),H("any Table")),k("getTables","",te,U("getTables"),he()),k("setTables","tables: "+te,s,Z("setTables","tables"),he(1)),k("delTables","",s,Z("delTables"),he(3)),k("getTableIds","",le+"[]",U("getTableIds","",le+"[]"),q("Table",_)),k("forEachTable","tableCallback: "+ae,"void",U("forEachTable","tableCallback as any"),B("Table",_));const we=g();var ue;return M(a,((a,o)=>{const n=x(o,1),$=E(J(o),`'${o}'`),u=[],C=[],g=[],v=[],m=`the '${o}' Table`,A="the specified Row in "+m,O="the content of "+m,N=(e=0)=>`${X(e)} the content of ${m}`,G=(e=0)=>`${X(e)} the content of ${A}`,z=(e=0)=>`Represents a Row when ${e?"s":"g"}etting ${O}`,D=L(n+"Table",`{[rowId: Id]: ${n}Row}`,"Represents "+m),W=L(n+"Row"),P=L(n+"RowWhenSet"),_=L(n+"CellId"),Q=L(n+"CellCallback"),V=L(n+"RowCallback");S(1,`./${r}.d`,D,W,P,_,Q,V),k(`has${n}Table`,"",l,U("hasTable",$),H(m)),k(`get${n}Table`,"",D,U("getTable",$,D),N()),k(`set${n}Table`,"table: "+D,s,Z("setTable",$+", table"),N(1)),k(`del${n}Table`,"",s,Z("delTable",$),N(3)),k(`get${n}RowIds`,"","Ids",U("getRowIds",$),q("Row",m)),k(`get${n}SortedRowIds`,`cellId?: ${_}, descending?: boolean, offset?: number, limit?: number`,"Ids",U("getSortedRowIds",$+", cellId, descending, offset, limit"),q("Row",m,1)),k(`forEach${n}Row`,"rowCallback: "+V,"void",U("forEachRow",$+", rowCallback as any"),B("Row",m)),k(`has${n}Row`,"rowId: Id",l,U("hasRow",$+", rowId"),H("the specified Row",m)),k(`get${n}Row`,"rowId: Id",W,U("getRow",$+", rowId",W),G()),k(`set${n}Row`,"rowId: Id, row: "+P,s,Z("setRow",$+", rowId, row"),G(1)),k(`add${n}Row`,"row: "+P,"Id | undefined",U("addRow",$+", row"),"Adds a new Row to "+m),k(`set${n}PartialRow`,"rowId: Id, partialRow: "+P,s,Z("setPartialRow",$+", rowId, partialRow"),G(2)),k(`del${n}Row`,"rowId: Id",s,Z("delRow",$+", rowId"),G(3)),k(`get${n}CellIds`,"rowId: Id",_+"[]",U("getCellIds",$+", rowId",_+"[]"),q("Cell",A)),k(`forEach${n}Cell`,"rowId: Id, cellCallback: "+Q,"void",U("forEachCell",$+", rowId, cellCallback as any"),B("Cell",A)),i(p,`[${$}]: {`),M(a,((a,r)=>{const c=x(r,1),I=E(J(r),`'${r}'`),h=a.type,w=!b(F(a,"default"));const R=a.default,m=`the '${r}' Cell`,S=(e=0)=>`${X(e)} ${m} for ${A}`;var L;i(p,`[${I}]: {[${Y}]: ${E(J(h),`'${h}'`)}${w?`, [${ee}]: ${L=R,e(L)==t?E(J(R),`'${R}'`):R}`:""}},`),i(u,`'${r}'${w?"":"?"}: ${h};`),i(C,`'${r}'?: ${h};`),i(g,`'${r}'`),i(v,`[cellId: '${r}', cell: ${h}]`),i(f,`[${d}: ${s}, tableId: '${o}', rowId: Id, cellId: '${r}', newCell: ${h} | undefined, oldCell: ${h} | undefined, getCellChange: ${oe} | undefined]`);const y="Map"+x(h,1);T(we,h,y),k(`has${n}${c}Cell`,"rowId: Id",l,U("hasCell",`${$}, rowId, ${I}`),H(m,A));const j=`${h}${w?"":" | undefined"}`;k(`get${n}${c}Cell`,"rowId: Id",j,U("getCell",`${$}, rowId, ${I}`,j),S()),k(`set${n}${c}Cell`,`rowId: Id, cell: ${h} | ${y}`,s,Z("setCell",`${$}, rowId, ${I}, cell as any`),S(1)),k(`del${n}${c}Cell`,"rowId: Id",s,Z("delCell",`${$}, rowId, ${I}`),S(3))})),i(p,"},"),i(c,`'${o}'?: ${D};`),i(I,`'${o}'`),i(h,`[tableId: '${o}', forEachRow: (rowCallback: ${V}) => void]`),i(w,`[tableId: '${o}', rowId: Id, cellId: ${_}]`),i(R,_),y(W,`{${j(u," ")}}`,z()),y(P,`{${j(C," ")}}`,z(1)),y(_,j(g," | "),"A Cell Id for "+m),y(Q,`(...[cellId, cell]: ${j(v," | ")}) => void`,K("a Cell Id and value from a Row in "+m)),y(V,`(rowId: Id, forEachCell: (cellCallback: ${Q}) => void) => void`,K(`a Row Id from ${m}, and a Cell iterator`))})),k("getJson","","Json",U("getJson"),"Gets a a string serialization the content of the Store"),k("setJson","json: Json",s,Z("setJson","json"),"Sets the content of the Store from a serialized string"),k("transaction","actions: () => Return, doRollback?: (changedCells: ChangedCells, invalidCells: InvalidCells) => boolean","Return",U("transaction","actions, doRollback"),"Execute a transaction to make multiple mutations","<Return>"),k("startTransaction","",s,Z("startTransaction"),"Explicitly starts a transaction"),k("finishTransaction","doRollback?: (changedCells: ChangedCells, invalidCells: InvalidCells) => boolean,",s,Z("finishTransaction","doRollback"),"Explicitly finishes a transaction"),k("addTablesListener",`listener: ${ne}, mutator?: boolean`,"Id",v("addTablesListener","","mutator"),Q+" whenever the content of the Store changes"),k("addTableIdsListener",`listener: ${re}, mutator?: boolean`,"Id",v("addTableIdsListener","","mutator"),V("the Table Ids",_,1)),k("addTableListener",`tableId: ${le} | null, listener: ${se}, mutator?: boolean`,"Id",v("addTableListener","tableId","mutator"),V("a Table",_)),k("addRowIdsListener",`tableId: ${le} | null, listener: ${de}, mutator?: boolean`,"Id",v("addRowIdsListener","tableId","mutator"),V("the Row Ids","a Table",1)),k("addRowListener",`tableId: ${le} | null, rowId: IdOrNull, listener: ${ie}, mutator?: boolean`,"Id",v("addRowListener","tableId, rowId","mutator"),V("a Row","a Table")),k("addCellIdsListener",`tableId: ${le} | null, rowId: IdOrNull, listener: ${$e}, mutator?: boolean`,"Id",v("addCellIdsListener","tableId, rowId","mutator"),V("the Cell Ids","a Row",1)),k("addCellListener",`tableId: ${le} | null, rowId: IdOrNull, cellId: ${j(R," | ")} | null, listener: ${ce}, mutator?: boolean`,"Id",v("addCellListener","tableId, rowId, cellId","mutator"),V("a Cell","a Row")),k("addInvalidCellListener",`tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull, listener: ${Ie}, mutator?: boolean`,"Id",v("addCellListener","tableId, rowId, cellId","mutator"),Q+" whenever an invalid Cell change was attempted"),k("addWillFinishTransactionListener","listener: "+be,"Id",v("addWillFinishTransactionListener"),Q+" just before the end of the transaction"),k("addDidFinishTransactionListener","listener: "+be,"Id",v("addDidFinishTransactionListener"),Q+" just after the end of the transaction"),k("callListener","listenerId: Id",s,Z("callListener","listenerId"),"Manually provoke a listener to be called"),k("delListener","listenerId: Id",s,Z("delListener","listenerId"),"Remove a listener that was previously added to the Store"),k("getStore","","Store","store","Gets the underlying Store object"),y(te,`{${j(c," ")}}`,"Represents the content of the Store"),y(le,j(I," | "),"A Table Id in the Store"),y(ae,`(...[tableId, rowCallback]: ${j(h," | ")}) => void`,K("a Table Id, and a Row iterator")),y(oe,`(...[tableId, rowId, cellId]: ${j(w," | ")}) => CellChange`,"A function that returns information about any Cell's changes during a transaction"),y(ce,`(...[${d}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${j(f," | ")}) => void`,"A function for listening to changes to a Cell in the Store"),ue=(e,t)=>L(t,`(cell: ${e} | undefined) => ${e}`,`Takes a ${e} Cell value and returns another`),C(we,((e,t)=>ue(t,e))),S(1,`./${r}.d`,...u(we)),E("store",["createStore().setSchema({",...p,"})"]),E(d,["{",...D(1),"}"]),[m(...G(0),...z(),`export interface ${s} {`,...D(0),"}","",O(`Creates a ${s} object`),`export function create${s}(): ${s};`),m(...G(1),`export const create${s}: typeof create${s}Decl = () => {`,...P(),`return Object.freeze(${d});`,"};")]},ee={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},te=(e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))})((e=>{const t=()=>{const t=c(e.getSchemaJson());return!W(t)||o(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=g();if(o(a,(t=>o(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),r=p(n,a,(()=>[P(o),g(),[0],0])),[s,d,[i]]=r,$=p(d,o,(()=>0))+1;return $>i&&(r[2]=[$,o]),T(d,o,$),r[3]++,s==P(o)})))))return t[l]={},C(n,(([e,,[,o],n],r)=>{t[l][r]={type:e,...n==d(a)?{default:o}:{}}})),1}))?t:{}},l=e=>Y(t(),e);return D({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:E(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 s(t,(t=>(e=>e.replace(S,((e,t,l)=>{const a=77-E(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})))(e(t,ee))))}catch{}return t}})}));export{te as createTools};
|
|
1
|
+
const e=e=>typeof e,l="",t=e(l),a=e(!0),o=e(0),n="type",r="default",d=(e,l)=>e.every(l),s=(e,l)=>e.sort(l),$=(e,l)=>e.forEach(l),i=(e,l)=>e.map(l),I=e=>e.length,c=e=>0==I(e),b=(e,...l)=>e.push(...l),w=e=>e.pop(),C=(e,...l)=>e.unshift(...l),h=e=>e.shift(),g=JSON.parse,u=isFinite,T=e=>null==e,R=e=>e==t||e==a,f=l=>e(l)==t,p=e=>Array.isArray(e),m=(e,l)=>e?.has(l)??!1,L=e=>[...e?.values()??[]],y=(e,l)=>e?.forEach(l),S=(e,l)=>e?.delete(l),v=e=>new Map(e),k=(e,l)=>e?.get(l),E=(e,l)=>y(e,((e,t)=>l(t,e))),j=(e,l)=>i([...e?.entries()??[]],(([e,t])=>l(t,e))),x=(e,l,t)=>T(t)?(S(e,l),e):e?.set(l,t),A=(e,l,t)=>(m(e,l)||x(e,l,t()),k(e,l)),J=e=>new Set(p(e)||T(e)?e:[e]),O=(e,l)=>e?.add(l),N=e=>[e,e],z=()=>[v(),v()],D=/[^A-Za-z0-9]+/,F=/^( *)\/\*\* *(.*?) *\*\/$/gm,G=(e,l,t)=>e.substring(l,t),M=e=>e.toUpperCase(),W=e=>e.toLowerCase(),P=(e,l,t,a=1)=>{const o=`${l}${1==a?"":a}`;return m(e,o)?P(e,l,t,a+1):(x(e,o,t),o)},_=e=>e.replace(F,((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,t=l)=>e.join(t),Z=e=>e.flat(1e3),q=(e,l=0)=>U(i(e.split(D),((e,t)=>(t>0||l?M:W)(G(e,0,1))+G(e,1)))),B=e=>M(U(e.split(D),"_")),H=e=>`/** ${e}. */`,K=()=>{const e=z(),t=v(),a=v(),o=v();return[(...e)=>U(Z(e),"\n"),(l,t,...a)=>$(a,(a=>O(A(e[l],t,J),a))),(e,l="",a="")=>P(t,e,[l,a]),(e,l,t,o,n,r="")=>P(a,e,[l,t,o,n,r]),(e,l,t)=>P(o,e,p(t)?[`(${l}) => {`,t,"}"]:[`(${l}) => ${t}`]),(e,l)=>k(o,e)===l?e:P(o,e,l),t=>[...s(j(e[t],((e,l)=>`import {${U(s(L(e)),", ")}} from '${l}';`))),l],()=>j(t,(([e,t],a)=>[H(t),`export type ${a} = ${e};`,l])),e=>j(a,(([t,a,o,n,r],d)=>{const s=e?[`${d}: ${r}(${t}): ${a} => ${o},`]:[`${d}${r}(${t}): ${a};`];return e||C(s,H(n)),b(s,l),s})),()=>j(o,((e,t)=>(e=p(e)?e:[e],b(e,w(e)+";"),[`const ${t} = ${h(e)}`,e,l])))]},V=Object,X=V.keys,Y=V.freeze,ee=(e,l)=>i(V.entries(e),(([e,t])=>l(t,e))),le=e=>c(X(e)),te=l=>{const t=e(l);return R(t)||t==o&&u(l)?t:void 0},ae="the content of",oe="the Store",ne="A function for",re="export",de="listener",se=" | undefined",$e=`Registers a ${de} that will be called`,ie="Represents",Ie=" => void",ce=`${ae} ${oe}`,be="the end of the transaction",we="the specified Row",Ce=(e,l=0)=>`${ie} a Row when ${l?"s":"g"}etting ${ae} the '${e}' Table`,he=(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}`,ue=(e,l=oe)=>`Gets whether ${e} exists in ${l}`,Te=e=>"A function that takes "+e,Re=(e=0,l=0)=>`${ne} listening to changes to ${je[e]} in ${je[l]}`,fe=(e,l,t=0)=>`${$e} whenever ${e} in ${l} change`+(t?"":"s"),pe=(e=0)=>`${Ee[e]} ${ce}`,me=e=>`the '${e}' Table`,Le=e=>`${we} in ${me(e)}`,ye=e=>`the '${e}' Cell`,Se=(e,l=0)=>`${Ee[l]} ${ae} ${me(e)}`,ve=(e,l=0)=>`${Ee[l]} ${ae} ${Le(e)}`,ke=(e,l,t=0)=>`${Ee[t]} ${ye(l)} for ${Le(e)}`,Ee=["Gets","Sets","Sets part of","Deletes"],je=[oe,"anything","Table Ids","a Table","Row Ids","a Row","Cell Ids","a Cell","invalid Cell changes"],xe=["ChangedCells","Id","IdOrNull","Ids","InvalidCells","Json","Store"],Ae=(e,t=l,a=l)=>`store.${e}(${t})${a?" as "+a:l}`,Je=(e,t=l)=>`fluent(() => ${Ae(e,t)})`,Oe=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(${de})${a?", "+a:l})`,Ne=(e,t)=>{if(le(e))return N(l);const[o,d,s,$,i,I,c,b,w,C]=K(),h=`./${q(t)}.d`,g=q(t,1),u=q(g),R=v(),p=t=>ee(e,((e,a)=>t(a,A(R,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,t,a)=>`'${e}'${T(a)?"?":l}: ${t};`))," ")}}`,Ce(a)),s(e+"RowWhenSet",`{${U(m(a,((e,l)=>`'${e}'?: ${l};`))," ")}}`,Ce(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}]`))," | ")})${Ie}`,Te(`a Cell Id and value from a Row in the '${a}' Table`)),s(e+"RowCallback",`(rowId: Id, forEachCell: (cellCallback: ${e}CellCallback)${Ie})${Ie}`,Te(`a Row Id from the '${a}' Table, and a Cell iterator`))]})),q(a,1),I(B(a),`'${a}'`)))),m=(l,t)=>ee(e[l],((e,l)=>t(l,e[n],e[r],I(B(l),`'${l}'`),q(l,1)))),y=s("Tables",`{${U(p(((e,l)=>`'${e}'?: ${l[0]};`))," ")}}`,`${ie} ${ce}`),S=s("TableId",U(p((e=>`'${e}'`))," | "),"A Table Id in "+oe),k=s("TableCallback",`(...[tableId, rowCallback]: ${U(p(((e,l)=>`[tableId: '${e}', forEachRow: (rowCallback: ${l[5]})${Ie}]`))," | ")})${Ie}`,Te("a Table Id, and a Row iterator")),j=s("GetCellChange",`(...[tableId, rowId, cellId]: ${U(p(((e,l)=>`[tableId: '${e}', rowId: Id, cellId: ${l[3]}]`))," | ")}) => CellChange`,ne+" returning information about any Cell's changes during a transaction"),J=s("TablesListener",`(${u}: ${g}, getCellChange: ${j}${se})${Ie}`,Re(1)),O=s("TableIdsListener",`(${u}: ${g})${Ie}`,Re(2)),z=s("TableListener",`(${u}: ${g}, tableId: ${S}, getCellChange: ${j}${se})${Ie}`,Re(3)),D=s("RowIdsListener",`(${u}: ${g}, tableId: ${S})${Ie}`,Re(4,3)),F=s("RowListener",`(${u}: ${g}, tableId: ${S}, rowId: Id, getCellChange: ${j}${se})${Ie}`,Re(5,3)),G=s("CellIdsListener",`(${u}: ${g}, tableId: ${S}, rowId: Id)`+Ie,Re(6,5)),M=s("CellListener",`(...[${u}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${U(Z(p((e=>m(e,((l,t)=>`[${u}: ${g}, tableId: '${e}', rowId: Id, cellId: '${l}', newCell: ${t}${se}, oldCell: ${t}${se}, getCellChange: ${j} | undefined]`)))))," | ")})${Ie}`,Re(7,5)),W=s("InvalidCellListener",`(${u}: ${g}, tableId: Id, rowId: Id, cellId: Id, invalidCells: any[])${Ie};`,Re(8)),P=s("TransactionListener",`(${u}: ${g}, cellsTouched: boolean)${Ie};`,ne+" listening to the completion of a transaction");$("hasTables",l,a,Ae("hasTables"),ue("any Table")),$("getTables",l,y,Ae("getTables"),pe()),$("setTables","tables: "+y,g,Je("setTables","tables"),pe(1)),$("delTables",l,g,Je("delTables"),pe(3)),$("getTableIds",l,S+"[]",Ae("getTableIds",l,S+"[]"),he("Table",oe)),$("forEachTable","tableCallback: "+k,"void",Ae("forEachTable","tableCallback as any"),ge("Table",oe));const _=v();return p(((e,[t,o,n,r,s,i],I,c)=>{d(1,h,t,o,n,r,s,i),$(`has${I}Table`,l,a,Ae("hasTable",c),ue(me(e))),$(`get${I}Table`,l,t,Ae("getTable",c,t),Se(e)),$(`set${I}Table`,"table: "+t,g,Je("setTable",c+", table"),Se(e,1)),$(`del${I}Table`,l,g,Je("delTable",c),Se(e,3)),$(`get${I}RowIds`,l,"Ids",Ae("getRowIds",c),he("Row",me(e))),$(`get${I}SortedRowIds`,`cellId?: ${r}, descending?: boolean, offset?: number, limit?: number`,"Ids",Ae("getSortedRowIds",c+", cellId, descending, offset, limit"),he("Row",me(e),1)),$(`forEach${I}Row`,"rowCallback: "+i,"void",Ae("forEachRow",c+", rowCallback as any"),ge("Row",me(e))),$(`has${I}Row`,"rowId: Id",a,Ae("hasRow",c+", rowId"),ue(we,me(e))),$(`get${I}Row`,"rowId: Id",o,Ae("getRow",c+", rowId",o),ve(e)),$(`set${I}Row`,"rowId: Id, row: "+n,g,Je("setRow",c+", rowId, row"),ve(e,1)),$(`add${I}Row`,"row: "+n,"Id"+se,Ae("addRow",c+", row"),"Adds a new Row to "+me(e)),$(`set${I}PartialRow`,"rowId: Id, partialRow: "+n,g,Je("setPartialRow",c+", rowId, partialRow"),ve(e,2)),$(`del${I}Row`,"rowId: Id",g,Je("delRow",c+", rowId"),ve(e,3)),$(`get${I}CellIds`,"rowId: Id",r+"[]",Ae("getCellIds",c+", rowId",r+"[]"),he("Cell",Le(e))),$(`forEach${I}Cell`,"rowId: Id, cellCallback: "+s,"void",Ae("forEachCell",c+", rowId, cellCallback as any"),ge("Cell",Le(e))),m(e,((t,o,n,r,d)=>{const s="Map"+q(o,1);x(_,o,s),$(`has${I}${d}Cell`,"rowId: Id",a,Ae("hasCell",`${c}, rowId, ${r}`),ue(ye(t),Le(e)));const i=`${o}${T(n)?se:l}`;$(`get${I}${d}Cell`,"rowId: Id",i,Ae("getCell",`${c}, rowId, ${r}`,i),ke(e,t)),$(`set${I}${d}Cell`,`rowId: Id, cell: ${o} | ${s}`,g,Je("setCell",`${c}, rowId, ${r}, cell as any`),ke(e,t,1)),$(`del${I}${d}Cell`,"rowId: Id",g,Je("delCell",`${c}, rowId, ${r}`),ke(e,t,3))}))})),$("getJson",l,"Json",Ae("getJson"),`${Ee[0]} a string serialization ${ce}`),$("setJson","json: Json",g,Je("setJson","json"),`${Ee[1]} ${ce} from a serialized string`),$("transaction","actions: () => Return, doRollback?: (changedCells: ChangedCells, invalidCells: InvalidCells) => boolean","Return",Ae("transaction","actions, doRollback"),"Execute a transaction to make multiple mutations","<Return>"),$("startTransaction",l,g,Je("startTransaction"),"Explicitly starts a transaction"),$("finishTransaction","doRollback?: (changedCells: ChangedCells, invalidCells: InvalidCells) => boolean,",g,Je("finishTransaction","doRollback"),"Explicitly finishes a transaction"),$("addTablesListener",`${de}: ${J}, mutator?: boolean`,"Id",Oe("addTablesListener",l,"mutator"),`${$e} whenever ${ce} changes`),$("addTableIdsListener",`${de}: ${O}, mutator?: boolean`,"Id",Oe("addTableIdsListener",l,"mutator"),fe("the Table Ids",oe,1)),$("addTableListener",`tableId: ${S} | null, ${de}: ${z}, mutator?: boolean`,"Id",Oe("addTableListener","tableId","mutator"),fe("a Table",oe)),$("addRowIdsListener",`tableId: ${S} | null, ${de}: ${D}, mutator?: boolean`,"Id",Oe("addRowIdsListener","tableId","mutator"),fe("the Row Ids","a Table",1)),$("addRowListener",`tableId: ${S} | null, rowId: IdOrNull, ${de}: ${F}, mutator?: boolean`,"Id",Oe("addRowListener","tableId, rowId","mutator"),fe("a Row","a Table")),$("addCellIdsListener",`tableId: ${S} | null, rowId: IdOrNull, ${de}: ${G}, mutator?: boolean`,"Id",Oe("addCellIdsListener","tableId, rowId","mutator"),fe("the Cell Ids","a Row",1)),$("addCellListener",`tableId: ${S} | null, rowId: IdOrNull, cellId: ${U(p(((e,l)=>l[3]))," | ")} | null, ${de}: ${M}, mutator?: boolean`,"Id",Oe("addCellListener","tableId, rowId, cellId","mutator"),fe("a Cell","a Row")),$("addInvalidCellListener",`tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull, ${de}: ${W}, mutator?: boolean`,"Id",Oe("addCellListener","tableId, rowId, cellId","mutator"),$e+" whenever an invalid Cell change was attempted"),$("addWillFinishTransactionListener",`${de}: ${P}`,"Id",Oe("addWillFinishTransactionListener"),`${$e} just before ${be}`),$("addDidFinishTransactionListener",`${de}: ${P}`,"Id",Oe("addDidFinishTransactionListener"),`${$e} just after ${be}`),$("callListener",de+"Id: Id",g,Je("callListener",de+"Id"),`Manually provoke a ${de} to be called`),$("delListener",de+"Id: Id",g,Je("delListener",de+"Id"),`Remove a ${de} that was previously added to ${oe}`),$("getStore",l,"Store","store",Ee[0]+" the underlying Store object"),E(_,((e,l)=>s(l,`(cell: ${e}${se}) => ${e}`,`Takes a ${e} Cell value and returns another`))),d(0,"tinybase","CellChange",...xe),d(1,"tinybase","createStore",...xe),d(1,h,g,`create${g} as create${g}Decl`,y,S,k,J,O,z,D,F,G,M,W,P,...L(_)),I("store",["createStore().setSchema({",Z(p(((e,t,a,o)=>[`[${o}]: {`,...m(e,((e,t,a,o)=>`[${o}]: {[${I(B(n),`'${n}'`)}]: ${I(B(t),`'${t}'`)}${T(a)?l:`, [${I(B(r),`'${r}'`)}]: ${f(a)?I(B(a),`'${a}'`):a}`}},`)),"},"]))),"})"]),i("fluent","actions: () => Store",["actions();",`return ${u};`]),i("proxy",de+": any",`(_: Store, ...args: any[]) => ${de}(${u}, ...args)`),I(u,["{",...w(1),"}"]),[o(...c(0),...b(),`${re} interface ${g} {`,...w(0),"}",l,H(`Creates a ${g} object`),`${re} function create${g}(): ${g};`),o(...c(1),`${re} const create${g}: typeof create${g}Decl = () => {`,...C(),`return Object.freeze(${u});`,"};")]},ze={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},De=(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!le(l)||d(e.getTableIds(),(t=>{const a=e.getRowIds(t),o=v();if(d(a,(l=>d(e.getCellIds(t,l),(a=>{const n=e.getCell(t,l,a),r=A(o,a,(()=>[te(n),v(),[0],0])),[d,s,[$]]=r,i=A(s,n,(()=>0))+1;return i>$&&(r[2]=[i,n]),x(s,n,i),r[3]++,d==te(n)})))))return l[t]={},y(o,(([e,,[,o],d],s)=>{l[t][s]={[n]:e,...d==I(a)?{[r]:o}:{}}})),1}))?l:{}},t=e=>Ne(l(),e),a=async e=>{let l;try{l=(await import("prettier")).format}catch{l=e=>e}return i(t(e),(e=>_(l(e,ze))))};return Y({getStoreStats:l=>{let t=0,a=0,o=0;const n={};return e.forEachTable(((e,r)=>{t++;let d=0,s=0;const $={};r(((e,t)=>{d++;let a=0;t((()=>a++)),s+=a,l&&($[e]={rowCells:a})})),a+=d,o+=s,l&&(n[e]={tableRows:d,tableCells:s,rows:$})})),{totalTables:t,totalRows:a,totalCells:o,jsonLength:Q(e.getJson()),...l?{detail:{tables:n}}:{}}},getStoreSchema:l,getStoreApi:t,getPrettyStoreApi:a})}));export{De as createTools};
|
package/lib/tools.js.gz
CHANGED
|
Binary file
|
package/lib/umd/checkpoints.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=(e,t)=>e.includes(t),n=(e,t)=>e.forEach(t),o=e=>e.length,r=e=>0==o(e),s=(e,...t)=>e.push(...t),i=e=>e.pop(),c=e=>e.shift(),l=e=>null==e,d=(e,t,n)=>l(e)?n?.():t(e),a=(e,t)=>e?.has(t)??!1,u=e=>l(e)||0==(e=>e.size)(e),h=(e,t)=>e?.forEach(t),p=(e,t)=>e?.delete(t),f=e=>new Map(e),C=(e,t)=>e?.get(t),g=(e,t,n)=>l(n)?(p(e,t),e):e?.set(t,n),k=(e,t,n)=>(a(e,t)||g(e,t,n()),C(e,t)),y=(e,t,n,r,s=0)=>d((n?k:C)(e,t[s],s>o(t)-2?n:f),(i=>{if(s>o(t)-2)return r?.(i)&&g(e,t[s]),i;const c=y(i,t,n,r,s+1);return u(i)&&g(e,t[s]),c})),v=e=>new Set(Array.isArray(e)||l(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 t;const[r,i]=(()=>{const e=[];let t=0;return[()=>c(e)??""+t++,t=>{L.test(t)&&o(e)<1e3&&s(e,t)}]})(),a=f();return[(e,n,o)=>{t??=V;const s=r();var i;return g(a,s,[e,n,o]),i=s,y(n,o??[""],v)?.add(i),s},(e,r,...i)=>n(((e,t=[""])=>{const r=[],i=(e,c)=>c==o(t)?s(r,e):null===t[c]?h(e,(e=>i(e,c+1))):n([t[c],null],(t=>i(C(e,t),c+1)));return i(e,0),r})(e,r),(e=>h(e,(e=>C(a,e)[0](t,...r??[],...i))))),e=>d(C(a,e),(([,t,n])=>(y(t,n??[""],void 0,(t=>(p(t,e),u(t)?1:0))),g(a,e),i(e),n))),(e,r,s)=>d(C(a,e),(([e,,i=[]])=>{const c=(...d)=>{const a=o(d);a==o(i)?e(t,...d,...s(d)):l(i[a])?n(r[a](...d),(e=>c(...d,e))):c(...d,i[a])};c()}))]})(),M=f(),F=f(),O=[],W=[],$=(t,n)=>{E=0,e.transaction((()=>h(C(M,n),((n,o)=>h(n,((n,r)=>h(n,((n,s)=>((e,t,n,o,r)=>l(r)?e.delCell(t,n,o,!0):e.setCell(t,n,o,r))(e,o,r,s,n[t]))))))))),E=1},q=e=>{g(M,e),g(F,e),B(m,[e])},D=(e,t)=>n(((e,t)=>e.splice(0,t))(e,t??o(e)),q),G=()=>D(O,o(O)-x),H=e.addCellListener(null,null,null,((e,t,n,o,r,c)=>{if(E){d(b,(()=>{s(O,b),G(),D(W),b=void 0,T=1}));const e=k(z,t,f),l=k(e,n,f),a=k(l,o,(()=>[c,void 0]));a[1]=r,a[0]===r&&u(g(l,o))&&u(g(e,n))&&u(g(z,t))&&(b=i(O),T=1),P()}})),J=(e="")=>(l(b)&&(b=""+S++,g(M,b,z),R(b,e),z=f(),T=1),b),K=()=>{r(O)||(((e,...t)=>{e.unshift(...t)})(W,J()),$(0,b),b=i(O),T=1)},N=()=>{r(W)||(s(O,b),b=c(W),$(1,b),T=1)},P=()=>{T&&(B(j),T=0)},Q=e=>{const t=J(e);return P(),t},R=(e,t)=>(U(e)&&C(F,e)!==t&&(g(F,e,t),B(m,[e])),V),U=e=>a(M,e),V={setSize:e=>(x=e,G(),V),addCheckpoint:Q,setCheckpoint:R,getStore:()=>e,getCheckpointIds:()=>[[...O],b,[...W]],forEachCheckpoint:e=>{return t=e,h(F,((e,n)=>t(n,e)));var t},hasCheckpoint:U,getCheckpoint:e=>C(F,e),goBackward:()=>(K(),P(),V),goForward:()=>(N(),P(),V),goTo:e=>{const n=t(O,e)?K:t(W,e)?N:null;for(;!l(n)&&e!=b;)n();return P(),V},addCheckpointIdsListener:e=>A(e,j),addCheckpointListener:(e,t)=>A(t,m,[e]),delListener:e=>(I(e),V),clear:()=>(D(O),D(W),l(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?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseCheckpoints={});
|
|
Binary file
|
package/lib/umd/indexes.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),r=e=>n+e,o=(e,t)=>e.every(t),d=(e,t)=>o(e,((n,s)=>0==s||t(e[s-1],n)<=0)),i=(e,t)=>e.sort(t),c=(e,t)=>e.forEach(t),l=e=>e.length,a=(e,...t)=>e.push(...t),f=e=>null==e,u=(e,t,n)=>f(e)?n?.():t(e),h=e=>Array.isArray(e),I=(e,t)=>e?.has(t)??!1,g=e=>f(e)||0==(e=>e.size)(e),p=e=>[...e?.values()??[]],y=e=>e.clear(),x=(e,t)=>e?.forEach(t),v=(e,t)=>e?.delete(t),S=e=>new Map(e),w=e=>[...e?.keys()??[]],L=(e,t)=>e?.get(t),b=(e,t)=>x(e,((e,n)=>t(n,e))),T=(e,t,n)=>f(n)?(v(e,t),e):e?.set(t,n),E=(e,t,n)=>(I(e,t)||T(e,t,n()),L(e,t)),R=(e,t,n,s,r=0)=>u((n?E:L)(e,t[r],r>l(t)-2?n:S),(o=>{if(r>l(t)-2)return s?.(o)&&T(e,t[r]),o;const d=R(o,t,n,s,r+1);return g(o)&&T(e,t[r]),d})),m=e=>new Set(h(e)||f(e)?e:[e]),j=(e,t)=>e?.add(t),k=(e,t,n)=>{const s=e.hasRow,r=S(),d=S(),i=S(),a=S(),R=S(),k=(t,n,...s)=>{const r=E(R,t,m);return c(s,(t=>j(r,t)&&n&&e.callListener(t))),s},z=(t,...n)=>u(L(R,t),(s=>{c(0==l(n)?p(s):n,(t=>{e.delListener(t),v(s,t)})),g(s)&&T(R,t)})),A=(e,n)=>{T(r,e,n),I(d,e)||(T(d,e,t()),T(i,e,S()),T(a,e,S()))},C=e=>{T(r,e),T(d,e),T(i,e),T(a,e),z(e)};return[()=>e,()=>w(r),e=>b(d,e),e=>I(d,e),e=>L(r,e),e=>L(d,e),(e,t)=>T(d,e,t),A,(t,r,d,u,g)=>{A(t,r);const p=S(),v=S(),w=L(i,t),E=L(a,t),R=t=>{const d=n=>e.getCell(r,t,n),i=L(w,t),c=s(r,t)?n(u(d,t)):void 0;var a,I;if(i===c||h(i)&&h(c)&&(I=c,l(a=i)===l(I)&&o(a,((e,t)=>I[t]===e)))||T(p,t,[i,c]),!f(g)){const e=L(E,t),n=s(r,t)?g(d,t):void 0;e!=n&&T(v,t,n)}},m=e=>{d((()=>{x(p,(([,e],t)=>T(w,t,e))),x(v,((e,t)=>T(E,t,e)))}),p,v,w,E,e),y(p),y(v)};b(w,R),e.hasTable(r)&&c(e.getRowIds(r),(e=>{I(w,e)||R(e)})),m(!0),z(t),k(t,0,e.addRowListener(r,null,((e,t,n)=>R(n))),e.addTableListener(r,(()=>m())))},C,()=>b(R,C),k,z]},
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),r=e=>n+e,o=(e,t)=>e.every(t),d=(e,t)=>o(e,((n,s)=>0==s||t(e[s-1],n)<=0)),i=(e,t)=>e.sort(t),c=(e,t)=>e.forEach(t),l=e=>e.length,a=(e,...t)=>e.push(...t),f=e=>null==e,u=(e,t,n)=>f(e)?n?.():t(e),h=e=>Array.isArray(e),I=(e,t)=>e?.has(t)??!1,g=e=>f(e)||0==(e=>e.size)(e),p=e=>[...e?.values()??[]],y=e=>e.clear(),x=(e,t)=>e?.forEach(t),v=(e,t)=>e?.delete(t),S=e=>new Map(e),w=e=>[...e?.keys()??[]],L=(e,t)=>e?.get(t),b=(e,t)=>x(e,((e,n)=>t(n,e))),T=(e,t,n)=>f(n)?(v(e,t),e):e?.set(t,n),E=(e,t,n)=>(I(e,t)||T(e,t,n()),L(e,t)),R=(e,t,n,s,r=0)=>u((n?E:L)(e,t[r],r>l(t)-2?n:S),(o=>{if(r>l(t)-2)return s?.(o)&&T(e,t[r]),o;const d=R(o,t,n,s,r+1);return g(o)&&T(e,t[r]),d})),m=e=>new Set(h(e)||f(e)?e:[e]),j=(e,t)=>e?.add(t),k=(e,r)=>t(e)==s?t=>t(e):e??(()=>r??n),z=(e,t)=>e<t?-1:1,A=/^\d+$/,C=Object.freeze,D=(e=>{const t=new WeakMap;return e=>(t.has(e)||t.set(e,(e=>{const t=S(),s=S(),[D,M,B,O,W,$,q,,F,G,H]=((e,t,n)=>{const s=e.hasRow,r=S(),d=S(),i=S(),a=S(),R=S(),k=(t,n,...s)=>{const r=E(R,t,m);return c(s,(t=>j(r,t)&&n&&e.callListener(t))),s},z=(t,...n)=>u(L(R,t),(s=>{c(0==l(n)?p(s):n,(t=>{e.delListener(t),v(s,t)})),g(s)&&T(R,t)})),A=(e,n)=>{T(r,e,n),I(d,e)||(T(d,e,t()),T(i,e,S()),T(a,e,S()))},C=e=>{T(r,e),T(d,e),T(i,e),T(a,e),z(e)};return[()=>e,()=>w(r),e=>b(d,e),e=>I(d,e),e=>L(r,e),e=>L(d,e),(e,t)=>T(d,e,t),A,(t,r,d,u,g)=>{A(t,r);const p=S(),v=S(),w=L(i,t),E=L(a,t),R=t=>{const d=n=>e.getCell(r,t,n),i=L(w,t),c=s(r,t)?n(u(d,t)):void 0;var a,I;if(i===c||h(i)&&h(c)&&(I=c,l(a=i)===l(I)&&o(a,((e,t)=>I[t]===e)))||T(p,t,[i,c]),!f(g)){const e=L(E,t),n=s(r,t)?g(d,t):void 0;e!=n&&T(v,t,n)}},m=e=>{d((()=>{x(p,(([,e],t)=>T(w,t,e))),x(v,((e,t)=>T(E,t,e)))}),p,v,w,E,e),y(p),y(v)};b(w,R),e.hasTable(r)&&c(e.getRowIds(r),(e=>{I(w,e)||R(e)})),m(!0),z(t),k(t,0,e.addRowListener(r,null,((e,t,n)=>R(n))),e.addTableListener(r,(()=>m())))},C,()=>b(R,C),k,z]})(e,S,(e=>{return f(e)?n:h(e)?(t=r,e.map(t)):r(e);var t})),[J,K,N]=(e=>{let t;const[s,r]=(()=>{const e=[];let t=0;return[()=>e.shift()??n+t++,t=>{A.test(t)&&l(e)<1e3&&a(e,t)}]})(),o=S();return[(e,r,d)=>{t??=Q;const i=s();return T(o,i,[e,r,d]),j(R(r,d??[n],m),i),i},(e,s,...r)=>c(((e,t=[n])=>{const s=[],r=(e,n)=>n==l(t)?a(s,e):null===t[n]?x(e,(e=>r(e,n+1))):c([t[n],null],(t=>r(L(e,t),n+1)));return r(e,0),s})(e,s),(e=>x(e,(e=>L(o,e)[0](t,...s??[],...r))))),e=>u(L(o,e),(([,t,s])=>(R(t,s??[n],void 0,(t=>(v(t,e),g(t)?1:0))),T(o,e),r(e),s))),(e,n,s)=>u(L(o,e),(([e,,r=[]])=>{const o=(...d)=>{const i=l(d);i==l(r)?e(t,...d,...s(d)):f(r[i])?c(n[i](...d),(e=>o(...d,e))):o(...d,r[i])};o()}))]})(),P=(t,n,s)=>{const r=W(t);x(s,((t,s)=>n(s,(n=>x(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},Q={setIndexDefinition:(e,n,r,o,c,l=z)=>{const a=f(c)?void 0:([e],[t])=>c(e,t);return F(e,n,((n,r,c,h,p,y)=>{let w=0;const E=m(),R=m(),k=$(e);if(x(r,(([e,t],n)=>{const s=m(e),r=m(t);x(s,(e=>v(r,e)?v(s,e):0)),x(s,(e=>{j(E,e),u(L(k,e),(t=>{v(t,n),g(t)&&(T(k,e),w=1)}))})),x(r,(e=>{j(E,e),I(k,e)||(T(k,e,m()),w=1),j(L(k,e),n),f(o)||j(R,e)}))})),n(),g(p)||(y?b(k,(e=>j(R,e))):b(c,(e=>u(L(h,e),(e=>j(R,e))))),x(R,(e=>{const t=(t,n)=>l(L(p,t),L(p,n),e),n=[...L(k,e)];d(n,t)||(T(k,e,m(i(n,t))),j(E,e))}))),(w||y)&&!f(a)){const t=[...k];d(t,a)||(q(e,S(i(t,a))),w=1)}w&&K(t,[e]),x(E,(t=>K(s,[e,t])))}),k(r),u(o,k)),Q},delIndexDefinition:e=>(G(e),Q),getStore:D,getIndexIds:M,forEachIndex:e=>B(((t,n)=>e(t,(e=>P(t,e,n))))),forEachSlice:(e,t)=>P(e,t,$(e)),hasIndex:O,hasSlice:(e,t)=>I($(e),t),getTableId:W,getSliceIds:e=>w($(e)),getSliceRowIds:(e,t)=>p(L($(e),t)),addSliceIdsListener:(e,n)=>J(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>J(n,s,[e,t]),delListener:e=>(N(e),Q),destroy:H,getListenerStats:()=>({})};return C(Q)})(e)),t.get(e))})();e.createIndexes=D},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseIndexes={});
|
package/lib/umd/indexes.js.gz
CHANGED
|
Binary file
|
package/lib/umd/metrics.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",r=t(n),s=t(t),i=(e,t)=>e.forEach(t),o=e=>a(e,((e,t)=>e+t),0),c=e=>e.length,a=(e,t,n)=>e.reduce(t,n),d=(e,...t)=>e.push(...t),l=Math.max,u=Math.min,f=isFinite,h=e=>null==e,v=(e,t,n)=>h(e)?n?.():t(e),g=e=>Array.isArray(e),M=()=>{},p=e=>e.size,y=(e,t)=>e?.has(t)??!1,m=e=>h(e)||0==p(e),b=e=>[...e?.values()??[]],L=e=>e.clear(),w=(e,t)=>e?.forEach(t),T=(e,t)=>e?.delete(t),x=e=>new Map(e),E=(e,t)=>e?.get(t),I=(e,t)=>w(e,((e,n)=>t(n,e))),R=(e,t,n)=>h(n)?(T(e,t),e):e?.set(t,n),S=(e,t,n)=>(y(e,t)||R(e,t,n()),E(e,t)),j=(e,t,n,r,s=0)=>v((n?S:E)(e,t[s],s>c(t)-2?n:x),(i=>{if(s>c(t)-2)return r?.(i)&&R(e,t[s]),i;const o=j(i,t,n,r,s+1);return m(i)&&R(e,t[s]),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,r)=>e+(t-n)/r]],["max",[e=>l(...e),(e,t)=>l(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:l(t,e)]],["min",[e=>u(...e),(e,t)=>u(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:u(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)||h(e)?e:[e]),A=(e,t)=>e?.add(t),D=(e,t,
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",r=t(n),s=t(t),i=(e,t)=>e.forEach(t),o=e=>a(e,((e,t)=>e+t),0),c=e=>e.length,a=(e,t,n)=>e.reduce(t,n),d=(e,...t)=>e.push(...t),l=Math.max,u=Math.min,f=isFinite,h=e=>null==e,v=(e,t,n)=>h(e)?n?.():t(e),g=e=>Array.isArray(e),M=()=>{},p=e=>e.size,y=(e,t)=>e?.has(t)??!1,m=e=>h(e)||0==p(e),b=e=>[...e?.values()??[]],L=e=>e.clear(),w=(e,t)=>e?.forEach(t),T=(e,t)=>e?.delete(t),x=e=>new Map(e),E=(e,t)=>e?.get(t),I=(e,t)=>w(e,((e,n)=>t(n,e))),R=(e,t,n)=>h(n)?(T(e,t),e):e?.set(t,n),S=(e,t,n)=>(y(e,t)||R(e,t,n()),E(e,t)),j=(e,t,n,r,s=0)=>v((n?S:E)(e,t[s],s>c(t)-2?n:x),(i=>{if(s>c(t)-2)return r?.(i)&&R(e,t[s]),i;const o=j(i,t,n,r,s+1);return m(i)&&R(e,t[s]),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,r)=>e+(t-n)/r]],["max",[e=>l(...e),(e,t)=>l(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:l(t,e)]],["min",[e=>u(...e),(e,t)=>u(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:u(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)||h(e)?e:[e]),A=(e,t)=>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(),[a,l,u,B,C,F,O,,W,$,q]=((e,t,r)=>{const s=e.hasRow,o=x(),a=x(),d=x(),l=x(),u=x(),f=(t,n,...r)=>{const s=S(u,t,z);return i(r,(t=>A(s,t)&&n&&e.callListener(t))),r},M=(t,...n)=>v(E(u,t),(r=>{i(0==c(n)?b(r):n,(t=>{e.delListener(t),T(r,t)})),m(r)&&R(u,t)})),p=(e,n)=>{R(o,e,n),y(a,e)||(R(a,e,t()),R(d,e,x()),R(l,e,x()))},j=e=>{R(o,e),R(a,e),R(d,e),R(l,e),M(e)};return[()=>e,()=>[...o?.keys()??[]],e=>I(a,e),e=>y(a,e),e=>E(o,e),e=>E(a,e),(e,t)=>R(a,e,t),p,(t,r,o,a,u)=>{p(t,r);const v=x(),m=x(),b=E(d,t),T=E(l,t),S=t=>{const i=n=>e.getCell(r,t,n),o=E(b,t),d=s(r,t)?(l=a(i,t),isNaN(l)||h(l)||!0===l||!1===l||l===n?void 0:1*l):void 0;var l,f,M,p;if(o===d||g(o)&&g(d)&&(M=d,c(f=o)===c(M)&&(p=(e,t)=>M[t]===e,f.every(p)))||R(v,t,[o,d]),!h(u)){const e=E(T,t),n=s(r,t)?u(i,t):void 0;e!=n&&R(m,t,n)}},j=e=>{o((()=>{w(v,(([,e],t)=>R(b,t,e))),w(m,((e,t)=>R(T,t,e)))}),v,m,b,T,e),L(v),L(m)};I(b,S),e.hasTable(r)&&i(e.getRowIds(r),(e=>{y(b,e)||S(e)})),j(!0),M(t),f(t,0,e.addRowListener(r,null,((e,t,n)=>S(n))),e.addTableListener(r,(()=>j())))},j,()=>I(u,j),f,M]})(e,M),[G,H,J]=(e=>{let t;const[r,s]=(()=>{const e=[];let t=0;return[()=>e.shift()??n+t++,t=>{D.test(t)&&c(e)<1e3&&d(e,t)}]})(),o=x();return[(e,s,i)=>{t??=K;const c=r();return R(o,c,[e,s,i]),A(j(s,i??[n],z),c),c},(e,r,...s)=>i(((e,t=[n])=>{const r=[],s=(e,n)=>n==c(t)?d(r,e):null===t[n]?w(e,(e=>s(e,n+1))):i([t[n],null],(t=>s(E(e,t),n+1)));return s(e,0),r})(e,r),(e=>w(e,(e=>E(o,e)[0](t,...r??[],...s))))),e=>v(E(o,e),(([,t,r])=>(j(t,r??[n],void 0,(t=>(T(t,e),m(t)?1:0))),R(o,e),s(e),r))),(e,n,r)=>v(E(o,e),(([e,,s=[]])=>{const o=(...a)=>{const d=c(a);d==c(s)?e(t,...a,...r(a)):h(s[d])?i(n[d](...a),(e=>o(...a,e))):o(...a,s[d])};o()}))]})(),K={setMetricDefinition:(e,n,i,c,a,d,l)=>{const u=t(i)==s?[i,a,d,l]:E(k,i)??E(k,"sum");return W(e,n,((t,n,r,s,i,c)=>{const a=F(e),d=p(s);c||=h(a),t();let l=((e,t,n,r,s,i=!1)=>{if(m(n))return;const[o,c,a,d]=s;return i||=h(e),w(r,(([n,r])=>{i||(e=h(n)?c?.(e,r,t++):h(r)?a?.(e,n,t--):d?.(e,r,n,t),i||=h(e))})),i?o(b(n),p(n)):e})(a,d,s,n,u,c);f(l)||(l=void 0),l!=a&&(O(e,l),H(o,[e],l,a))}),(1,t(v=c)==r?e=>e(v):v??(()=>1))),K;var v},delMetricDefinition:e=>($(e),K),getStore:a,getMetricIds:l,forEachMetric:u,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={});
|
package/lib/umd/metrics.js.gz
CHANGED
|
Binary file
|
package/lib/umd/queries.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),r=t(0),o=t(t),i="Listener",l=
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),r=t(0),o=t(t),i="Listener",l=(e,t)=>e.every(t),a=(e,t)=>e.forEach(t),d=e=>f(e,((e,t)=>e+t),0),c=e=>e.length,u=e=>0==c(e),f=(e,t,n)=>e.reduce(t,n),h=(e,...t)=>e.push(...t),g=Math.max,w=Math.min,v=isFinite,R=e=>null==e,y=(e,t,n)=>R(e)?n?.():t(e),L=e=>t(e)==o,p=e=>Array.isArray(e),T=()=>{},b=e=>e.size,m=(e,t)=>e?.has(t)??!1,C=e=>R(e)||0==b(e),I=e=>[...e?.values()??[]],Q=e=>e.clear(),S=(e,t)=>e?.forEach(t),x=(e,t)=>e?.delete(t),E=e=>new Map(e),M=(e,t)=>e?.get(t),j=(e,t)=>S(e,((e,n)=>t(n,e))),D=(e,t,n)=>R(n)?(x(e,t),e):e?.set(t,n),F=(e,t,n)=>(m(e,t)||D(e,t,n()),M(e,t)),k=(e,t,n,s,r=0)=>y((n?F:M)(e,t[r],r>c(t)-2?n:E),(o=>{if(r>c(t)-2)return s?.(o)&&D(e,t[r]),o;const i=k(o,t,n,s,r+1);return C(o)&&D(e,t[r]),i})),z=e=>new Set(p(e)||R(e)?e:[e]),A=(e,t)=>e?.add(t),W=E([["avg",[(e,t)=>d(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>g(...e),(e,t)=>g(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:g(t,e)]],["min",[e=>w(...e),(e,t)=>w(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:w(t,e)]],["sum",[e=>d(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),B=Object,O=B.freeze,q=(e=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const o=e.createStore,[d,f,g,w,q,,,G,,H,J,K,N]=((e,t,n)=>{const s=e.hasRow,r=E(),o=E(),i=E(),d=E(),f=E(),h=(t,n,...s)=>{const r=F(f,t,z);return a(s,(t=>A(r,t)&&n&&e.callListener(t))),s},g=(t,...n)=>y(M(f,t),(s=>{a(u(n)?I(s):n,(t=>{e.delListener(t),x(s,t)})),C(s)&&D(f,t)})),w=(e,t)=>{D(r,e,t),m(o,e)||(D(o,e,!0),D(i,e,E()),D(d,e,E()))},v=e=>{D(r,e),D(o,e),D(i,e),D(d,e),g(e)};return[()=>e,()=>[...r?.keys()??[]],e=>j(o,e),e=>m(o,e),e=>M(r,e),e=>M(o,e),(e,t)=>D(o,e,t),w,(t,r,o,u,f)=>{w(t,r);const v=E(),y=E(),L=M(i,t),T=M(d,t),b=t=>{const o=n=>e.getCell(r,t,n),i=M(L,t),a=s(r,t)?n(u(o,t)):void 0;var d,h;if(i===a||p(i)&&p(a)&&(h=a,c(d=i)===c(h)&&l(d,((e,t)=>h[t]===e)))||D(v,t,[i,a]),!R(f)){const e=M(T,t),n=s(r,t)?f(o,t):void 0;e!=n&&D(y,t,n)}},C=e=>{o((()=>{S(v,(([,e],t)=>D(L,t,e))),S(y,((e,t)=>D(T,t,e)))}),v,y,L,T,e),Q(v),Q(y)};j(L,b),e.hasTable(r)&&a(e.getRowIds(r),(e=>{m(L,e)||b(e)})),C(!0),g(t),h(t,0,e.addRowListener(r,null,((e,t,n)=>b(n))),e.addTableListener(r,(()=>C())))},v,()=>j(f,v),h,g]})(e,0,T),P=o(),U=o(),V=E(),X=(e,t,...n)=>a(n,(n=>A(F(F(V,t,E),e,z),n))),Y=e=>{y(M(V,e),(e=>{j(e,((e,t)=>S(t,(t=>e.delListener(t))))),Q(e)})),a([U,P],(t=>t.delTable(e)))},Z=(e,t,n)=>X(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),$={setQueryDefinition:(o,i,d)=>{G(o,i),Y(o);const f=[],g=[[null,[i,null,null,[],E()]]],w=[],p=[],T=[];d({select:(e,t)=>{const n=L(e)?[c(f)+"",e]:[R(t)?e:t,n=>n(e,t)];return h(f,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=R(n)||L(t)?null:t,r=R(s)?t:n,o=[e,[e,s,L(r)?r:e=>e(r),[],E()]];return h(g,o),{as:e=>o[0]=e}},where:(e,t,n)=>h(w,L(e)?e:R(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,L(t)?[t,n,s,r]:M(W,t)??[(e,t)=>t]]];return h(p,o),{as:e=>o[0]=e}},having:(e,t)=>h(T,L(e)?e:n=>n(e)===t)});const Q=E(f);if(C(Q))return $;const B=E(g);j(B,((e,[,t])=>y(M(B,t),(({3:t})=>R(e)?0:h(t,e)))));const O=E(p);let q=P;if(C(O)&&u(T))q=U;else{Z(o,q,U);const e=E();j(O,((t,[n,s])=>A(F(e,n,z),[t,s])));const i=z();j(Q,(t=>m(e,t)?0:A(i,t)));const a=E(),d=(i,a,d,c)=>y(i,(([u,f,h,g])=>{j(a,((o,[i])=>{const l=F(u,o,E),a=M(l,d),f=c?void 0:i;if(a!==f){const i=z([[a,f]]),c=b(l);D(l,d,f),S(M(e,o),(([e,o])=>{const a=((e,t,n,s,r,o=!1)=>{if(C(n))return;const[i,l,a,d]=r;return o||=R(e),S(s,(([n,s])=>{o||(e=R(n)?l?.(e,s,t++):R(s)?a?.(e,n,t--):d?.(e,s,n,t),o||=R(e))})),o?i(I(n),b(n)):e})(g[e],c,l,i,o);g[e]=R((e=>{const o=t(e);return(e=>e==n||e==s)(o)||o==r&&v(e)?o:void 0})(a))?null:a}))}})),C(f)||!l(T,(e=>e((e=>g[e]))))?U.delRow(o,h):R(h)?i[2]=U.addRow(o,g):U.setRow(o,h,g)}));X(q,o,q.addRowListener(o,null,((t,n,s,r)=>{const l=[],c=[],u=E(),f=q.hasRow(o,s);let g=!f;S(i,(e=>{const[t,n,i]=r(o,s,e);h(l,n),h(c,i),g||=t})),j(e,(e=>{const[t,,n]=r(o,s,e);(g||t)&&D(u,e,[n])})),g&&d(k(a,l,void 0,(([,e])=>(x(e,s),C(e)))),u,s,1),f&&d(k(a,c,(()=>{const e={};return S(i,(t=>e[t]=q.getCell(o,s,t))),[E(),z(),void 0,e]}),(([,e])=>{A(e,s)})),u,s)})))}Z(o,e,q);const H=(t,n,s,r)=>{const d=t=>e.getCell(n,s,t);a(r,(n=>{const[s,,r,i,l]=M(B,n),a=r?.(d,t),[c,u]=M(l,t)??[];a!=c&&(R(u)||N(o,u),D(l,t,R(a)?null:[a,...K(o,1,e.addRowListener(s,a,(()=>H(t,s,a,i))))]))})),(t=>{const n=(n,s)=>e.getCell(...R(s)?[i,t,n]:n===i?[i,t,s]:[M(B,n)?.[0],M(M(B,n)?.[4],t)?.[0],s]);q.transaction((()=>l(w,(e=>e(n)))?j(Q,((e,s)=>((e,t,n,s,r)=>R(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(q,o,t,e,s(n,t)))):q.delRow(o,t)))})(t)},{3:J}=M(B,null);return q.transaction((()=>K(o,1,e.addRowListener(i,null,((t,n,s)=>{e.hasRow(i,s)?H(s,i,s,J):(q.delRow(o,s),S(B,(({4:e})=>y(M(e,s),(([,t])=>{N(o,t),D(e,s)})))))}))))),$},delQueryDefinition:e=>(Y(e),H(e),$),getStore:d,getQueryIds:f,forEachQuery:g,hasQuery:w,getTableId:q,delListener:e=>(U.delListener(e),$),destroy:J,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=U.getListenerStats();return s}};var _,ee;return _={Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},ee=([e,t],n)=>{a(e?["get","has","forEach"]:["get"],(e=>$[e+"Result"+n]=(...t)=>U[e+n](...t))),$["addResult"+n+i]=(...e)=>{return U["add"+n+i](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t]($,...s)));var s,r}},((e,t)=>{e.map(t)})(B.entries(_),(([e,t])=>ee(t,e))),O($)})(e)),o.get(e))})();e.createQueries=q},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseQueries={});
|
package/lib/umd/queries.js.gz
CHANGED
|
Binary file
|
package/lib/umd/relationships.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),o=(e,t)=>e.forEach(t),
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),o=(e,t)=>e.forEach(t),r=e=>e.length,i=(e,...t)=>e.push(...t),a=e=>null==e,d=(e,t,n)=>a(e)?n?.():t(e),l=e=>Array.isArray(e),c=(e,t)=>e?.has(t)??!1,f=e=>a(e)||0==(e=>e.size)(e),u=e=>[...e?.values()??[]],h=e=>e.clear(),R=(e,t)=>e?.forEach(t),p=(e,t)=>e?.delete(t),g=e=>new Map(e),L=(e,t)=>e?.get(t),w=(e,t)=>R(e,((e,n)=>t(n,e))),y=(e,t,n)=>a(n)?(p(e,t),e):e?.set(t,n),I=(e,t,n)=>(c(e,t)||y(e,t,n()),L(e,t)),v=(e,t,n,s,o=0)=>d((n?I:L)(e,t[o],o>r(t)-2?n:g),(i=>{if(o>r(t)-2)return s?.(i)&&y(e,t[o]),i;const a=v(i,t,n,s,o+1);return f(i)&&y(e,t[o]),a})),b=e=>new Set(l(e)||a(e)?e:[e]),T=(e,t)=>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=g(),x=g(),S=g(),j=g(),[z,A,D,M,B,C,,,O,W,$]=((e,t,s)=>{const i=e.hasRow,v=g(),m=g(),k=g(),E=g(),x=g(),S=(t,n,...s)=>{const r=I(x,t,b);return o(s,(t=>T(r,t)&&n&&e.callListener(t))),s},j=(t,...n)=>d(L(x,t),(s=>{o(0==r(n)?u(s):n,(t=>{e.delListener(t),p(s,t)})),f(s)&&y(x,t)})),z=(e,t)=>{y(v,e,t),c(m,e)||(y(m,e,[g(),g(),g(),g()]),y(k,e,g()),y(E,e,g()))},A=e=>{y(v,e),y(m,e),y(k,e),y(E,e),j(e)};return[()=>e,()=>[...v?.keys()??[]],e=>w(m,e),e=>c(m,e),e=>L(v,e),e=>L(m,e),(e,t)=>y(m,e,t),z,(t,s,d,f,u)=>{z(t,s);const p=g(),I=g(),v=L(k,t),b=L(E,t),T=t=>{const o=n=>e.getCell(s,t,n),d=L(v,t),c=i(s,t)?(h=f(o,t),a(h)?void 0:h+n):void 0;var h,R,g,w;if(d===c||l(d)&&l(c)&&(g=c,r(R=d)===r(g)&&(w=(e,t)=>g[t]===e,R.every(w)))||y(p,t,[d,c]),!a(u)){const e=L(b,t),n=i(s,t)?u(o,t):void 0;e!=n&&y(I,t,n)}},m=e=>{d((()=>{R(p,(([,e],t)=>y(v,t,e))),R(I,((e,t)=>y(b,t,e)))}),p,I,v,b,e),h(p),h(I)};w(v,T),e.hasTable(s)&&o(e.getRowIds(s),(e=>{c(v,e)||T(e)})),m(!0),j(t),S(t,0,e.addRowListener(s,null,((e,t,n)=>T(n))),e.addTableListener(s,(()=>m())))},A,()=>w(x,A),S,j]})(e),[q,F,G]=(e=>{let t;const[s,l]=(()=>{const e=[];let t=0;return[()=>e.shift()??n+t++,t=>{m.test(t)&&r(e)<1e3&&i(e,t)}]})(),c=g();return[(e,o,r)=>{t??=N;const i=s();return y(c,i,[e,o,r]),T(v(o,r??[n],b),i),i},(e,s,...a)=>o(((e,t=[n])=>{const s=[],a=(e,n)=>n==r(t)?i(s,e):null===t[n]?R(e,(e=>a(e,n+1))):o([t[n],null],(t=>a(L(e,t),n+1)));return a(e,0),s})(e,s),(e=>R(e,(e=>L(c,e)[0](t,...s??[],...a))))),e=>d(L(c,e),(([,t,s])=>(v(t,s??[n],void 0,(t=>(p(t,e),f(t)?1:0))),y(c,e),l(e),s))),(e,n,s)=>d(L(c,e),(([e,,i=[]])=>{const d=(...l)=>{const c=r(l);c==r(i)?e(t,...l,...s(l)):a(i[c])?o(n[c](...l),(e=>d(...l,e))):d(...l,i[c])};d()}))]})(),H=(e,t,n)=>d(C(e),(([s,,o])=>{if(!c(o,t)){const r=b();if(B(e)!=K(e))T(r,t);else{let e=t;for(;!a(e)&&!c(r,e);)T(r,e),e=L(s,e)}if(n)return r;y(o,t,r)}return L(o,t)})),J=(e,t)=>d(C(e),(([,,e])=>y(e,t))),K=e=>L(E,e),N={setRelationshipDefinition:(e,o,r,i)=>{return y(E,e,r),O(e,o,((t,n)=>{const s=b(),o=b(),r=b(),[i,l]=C(e);R(n,(([t,n],u)=>{a(t)||(T(o,t),d(L(l,t),(e=>{p(e,u),f(e)&&y(l,t)}))),a(n)||(T(o,n),c(l,n)||y(l,n,b()),T(L(l,n),u)),T(s,u),y(i,u,n),w(L(j,e),(t=>{c(H(e,t),u)&&T(r,t)}))})),t(),R(s,(t=>F(x,[e,t]))),R(o,(t=>F(S,[e,t]))),R(r,(t=>{J(e,t),F(j,[e,t])}))}),t(l=i)==s?e=>e(l):l??(()=>n)),N;var l},delRelationshipDefinition:e=>(y(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)=>L(C(e)?.[0],t),getLocalRowIds:(e,t)=>u(L(C(e)?.[1],t)),getLinkedRowIds:(e,t)=>a(C(e))?[t]:u(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/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),r=t(!0),o=t(0),l=t(t),a="type",i="default",c=e=>n+e,d=(e,t)=>e.forEach(t),u=(e,t)=>e.map(t),f=e=>e.length,h=(e,t,n)=>e.slice(t,n),T=(e,...t)=>e.push(...t),b=e=>JSON.stringify(e,((e,t)=>{return y(t,Map)?(n=
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),r=t(!0),o=t(0),l=t(t),a="type",i="default",c=e=>n+e,d=(e,t)=>e.forEach(t),u=(e,t)=>e.map(t),f=e=>e.length,h=(e,t,n)=>e.slice(t,n),T=(e,...t)=>e.push(...t),b=e=>JSON.stringify(e,((e,t)=>{return y(t,Map)?(n=(e,[t,n])=>(e[t]=n,e),s={},[...t].reduce(n,s)):t;var n,s})),g=JSON.parse,p=isFinite,y=(e,t)=>e instanceof t,v=e=>null==e,w=(e,t,n)=>v(e)?n?.():t(e),R=e=>e==s||e==r,S=(e,t)=>e?.has(t)??!1,C=e=>v(e)||0==(e=>e.size)(e),I=e=>e.clear(),L=(e,t)=>e?.forEach(t),m=(e,t)=>e?.delete(t),E=e=>new Map(e),J=e=>[...e?.keys()??[]],F=(e,t)=>e?.get(t),x=(e,t)=>L(e,((e,n)=>t(n,e))),z=(e,t,n)=>v(n)?(m(e,t),e):e?.set(t,n),O=(e,t,n)=>(S(e,t)||z(e,t,n()),F(e,t)),j=(e,t,n)=>{const s={},r=t??(e=>e);return L(e,((e,t)=>w(r(e),(e=>n?.(e)?0:s[t]=e)))),s},k=(e,t)=>{const n=E(),s=t??(e=>e);return L(e,((e,t)=>n.set(t,s(e)))),n},A=e=>k(e,k),M=(e,t,n,s,r=0)=>w((n?O:F)(e,t[r],r>f(t)-2?n:E),(o=>{if(r>f(t)-2)return s?.(o)&&z(e,t[r]),o;const l=M(o,t,n,s,r+1);return C(o)&&z(e,t[r]),l})),N=Object,B=N.keys,D=N.isFrozen,P=N.freeze,W=(e,t)=>!v(((e,t)=>w(e,(e=>e[t])))(e,t)),$=(e,t)=>delete e[t],q=(e,t)=>u(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)||v(e)?e:[e]),K=(e,t)=>e?.add(t),Q=/^\d+$/,U=()=>{const e=[];let t=0;return[()=>e.shift()??n+t++,t=>{Q.test(t)&&f(e)<1e3&&T(e,t)}]},V=e=>[e,e],X=()=>[E(),E()],Y=e=>{const n=t(e);return R(n)||n==o&&p(e)?n:void 0},Z=(e,t,n,s=z)=>{const r=(o=e=>!W(t,e),J(e).filter(o));var o;return d(B(t),(s=>n(e,s,t[s]))),d(r,(t=>s(e,t))),e},_=(e,t,n)=>v(e)||!(e=>y(e,N)&&e.constructor==N)(e)||G(e)||D(e)?(n?.(),!1):(q(e,((n,s)=>{t(n,s)||$(e,s)})),!G(e)),ee=(e,t,n)=>z(e,t,F(e,t)==-n?void 0:n),te=()=>{let e,s,r=0;const p=E(),y=E(),N=E(),B=E(),D=E(),Q=E(),ne=E(),se=E(),re=E(),oe=X(),le=X(),ae=X(),ie=X(),ce=X(),de=X(),ue=X(),fe=X(),he=X(),Te=X(),[be,ge,pe,ye]=(e=>{let t;const[s,r]=U(),o=E();return[(e,r,l)=>{t??=tt;const a=s();return z(o,a,[e,r,l]),K(M(r,l??[n],H),a),a},(e,s,...r)=>d(((e,t=[n])=>{const s=[],r=(e,n)=>n==f(t)?T(s,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),s})(e,s),(e=>L(e,(e=>F(o,e)[0](t,...s??[],...r))))),e=>w(F(o,e),(([,t,s])=>(M(t,s??[n],void 0,(t=>(m(t,e),C(t)?1:0))),z(o,e),r(e),s))),(e,n,s)=>w(F(o,e),(([e,,r=[]])=>{const o=(...l)=>{const a=f(l);a==f(r)?e(t,...l,...s(l)):v(r[a])?d(n[a](...l),(e=>o(...l,e))):o(...l,r[a])};o()}))]})(),ve=(t,n)=>(!e||S(Q,n)||Be(n))&&_(t,((e,t)=>we(n,t,e)),(()=>Be(n))),we=(e,t,n,s)=>_(s?n:Se(n,e,t),((s,r)=>w(Re(e,t,r,s),(e=>(n[r]=e,!0)),(()=>!1))),(()=>Be(e,t))),Re=(t,n,s,r)=>e?w(F(F(Q,t),s),(e=>Y(r)!=e.type?Be(t,n,s,r,e.default):r),(()=>Be(t,n,s,r))):v(Y(r))?Be(t,n,s,r):r,Se=(e,t,n)=>(w(F(ne,t),(([s,r])=>{L(s,((t,n)=>{W(e,n)||(e[n]=t)})),L(r,(s=>{W(e,s)||Be(t,n,s)}))})),e),Ce=e=>Z(Q,e,((e,t,n)=>{const s=E(),r=H();Z(O(Q,t,E),n,((e,t,n)=>{z(e,t,n),w(n.default,(e=>z(s,t,e)),(()=>K(r,t)))})),z(ne,t,[s,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,s)=>me(e,t,n,s)),((t,n)=>Oe(e,t,n))),me=(e,t,n,s,r)=>Z(O(t,n,(()=>(Ae(e,n,1),E()))),s,((t,s,r)=>Ee(e,n,t,s,r)),((s,o)=>je(e,t,n,s,o,r))),Ee=(e,t,n,s,r)=>{S(n,s)||Me(e,t,s,1);const o=F(n,s);r!==o&&(Ne(e,t,s,o,r),z(n,s,r))},Je=(e,t,n,s,r)=>w(F(t,n),(t=>Ee(e,n,t,s,r)),(()=>me(e,t,n,Se({[s]:r},e,n)))),Fe=e=>{const[t]=O(se,e,U),n=t();return S(F(re,e),n)?Fe(e):n},xe=e=>F(re,e)??Le(e,{}),ze=e=>Le(e,{}),Oe=(e,t,n)=>{const[,s]=O(se,e,U);s(n),me(e,t,n,{},!0)},je=(e,t,n,s,r,o)=>{const l=F(F(ne,e)?.[0],r);if(!v(l)&&!o)return Ee(e,n,s,r,l);const a=t=>{Ne(e,n,t,F(s,t)),Me(e,n,t,-1),z(s,t)};v(l)?a(r):x(s,a),C(s)&&(Ae(e,n,-1),C(z(t,n))&&(ke(e,-1),z(re,e),z(se,e)))},ke=(e,t)=>ee(p,e,t),Ae=(e,t,n)=>ee(O(y,e,E),t,n),Me=(e,t,n,s)=>ee(O(O(N,e,E),t,E),n,s),Ne=(e,t,n,s,r)=>O(O(O(B,e,E),t,E),n,(()=>[s,0]))[1]=r,Be=(e,t,n,s,r)=>(T(O(O(O(D,e,E),t,E),n,(()=>[])),s),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(he[e])?0:L(e?k(D,A):D,((t,n)=>L(t,((t,s)=>L(t,((t,r)=>ge(he[e],[n,s,r],t))))))),We=(e,t,n)=>{if(!C(t))return ge(e,n),1},$e=e=>{const t=C(ce[e]),n=C(ue[e])&&C(ie[e])&&t&&C(le[e]),s=C(fe[e])&&C(de[e])&&C(ae[e])&&C(oe[e]);if(!n||!s){const r=e?[k(p),A(y),k(N,A),k(B,A)]:[p,y,N,B];if(!n){L(r[2],((t,n)=>L(t,((t,s)=>We(ue[e],t,[n,s])))));const n=H();L(r[1],((s,r)=>{We(ie[e],s,[r])&&!t&&(ge(ce[e],[r,null]),K(n,r))})),t||L(r[3],((t,s)=>{if(!S(n,s)){const n=H();L(t,(e=>L(e,(([t,s],r)=>s!==t?K(n,r):m(e,r))))),L(n,(t=>ge(ce[e],[s,t])))}})),We(le[e],r[0])}if(!s){let t;L(r[3],((n,s)=>{let r;L(n,((n,o)=>{let l;L(n,(([n,a],i)=>{a!==n&&(ge(fe[e],[s,o,i],a,n,De),t=r=l=1)})),l&&ge(de[e],[s,o],De)})),r&&ge(ae[e],[s],De)})),t&&ge(oe[e],void 0,De)}}},qe=(e,...t)=>(Ze((()=>e(...u(t,c)))),tt),Ge=()=>j(re,(e=>j(e,j))),He=()=>J(re),Ke=e=>J(F(re,c(e))),Qe=(e,t,n,s=0,r)=>{return u(h((l=F(re,c(e)),a=(e,n)=>[v(t)?n:F(e,c(t)),n],o=([e],[t])=>(e<t?-1:1)*(n?-1:1),u([...l?.entries()??[]],(([e,t])=>a(t,e))).sort(o)),s,v(r)?r:s+r),(([,e])=>e));var o,l,a},Ue=(e,t)=>J(F(F(re,c(e)),c(t))),Ve=(e,t,n)=>F(F(F(re,c(e)),c(t)),c(n)),Xe=e=>qe((()=>(e=>_(e,ve,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&&(s=!C(B),r=1,Pe(1),s&&$e(1),r=-1,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],s)=>((e,t,n,s,r)=>v(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(tt,t,n,s,e))))))),r=-1,s=!1),ge(Te[0],void 0,s),Pe(0),s&&$e(0),ge(Te[1],void 0,s),r=0,d([B,D,p,y,N],I))),tt),tt={getTables:Ge,getTableIds:He,getTable:e=>j(F(re,c(e)),j),getRowIds:Ke,getSortedRowIds:Qe,getRow:(e,t)=>j(F(F(re,c(e)),c(t))),getCellIds:Ue,getCell:Ve,hasTables:()=>!C(re),hasTable:e=>S(re,c(e)),hasRow:(e,t)=>S(F(re,c(e)),c(t)),hasCell:(e,t,n)=>S(F(F(re,c(e)),c(t)),c(n)),getJson:()=>b(re),getSchemaJson:()=>b(Q),setTables:Xe,setTable:(e,t)=>qe((e=>ve(t,e)?Le(e,t):0),e),setRow:(e,t,n)=>qe(((e,t)=>we(c(e),c(t),n)?me(c(e),xe(c(e)),c(t),n):0),e,t),addRow:(e,t)=>Ze((()=>{let n;return we(e,n,t)&&(e=c(e),me(e,xe(e),n=Fe(e),t)),n})),setPartialRow:(e,t,n)=>qe(((e,t)=>{if(we(e,t,n,1)){const s=xe(e);q(n,((n,r)=>Je(e,s,t,r,n)))}}),e,t),setCell:(e,n,s,r)=>qe(((e,n,s)=>w(Re(e,n,s,t(r)==l?r(Ve(e,n,s)):r),(t=>Je(e,xe(e),n,s,t)))),e,n,s),setJson:e=>{try{"{}"===e?Ye():Xe(g(e))}catch{}return tt},setSchema:t=>qe((()=>{if((e=(e=>_(e,(e=>_(e,(e=>{if(!_(e,((e,t)=>[a,i].includes(t))))return!1;const t=e.type;return!(!R(t)&&t!=o||(Y(e.default)!=t&&$(e,i),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,s)=>qe(((e,t,n)=>w(F(re,e),(r=>w(F(r,t),(o=>S(o,n)?je(e,r,t,o,n,s):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,c(e)),((e,n)=>t(n,(t=>x(e,t))))),forEachCell:(e,t,n)=>x(F(F(re,c(e)),c(t)),n),addSortedRowIdsListener:(e,t,n,s,r,o,l)=>{let a=Qe(e,t,n,s,r);return be((()=>{const l=Qe(e,t,n,s,r);var i,c,d;c=a,f(i=l)===f(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(a=l,o(tt,e,t,n,s,r,a))}),ce[l?1:0],[e,t])},addWillFinishTransactionListener:e=>be(e,Te[0]),addDidFinishTransactionListener:e=>be(e,Te[1]),callListener:e=>(ye(e,[He,Ke,Ue],(e=>v(e[2])?[]:V(Ve(...e)))),tt),delListener:e=>(pe(e),tt),getListenerStats:()=>({}),createStore:te};return q({Tables:[0,oe],TableIds:[0,le],Table:[1,ae],RowIds:[1,ie],Row:[2,de],CellIds:[2,ue],Cell:[3,fe],InvalidCell:[3,he]},(([e,t],n)=>{tt["add"+n+"Listener"]=(...n)=>be(n[e],t[n[e+1]?1:0],e>0?h(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/store.js.gz
CHANGED
|
Binary file
|
package/lib/umd/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t){"use strict";const s=e=>typeof e,n="",o=s(n),r=s(!0),a=s(0),i=s(s),l="type",c="default",d="utf8",u="Listener",f="Result",h="add",g="Table",w="RowIds",L="CellIds",p="Cell",R=e=>n+e,v=(e,t)=>e.includes(t),y=(e,t)=>e.every(t),I=(e,t)=>E(e)===E(t)&&y(e,((e,s)=>t[s]===e)),S=(e,t)=>y(e,((s,n)=>0==n||t(e[n-1],s)<=0)),T=(e,t)=>e.sort(t),b=(e,t)=>e.forEach(t),C=(e,t)=>e.map(t),m=e=>M(e,((e,t)=>e+t),0),E=e=>e.length,k=e=>0==E(e),M=(e,t,s)=>e.reduce(t,s),x=(e,t,s)=>e.slice(t,s),A=(e,...t)=>e.push(...t),D=e=>e.pop(),F=e=>e.shift(),J=e=>JSON.stringify(e,((e,t)=>N(t,Map)?M([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),P=JSON.parse,Q=Math.max,j=Math.min,z=isFinite,N=(e,t)=>e instanceof t,O=e=>null==e,W=(e,t,s)=>O(e)?s?.():t(e),B=e=>e==o||e==r,q=e=>s(e)==i,H=e=>Array.isArray(e),$=()=>{},G=e=>e.size,K=(e,t)=>e?.has(t)??!1,U=e=>O(e)||0==G(e),V=e=>[...e?.values()??[]],X=e=>e.clear(),Y=(e,t)=>e?.forEach(t),Z=(e,t)=>e?.delete(t),_=e=>new Map(e),ee=e=>[...e?.keys()??[]],te=(e,t)=>e?.get(t),se=(e,t)=>Y(e,((e,s)=>t(s,e))),ne=(e,t,s)=>O(s)?(Z(e,t),e):e?.set(t,s),oe=(e,t,s)=>(K(e,t)||ne(e,t,s()),te(e,t)),re=(e,t,s)=>{const n={},o=t??(e=>e);return Y(e,((e,t)=>W(o(e),(e=>s?.(e)?0:n[t]=e)))),n},ae=(e,t)=>{const s=_(),n=t??(e=>e);return Y(e,((e,t)=>s.set(t,n(e)))),s},ie=e=>ae(e,ae),le=(e,t,s,n,o=0)=>W((s?oe:te)(e,t[o],o>E(t)-2?s:_),(r=>{if(o>E(t)-2)return n?.(r)&&ne(e,t[o]),r;const a=le(r,t,s,n,o+1);return U(r)&&ne(e,t[o]),a})),ce=e=>new Set(H(e)||O(e)?e:[e]),de=(e,t)=>e?.add(t),ue=(e,t,s)=>{const n=e.hasRow,o=_(),r=_(),a=_(),i=_(),l=_(),c=(t,s,...n)=>{const o=oe(l,t,ce);return b(n,(t=>de(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>W(te(l,t),(n=>{b(k(s)?V(n):s,(t=>{e.delListener(t),Z(n,t)})),U(n)&&ne(l,t)})),u=(e,s)=>{ne(o,e,s),K(r,e)||(ne(r,e,t()),ne(a,e,_()),ne(i,e,_()))},f=e=>{ne(o,e),ne(r,e),ne(a,e),ne(i,e),d(e)};return[()=>e,()=>ee(o),e=>se(r,e),e=>K(r,e),e=>te(o,e),e=>te(r,e),(e,t)=>ne(r,e,t),u,(t,o,r,l,f)=>{u(t,o);const h=_(),g=_(),w=te(a,t),L=te(i,t),p=t=>{const r=s=>e.getCell(o,t,s),a=te(w,t),i=n(o,t)?s(l(r,t)):void 0;if(a===i||H(a)&&H(i)&&I(a,i)||ne(h,t,[a,i]),!O(f)){const e=te(L,t),s=n(o,t)?f(r,t):void 0;e!=s&&ne(g,t,s)}},R=e=>{r((()=>{Y(h,(([,e],t)=>ne(w,t,e))),Y(g,((e,t)=>ne(L,t,e)))}),h,g,w,L,e),X(h),X(g)};se(w,p),e.hasTable(o)&&b(e.getRowIds(o),(e=>{K(w,e)||p(e)})),R(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>p(s))),e.addTableListener(o,(()=>R())))},f,()=>se(l,f),c,d]},fe=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),he=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},ge=/^\d+$/,we=()=>{const e=[];let t=0;return[()=>F(e)??n+t++,t=>{ge.test(t)&&E(e)<1e3&&A(e,t)}]},Le=e=>{let t;const[s,o]=we(),r=_();return[(o,a,i)=>{t??=e();const l=s();return ne(r,l,[o,a,i]),de(le(a,i??[n],ce),l),l},(e,s,...o)=>b(((e,t=[n])=>{const s=[],o=(e,n)=>n==E(t)?A(s,e):null===t[n]?Y(e,(e=>o(e,n+1))):b([t[n],null],(t=>o(te(e,t),n+1)));return o(e,0),s})(e,s),(e=>Y(e,(e=>te(r,e)[0](t,...s??[],...o))))),e=>W(te(r,e),(([,t,s])=>(le(t,s??[n],void 0,(t=>(Z(t,e),U(t)?1:0))),ne(r,e),o(e),s))),(e,s,n)=>W(te(r,e),(([e,,o=[]])=>{const r=(...a)=>{const i=E(a);i==E(o)?e(t,...a,...n(a)):O(o[i])?b(s[i](...a),(e=>r(...a,e))):r(...a,o[i])};r()}))]},pe=Object,Re=pe.keys,ve=pe.isFrozen,ye=pe.freeze,Ie=(e,t)=>!O(((e,t)=>W(e,(e=>e[t])))(e,t)),Se=(e,t)=>delete e[t],Te=(e,t)=>b(pe.entries(e),(([e,s])=>t(s,e))),be=e=>k(Re(e)),Ce=e=>{const t=s(e);return B(t)||t==a&&z(e)?t:void 0},me=(e,t,s,n,o)=>O(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Ee=he((e=>{let t,s,o,r=100,a=_(),i=1;const l=_(),c=_(),[d,u,f]=Le((()=>Q)),h=_(),g=_(),w=[],L=[],p=(t,s)=>{i=0,e.transaction((()=>Y(te(h,s),((s,n)=>Y(s,((s,o)=>Y(s,((s,r)=>me(e,n,o,r,s[t]))))))))),i=1},R=e=>{ne(h,e),ne(g,e),u(c,[e])},y=(e,t)=>b(((e,t)=>e.splice(0,t))(e,t??E(e)),R),I=()=>y(w,E(w)-r),S=e.addCellListener(null,null,null,((e,s,n,r,l,c)=>{if(i){W(t,(()=>{A(w,t),I(),y(L),t=void 0,o=1}));const e=oe(a,s,_),i=oe(e,n,_),d=oe(i,r,(()=>[c,void 0]));d[1]=l,d[0]===l&&U(ne(i,r))&&U(ne(e,n))&&U(ne(a,s))&&(t=D(w),o=1),M()}})),T=(e="")=>(O(t)&&(t=n+s++,ne(h,t,a),J(t,e),a=_(),o=1),t),C=()=>{k(w)||(((e,...t)=>{e.unshift(...t)})(L,T()),p(0,t),t=D(w),o=1)},m=()=>{k(L)||(A(w,t),t=F(L),p(1,t),o=1)},M=()=>{o&&(u(l),o=0)},x=e=>{const t=T(e);return M(),t},J=(e,t)=>(P(e)&&te(g,e)!==t&&(ne(g,e,t),u(c,[e])),Q),P=e=>K(h,e),Q={setSize:e=>(r=e,I(),Q),addCheckpoint:x,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...L]],forEachCheckpoint:e=>se(g,e),hasCheckpoint:P,getCheckpoint:e=>te(g,e),goBackward:()=>(C(),M(),Q),goForward:()=>(m(),M(),Q),goTo:e=>{const s=v(w,e)?C:v(L,e)?m:null;for(;!O(s)&&e!=t;)s();return M(),Q},addCheckpointIdsListener:e=>d(e,l),addCheckpointListener:(e,t)=>d(t,c,[e]),delListener:e=>(f(e),Q),clear:()=>(y(w),y(L),O(t)||R(t),t=void 0,s=0,x(),Q),destroy:()=>{e.delListener(S)},getListenerStats:()=>({})};return ye(Q.clear())})),ke=(e,t)=>e<t?-1:1,Me=he((e=>{const t=_(),s=_(),[o,r,a,i,l,c,d,,u,f,h]=ue(e,_,(e=>O(e)?n:H(e)?C(e,R):R(e))),[g,w,L]=Le((()=>v)),p=(t,s,n)=>{const o=l(t);Y(n,((t,n)=>s(n,(s=>Y(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},v={setIndexDefinition:(e,n,o,r,a,i=ke)=>{const l=O(a)?void 0:([e],[t])=>a(e,t);return u(e,n,((n,o,a,u,f,h)=>{let g=0;const L=ce(),p=ce(),R=c(e);if(Y(o,(([e,t],s)=>{const n=ce(e),o=ce(t);Y(n,(e=>Z(o,e)?Z(n,e):0)),Y(n,(e=>{de(L,e),W(te(R,e),(t=>{Z(t,s),U(t)&&(ne(R,e),g=1)}))})),Y(o,(e=>{de(L,e),K(R,e)||(ne(R,e,ce()),g=1),de(te(R,e),s),O(r)||de(p,e)}))})),n(),U(f)||(h?se(R,(e=>de(p,e))):se(a,(e=>W(te(u,e),(e=>de(p,e))))),Y(p,(e=>{const t=(t,s)=>i(te(f,t),te(f,s),e),s=[...te(R,e)];S(s,t)||(ne(R,e,ce(T(s,t))),de(L,e))}))),(g||h)&&!O(l)){const t=[...R];S(t,l)||(d(e,_(T(t,l))),g=1)}g&&w(t,[e]),Y(L,(t=>w(s,[e,t])))}),fe(o),W(r,fe)),v},delIndexDefinition:e=>(f(e),v),getStore:o,getIndexIds:r,forEachIndex:e=>a(((t,s)=>e(t,(e=>p(t,e,s))))),forEachSlice:(e,t)=>p(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>K(c(e),t),getTableId:l,getSliceIds:e=>ee(c(e)),getSliceRowIds:(e,t)=>V(te(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>g(n,s,[e,t]),delListener:e=>(L(e),v),destroy:h,getListenerStats:()=>({})};return ye(v)})),xe=_([["avg",[(e,t)=>m(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>Q(...e),(e,t)=>Q(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:Q(t,e)]],["min",[e=>j(...e),(e,t)=>j(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:j(t,e)]],["sum",[e=>m(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Ae=(e,t,s,n,o,r=!1)=>{if(U(s))return;const[a,i,l,c]=o;return r||=O(e),Y(n,(([s,n])=>{r||(e=O(s)?i?.(e,n,t++):O(n)?l?.(e,s,t--):c?.(e,n,s,t),r||=O(e))})),r?a(V(s),G(s)):e},De=he((e=>{const t=_(),[s,o,r,a,i,l,c,,d,u,f]=ue(e,$,(e=>isNaN(e)||O(e)||!0===e||!1===e||e===n?void 0:1*e)),[h,g,w]=Le((()=>L)),L={setMetricDefinition:(e,s,n,o,r,a,i)=>{const u=q(n)?[n,r,a,i]:te(xe,n)??te(xe,"sum");return d(e,s,((s,n,o,r,a,i)=>{const d=l(e),f=G(r);i||=O(d),s();let h=Ae(d,f,r,n,u,i);z(h)||(h=void 0),h!=d&&(c(e,h),g(t,[e],h,d))}),fe(o,1)),L},delMetricDefinition:e=>(u(e),L),getStore:s,getMetricIds:o,forEachMetric:r,hasMetric:a,getTableId:i,getMetric:l,addMetricListener:(e,s)=>h(s,t,[e]),delListener:e=>(w(e),L),destroy:f,getListenerStats:()=>({})};return ye(L)})),Fe=(e,t,s,o,r)=>{let a,i=0;const l={load:async s=>{if(2!=i){i=1;const o=await t();O(o)||o==n?e.setTables(s):e.setJson(o),i=0}return l},startAutoLoad:async e=>(l.stopAutoLoad(),await l.load(e),o(l.load),l),stopAutoLoad:()=>(r(),l),save:async()=>(1!=i&&(i=2,await s(e.getJson()),i=0),l),startAutoSave:async()=>(await l.stopAutoSave().save(),a=e.addTablesListener((()=>l.save())),l),stopAutoSave:()=>(W(a,e.delListener),l),getStore:()=>e,destroy:()=>l.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ye(l)},Je="storage",Pe=globalThis.window,Qe=(e,t,s)=>{let n;return Fe(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},Pe.addEventListener(Je,n)}),(()=>{Pe.removeEventListener(Je,n),n=void 0}))},je=e=>e.headers.get("ETag"),ze=he((e=>{const t=e.createStore,[s,o,r,a,i,,,l,,c,d,R,v]=ue(e,(()=>!0),$),I=t(),S=t(),T=_(),C=(e,t,...s)=>b(s,(s=>de(oe(oe(T,t,_),e,ce),s))),m=e=>{W(te(T,e),(e=>{se(e,((e,t)=>Y(t,(t=>e.delListener(t))))),X(e)})),b([S,I],(t=>t.delTable(e)))},M=(e,t,s)=>C(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),D={setQueryDefinition:(t,s,o)=>{l(t,s),m(t);const r=[],a=[[null,[s,null,null,[],_()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=q(e)?[E(r)+n,e]:[O(t)?e:t,s=>s(e,t)];return A(r,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=O(s)||q(t)?null:t,o=O(n)?t:s,r=[e,[e,n,q(o)?o:e=>e(o),[],_()]];return A(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>A(i,q(e)?e:O(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const r=[e,[e,q(t)?[t,s,n,o]:te(xe,t)??[(e,t)=>t]]];return A(c,r),{as:e=>r[0]=e}},having:(e,t)=>A(d,q(e)?e:s=>s(e)===t)});const u=_(r);if(U(u))return D;const f=_(a);se(f,((e,[,t])=>W(te(f,t),(({3:t})=>O(e)?0:A(t,e)))));const h=_(c);let g=I;if(U(h)&&k(d))g=S;else{M(t,g,S);const e=_();se(h,((t,[s,n])=>de(oe(e,s,ce),[t,n])));const s=ce();se(u,(t=>K(e,t)?0:de(s,t)));const n=_(),o=(s,n,o,r)=>W(s,(([a,i,l,c])=>{se(n,((t,[s])=>{const n=oe(a,t,_),i=te(n,o),l=r?void 0:s;if(i!==l){const s=ce([[i,l]]),r=G(n);ne(n,o,l),Y(te(e,t),(([e,t])=>{const o=Ae(c[e],r,n,s,t);c[e]=O(Ce(o))?null:o}))}})),U(i)||!y(d,(e=>e((e=>c[e]))))?S.delRow(t,l):O(l)?s[2]=S.addRow(t,c):S.setRow(t,l,c)}));C(g,t,g.addRowListener(t,null,((r,a,i,l)=>{const c=[],d=[],u=_(),f=g.hasRow(t,i);let h=!f;Y(s,(e=>{const[s,n,o]=l(t,i,e);A(c,n),A(d,o),h||=s})),se(e,(e=>{const[s,,n]=l(t,i,e);(h||s)&&ne(u,e,[n])})),h&&o(le(n,c,void 0,(([,e])=>(Z(e,i),U(e)))),u,i,1),f&&o(le(n,d,(()=>{const e={};return Y(s,(s=>e[s]=g.getCell(t,i,s))),[_(),ce(),void 0,e]}),(([,e])=>{de(e,i)})),u,i)})))}M(t,e,g);const w=(n,o,r,a)=>{const l=t=>e.getCell(o,r,t);b(a,(s=>{const[o,,r,a,i]=te(f,s),c=r?.(l,n),[d,u]=te(i,n)??[];c!=d&&(O(u)||v(t,u),ne(i,n,O(c)?null:[c,...R(t,1,e.addRowListener(o,c,(()=>w(n,o,c,a))))]))})),(n=>{const o=(t,o)=>e.getCell(...O(o)?[s,n,t]:t===s?[s,n,o]:[te(f,t)?.[0],te(te(f,t)?.[4],n)?.[0],o]);g.transaction((()=>y(i,(e=>e(o)))?se(u,((e,s)=>me(g,t,n,e,s(o,n)))):g.delRow(t,n)))})(n)},{3:L}=te(f,null);return g.transaction((()=>R(t,1,e.addRowListener(s,null,((n,o,r)=>{e.hasRow(s,r)?w(r,s,r,L):(g.delRow(t,r),Y(f,(({4:e})=>W(te(e,r),(([,s])=>{v(t,s),ne(e,r)})))))}))))),D},delQueryDefinition:e=>(m(e),c(e),D),getStore:s,getQueryIds:o,forEachQuery:r,hasQuery:a,getTableId:i,delListener:e=>(S.delListener(e),D),destroy:d,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=S.getListenerStats();return n}};return Te({[g]:[1,1],[w]:[0,1],SortedRowIds:[0,5],Row:[1,2],[L]:[0,2],[p]:[1,3]},(([e,t],s)=>{b(e?["get","has","forEach"]:["get"],(e=>D[e+f+s]=(...t)=>S[e+s](...t))),D[h+f+s+u]=(...e)=>S[h+s+u](...x(e,0,t),((s,...n)=>e[t](D,...n)))})),ye(D)})),Ne=he((e=>{const t=_(),s=_(),o=_(),r=_(),[a,i,l,c,d,u,,,f,h,g]=ue(e,(()=>[_(),_(),_(),_()]),(e=>O(e)?void 0:e+n)),[w,L,p]=Le((()=>I)),R=(e,t,s)=>W(u(e),(([n,,o])=>{if(!K(o,t)){const r=ce();if(d(e)!=y(e))de(r,t);else{let e=t;for(;!O(e)&&!K(r,e);)de(r,e),e=te(n,e)}if(s)return r;ne(o,t,r)}return te(o,t)})),v=(e,t)=>W(u(e),(([,,e])=>ne(e,t))),y=e=>te(t,e),I={setRelationshipDefinition:(e,n,a,i)=>(ne(t,e,a),f(e,n,((t,n)=>{const a=ce(),i=ce(),l=ce(),[c,d]=u(e);Y(n,(([t,s],n)=>{O(t)||(de(i,t),W(te(d,t),(e=>{Z(e,n),U(e)&&ne(d,t)}))),O(s)||(de(i,s),K(d,s)||ne(d,s,ce()),de(te(d,s),n)),de(a,n),ne(c,n,s),se(te(r,e),(t=>{K(R(e,t),n)&&de(l,t)}))})),t(),Y(a,(t=>L(s,[e,t]))),Y(i,(t=>L(o,[e,t]))),Y(l,(t=>{v(e,t),L(r,[e,t])}))}),fe(i)),I),delRelationshipDefinition:e=>(ne(t,e),h(e),I),getStore:a,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:y,getRemoteRowId:(e,t)=>te(u(e)?.[0],t),getLocalRowIds:(e,t)=>V(te(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>O(u(e))?[t]:V(R(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>w(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>w(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),w(s,r,[e,t])),delListener:e=>(v(...p(e)),I),destroy:g,getListenerStats:()=>({})};return ye(I)})),Oe=e=>[e,e],We=()=>[_(),_()],Be=(e,t,s,n=ne)=>{const o=(r=ee(e),a=e=>!Ie(t,e),r.filter(a));var r,a;return b(Re(t),(n=>s(e,n,t[n]))),b(o,(t=>n(e,t))),e},qe=(e,t,s)=>O(e)||!(e=>N(e,pe)&&e.constructor==pe)(e)||be(e)||ve(e)?(s?.(),!1):(Te(e,((s,n)=>{t(s,n)||Se(e,n)})),!be(e)),He=(e,t,s)=>ne(e,t,te(e,t)==-s?void 0:s),$e=()=>{let e,t,s=0;const n=_(),o=_(),r=_(),i=_(),d=_(),f=_(),y=_(),S=_(),m=_(),E=We(),k=We(),M=We(),D=We(),F=We(),Q=We(),j=We(),z=We(),N=We(),H=We(),[$,G,V,le]=Le((()=>ct)),ue=(t,s)=>(!e||K(f,s)||Ge(s))&&qe(t,((e,t)=>fe(s,t,e)),(()=>Ge(s))),fe=(e,t,s,n)=>qe(n?s:ge(s,e,t),((n,o)=>W(he(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>Ge(e,t))),he=(t,s,n,o)=>e?W(te(te(f,t),n),(e=>Ce(o)!=e.type?Ge(t,s,n,o,e.default):o),(()=>Ge(t,s,n,o))):O(Ce(o))?Ge(t,s,n,o):o,ge=(e,t,s)=>(W(te(y,t),(([n,o])=>{Y(n,((t,s)=>{Ie(e,s)||(e[s]=t)})),Y(o,(n=>{Ie(e,n)||Ge(t,s,n)}))})),e),pe=e=>Be(f,e,((e,t,s)=>{const n=_(),o=ce();Be(oe(f,t,_),s,((e,t,s)=>{ne(e,t,s),W(s.default,(e=>ne(n,t,e)),(()=>de(o,t)))})),ne(y,t,[n,o])}),((e,t)=>{ne(f,t),ne(y,t)})),Re=e=>Be(m,e,((e,t,s)=>ve(t,s)),((e,t)=>Fe(t))),ve=(e,t)=>Be(oe(m,e,(()=>(Qe(e,1),_()))),t,((t,s,n)=>Ee(e,t,s,n)),((t,s)=>Je(e,t,s))),Ee=(e,t,s,n,o)=>Be(oe(t,s,(()=>(je(e,s,1),_()))),n,((t,n,o)=>Me(e,s,t,n,o)),((n,r)=>Pe(e,t,s,n,r,o))),Me=(e,t,s,n,o)=>{K(s,n)||ze(e,t,n,1);const r=te(s,n);o!==r&&(Ne(e,t,n,r,o),ne(s,n,o))},xe=(e,t,s,n,o)=>W(te(t,s),(t=>Me(e,s,t,n,o)),(()=>Ee(e,t,s,ge({[n]:o},e,s)))),Ae=e=>{const[t]=oe(S,e,we),s=t();return K(te(m,e),s)?Ae(e):s},De=e=>te(m,e)??ve(e,{}),Fe=e=>ve(e,{}),Je=(e,t,s)=>{const[,n]=oe(S,e,we);n(s),Ee(e,t,s,{},!0)},Pe=(e,t,s,n,o,r)=>{const a=te(te(y,e)?.[0],o);if(!O(a)&&!r)return Me(e,s,n,o,a);const i=t=>{Ne(e,s,t,te(n,t)),ze(e,s,t,-1),ne(n,t)};O(a)?i(o):se(n,i),U(n)&&(je(e,s,-1),U(ne(t,s))&&(Qe(e,-1),ne(m,e),ne(S,e)))},Qe=(e,t)=>He(n,e,t),je=(e,t,s)=>He(oe(o,e,_),t,s),ze=(e,t,s,n)=>He(oe(oe(r,e,_),t,_),s,n),Ne=(e,t,s,n,o)=>oe(oe(oe(i,e,_),t,_),s,(()=>[n,0]))[1]=o,Ge=(e,t,s,n,o)=>(A(oe(oe(oe(d,e,_),t,_),s,(()=>[])),n),o),Ke=(e,t,s)=>W(te(te(te(i,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Oe(nt(e,t,s))])),Ue=e=>U(d)||U(N[e])?0:Y(e?ae(d,ie):d,((t,s)=>Y(t,((t,n)=>Y(t,((t,o)=>G(N[e],[s,n,o],t))))))),Ve=(e,t,s)=>{if(!U(t))return G(e,s),1},Xe=e=>{const t=U(F[e]),s=U(j[e])&&U(D[e])&&t&&U(k[e]),a=U(z[e])&&U(Q[e])&&U(M[e])&&U(E[e]);if(!s||!a){const l=e?[ae(n),ie(o),ae(r,ie),ae(i,ie)]:[n,o,r,i];if(!s){Y(l[2],((t,s)=>Y(t,((t,n)=>Ve(j[e],t,[s,n])))));const s=ce();Y(l[1],((n,o)=>{Ve(D[e],n,[o])&&!t&&(G(F[e],[o,null]),de(s,o))})),t||Y(l[3],((t,n)=>{if(!K(s,n)){const s=ce();Y(t,(e=>Y(e,(([t,n],o)=>n!==t?de(s,o):Z(e,o))))),Y(s,(t=>G(F[e],[n,t])))}})),Ve(k[e],l[0])}if(!a){let t;Y(l[3],((s,n)=>{let o;Y(s,((s,r)=>{let a;Y(s,(([s,i],l)=>{i!==s&&(G(z[e],[n,r,l],i,s,Ke),t=o=a=1)})),a&&G(Q[e],[n,r],Ke)})),o&&G(M[e],[n],Ke)})),t&&G(E[e],void 0,Ke)}}},Ye=(e,...t)=>(at((()=>e(...C(t,R)))),ct),Ze=()=>re(m,(e=>re(e,re))),_e=()=>ee(m),et=e=>ee(te(m,R(e))),tt=(e,t,s,n=0,o)=>{return C(x(T((r=te(m,R(e)),a=(e,s)=>[O(t)?s:te(e,R(t)),s],C([...r?.entries()??[]],(([e,t])=>a(t,e)))),(([e],[t])=>ke(e,t)*(s?-1:1))),n,O(o)?o:n+o),(([,e])=>e));var r,a},st=(e,t)=>ee(te(te(m,R(e)),R(t))),nt=(e,t,s)=>te(te(te(m,R(e)),R(t)),R(s)),ot=e=>Ye((()=>(e=>qe(e,ue,Ge))(e)?Re(e):0)),rt=()=>Ye((()=>Re({}))),at=(e,t)=>{if(-1==s)return;it();const n=e();return lt(t),n},it=()=>(s++,ct),lt=e=>(s>0&&(s--,0==s&&(t=!U(i),s=1,Ue(1),t&&Xe(1),s=-1,e?.(re(i,(e=>re(e,(e=>re(e,(e=>[...e]),(([e,t])=>e===t))),be)),be),re(d,(e=>re(e,re))))&&(s=1,Y(i,((e,t)=>Y(e,((e,s)=>Y(e,(([e],n)=>me(ct,t,s,n,e))))))),s=-1,t=!1),G(H[0],void 0,t),Ue(0),t&&Xe(0),G(H[1],void 0,t),s=0,b([i,d,n,o,r],X))),ct),ct={getTables:Ze,getTableIds:_e,getTable:e=>re(te(m,R(e)),re),getRowIds:et,getSortedRowIds:tt,getRow:(e,t)=>re(te(te(m,R(e)),R(t))),getCellIds:st,getCell:nt,hasTables:()=>!U(m),hasTable:e=>K(m,R(e)),hasRow:(e,t)=>K(te(m,R(e)),R(t)),hasCell:(e,t,s)=>K(te(te(m,R(e)),R(t)),R(s)),getJson:()=>J(m),getSchemaJson:()=>J(f),setTables:ot,setTable:(e,t)=>Ye((e=>ue(t,e)?ve(e,t):0),e),setRow:(e,t,s)=>Ye(((e,t)=>fe(R(e),R(t),s)?Ee(R(e),De(R(e)),R(t),s):0),e,t),addRow:(e,t)=>at((()=>{let s;return fe(e,s,t)&&(e=R(e),Ee(e,De(e),s=Ae(e),t)),s})),setPartialRow:(e,t,s)=>Ye(((e,t)=>{if(fe(e,t,s,1)){const n=De(e);Te(s,((s,o)=>xe(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Ye(((e,t,s)=>W(he(e,t,s,q(n)?n(nt(e,t,s)):n),(n=>xe(e,De(e),t,s,n)))),e,t,s),setJson:e=>{try{"{}"===e?rt():ot(P(e))}catch{}return ct},setSchema:t=>Ye((()=>{if((e=(e=>qe(e,(e=>qe(e,(e=>{if(!qe(e,((e,t)=>v([l,c],t))))return!1;const t=e.type;return!(!B(t)&&t!=a||(Ce(e.default)!=t&&Se(e,c),0))})))))(t))&&(pe(t),!U(m))){const e=Ze();rt(),ot(e)}})),delTables:rt,delTable:e=>Ye((e=>K(m,e)?Fe(e):0),e),delRow:(e,t)=>Ye(((e,t)=>W(te(m,e),(s=>K(s,t)?Je(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Ye(((e,t,s)=>W(te(m,e),(o=>W(te(o,t),(r=>K(r,s)?Pe(e,o,t,r,s,n):0))))),e,t,s),delSchema:()=>Ye((()=>{pe({}),e=!1})),transaction:at,startTransaction:it,finishTransaction:lt,forEachTable:e=>Y(m,((t,s)=>e(s,(e=>Y(t,((t,s)=>e(s,(e=>se(t,e))))))))),forEachRow:(e,t)=>Y(te(m,R(e)),((e,s)=>t(s,(t=>se(e,t))))),forEachCell:(e,t,s)=>se(te(te(m,R(e)),R(t)),s),addSortedRowIdsListener:(e,t,s,n,o,r,a)=>{let i=tt(e,t,s,n,o);return $((()=>{const a=tt(e,t,s,n,o);I(a,i)||(i=a,r(ct,e,t,s,n,o,i))}),F[a?1:0],[e,t])},addWillFinishTransactionListener:e=>$(e,H[0]),addDidFinishTransactionListener:e=>$(e,H[1]),callListener:e=>(le(e,[_e,et,st],(e=>O(e[2])?[]:Oe(nt(...e)))),ct),delListener:e=>(V(e),ct),getListenerStats:()=>({}),createStore:$e};return Te({Tables:[0,E],TableIds:[0,k],[g]:[1,M],[w]:[1,D],Row:[2,Q],[L]:[2,j],[p]:[3,z],InvalidCell:[3,N]},(([e,t],s)=>{ct[h+s+u]=(...s)=>$(s[e],t[s[e+1]?1:0],e>0?x(s,0,e):void 0)})),ye(ct)};e.createCheckpoints=Ee,e.createCustomPersister=Fe,e.createFilePersister=(e,s)=>{let n;return Fe(e,(async()=>{try{return await t.promises.readFile(s,d)}catch{}}),(async e=>{try{await t.promises.writeFile(s,e,d)}catch{}}),(e=>{n=t.watch(s,e)}),(()=>{n?.close(),n=void 0}))},e.createIndexes=Me,e.createLocalPersister=(e,t)=>Qe(e,t,localStorage),e.createMetrics=De,e.createQueries=ze,e.createRelationships=Ne,e.createRemotePersister=(e,t,s,n)=>{let o,r;return Fe(e,(async()=>{const e=await fetch(t);return r=je(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{o=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=je(s);O(r)||O(n)||n==r||(r=n,e())}),1e3*n)}),(()=>{W(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>Qe(e,t,sessionStorage),e.createStore=$e,e.defaultSorter=ke},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs")):"function"==typeof define&&define.amd?define(["exports","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={},e.fs);
|
|
1
|
+
var e,t;e=this,t=function(e,t){"use strict";const s=e=>typeof e,n="",o=s(n),r=s(!0),a=s(0),i=s(s),l="default",c="utf8",d="Listener",u="Result",f="add",h="Table",g="RowIds",w="CellIds",L="Cell",p=e=>n+e,R=(e,t)=>e.includes(t),v=(e,t)=>e.every(t),y=(e,t)=>m(e)===m(t)&&v(e,((e,s)=>t[s]===e)),I=(e,t)=>v(e,((s,n)=>0==n||t(e[n-1],s)<=0)),S=(e,t)=>e.sort(t),T=(e,t)=>e.forEach(t),b=(e,t)=>e.map(t),C=e=>k(e,((e,t)=>e+t),0),m=e=>e.length,E=e=>0==m(e),k=(e,t,s)=>e.reduce(t,s),M=(e,t,s)=>e.slice(t,s),x=(e,...t)=>e.push(...t),A=e=>e.pop(),D=e=>e.shift(),F=e=>JSON.stringify(e,((e,t)=>z(t,Map)?k([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),J=JSON.parse,P=Math.max,Q=Math.min,j=isFinite,z=(e,t)=>e instanceof t,N=e=>null==e,O=(e,t,s)=>N(e)?s?.():t(e),W=e=>e==o||e==r,B=e=>s(e)==i,q=e=>Array.isArray(e),H=()=>{},$=e=>e.size,G=(e,t)=>e?.has(t)??!1,K=e=>N(e)||0==$(e),U=e=>[...e?.values()??[]],V=e=>e.clear(),X=(e,t)=>e?.forEach(t),Y=(e,t)=>e?.delete(t),Z=e=>new Map(e),_=e=>[...e?.keys()??[]],ee=(e,t)=>e?.get(t),te=(e,t)=>X(e,((e,s)=>t(s,e))),se=(e,t,s)=>N(s)?(Y(e,t),e):e?.set(t,s),ne=(e,t,s)=>(G(e,t)||se(e,t,s()),ee(e,t)),oe=(e,t,s)=>{const n={},o=t??(e=>e);return X(e,((e,t)=>O(o(e),(e=>s?.(e)?0:n[t]=e)))),n},re=(e,t)=>{const s=Z(),n=t??(e=>e);return X(e,((e,t)=>s.set(t,n(e)))),s},ae=e=>re(e,re),ie=(e,t,s,n,o=0)=>O((s?ne:ee)(e,t[o],o>m(t)-2?s:Z),(r=>{if(o>m(t)-2)return n?.(r)&&se(e,t[o]),r;const a=ie(r,t,s,n,o+1);return K(r)&&se(e,t[o]),a})),le=e=>new Set(q(e)||N(e)?e:[e]),ce=(e,t)=>e?.add(t),de=(e,t,s)=>{const n=e.hasRow,o=Z(),r=Z(),a=Z(),i=Z(),l=Z(),c=(t,s,...n)=>{const o=ne(l,t,le);return T(n,(t=>ce(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>O(ee(l,t),(n=>{T(E(s)?U(n):s,(t=>{e.delListener(t),Y(n,t)})),K(n)&&se(l,t)})),u=(e,s)=>{se(o,e,s),G(r,e)||(se(r,e,t()),se(a,e,Z()),se(i,e,Z()))},f=e=>{se(o,e),se(r,e),se(a,e),se(i,e),d(e)};return[()=>e,()=>_(o),e=>te(r,e),e=>G(r,e),e=>ee(o,e),e=>ee(r,e),(e,t)=>se(r,e,t),u,(t,o,r,l,f)=>{u(t,o);const h=Z(),g=Z(),w=ee(a,t),L=ee(i,t),p=t=>{const r=s=>e.getCell(o,t,s),a=ee(w,t),i=n(o,t)?s(l(r,t)):void 0;if(a===i||q(a)&&q(i)&&y(a,i)||se(h,t,[a,i]),!N(f)){const e=ee(L,t),s=n(o,t)?f(r,t):void 0;e!=s&&se(g,t,s)}},R=e=>{r((()=>{X(h,(([,e],t)=>se(w,t,e))),X(g,((e,t)=>se(L,t,e)))}),h,g,w,L,e),V(h),V(g)};te(w,p),e.hasTable(o)&&T(e.getRowIds(o),(e=>{G(w,e)||p(e)})),R(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>p(s))),e.addTableListener(o,(()=>R())))},f,()=>te(l,f),c,d]},ue=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),fe=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},he=/^\d+$/,ge=()=>{const e=[];let t=0;return[()=>D(e)??n+t++,t=>{he.test(t)&&m(e)<1e3&&x(e,t)}]},we=e=>{let t;const[s,o]=ge(),r=Z();return[(o,a,i)=>{t??=e();const l=s();return se(r,l,[o,a,i]),ce(ie(a,i??[n],le),l),l},(e,s,...o)=>T(((e,t=[n])=>{const s=[],o=(e,n)=>n==m(t)?x(s,e):null===t[n]?X(e,(e=>o(e,n+1))):T([t[n],null],(t=>o(ee(e,t),n+1)));return o(e,0),s})(e,s),(e=>X(e,(e=>ee(r,e)[0](t,...s??[],...o))))),e=>O(ee(r,e),(([,t,s])=>(ie(t,s??[n],void 0,(t=>(Y(t,e),K(t)?1:0))),se(r,e),o(e),s))),(e,s,n)=>O(ee(r,e),(([e,,o=[]])=>{const r=(...a)=>{const i=m(a);i==m(o)?e(t,...a,...n(a)):N(o[i])?T(s[i](...a),(e=>r(...a,e))):r(...a,o[i])};r()}))]},Le=Object,pe=Le.keys,Re=Le.isFrozen,ve=Le.freeze,ye=(e,t)=>!N(((e,t)=>O(e,(e=>e[t])))(e,t)),Ie=(e,t)=>delete e[t],Se=(e,t)=>b(Le.entries(e),(([e,s])=>t(s,e))),Te=e=>E(pe(e)),be=e=>{const t=s(e);return W(t)||t==a&&j(e)?t:void 0},Ce=(e,t,s,n,o)=>N(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),me=fe((e=>{let t,s,o,r=100,a=Z(),i=1;const l=Z(),c=Z(),[d,u,f]=we((()=>Q)),h=Z(),g=Z(),w=[],L=[],p=(t,s)=>{i=0,e.transaction((()=>X(ee(h,s),((s,n)=>X(s,((s,o)=>X(s,((s,r)=>Ce(e,n,o,r,s[t]))))))))),i=1},v=e=>{se(h,e),se(g,e),u(c,[e])},y=(e,t)=>T(((e,t)=>e.splice(0,t))(e,t??m(e)),v),I=()=>y(w,m(w)-r),S=e.addCellListener(null,null,null,((e,s,n,r,l,c)=>{if(i){O(t,(()=>{x(w,t),I(),y(L),t=void 0,o=1}));const e=ne(a,s,Z),i=ne(e,n,Z),d=ne(i,r,(()=>[c,void 0]));d[1]=l,d[0]===l&&K(se(i,r))&&K(se(e,n))&&K(se(a,s))&&(t=A(w),o=1),M()}})),b=(e="")=>(N(t)&&(t=n+s++,se(h,t,a),J(t,e),a=Z(),o=1),t),C=()=>{E(w)||(((e,...t)=>{e.unshift(...t)})(L,b()),p(0,t),t=A(w),o=1)},k=()=>{E(L)||(x(w,t),t=D(L),p(1,t),o=1)},M=()=>{o&&(u(l),o=0)},F=e=>{const t=b(e);return M(),t},J=(e,t)=>(P(e)&&ee(g,e)!==t&&(se(g,e,t),u(c,[e])),Q),P=e=>G(h,e),Q={setSize:e=>(r=e,I(),Q),addCheckpoint:F,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...L]],forEachCheckpoint:e=>te(g,e),hasCheckpoint:P,getCheckpoint:e=>ee(g,e),goBackward:()=>(C(),M(),Q),goForward:()=>(k(),M(),Q),goTo:e=>{const s=R(w,e)?C:R(L,e)?k:null;for(;!N(s)&&e!=t;)s();return M(),Q},addCheckpointIdsListener:e=>d(e,l),addCheckpointListener:(e,t)=>d(t,c,[e]),delListener:e=>(f(e),Q),clear:()=>(y(w),y(L),N(t)||v(t),t=void 0,s=0,F(),Q),destroy:()=>{e.delListener(S)},getListenerStats:()=>({})};return ve(Q.clear())})),Ee=(e,t)=>e<t?-1:1,ke=fe((e=>{const t=Z(),s=Z(),[o,r,a,i,l,c,d,,u,f,h]=de(e,Z,(e=>N(e)?n:q(e)?b(e,p):p(e))),[g,w,L]=we((()=>v)),R=(t,s,n)=>{const o=l(t);X(n,((t,n)=>s(n,(s=>X(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},v={setIndexDefinition:(e,n,o,r,a,i=Ee)=>{const l=N(a)?void 0:([e],[t])=>a(e,t);return u(e,n,((n,o,a,u,f,h)=>{let g=0;const L=le(),p=le(),R=c(e);if(X(o,(([e,t],s)=>{const n=le(e),o=le(t);X(n,(e=>Y(o,e)?Y(n,e):0)),X(n,(e=>{ce(L,e),O(ee(R,e),(t=>{Y(t,s),K(t)&&(se(R,e),g=1)}))})),X(o,(e=>{ce(L,e),G(R,e)||(se(R,e,le()),g=1),ce(ee(R,e),s),N(r)||ce(p,e)}))})),n(),K(f)||(h?te(R,(e=>ce(p,e))):te(a,(e=>O(ee(u,e),(e=>ce(p,e))))),X(p,(e=>{const t=(t,s)=>i(ee(f,t),ee(f,s),e),s=[...ee(R,e)];I(s,t)||(se(R,e,le(S(s,t))),ce(L,e))}))),(g||h)&&!N(l)){const t=[...R];I(t,l)||(d(e,Z(S(t,l))),g=1)}g&&w(t,[e]),X(L,(t=>w(s,[e,t])))}),ue(o),O(r,ue)),v},delIndexDefinition:e=>(f(e),v),getStore:o,getIndexIds:r,forEachIndex:e=>a(((t,s)=>e(t,(e=>R(t,e,s))))),forEachSlice:(e,t)=>R(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>G(c(e),t),getTableId:l,getSliceIds:e=>_(c(e)),getSliceRowIds:(e,t)=>U(ee(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>g(n,s,[e,t]),delListener:e=>(L(e),v),destroy:h,getListenerStats:()=>({})};return ve(v)})),Me=Z([["avg",[(e,t)=>C(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>P(...e),(e,t)=>P(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:P(t,e)]],["min",[e=>Q(...e),(e,t)=>Q(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:Q(t,e)]],["sum",[e=>C(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),xe=(e,t,s,n,o,r=!1)=>{if(K(s))return;const[a,i,l,c]=o;return r||=N(e),X(n,(([s,n])=>{r||(e=N(s)?i?.(e,n,t++):N(n)?l?.(e,s,t--):c?.(e,n,s,t),r||=N(e))})),r?a(U(s),$(s)):e},Ae=fe((e=>{const t=Z(),[s,o,r,a,i,l,c,,d,u,f]=de(e,H,(e=>isNaN(e)||N(e)||!0===e||!1===e||e===n?void 0:1*e)),[h,g,w]=we((()=>L)),L={setMetricDefinition:(e,s,n,o,r,a,i)=>{const u=B(n)?[n,r,a,i]:ee(Me,n)??ee(Me,"sum");return d(e,s,((s,n,o,r,a,i)=>{const d=l(e),f=$(r);i||=N(d),s();let h=xe(d,f,r,n,u,i);j(h)||(h=void 0),h!=d&&(c(e,h),g(t,[e],h,d))}),ue(o,1)),L},delMetricDefinition:e=>(u(e),L),getStore:s,getMetricIds:o,forEachMetric:r,hasMetric:a,getTableId:i,getMetric:l,addMetricListener:(e,s)=>h(s,t,[e]),delListener:e=>(w(e),L),destroy:f,getListenerStats:()=>({})};return ve(L)})),De=(e,t,s,o,r)=>{let a,i=0;const l={load:async s=>{if(2!=i){i=1;const o=await t();N(o)||o==n?e.setTables(s):e.setJson(o),i=0}return l},startAutoLoad:async e=>(l.stopAutoLoad(),await l.load(e),o(l.load),l),stopAutoLoad:()=>(r(),l),save:async()=>(1!=i&&(i=2,await s(e.getJson()),i=0),l),startAutoSave:async()=>(await l.stopAutoSave().save(),a=e.addTablesListener((()=>l.save())),l),stopAutoSave:()=>(O(a,e.delListener),l),getStore:()=>e,destroy:()=>l.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ve(l)},Fe="storage",Je=globalThis.window,Pe=(e,t,s)=>{let n;return De(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},Je.addEventListener(Fe,n)}),(()=>{Je.removeEventListener(Fe,n),n=void 0}))},Qe=e=>e.headers.get("ETag"),je=fe((e=>{const t=e.createStore,[s,o,r,a,i,,,l,,c,p,R,y]=de(e,(()=>!0),H),I=t(),S=t(),b=Z(),C=(e,t,...s)=>T(s,(s=>ce(ne(ne(b,t,Z),e,le),s))),k=e=>{O(ee(b,e),(e=>{te(e,((e,t)=>X(t,(t=>e.delListener(t))))),V(e)})),T([S,I],(t=>t.delTable(e)))},A=(e,t,s)=>C(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),D={setQueryDefinition:(t,s,o)=>{l(t,s),k(t);const r=[],a=[[null,[s,null,null,[],Z()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=B(e)?[m(r)+n,e]:[N(t)?e:t,s=>s(e,t)];return x(r,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=N(s)||B(t)?null:t,o=N(n)?t:s,r=[e,[e,n,B(o)?o:e=>e(o),[],Z()]];return x(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>x(i,B(e)?e:N(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const r=[e,[e,B(t)?[t,s,n,o]:ee(Me,t)??[(e,t)=>t]]];return x(c,r),{as:e=>r[0]=e}},having:(e,t)=>x(d,B(e)?e:s=>s(e)===t)});const u=Z(r);if(K(u))return D;const f=Z(a);te(f,((e,[,t])=>O(ee(f,t),(({3:t})=>N(e)?0:x(t,e)))));const h=Z(c);let g=I;if(K(h)&&E(d))g=S;else{A(t,g,S);const e=Z();te(h,((t,[s,n])=>ce(ne(e,s,le),[t,n])));const s=le();te(u,(t=>G(e,t)?0:ce(s,t)));const n=Z(),o=(s,n,o,r)=>O(s,(([a,i,l,c])=>{te(n,((t,[s])=>{const n=ne(a,t,Z),i=ee(n,o),l=r?void 0:s;if(i!==l){const s=le([[i,l]]),r=$(n);se(n,o,l),X(ee(e,t),(([e,t])=>{const o=xe(c[e],r,n,s,t);c[e]=N(be(o))?null:o}))}})),K(i)||!v(d,(e=>e((e=>c[e]))))?S.delRow(t,l):N(l)?s[2]=S.addRow(t,c):S.setRow(t,l,c)}));C(g,t,g.addRowListener(t,null,((r,a,i,l)=>{const c=[],d=[],u=Z(),f=g.hasRow(t,i);let h=!f;X(s,(e=>{const[s,n,o]=l(t,i,e);x(c,n),x(d,o),h||=s})),te(e,(e=>{const[s,,n]=l(t,i,e);(h||s)&&se(u,e,[n])})),h&&o(ie(n,c,void 0,(([,e])=>(Y(e,i),K(e)))),u,i,1),f&&o(ie(n,d,(()=>{const e={};return X(s,(s=>e[s]=g.getCell(t,i,s))),[Z(),le(),void 0,e]}),(([,e])=>{ce(e,i)})),u,i)})))}A(t,e,g);const w=(n,o,r,a)=>{const l=t=>e.getCell(o,r,t);T(a,(s=>{const[o,,r,a,i]=ee(f,s),c=r?.(l,n),[d,u]=ee(i,n)??[];c!=d&&(N(u)||y(t,u),se(i,n,N(c)?null:[c,...R(t,1,e.addRowListener(o,c,(()=>w(n,o,c,a))))]))})),(n=>{const o=(t,o)=>e.getCell(...N(o)?[s,n,t]:t===s?[s,n,o]:[ee(f,t)?.[0],ee(ee(f,t)?.[4],n)?.[0],o]);g.transaction((()=>v(i,(e=>e(o)))?te(u,((e,s)=>Ce(g,t,n,e,s(o,n)))):g.delRow(t,n)))})(n)},{3:L}=ee(f,null);return g.transaction((()=>R(t,1,e.addRowListener(s,null,((n,o,r)=>{e.hasRow(s,r)?w(r,s,r,L):(g.delRow(t,r),X(f,(({4:e})=>O(ee(e,r),(([,s])=>{y(t,s),se(e,r)})))))}))))),D},delQueryDefinition:e=>(k(e),c(e),D),getStore:s,getQueryIds:o,forEachQuery:r,hasQuery:a,getTableId:i,delListener:e=>(S.delListener(e),D),destroy:p,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=S.getListenerStats();return n}};return Se({[h]:[1,1],[g]:[0,1],SortedRowIds:[0,5],Row:[1,2],[w]:[0,2],[L]:[1,3]},(([e,t],s)=>{T(e?["get","has","forEach"]:["get"],(e=>D[e+u+s]=(...t)=>S[e+s](...t))),D[f+u+s+d]=(...e)=>S[f+s+d](...M(e,0,t),((s,...n)=>e[t](D,...n)))})),ve(D)})),ze=fe((e=>{const t=Z(),s=Z(),o=Z(),r=Z(),[a,i,l,c,d,u,,,f,h,g]=de(e,(()=>[Z(),Z(),Z(),Z()]),(e=>N(e)?void 0:e+n)),[w,L,p]=we((()=>I)),R=(e,t,s)=>O(u(e),(([n,,o])=>{if(!G(o,t)){const r=le();if(d(e)!=y(e))ce(r,t);else{let e=t;for(;!N(e)&&!G(r,e);)ce(r,e),e=ee(n,e)}if(s)return r;se(o,t,r)}return ee(o,t)})),v=(e,t)=>O(u(e),(([,,e])=>se(e,t))),y=e=>ee(t,e),I={setRelationshipDefinition:(e,n,a,i)=>(se(t,e,a),f(e,n,((t,n)=>{const a=le(),i=le(),l=le(),[c,d]=u(e);X(n,(([t,s],n)=>{N(t)||(ce(i,t),O(ee(d,t),(e=>{Y(e,n),K(e)&&se(d,t)}))),N(s)||(ce(i,s),G(d,s)||se(d,s,le()),ce(ee(d,s),n)),ce(a,n),se(c,n,s),te(ee(r,e),(t=>{G(R(e,t),n)&&ce(l,t)}))})),t(),X(a,(t=>L(s,[e,t]))),X(i,(t=>L(o,[e,t]))),X(l,(t=>{v(e,t),L(r,[e,t])}))}),ue(i)),I),delRelationshipDefinition:e=>(se(t,e),h(e),I),getStore:a,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:y,getRemoteRowId:(e,t)=>ee(u(e)?.[0],t),getLocalRowIds:(e,t)=>U(ee(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>N(u(e))?[t]:U(R(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>w(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>w(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),w(s,r,[e,t])),delListener:e=>(v(...p(e)),I),destroy:g,getListenerStats:()=>({})};return ve(I)})),Ne=e=>[e,e],Oe=()=>[Z(),Z()],We=(e,t,s,n=se)=>{const o=(r=e=>!ye(t,e),_(e).filter(r));var r;return T(pe(t),(n=>s(e,n,t[n]))),T(o,(t=>n(e,t))),e},Be=(e,t,s)=>N(e)||!(e=>z(e,Le)&&e.constructor==Le)(e)||Te(e)||Re(e)?(s?.(),!1):(Se(e,((s,n)=>{t(s,n)||Ie(e,n)})),!Te(e)),qe=(e,t,s)=>se(e,t,ee(e,t)==-s?void 0:s),He=()=>{let e,t,s=0;const n=Z(),o=Z(),r=Z(),i=Z(),c=Z(),u=Z(),v=Z(),I=Z(),C=Z(),m=Oe(),E=Oe(),k=Oe(),A=Oe(),D=Oe(),P=Oe(),Q=Oe(),j=Oe(),z=Oe(),q=Oe(),[H,$,U,ie]=we((()=>lt)),de=(t,s)=>(!e||G(u,s)||$e(s))&&Be(t,((e,t)=>ue(s,t,e)),(()=>$e(s))),ue=(e,t,s,n)=>Be(n?s:he(s,e,t),((n,o)=>O(fe(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>$e(e,t))),fe=(t,s,n,o)=>e?O(ee(ee(u,t),n),(e=>be(o)!=e.type?$e(t,s,n,o,e.default):o),(()=>$e(t,s,n,o))):N(be(o))?$e(t,s,n,o):o,he=(e,t,s)=>(O(ee(v,t),(([n,o])=>{X(n,((t,s)=>{ye(e,s)||(e[s]=t)})),X(o,(n=>{ye(e,n)||$e(t,s,n)}))})),e),Le=e=>We(u,e,((e,t,s)=>{const n=Z(),o=le();We(ne(u,t,Z),s,((e,t,s)=>{se(e,t,s),O(s.default,(e=>se(n,t,e)),(()=>ce(o,t)))})),se(v,t,[n,o])}),((e,t)=>{se(u,t),se(v,t)})),pe=e=>We(C,e,((e,t,s)=>Re(t,s)),((e,t)=>De(t))),Re=(e,t)=>We(ne(C,e,(()=>(Pe(e,1),Z()))),t,((t,s,n)=>me(e,t,s,n)),((t,s)=>Fe(e,t,s))),me=(e,t,s,n,o)=>We(ne(t,s,(()=>(Qe(e,s,1),Z()))),n,((t,n,o)=>ke(e,s,t,n,o)),((n,r)=>Je(e,t,s,n,r,o))),ke=(e,t,s,n,o)=>{G(s,n)||je(e,t,n,1);const r=ee(s,n);o!==r&&(ze(e,t,n,r,o),se(s,n,o))},Me=(e,t,s,n,o)=>O(ee(t,s),(t=>ke(e,s,t,n,o)),(()=>me(e,t,s,he({[n]:o},e,s)))),xe=e=>{const[t]=ne(I,e,ge),s=t();return G(ee(C,e),s)?xe(e):s},Ae=e=>ee(C,e)??Re(e,{}),De=e=>Re(e,{}),Fe=(e,t,s)=>{const[,n]=ne(I,e,ge);n(s),me(e,t,s,{},!0)},Je=(e,t,s,n,o,r)=>{const a=ee(ee(v,e)?.[0],o);if(!N(a)&&!r)return ke(e,s,n,o,a);const i=t=>{ze(e,s,t,ee(n,t)),je(e,s,t,-1),se(n,t)};N(a)?i(o):te(n,i),K(n)&&(Qe(e,s,-1),K(se(t,s))&&(Pe(e,-1),se(C,e),se(I,e)))},Pe=(e,t)=>qe(n,e,t),Qe=(e,t,s)=>qe(ne(o,e,Z),t,s),je=(e,t,s,n)=>qe(ne(ne(r,e,Z),t,Z),s,n),ze=(e,t,s,n,o)=>ne(ne(ne(i,e,Z),t,Z),s,(()=>[n,0]))[1]=o,$e=(e,t,s,n,o)=>(x(ne(ne(ne(c,e,Z),t,Z),s,(()=>[])),n),o),Ge=(e,t,s)=>O(ee(ee(ee(i,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ne(st(e,t,s))])),Ke=e=>K(c)||K(z[e])?0:X(e?re(c,ae):c,((t,s)=>X(t,((t,n)=>X(t,((t,o)=>$(z[e],[s,n,o],t))))))),Ue=(e,t,s)=>{if(!K(t))return $(e,s),1},Ve=e=>{const t=K(D[e]),s=K(Q[e])&&K(A[e])&&t&&K(E[e]),a=K(j[e])&&K(P[e])&&K(k[e])&&K(m[e]);if(!s||!a){const l=e?[re(n),ae(o),re(r,ae),re(i,ae)]:[n,o,r,i];if(!s){X(l[2],((t,s)=>X(t,((t,n)=>Ue(Q[e],t,[s,n])))));const s=le();X(l[1],((n,o)=>{Ue(A[e],n,[o])&&!t&&($(D[e],[o,null]),ce(s,o))})),t||X(l[3],((t,n)=>{if(!G(s,n)){const s=le();X(t,(e=>X(e,(([t,n],o)=>n!==t?ce(s,o):Y(e,o))))),X(s,(t=>$(D[e],[n,t])))}})),Ue(E[e],l[0])}if(!a){let t;X(l[3],((s,n)=>{let o;X(s,((s,r)=>{let a;X(s,(([s,i],l)=>{i!==s&&($(j[e],[n,r,l],i,s,Ge),t=o=a=1)})),a&&$(P[e],[n,r],Ge)})),o&&$(k[e],[n],Ge)})),t&&$(m[e],void 0,Ge)}}},Xe=(e,...t)=>(rt((()=>e(...b(t,p)))),lt),Ye=()=>oe(C,(e=>oe(e,oe))),Ze=()=>_(C),_e=e=>_(ee(C,p(e))),et=(e,t,s,n=0,o)=>{return b(M(S((r=ee(C,p(e)),a=(e,s)=>[N(t)?s:ee(e,p(t)),s],b([...r?.entries()??[]],(([e,t])=>a(t,e)))),(([e],[t])=>Ee(e,t)*(s?-1:1))),n,N(o)?o:n+o),(([,e])=>e));var r,a},tt=(e,t)=>_(ee(ee(C,p(e)),p(t))),st=(e,t,s)=>ee(ee(ee(C,p(e)),p(t)),p(s)),nt=e=>Xe((()=>(e=>Be(e,de,$e))(e)?pe(e):0)),ot=()=>Xe((()=>pe({}))),rt=(e,t)=>{if(-1==s)return;at();const n=e();return it(t),n},at=()=>(s++,lt),it=e=>(s>0&&(s--,0==s&&(t=!K(i),s=1,Ke(1),t&&Ve(1),s=-1,e?.(oe(i,(e=>oe(e,(e=>oe(e,(e=>[...e]),(([e,t])=>e===t))),Te)),Te),oe(c,(e=>oe(e,oe))))&&(s=1,X(i,((e,t)=>X(e,((e,s)=>X(e,(([e],n)=>Ce(lt,t,s,n,e))))))),s=-1,t=!1),$(q[0],void 0,t),Ke(0),t&&Ve(0),$(q[1],void 0,t),s=0,T([i,c,n,o,r],V))),lt),lt={getTables:Ye,getTableIds:Ze,getTable:e=>oe(ee(C,p(e)),oe),getRowIds:_e,getSortedRowIds:et,getRow:(e,t)=>oe(ee(ee(C,p(e)),p(t))),getCellIds:tt,getCell:st,hasTables:()=>!K(C),hasTable:e=>G(C,p(e)),hasRow:(e,t)=>G(ee(C,p(e)),p(t)),hasCell:(e,t,s)=>G(ee(ee(C,p(e)),p(t)),p(s)),getJson:()=>F(C),getSchemaJson:()=>F(u),setTables:nt,setTable:(e,t)=>Xe((e=>de(t,e)?Re(e,t):0),e),setRow:(e,t,s)=>Xe(((e,t)=>ue(p(e),p(t),s)?me(p(e),Ae(p(e)),p(t),s):0),e,t),addRow:(e,t)=>rt((()=>{let s;return ue(e,s,t)&&(e=p(e),me(e,Ae(e),s=xe(e),t)),s})),setPartialRow:(e,t,s)=>Xe(((e,t)=>{if(ue(e,t,s,1)){const n=Ae(e);Se(s,((s,o)=>Me(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Xe(((e,t,s)=>O(fe(e,t,s,B(n)?n(st(e,t,s)):n),(n=>Me(e,Ae(e),t,s,n)))),e,t,s),setJson:e=>{try{"{}"===e?ot():nt(J(e))}catch{}return lt},setSchema:t=>Xe((()=>{if((e=(e=>Be(e,(e=>Be(e,(e=>{if(!Be(e,((e,t)=>R(["type",l],t))))return!1;const t=e.type;return!(!W(t)&&t!=a||(be(e.default)!=t&&Ie(e,l),0))})))))(t))&&(Le(t),!K(C))){const e=Ye();ot(),nt(e)}})),delTables:ot,delTable:e=>Xe((e=>G(C,e)?De(e):0),e),delRow:(e,t)=>Xe(((e,t)=>O(ee(C,e),(s=>G(s,t)?Fe(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Xe(((e,t,s)=>O(ee(C,e),(o=>O(ee(o,t),(r=>G(r,s)?Je(e,o,t,r,s,n):0))))),e,t,s),delSchema:()=>Xe((()=>{Le({}),e=!1})),transaction:rt,startTransaction:at,finishTransaction:it,forEachTable:e=>X(C,((t,s)=>e(s,(e=>X(t,((t,s)=>e(s,(e=>te(t,e))))))))),forEachRow:(e,t)=>X(ee(C,p(e)),((e,s)=>t(s,(t=>te(e,t))))),forEachCell:(e,t,s)=>te(ee(ee(C,p(e)),p(t)),s),addSortedRowIdsListener:(e,t,s,n,o,r,a)=>{let i=et(e,t,s,n,o);return H((()=>{const a=et(e,t,s,n,o);y(a,i)||(i=a,r(lt,e,t,s,n,o,i))}),D[a?1:0],[e,t])},addWillFinishTransactionListener:e=>H(e,q[0]),addDidFinishTransactionListener:e=>H(e,q[1]),callListener:e=>(ie(e,[Ze,_e,tt],(e=>N(e[2])?[]:Ne(st(...e)))),lt),delListener:e=>(U(e),lt),getListenerStats:()=>({}),createStore:He};return Se({Tables:[0,m],TableIds:[0,E],[h]:[1,k],[g]:[1,A],Row:[2,P],[w]:[2,Q],[L]:[3,j],InvalidCell:[3,z]},(([e,t],s)=>{lt[f+s+d]=(...s)=>H(s[e],t[s[e+1]?1:0],e>0?M(s,0,e):void 0)})),ve(lt)};e.createCheckpoints=me,e.createCustomPersister=De,e.createFilePersister=(e,s)=>{let n;return De(e,(async()=>{try{return await t.promises.readFile(s,c)}catch{}}),(async e=>{try{await t.promises.writeFile(s,e,c)}catch{}}),(e=>{n=t.watch(s,e)}),(()=>{n?.close(),n=void 0}))},e.createIndexes=ke,e.createLocalPersister=(e,t)=>Pe(e,t,localStorage),e.createMetrics=Ae,e.createQueries=je,e.createRelationships=ze,e.createRemotePersister=(e,t,s,n)=>{let o,r;return De(e,(async()=>{const e=await fetch(t);return r=Qe(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{o=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=Qe(s);N(r)||N(n)||n==r||(r=n,e())}),1e3*n)}),(()=>{O(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>Pe(e,t,sessionStorage),e.createStore=He,e.defaultSorter=Ee},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs")):"function"==typeof define&&define.amd?define(["exports","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={},e.fs);
|
package/lib/umd/tinybase.js.gz
CHANGED
|
Binary file
|