New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

react-query-kit

Package Overview
Dependencies
Maintainers
1
Versions
74
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-query-kit - npm Package Compare versions

Comparing version
3.1.1
to
3.1.2
+6
-6
build/lib/types.d.ts

@@ -104,9 +104,9 @@ import type { DataTag, DefaultError, DefinedUseInfiniteQueryResult, DefinedUseQueryResult, InfiniteData, InfiniteQueryObserverSuccessResult, MutationFunction, MutationKey, QueryClient, QueryFunction, QueryFunctionContext, QueryKey, QueryKeyHashFunction, QueryObserverSuccessResult, UseInfiniteQueryOptions, UseInfiniteQueryResult, UseMutationOptions, UseMutationResult, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';

export interface CreateMutationOptions<TData = unknown, TVariables = void, TError = CompatibleError, TContext = unknown> extends UseMutationOptions<TData, TError, TVariables, TContext> {
use?: Middleware<MutationHook<TData, TError, TVariables>>[];
use?: Middleware<MutationHook<TData, TVariables, TError>>[];
}
export interface MutationHookOptions<TData, TError, TVariables, TContext> extends Omit<UseMutationOptions<TData, TError, TVariables, TContext>, 'mutationFn' | 'mutationKey'> {
use?: Middleware<MutationHook<TData, TError, TVariables>>[];
export interface MutationHookOptions<TData, TError, TVariables, TContext> extends Omit<UseMutationOptions<TData, TVariables, TError, TContext>, 'mutationFn' | 'mutationKey'> {
use?: Middleware<MutationHook<TData, TVariables, TError>>[];
}
export type MutationHookResult<TData = unknown, TError = CompatibleError, TVariables = void, TContext = unknown> = UseMutationResult<TData, TError, TVariables, TContext>;
export interface ExposeMutationMethods<TData = unknown, TVariables = void, TError = unknown, TDefaultContext = unknown> {
export interface ExposeMutationMethods<TData = unknown, TVariables = void, TError = CompatibleError, TDefaultContext = unknown> {
getKey: () => MutationKey | undefined;

@@ -116,3 +116,3 @@ getOptions: () => UseMutationOptions<TData, TError, TVariables, TDefaultContext>;

}
export interface MutationHook<TData = unknown, TVariables = void, TError = unknown, TDefaultContext = unknown> extends ExposeMutationMethods<TData, TVariables, TError, TDefaultContext> {
export interface MutationHook<TData = unknown, TVariables = void, TError = CompatibleError, TDefaultContext = unknown> extends ExposeMutationMethods<TData, TVariables, TError, TDefaultContext> {
<TContext = TDefaultContext>(options?: MutationHookOptions<TData, TError, TVariables, TContext>, queryClient?: CompatibleWithV4<QueryClient, void>): MutationHookResult<TData, TError, TVariables, TContext>;

@@ -131,3 +131,3 @@ }

export type inferOptions<T> = T extends QueryHook<infer TFnData, infer TVariables, infer TError> ? QueryHookOptions<TFnData, TError, TFnData, TVariables> : T extends SuspenseQueryHook<infer TFnData, infer TVariables, infer TError> ? SuspenseQueryHookOptions<TFnData, TError, TFnData, TVariables> : T extends InfiniteQueryHook<infer TFnData, infer TVariables, infer TError, infer TPageParam> ? InfiniteQueryHookOptions<TFnData, TError, CompatibleWithV4<InfiniteData<TFnData, TPageParam>, TFnData>, TVariables, TPageParam> : T extends SuspenseInfiniteQueryHook<infer TFnData, infer TVariables, infer TError, infer TPageParam> ? SuspenseInfiniteQueryHookOptions<TFnData, TError, CompatibleWithV4<InfiniteData<TFnData, TPageParam>, TFnData>, TVariables, TPageParam> : T extends MutationHook<infer TFnData, infer TVariables, infer TError> ? MutationHookOptions<TFnData, TError, TVariables, unknown> : never;
export type inferCreateOptions<T> = T extends QueryHook<infer TFnData, infer TVariables, infer TError> ? CreateQueryOptions<TFnData, TVariables, TError> : T extends SuspenseQueryHook<infer TFnData, infer TVariables, infer TError> ? CreateSuspenseQueryOptions<TFnData, TVariables, TError> : T extends InfiniteQueryHook<infer TFnData, infer TVariables, infer TError, infer TPageParam> ? CreateInfiniteQueryOptions<TFnData, TVariables, TError, TPageParam> : T extends SuspenseInfiniteQueryHook<infer TFnData, infer TVariables, infer TError, infer TPageParam> ? CreateSuspenseInfiniteQueryOptions<TFnData, TVariables, TError, TPageParam> : T extends MutationHook<infer TFnData, infer TVariables, infer TError, infer TContext> ? CreateMutationOptions<TFnData, TError, TVariables, TContext> : never;
export type inferCreateOptions<T> = T extends QueryHook<infer TFnData, infer TVariables, infer TError> ? CreateQueryOptions<TFnData, TVariables, TError> : T extends SuspenseQueryHook<infer TFnData, infer TVariables, infer TError> ? CreateSuspenseQueryOptions<TFnData, TVariables, TError> : T extends InfiniteQueryHook<infer TFnData, infer TVariables, infer TError, infer TPageParam> ? CreateInfiniteQueryOptions<TFnData, TVariables, TError, TPageParam> : T extends SuspenseInfiniteQueryHook<infer TFnData, infer TVariables, infer TError, infer TPageParam> ? CreateSuspenseInfiniteQueryOptions<TFnData, TVariables, TError, TPageParam> : T extends MutationHook<infer TFnData, infer TVariables, infer TError, infer TContext> ? CreateMutationOptions<TFnData, TVariables, TError, TContext> : never;
export type RouterQueryOptions<TFnData, TVariables = void, TError = CompatibleError> = Omit<CreateQueryOptions<TFnData, TVariables, TError>, 'queryKey'>;

@@ -134,0 +134,0 @@ export type RouterQuery<TFnData, TVariables = void, TError = CompatibleError> = RouterQueryOptions<TFnData, TVariables, TError> & {

@@ -13,35 +13,35 @@ {

{
"uid": "fd7f-21",
"uid": "1112-21",
"name": "utils.ts"
},
{
"uid": "fd7f-23",
"uid": "1112-23",
"name": "createBaseQuery.ts"
},
{
"uid": "fd7f-25",
"uid": "1112-25",
"name": "createQuery.ts"
},
{
"uid": "fd7f-27",
"uid": "1112-27",
"name": "createSuspenseQuery.ts"
},
{
"uid": "fd7f-29",
"uid": "1112-29",
"name": "createInfiniteQuery.ts"
},
{
"uid": "fd7f-31",
"uid": "1112-31",
"name": "createSuspenseInfiniteQuery.ts"
},
{
"uid": "fd7f-33",
"uid": "1112-33",
"name": "createMutation.ts"
},
{
"uid": "fd7f-35",
"uid": "1112-35",
"name": "router.ts"
},
{
"uid": "fd7f-37",
"uid": "1112-37",
"name": "index.ts"

@@ -57,66 +57,66 @@ }

"nodeParts": {
"fd7f-21": {
"1112-21": {
"renderedLength": 894,
"gzipLength": 449,
"brotliLength": 0,
"mainUid": "fd7f-20"
"mainUid": "1112-20"
},
"fd7f-23": {
"1112-23": {
"renderedLength": 1162,
"gzipLength": 397,
"brotliLength": 0,
"mainUid": "fd7f-22"
"mainUid": "1112-22"
},
"fd7f-25": {
"1112-25": {
"renderedLength": 91,
"gzipLength": 87,
"brotliLength": 0,
"mainUid": "fd7f-24"
"mainUid": "1112-24"
},
"fd7f-27": {
"1112-27": {
"renderedLength": 179,
"gzipLength": 118,
"brotliLength": 0,
"mainUid": "fd7f-26"
"mainUid": "1112-26"
},
"fd7f-29": {
"1112-29": {
"renderedLength": 107,
"gzipLength": 97,
"brotliLength": 0,
"mainUid": "fd7f-28"
"mainUid": "1112-28"
},
"fd7f-31": {
"1112-31": {
"renderedLength": 203,
"gzipLength": 128,
"brotliLength": 0,
"mainUid": "fd7f-30"
"mainUid": "1112-30"
},
"fd7f-33": {
"1112-33": {
"renderedLength": 271,
"gzipLength": 168,
"brotliLength": 0,
"mainUid": "fd7f-32"
"mainUid": "1112-32"
},
"fd7f-35": {
"1112-35": {
"renderedLength": 1152,
"gzipLength": 385,
"brotliLength": 0,
"mainUid": "fd7f-34"
"mainUid": "1112-34"
},
"fd7f-37": {
"1112-37": {
"renderedLength": 0,
"gzipLength": 0,
"brotliLength": 0,
"mainUid": "fd7f-36"
"mainUid": "1112-36"
}
},
"nodeMetas": {
"fd7f-20": {
"1112-20": {
"id": "/src/utils.ts",
"moduleParts": {
"zip.esm.js": "fd7f-21"
"zip.esm.js": "1112-21"
},
"imported": [
{
"uid": "fd7f-39"
"uid": "1112-39"
}

@@ -126,32 +126,32 @@ ],

{
"uid": "fd7f-36"
"uid": "1112-36"
},
{
"uid": "fd7f-24"
"uid": "1112-24"
},
{
"uid": "fd7f-26"
"uid": "1112-26"
},
{
"uid": "fd7f-28"
"uid": "1112-28"
},
{
"uid": "fd7f-30"
"uid": "1112-30"
},
{
"uid": "fd7f-32"
"uid": "1112-32"
},
{
"uid": "fd7f-22"
"uid": "1112-22"
}
]
},
"fd7f-22": {
"1112-22": {
"id": "/src/createBaseQuery.ts",
"moduleParts": {
"zip.esm.js": "fd7f-23"
"zip.esm.js": "1112-23"
},
"imported": [
{
"uid": "fd7f-20"
"uid": "1112-20"
}

@@ -161,26 +161,26 @@ ],

{
"uid": "fd7f-24"
"uid": "1112-24"
},
{
"uid": "fd7f-26"
"uid": "1112-26"
},
{
"uid": "fd7f-28"
"uid": "1112-28"
},
{
"uid": "fd7f-30"
"uid": "1112-30"
}
]
},
"fd7f-24": {
"1112-24": {
"id": "/src/createQuery.ts",
"moduleParts": {
"zip.esm.js": "fd7f-25"
"zip.esm.js": "1112-25"
},
"imported": [
{
"uid": "fd7f-22"
"uid": "1112-22"
},
{
"uid": "fd7f-20"
"uid": "1112-20"
}

@@ -190,20 +190,20 @@ ],

{
"uid": "fd7f-36"
"uid": "1112-36"
},
{
"uid": "fd7f-34"
"uid": "1112-34"
}
]
},
"fd7f-26": {
"1112-26": {
"id": "/src/createSuspenseQuery.ts",
"moduleParts": {
"zip.esm.js": "fd7f-27"
"zip.esm.js": "1112-27"
},
"imported": [
{
"uid": "fd7f-22"
"uid": "1112-22"
},
{
"uid": "fd7f-20"
"uid": "1112-20"
}

@@ -213,20 +213,20 @@ ],

{
"uid": "fd7f-36"
"uid": "1112-36"
},
{
"uid": "fd7f-34"
"uid": "1112-34"
}
]
},
"fd7f-28": {
"1112-28": {
"id": "/src/createInfiniteQuery.ts",
"moduleParts": {
"zip.esm.js": "fd7f-29"
"zip.esm.js": "1112-29"
},
"imported": [
{
"uid": "fd7f-22"
"uid": "1112-22"
},
{
"uid": "fd7f-20"
"uid": "1112-20"
}

@@ -236,20 +236,20 @@ ],

{
"uid": "fd7f-36"
"uid": "1112-36"
},
{
"uid": "fd7f-34"
"uid": "1112-34"
}
]
},
"fd7f-30": {
"1112-30": {
"id": "/src/createSuspenseInfiniteQuery.ts",
"moduleParts": {
"zip.esm.js": "fd7f-31"
"zip.esm.js": "1112-31"
},
"imported": [
{
"uid": "fd7f-22"
"uid": "1112-22"
},
{
"uid": "fd7f-20"
"uid": "1112-20"
}

@@ -259,17 +259,17 @@ ],

{
"uid": "fd7f-36"
"uid": "1112-36"
},
{
"uid": "fd7f-34"
"uid": "1112-34"
}
]
},
"fd7f-32": {
"1112-32": {
"id": "/src/createMutation.ts",
"moduleParts": {
"zip.esm.js": "fd7f-33"
"zip.esm.js": "1112-33"
},
"imported": [
{
"uid": "fd7f-20"
"uid": "1112-20"
}

@@ -279,29 +279,29 @@ ],

{
"uid": "fd7f-36"
"uid": "1112-36"
},
{
"uid": "fd7f-34"
"uid": "1112-34"
}
]
},
"fd7f-34": {
"1112-34": {
"id": "/src/router.ts",
"moduleParts": {
"zip.esm.js": "fd7f-35"
"zip.esm.js": "1112-35"
},
"imported": [
{
"uid": "fd7f-28"
"uid": "1112-28"
},
{
"uid": "fd7f-32"
"uid": "1112-32"
},
{
"uid": "fd7f-24"
"uid": "1112-24"
},
{
"uid": "fd7f-30"
"uid": "1112-30"
},
{
"uid": "fd7f-26"
"uid": "1112-26"
}

@@ -311,35 +311,35 @@ ],

{
"uid": "fd7f-36"
"uid": "1112-36"
}
]
},
"fd7f-36": {
"1112-36": {
"id": "/src/index.ts",
"moduleParts": {
"zip.esm.js": "fd7f-37"
"zip.esm.js": "1112-37"
},
"imported": [
{
"uid": "fd7f-24"
"uid": "1112-24"
},
{
"uid": "fd7f-26"
"uid": "1112-26"
},
{
"uid": "fd7f-28"
"uid": "1112-28"
},
{
"uid": "fd7f-30"
"uid": "1112-30"
},
{
"uid": "fd7f-32"
"uid": "1112-32"
},
{
"uid": "fd7f-38"
"uid": "1112-38"
},
{
"uid": "fd7f-34"
"uid": "1112-34"
},
{
"uid": "fd7f-20"
"uid": "1112-20"
}

@@ -350,3 +350,3 @@ ],

},
"fd7f-38": {
"1112-38": {
"id": "/src/types.ts",

@@ -357,7 +357,7 @@ "moduleParts": {},

{
"uid": "fd7f-36"
"uid": "1112-36"
}
]
},
"fd7f-39": {
"1112-39": {
"id": "@tanstack/react-query",

@@ -368,3 +368,3 @@ "moduleParts": {},

{
"uid": "fd7f-20"
"uid": "1112-20"
}

@@ -371,0 +371,0 @@ ],

{
"name": "react-query-kit",
"version": "3.1.1",
"version": "3.1.2",
"description": "🕊️ A toolkit for ReactQuery that make ReactQuery hooks more reusable and typesafe",

@@ -5,0 +5,0 @@ "author": "liaoliao666",

+50
-10

@@ -51,2 +51,3 @@ <div align="center">

- [Middleware](#middleware)
- [TypeScript](#typescript)
- [Type inference](#type-inference)

@@ -90,3 +91,3 @@ - [FAQ](#faq)

type Response = { title: string; content: string }
type Data = { title: string; content: string }
type Variables = { id: number }

@@ -96,3 +97,3 @@

queryKey: ['posts'],
fetcher: (variables: Variables): Promise<Response> => {
fetcher: (variables: Variables): Promise<Data> => {
return fetch(`/posts/${variables.id}`).then(res => res.json())

@@ -148,3 +149,3 @@ },

// getQueryData
queryClient.getQueryData(usePost.getKey(variables)) // Response
queryClient.getQueryData(usePost.getKey(variables)) // Data

@@ -184,3 +185,3 @@ // setQueryData

type Response = { projects: { id: string; name: string }[]; nextCursor: number }
type Data = { projects: { id: string; name: string }[]; nextCursor: number }
type Variables = { active: boolean }

@@ -190,3 +191,3 @@

queryKey: ['projects'],
fetcher: (variables: Variables, { pageParam }): Promise<Response> => {
fetcher: (variables: Variables, { pageParam }): Promise<Data> => {
return fetch(

@@ -487,3 +488,3 @@ `/projects?cursor=${pageParam}?active=${variables.active}`

const logger: Middleware<QueryHook<Response, Variables>> = useQueryNext => {
const logger: Middleware<QueryHook<Data, Variables>> = useQueryNext => {
return options => {

@@ -503,3 +504,3 @@ const log = useLogger()

const useUser = createQuery<Response, Variables>({
const useUser = createQuery<Data, Variables>({
use: [logger],

@@ -604,2 +605,41 @@ })

## TypeScript
By default, ReactQueryKit will also infer the types of `data` and `variables` from `fetcher`, so you can have the preferred types automatically.
```ts
type Data = { title: string; content: string }
type Variables = { id: number }
const usePost = createQuery({
queryKey: ['posts'],
fetcher: (variables: Variables): Promise<Data> => {
return fetch(`/posts/${variables}`).then(res => res.json())
},
})
// `data` will be inferred as `Data | undefined`.
// `variables` will be inferred as `Variables`.
const { data } = usePost({ variables: 1 })
```
You can also explicitly specify the types for `fetcher`‘s `variables` and `data`.
```ts
type Data = { title: string; content: string }
type Variables = { id: number }
const usePost = createQuery<Data, Variables, Error>({
queryKey: ['posts'],
fetcher: variables => {
return fetch(`/posts/${variables}`).then(res => res.json())
},
})
// `data` will be inferred as `Data | undefined`.
// `error` will be inferred as `Error | null`
// `variables` will be inferred as `Variables`.
const { data, error } = usePost({ variables: 1 })
```
## Type inference

@@ -612,6 +652,6 @@

const useProjects = createInfiniteQuery<Response, Variables, Error>(...)
const useProjects = createInfiniteQuery<Data, Variables, Error>(...)
inferData<typeof useProjects> // InfiniteData<Response>
inferFnData<typeof useProjects> // Response
inferData<typeof useProjects> // InfiniteData<Data>
inferFnData<typeof useProjects> // Data
inferVariables<typeof useProjects> // Variables

@@ -618,0 +658,0 @@ inferError<typeof useProjects> // Error

@@ -448,3 +448,3 @@ import type {

> extends UseMutationOptions<TData, TError, TVariables, TContext> {
use?: Middleware<MutationHook<TData, TError, TVariables>>[]
use?: Middleware<MutationHook<TData, TVariables, TError>>[]
}

@@ -454,6 +454,6 @@

extends Omit<
UseMutationOptions<TData, TError, TVariables, TContext>,
UseMutationOptions<TData, TVariables, TError, TContext>,
'mutationFn' | 'mutationKey'
> {
use?: Middleware<MutationHook<TData, TError, TVariables>>[]
use?: Middleware<MutationHook<TData, TVariables, TError>>[]
}

@@ -471,3 +471,3 @@

TVariables = void,
TError = unknown,
TError = CompatibleError,
TDefaultContext = unknown

@@ -488,3 +488,3 @@ > {

TVariables = void,
TError = unknown,
TError = CompatibleError,
TDefaultContext = unknown

@@ -600,3 +600,3 @@ > extends ExposeMutationMethods<TData, TVariables, TError, TDefaultContext> {

>
? CreateMutationOptions<TFnData, TError, TVariables, TContext>
? CreateMutationOptions<TFnData, TVariables, TError, TContext>
: never

@@ -603,0 +603,0 @@

Sorry, the diff of this file is too big to display