@idb-orm/react-query 0.2.0 → 0.2.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/dist/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tanstack/react-query"),t=require("react"),r="Query Client Context not found. Please ensure this component is wrapped in a <DbClientProvider /> component.";class n extends e.QueryClient{constructor(e,t){super(t),this.db=e}createInterface(r){const n={},o=this.db.getStoreNames(),i=this.db.stores;for(const t of o)n[t]={useFind:(r,n=[])=>e.useQuery({...r,queryKey:[t,"find",r.query,...n],queryFn:()=>i[t].find(r.query)}),useFindFirst:(r,n=[])=>e.useQuery({...r,queryKey:[t,"findFirst",r.query,...n],queryFn:()=>i[t].findFirst(r.query)}),useGet:(r,n=[])=>{e.useQuery({...r,queryKey:[t,"get",r.key,...n],queryFn:()=>i[t].get(r.key)})}};return{...n,useClient:()=>{const e=t.useContext(r);if(!e)throw new Error("Query Context Not Found. Make sure you wrap your application in the <Provider/> Component.");return e}}}}exports.IDBQueryClient=n,exports.queryClientProviderFactory=function(o,i){const u=t.createContext(null);return{Context:u,useDbClient:()=>{const e=t.useContext(u);if(!e)throw new Error(r);return e.client},useQueryClient:()=>{const e=t.useContext(u);if(!e)throw new Error(r);return e.queryClient},useQueryInterface:()=>{const e=t.useContext(u);if(!e)throw new Error(r);return e.stores},useIDBQuery:()=>{const e=t.useContext(u);if(!e)throw new Error(r);return e},DbClientProvider:({fallback:r,children:s,version:a})=>{const[c,l]=t.useState(null);return t.useEffect(()=>{o.createClientAsync(a).then(e=>{const t=new n(e,i);function r(e){return{invalidate:()=>t.invalidateQueries({queryKey:e})}}const o=r([]),u=t.db.getStoreNames();for(const n of u)"invalidate"===n&&console.warn("Model name 'invalidate' causes the invalidate() function of useClient() to not work. Please fix by renaming the model."),o[n]={...r([n]),get:r([n,"get"]),find:r([n,"find"]),findFirst:r([n,"findFirst"])};l({client:e,queryClient:t,stores:o})}).catch(e=>{throw new Error(`@idb-orm Query Client Creation Failed: ${e}`)})},[a]),c?t.createElement(e.QueryClientProvider,{client:c.queryClient},t.createElement(u.Provider,{value:c},s)):r}}};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tanstack/react-query"),t=require("react"),r="Query Client Context not found. Please ensure this component is wrapped in a <DbClientProvider /> component.";class n extends e.QueryClient{constructor(e,t){super(t),this.db=e}createInterface(r){const n={},o=this.db.stores;for(const t of this.db.storeNames())n[t]={useFind:(r,n=[])=>e.useQuery({...r,queryKey:[t,"find",r.query,...n],queryFn:()=>o[t].find(r.query)}),useFindFirst:(r,n=[])=>e.useQuery({...r,queryKey:[t,"findFirst",r.query,...n],queryFn:()=>o[t].findFirst(r.query)}),useGet:(r,n=[])=>{e.useQuery({...r,queryKey:[t,"get",r.key,...n],queryFn:()=>o[t].get(r.key)})}};return{...n,useClient:()=>{const e=t.useContext(r);if(!e)throw new Error("Query Context Not Found. Make sure you wrap your application in the <Provider/> Component.");return e}}}}exports.IDBQueryClient=n,exports.queryClientProviderFactory=function(o,i){const u=t.createContext(null);return{Context:u,useDbClient:()=>{const e=t.useContext(u);if(!e)throw new Error(r);return e.client},useQueryClient:()=>{const e=t.useContext(u);if(!e)throw new Error(r);return e.queryClient},useQueryInterface:()=>{const e=t.useContext(u);if(!e)throw new Error(r);return e.stores},useIDBQuery:()=>{const e=t.useContext(u);if(!e)throw new Error(r);return e},DbClientProvider:({fallback:r,children:s,version:a})=>{const[c,l]=t.useState(null);return t.useEffect(()=>{o.createClientAsync(a).then(e=>{const t=new n(e,i);function r(e){return{invalidate:()=>t.invalidateQueries({queryKey:e})}}const o=r([]);for(const n of t.db.storeNames())"invalidate"===n&&console.warn("Model name 'invalidate' causes the invalidate() function of useClient() to not work. Please fix by renaming the model."),o[n]={...r([n]),get:r([n,"get"]),find:r([n,"find"]),findFirst:r([n,"findFirst"])};l({client:e,queryClient:t,stores:o})}).catch(e=>{throw new Error(`@idb-orm Query Client Creation Failed: ${e}`)})},[a]),c?t.createElement(e.QueryClientProvider,{client:c.queryClient},t.createElement(u.Provider,{value:c},s)):r}}};
package/dist/index.es.js CHANGED
@@ -1 +1 @@
1
- import{QueryClientProvider as e,QueryClient as r,useQuery as t}from"@tanstack/react-query";import n,{createContext as o,useState as i,useEffect as s,useContext as u}from"react";const a="Query Client Context not found. Please ensure this component is wrapped in a <DbClientProvider /> component.";function c(r,t){const c=o(null);return{Context:c,useDbClient:()=>{const e=u(c);if(!e)throw new Error(a);return e.client},useQueryClient:()=>{const e=u(c);if(!e)throw new Error(a);return e.queryClient},useQueryInterface:()=>{const e=u(c);if(!e)throw new Error(a);return e.stores},useIDBQuery:()=>{const e=u(c);if(!e)throw new Error(a);return e},DbClientProvider:({fallback:o,children:u,version:a})=>{const[d,y]=i(null);return s(()=>{r.createClientAsync(a).then(e=>{const r=new l(e,t);function n(e){return{invalidate:()=>r.invalidateQueries({queryKey:e})}}const o=n([]),i=r.db.getStoreNames();for(const t of i)"invalidate"===t&&console.warn("Model name 'invalidate' causes the invalidate() function of useClient() to not work. Please fix by renaming the model."),o[t]={...n([t]),get:n([t,"get"]),find:n([t,"find"]),findFirst:n([t,"findFirst"])};y({client:e,queryClient:r,stores:o})}).catch(e=>{throw new Error(`@idb-orm Query Client Creation Failed: ${e}`)})},[a]),d?/* @__PURE__ */n.createElement(e,{client:d.queryClient},/* @__PURE__ */n.createElement(c.Provider,{value:d},u)):o}}}class l extends r{constructor(e,r){super(r),this.db=e}createInterface(e){const r={},o=this.db.getStoreNames(),i=this.db.stores;for(const n of o)r[n]={useFind:(e,r=[])=>t({...e,queryKey:[n,"find",e.query,...r],queryFn:()=>i[n].find(e.query)}),useFindFirst:(e,r=[])=>t({...e,queryKey:[n,"findFirst",e.query,...r],queryFn:()=>i[n].findFirst(e.query)}),useGet:(e,r=[])=>{t({...e,queryKey:[n,"get",e.key,...r],queryFn:()=>i[n].get(e.key)})}};return{...r,useClient:()=>{const r=n.useContext(e);if(!r)throw new Error("Query Context Not Found. Make sure you wrap your application in the <Provider/> Component.");return r}}}}export{l as IDBQueryClient,c as queryClientProviderFactory};
1
+ import{QueryClientProvider as e,QueryClient as r,useQuery as t}from"@tanstack/react-query";import n,{createContext as o,useState as i,useEffect as s,useContext as u}from"react";const a="Query Client Context not found. Please ensure this component is wrapped in a <DbClientProvider /> component.";function c(r,t){const c=o(null);return{Context:c,useDbClient:()=>{const e=u(c);if(!e)throw new Error(a);return e.client},useQueryClient:()=>{const e=u(c);if(!e)throw new Error(a);return e.queryClient},useQueryInterface:()=>{const e=u(c);if(!e)throw new Error(a);return e.stores},useIDBQuery:()=>{const e=u(c);if(!e)throw new Error(a);return e},DbClientProvider:({fallback:o,children:u,version:a})=>{const[d,y]=i(null);return s(()=>{r.createClientAsync(a).then(e=>{const r=new l(e,t);function n(e){return{invalidate:()=>r.invalidateQueries({queryKey:e})}}const o=n([]);for(const t of r.db.storeNames())"invalidate"===t&&console.warn("Model name 'invalidate' causes the invalidate() function of useClient() to not work. Please fix by renaming the model."),o[t]={...n([t]),get:n([t,"get"]),find:n([t,"find"]),findFirst:n([t,"findFirst"])};y({client:e,queryClient:r,stores:o})}).catch(e=>{throw new Error(`@idb-orm Query Client Creation Failed: ${e}`)})},[a]),d?/* @__PURE__ */n.createElement(e,{client:d.queryClient},/* @__PURE__ */n.createElement(c.Provider,{value:d},u)):o}}}class l extends r{constructor(e,r){super(r),this.db=e}createInterface(e){const r={},o=this.db.stores;for(const n of this.db.storeNames())r[n]={useFind:(e,r=[])=>t({...e,queryKey:[n,"find",e.query,...r],queryFn:()=>o[n].find(e.query)}),useFindFirst:(e,r=[])=>t({...e,queryKey:[n,"findFirst",e.query,...r],queryFn:()=>o[n].findFirst(e.query)}),useGet:(e,r=[])=>{t({...e,queryKey:[n,"get",e.key,...r],queryFn:()=>o[n].get(e.key)})}};return{...r,useClient:()=>{const r=n.useContext(e);if(!r)throw new Error("Query Context Not Found. Make sure you wrap your application in the <Provider/> Component.");return r}}}}export{l as IDBQueryClient,c as queryClientProviderFactory};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idb-orm/react-query",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "An adapter for the Tanstack React-Query library for @idb-orm",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -23,9 +23,9 @@
23
23
  "author": "jtb",
24
24
  "license": "ISC",
25
25
  "peerDependencies": {
26
- "@idb-orm/core": "^1.0.7",
26
+ "@idb-orm/core": "^1.2.0",
27
27
  "@tanstack/react-query": "^5.90.11",
28
- "@idb-orm/react": "^0.0.1",
28
+ "@idb-orm/react": "^0.0.2",
29
29
  "react": "^19.2.0"
30
30
  },
31
31
  "devDependencies": {