@idb-orm/react-query 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -19,7 +19,7 @@ useQuery({
19
19
  stores.users.useFind({ where: { id: userId } }, [userId]);
20
20
  ```
21
21
 
22
- The package manages the internal query keys to ensure there is no overlap, and you can state an optional dependency array similar to traditiona react hooks like `useMemo` and `useEffect`.
22
+ The package manages the internal query keys to ensure there is no overlap, and you can state an optional dependency array similar to traditional react hooks like `useMemo` and `useEffect`.
23
23
 
24
24
  ## Installation
25
25
 
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");class r extends e.QueryClient{constructor(e,t){super(t),this.db=e}createInterface(r){const n={},i=this.db.getStoreNames(),s=this.db.stores;for(const t of i)n[t]={useFind:(r,n=[])=>e.useQuery({...r,queryKey:[t,"find",...n],queryFn:()=>s[t].find(r.query)}),useFindFirst:(r,n=[])=>e.useQuery({...r,queryKey:[t,"findFirst",...n],queryFn:()=>s[t].findFirst(r.query)}),useGet:r=>{e.useQuery({...r,queryKey:[t,"get",r.key],queryFn:()=>s[t].get(r.key)})}};return{...n,useClient:()=>t.useContext(r)}}}exports.createIDBQueryClient=function(n,i){const s=new r(n,i),u=t.createContext({});return{queryClient:s,context:u,Provider:({client:r,children:n})=>{const i=t.useMemo(()=>{function e(e){return{invalidate:()=>r.invalidateQueries({queryKey:e})}}const t=e([]),n=r.db.getStoreNames();for(const r of n)"invalidate"===r&&console.warn("Model name 'invalidate' causes the invalidate() function of useClient() to not work. Please fix by renaming the model."),t[r]={...e([r]),get:e([r,"get"]),find:e([r,"find"]),findFirst:e([r,"findFirst"])};return t},[r]);return React.createElement(e.QueryClientProvider,{client:r},React.createElement(u.Provider,{value:i},n))},stores:s.createInterface(u)}};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tanstack/react-query"),t=require("react");class r extends e.QueryClient{constructor(e,t){super(t),this.db=e}createInterface(r){const n={},i=this.db.getStoreNames(),s=this.db.stores;for(const t of i)n[t]={useFind:(r,n=[])=>e.useQuery({...r,queryKey:[t,"find",...n],queryFn:()=>s[t].find(r.query)}),useFindFirst:(r,n=[])=>e.useQuery({...r,queryKey:[t,"findFirst",...n],queryFn:()=>s[t].findFirst(r.query)}),useGet:r=>{e.useQuery({...r,queryKey:[t,"get",r.key],queryFn:()=>s[t].get(r.key)})}};return{...n,useClient:()=>t.useContext(r)}}}exports.createIDBQueryClient=function(n,i){const s=new r(n,i),u=t.createContext({});return{queryClient:s,context:u,Provider:({client:r,children:n})=>{const i=t.useMemo(()=>{function e(e){return{invalidate:()=>r.invalidateQueries({queryKey:e})}}const t=e([]),n=r.db.getStoreNames();for(const r of n)"invalidate"===r&&console.warn("Model name 'invalidate' causes the invalidate() function of useClient() to not work. Please fix by renaming the model."),t[r]={...e([r]),get:e([r,"get"]),find:e([r,"find"]),findFirst:e([r,"findFirst"])};return t},[r]);return t.createElement(e.QueryClientProvider,{client:r},t.createElement(u.Provider,{value:i},n))},stores:s.createInterface(u)}};
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { core, Model } from '@idb-orm/core';
2
2
  import { QueryClient, DefinedUseQueryResult, UndefinedInitialDataOptions, QueryClientConfig } from '@tanstack/react-query';
3
- import { DependencyList, PropsWithChildren } from 'react';
3
+ import { default as React } from 'react';
4
4
  type QueryOptions<O> = Omit<UndefinedInitialDataOptions<O>, "queryFn" | "queryKey">;
5
5
  interface ModelQueryInterface<M extends Model<any, any, any>, Names extends string, Models extends core.CollectionObject<Names>> {
6
6
  /**
@@ -11,10 +11,10 @@ interface ModelQueryInterface<M extends Model<any, any, any>, Names extends stri
11
11
  } & QueryOptions<O>) => DefinedUseQueryResult<O | undefined> : never;
12
12
  useFind: <I extends core.FindInput<Names, M, Models>, O = core.Simplify<NonNullable<core.FindOutput<Names, M, Models, I>>>[]>(options: QueryOptions<O> & {
13
13
  query: I;
14
- }, deps?: DependencyList) => DefinedUseQueryResult<O | undefined>;
14
+ }, deps?: React.DependencyList) => DefinedUseQueryResult<O | undefined>;
15
15
  useFindFirst: <I extends core.FindInput<Names, M, Models>, O = core.Simplify<core.FindOutput<Names, M, Models, I>>>(options: QueryOptions<O> & {
16
16
  query: I;
17
- }, deps?: DependencyList) => DefinedUseQueryResult<O | undefined>;
17
+ }, deps?: React.DependencyList) => DefinedUseQueryResult<O | undefined>;
18
18
  }
19
19
  interface ModelQueryClient {
20
20
  invalidate(): Promise<void>;
@@ -28,16 +28,16 @@ type IDBClientInterface<Names extends string, _Models extends core.CollectionObj
28
28
  } & ModelQueryClient>;
29
29
  export declare function createIDBQueryClient<Names extends string, Models extends core.CollectionObject<Names>>(client: core.DbClient<string, Names, Models>, config?: QueryClientConfig): {
30
30
  queryClient: IDBQueryClient<Names, Models>;
31
- context: import('react').Context<{ [K_1 in Names]: {
31
+ context: React.Context<{ [K_1 in Names]: {
32
32
  get: ModelQueryClient;
33
33
  findFirst: ModelQueryClient;
34
34
  find: ModelQueryClient;
35
35
  } & {
36
36
  invalidate: () => Promise<void>;
37
37
  }; } & ModelQueryClient extends infer T ? { [K in keyof T]: T[K]; } : never>;
38
- Provider: ({ client, children, }: PropsWithChildren<{
38
+ Provider: ({ client, children, }: React.PropsWithChildren<{
39
39
  client: IDBQueryClient<Names, Models>;
40
- }>) => import("react").JSX.Element;
40
+ }>) => React.JSX.Element;
41
41
  stores: IDBQueryInterface<Names, Models>;
42
42
  };
43
43
  declare class IDBQueryClient<Names extends string, Models extends core.CollectionObject<Names>> extends QueryClient {
package/dist/index.es.js CHANGED
@@ -1,2 +1,2 @@
1
- import{QueryClientProvider as e,QueryClient as t,useQuery as r}from"@tanstack/react-query";import{createContext as n,useMemo as i,useContext as s}from"react";function o(t,r){const s=new a(t,r),o=n({});return{queryClient:s,context:o,Provider:({client:t,children:r})=>{const n=i(()=>{function e(e){return{invalidate:()=>t.invalidateQueries({queryKey:e})}}const r=e([]),n=t.db.getStoreNames();for(const t of n)"invalidate"===t&&console.warn("Model name 'invalidate' causes the invalidate() function of useClient() to not work. Please fix by renaming the model."),r[t]={...e([t]),get:e([t,"get"]),find:e([t,"find"]),findFirst:e([t,"findFirst"])};return r},[t]);/* @__PURE__ */
2
- return React.createElement(e,{client:t},/* @__PURE__ */React.createElement(o.Provider,{value:n},r))},stores:s.createInterface(o)}}class a extends t{constructor(e,t){super(t),this.db=e}createInterface(e){const t={},n=this.db.getStoreNames(),i=this.db.stores;for(const s of n)t[s]={useFind:(e,t=[])=>r({...e,queryKey:[s,"find",...t],queryFn:()=>i[s].find(e.query)}),useFindFirst:(e,t=[])=>r({...e,queryKey:[s,"findFirst",...t],queryFn:()=>i[s].findFirst(e.query)}),useGet:e=>{r({...e,queryKey:[s,"get",e.key],queryFn:()=>i[s].get(e.key)})}};return{...t,useClient:()=>s(e)}}}export{o as createIDBQueryClient};
1
+ import{QueryClientProvider as e,QueryClient as t,useQuery as n}from"@tanstack/react-query";import r from"react";function i(t,n){const i=new o(t,n),s=r.createContext({});return{queryClient:i,context:s,Provider:({client:t,children:n})=>{const i=r.useMemo(()=>{function e(e){return{invalidate:()=>t.invalidateQueries({queryKey:e})}}const n=e([]),r=t.db.getStoreNames();for(const t of r)"invalidate"===t&&console.warn("Model name 'invalidate' causes the invalidate() function of useClient() to not work. Please fix by renaming the model."),n[t]={...e([t]),get:e([t,"get"]),find:e([t,"find"]),findFirst:e([t,"findFirst"])};return n},[t]);/* @__PURE__ */
2
+ return r.createElement(e,{client:t},/* @__PURE__ */r.createElement(s.Provider,{value:i},n))},stores:i.createInterface(s)}}class o extends t{constructor(e,t){super(t),this.db=e}createInterface(e){const t={},i=this.db.getStoreNames(),o=this.db.stores;for(const r of i)t[r]={useFind:(e,t=[])=>n({...e,queryKey:[r,"find",...t],queryFn:()=>o[r].find(e.query)}),useFindFirst:(e,t=[])=>n({...e,queryKey:[r,"findFirst",...t],queryFn:()=>o[r].findFirst(e.query)}),useGet:e=>{n({...e,queryKey:[r,"get",e.key],queryFn:()=>o[r].get(e.key)})}};return{...t,useClient:()=>r.useContext(e)}}}export{i as createIDBQueryClient};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idb-orm/react-query",
3
- "version": "0.0.0",
3
+ "version": "0.0.1",
4
4
  "description": "An adapter for the Tanstack React-Query library for @idb-orm",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {