create-typed-react-sdk
Advanced tools
| [32mcreate-typed-react-sdk:build-dev[0m: cache hit, replaying output [2me23661a04217266a[0m | ||
| [32mcreate-typed-react-sdk:build-dev: [0m | ||
| [32mcreate-typed-react-sdk:build-dev: [0m> create-typed-react-sdk@0.0.0 build-dev /Users/kevin/src/rectech/shared/create-typed-react-sdk | ||
| [32mcreate-typed-react-sdk:build-dev: [0m> pnpm build | ||
| [32mcreate-typed-react-sdk:build-dev: [0m | ||
| [32mcreate-typed-react-sdk:build-dev: [0m | ||
| [32mcreate-typed-react-sdk:build-dev: [0m> create-typed-react-sdk@0.0.0 build /Users/kevin/src/rectech/shared/create-typed-react-sdk | ||
| [32mcreate-typed-react-sdk:build-dev: [0m> tsc | ||
| [32mcreate-typed-react-sdk:build-dev: [0m |
| [34mcreate-typed-react-sdk:build[0m: cache hit, replaying output [2mb4a5e18437456096[0m | ||
| [34mcreate-typed-react-sdk:build: [0m | ||
| [34mcreate-typed-react-sdk:build: [0m> create-typed-react-sdk@0.0.0 build /Users/kevin/src/rectech/shared/create-typed-react-sdk | ||
| [34mcreate-typed-react-sdk:build: [0m> tsc | ||
| [34mcreate-typed-react-sdk:build: [0m |
+5
-14
| { | ||
| "name": "create-typed-react-sdk", | ||
| "version": "1.0.7", | ||
| "version": "1.0.8", | ||
| "description": "", | ||
@@ -8,12 +8,2 @@ "module": "dist/index.js", | ||
| "types": "dist/index.d.ts", | ||
| "exports": { | ||
| ".": "./dist/index.js", | ||
| "./server": "./dist/server.js" | ||
| }, | ||
| "typesVersions": { | ||
| "*": { | ||
| ".": [ "dist/index.d.ts" ], | ||
| "server": [ "dist/server.d.ts" ] | ||
| } | ||
| }, | ||
| "type": "module", | ||
@@ -34,3 +24,2 @@ "scripts": { | ||
| "@tanstack/react-query-persist-client": "4.0.10", | ||
| "create-typed-sdk": "1.0.1", | ||
| "type-fest": "2.16.0" | ||
@@ -41,6 +30,8 @@ }, | ||
| "react": "18.2.0", | ||
| "typescript": "4.7.4" | ||
| "typescript": "4.7.4", | ||
| "create-typed-sdk": "1.0.8" | ||
| }, | ||
| "peerDependencies": { | ||
| "react": "*" | ||
| "react": "*", | ||
| "create-typed-sdk": "*" | ||
| }, | ||
@@ -47,0 +38,0 @@ "keywords": [], |
+5
-5
@@ -9,3 +9,3 @@ lockfileVersion: 5.4 | ||
| '@types/react': 18.0.15 | ||
| create-typed-sdk: 1.0.1 | ||
| create-typed-sdk: 1.0.8 | ||
| react: 18.2.0 | ||
@@ -20,3 +20,2 @@ type-fest: 2.16.0 | ||
| '@tanstack/react-query-persist-client': 4.0.10 | ||
| create-typed-sdk: 1.0.1 | ||
| type-fest: 2.16.0 | ||
@@ -26,2 +25,3 @@ | ||
| '@types/react': 18.0.15 | ||
| create-typed-sdk: 1.0.8 | ||
| react: 18.2.0 | ||
@@ -86,5 +86,5 @@ typescript: 4.7.4 | ||
| /create-typed-sdk/1.0.1: | ||
| resolution: {integrity: sha512-fIa0aRQnpEDVNHLE3TN1f/WbdoPTDNLXjfTHGCskxnaVYdEQ/8vRv1SOyV+q9oRPbFzdHIH3NIf+8GKXyYMhUg==} | ||
| dev: false | ||
| /create-typed-sdk/1.0.8: | ||
| resolution: {integrity: sha512-CrwYKVo88WC2sAcBC5KymXK7c5bmkbd53QQp+cHDhEwl8NI1BXGXNhdkbOYOM4qZwu58Uo56QBg619qRq5Eznw==} | ||
| dev: true | ||
@@ -91,0 +91,0 @@ /csstype/3.1.0: |
+0
-6
@@ -230,8 +230,2 @@ import { Simplify } from "type-fest"; | ||
| console.log("FETCHING"); | ||
| prom.then((c: any) => { | ||
| console.log("GOT", c); | ||
| }); | ||
| return prom; | ||
@@ -238,0 +232,0 @@ } |
| import { Simplify } from "type-fest"; | ||
| import { QueryObserverOptions } from "@tanstack/react-query"; | ||
| import { DeepAsyncFnRecord, TypedSDKOptions } from "create-typed-sdk"; | ||
| import { createAsyncStoragePersister } from "@tanstack/query-async-storage-persister"; | ||
| import { createSyncStoragePersister } from "@tanstack/query-sync-storage-persister"; | ||
| import { PersistQueryClientOptions } from "@tanstack/react-query-persist-client"; | ||
| import { QueryKey, TypedGetSDKQueryKey, TypedReactSDK, TypedUsePaginatedSDK, TypedUseSDK } from "./utils.js"; | ||
| import React, { ReactNode } from "react"; | ||
| export declare type TypedReactSDKOptions = TypedSDKOptions; | ||
| export declare function createTypedReactSDK<SDK extends DeepAsyncFnRecord<SDK>>(opts: ReactSDKOptions): ReactSDK<SDK>; | ||
| declare type BasePersister = { | ||
| shouldPersist: (q: QueryKey) => boolean; | ||
| } & Pick<PersistQueryClientOptions, "buster" | "maxAge">; | ||
| export declare type PersisterOpts = (({ | ||
| type: "sync"; | ||
| } & Parameters<typeof createSyncStoragePersister>[0]) & BasePersister) | (({ | ||
| type: "async"; | ||
| } & Parameters<typeof createAsyncStoragePersister>[0]) & BasePersister); | ||
| declare type RQOptions = Pick<QueryObserverOptions, "cacheTime" | "isDataEqual" | "keepPreviousData" | "queryKeyHashFn" | "refetchInterval" | "refetchIntervalInBackground" | "refetchOnMount" | "refetchOnReconnect" | "refetchOnWindowFocus" | "networkMode" | "useErrorBoundary" | "structuralSharing" | "staleTime" | "retry" | "retryDelay" | "retryOnMount" | "suspense">; | ||
| export declare type ReactSDKOptions = Simplify<TypedSDKOptions & { | ||
| persister?: PersisterOpts; | ||
| setConnectivityEventListener?: (setOnline: (isOnline: boolean) => void) => () => void; | ||
| setWindowFocusEventListener?: (setIsFocused: (isFocused: boolean) => void) => () => void; | ||
| } & RQOptions>; | ||
| export declare type ReactSDK<SDK extends DeepAsyncFnRecord<SDK>> = { | ||
| SDK: TypedReactSDK<SDK>; | ||
| SDKProvider: React.FC<{ | ||
| children: ReactNode; | ||
| }>; | ||
| getQueryKey: TypedGetSDKQueryKey<SDK>; | ||
| useSDK: () => TypedUseSDK<SDK>; | ||
| /** | ||
| * Lets you easily paginate on endpoints that have pagination parameters | ||
| * | ||
| * @example | ||
| * //Backend... | ||
| * function queryArticles(p: { someRandomParam: boolean; articlePage: number }) { | ||
| * //Do some query using `someRandomParam` and `articlePage`... | ||
| * const moreDataExists = true; // You have to determine this | ||
| * type ArticlesResponse = { | ||
| * articles: string[]; | ||
| * nextArticlePage?: number; | ||
| * }; | ||
| * const resp: ArticlesResponse = { | ||
| * articles: ["lorum", "ipsum"], | ||
| * nextArticlePage: moreDataExists ? p.articlePage + 1 : undefined, | ||
| * }; | ||
| * return resp; | ||
| * } | ||
| * // //Frontend... | ||
| * function App() { | ||
| * const { data, fetchNextPage } = usePaginatedSDK().articles.queryArticles( | ||
| * (previousPageResult) => ({ | ||
| * someRandomParam: true, | ||
| * articlePage: previousPageResult.nextArticlePage || 0, | ||
| * }), | ||
| * ); | ||
| * // Note that `data.pages` is an array of responses from each page. | ||
| * | ||
| */ | ||
| usePaginatedSDK: () => TypedUsePaginatedSDK<SDK>; | ||
| }; | ||
| export {}; |
-203
| var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
| function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } | ||
| return new (P || (P = Promise))(function (resolve, reject) { | ||
| function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
| function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
| function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } | ||
| step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
| }); | ||
| }; | ||
| var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { | ||
| if (kind === "m") throw new TypeError("Private method is not writable"); | ||
| if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); | ||
| if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); | ||
| return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; | ||
| }; | ||
| var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { | ||
| if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); | ||
| if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); | ||
| return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); | ||
| }; | ||
| var __rest = (this && this.__rest) || function (s, e) { | ||
| var t = {}; | ||
| for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) | ||
| t[p] = s[p]; | ||
| if (s != null && typeof Object.getOwnPropertySymbols === "function") | ||
| for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { | ||
| if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) | ||
| t[p[i]] = s[p[i]]; | ||
| } | ||
| return t; | ||
| }; | ||
| var _ReactSDKInner_instances, _ReactSDKInner_persisterOpts, _ReactSDKInner_persister, _ReactSDKInner_queryClient, _ReactSDKInner_BaseSDK, _ReactSDKInner_invokeBaseSDK, _ReactSDKInner_SDKQueryClientContext, _ReactSDKInner_useAssertProvider, _ReactSDKInner_useSDKProxy, _ReactSDKInner_usePaginatedSDKProxy; | ||
| import { jsx as _jsx } from "react/jsx-runtime"; | ||
| import { QueryClient, QueryClientProvider, useInfiniteQuery, useQuery, onlineManager, focusManager, } from "@tanstack/react-query"; | ||
| import { createTypedSDK } from "create-typed-sdk"; | ||
| import { createAsyncStoragePersister } from "@tanstack/query-async-storage-persister"; | ||
| import { createSyncStoragePersister } from "@tanstack/query-sync-storage-persister"; | ||
| import { persistQueryClient, PersistQueryClientProvider, } from "@tanstack/react-query-persist-client"; | ||
| import React, { useContext, useState } from "react"; | ||
| export function createTypedReactSDK(opts) { | ||
| return new ReactSDKInner(opts); | ||
| } | ||
| class ReactSDKInner { | ||
| constructor(opts) { | ||
| _ReactSDKInner_instances.add(this); | ||
| _ReactSDKInner_persisterOpts.set(this, void 0); | ||
| _ReactSDKInner_persister.set(this, void 0); | ||
| _ReactSDKInner_queryClient.set(this, void 0); | ||
| _ReactSDKInner_BaseSDK.set(this, void 0); | ||
| this.SDK = (() => { | ||
| const getNext = (path) => { | ||
| return new Proxy(() => { }, { | ||
| apply: (__, ___, args) => { | ||
| return __classPrivateFieldGet(this, _ReactSDKInner_instances, "m", _ReactSDKInner_invokeBaseSDK).call(this, { path, arg: args[0], type: "SDK", extraOpts: args[1] }); | ||
| }, | ||
| get: (__, prop) => { | ||
| return getNext(path.concat(prop.toString())); | ||
| }, | ||
| }); | ||
| }; | ||
| return getNext([]); | ||
| })(); | ||
| _ReactSDKInner_SDKQueryClientContext.set(this, React.createContext(undefined)); | ||
| _ReactSDKInner_useAssertProvider.set(this, () => { | ||
| if (!useContext(__classPrivateFieldGet(this, _ReactSDKInner_SDKQueryClientContext, "f"))) { | ||
| throw new Error(`Unable to find provider! Ensure you have added SDKProvider to the root of your React app`); | ||
| } | ||
| }); | ||
| this.SDKProvider = (a) => { | ||
| const Provider = __classPrivateFieldGet(this, _ReactSDKInner_persister, "f") ? PersistQueryClientProvider : QueryClientProvider; | ||
| return (_jsx(Provider, Object.assign({ persistOptions: __classPrivateFieldGet(this, _ReactSDKInner_persister, "f") ? Object.assign({ persister: __classPrivateFieldGet(this, _ReactSDKInner_persister, "f") }, __classPrivateFieldGet(this, _ReactSDKInner_persisterOpts, "f")) : undefined, contextSharing: false, client: __classPrivateFieldGet(this, _ReactSDKInner_queryClient, "f"), context: __classPrivateFieldGet(this, _ReactSDKInner_SDKQueryClientContext, "f") }, { children: a.children }))); | ||
| }; | ||
| this.useSDK = () => { | ||
| return __classPrivateFieldGet(this, _ReactSDKInner_useSDKProxy, "f"); | ||
| }; | ||
| this.usePaginatedSDK = () => { | ||
| return __classPrivateFieldGet(this, _ReactSDKInner_usePaginatedSDKProxy, "f"); | ||
| }; | ||
| this.getQueryKey = (() => { | ||
| const getNextGetSDKQueryKey = (path) => { | ||
| return new Proxy(() => { }, { | ||
| apply: (__, ___, args) => { | ||
| return typeof args[0] === "undefined" ? path : [...path, args[0]]; | ||
| }, | ||
| get: (__, prop) => { | ||
| return getNextGetSDKQueryKey(path.concat(prop.toString())); | ||
| }, | ||
| }); | ||
| }; | ||
| return getNextGetSDKQueryKey([]); | ||
| })(); | ||
| _ReactSDKInner_useSDKProxy.set(this, (() => { | ||
| const getNextUseSDK = (p) => { | ||
| return new Proxy(() => { }, { | ||
| apply: (__, ___, args) => { | ||
| __classPrivateFieldGet(this, _ReactSDKInner_useAssertProvider, "f").call(this); | ||
| const opts = args[1] || {}; | ||
| // eslint-disable-next-line react-hooks/rules-of-hooks | ||
| return useQuery([...p.path, args[0]], () => __classPrivateFieldGet(this, _ReactSDKInner_instances, "m", _ReactSDKInner_invokeBaseSDK).call(this, { path: p.path, arg: args[0], type: "useSDK" }), Object.assign(Object.assign({}, opts), { context: __classPrivateFieldGet(this, _ReactSDKInner_SDKQueryClientContext, "f") })); | ||
| }, | ||
| get(__, prop) { | ||
| return getNextUseSDK({ | ||
| path: p.path.concat(prop.toString()), | ||
| }); | ||
| }, | ||
| }); | ||
| }; | ||
| return getNextUseSDK({ path: [] }); | ||
| })()); | ||
| _ReactSDKInner_usePaginatedSDKProxy.set(this, (() => { | ||
| const getNextUsePaginatedSDK = (p) => { | ||
| return new Proxy(() => { }, { | ||
| apply: (__, ___, args) => { | ||
| __classPrivateFieldGet(this, _ReactSDKInner_useAssertProvider, "f").call(this); | ||
| const getArg = args[0]; | ||
| const opts = args[1] || {}; | ||
| // eslint-disable-next-line react-hooks/rules-of-hooks | ||
| const [initialArg] = useState(() => getArg(undefined, [])); | ||
| // eslint-disable-next-line react-hooks/rules-of-hooks | ||
| return useInfiniteQuery([...p.path, initialArg], | ||
| //A bit weird to use the pageParam this way but :shrug:. No other good way to do it. | ||
| ({ pageParam }) => __classPrivateFieldGet(this, _ReactSDKInner_instances, "m", _ReactSDKInner_invokeBaseSDK).call(this, { path: p.path, arg: pageParam || initialArg, type: "usePaginatedSDK" }), Object.assign(Object.assign({}, opts), { getNextPageParam: (prevPage, allPages) => getArg(prevPage, allPages), context: __classPrivateFieldGet(this, _ReactSDKInner_SDKQueryClientContext, "f") })); | ||
| }, | ||
| get(__, prop) { | ||
| return getNextUsePaginatedSDK({ | ||
| path: p.path.concat(prop.toString()), | ||
| }); | ||
| }, | ||
| }); | ||
| }; | ||
| return getNextUsePaginatedSDK({ path: [] }); | ||
| })()); | ||
| const { onError, onSettled, onSuccess, persister, setConnectivityEventListener, setWindowFocusEventListener } = opts, queryOpts = __rest(opts, ["onError", "onSettled", "onSuccess", "persister", "setConnectivityEventListener", "setWindowFocusEventListener"]); | ||
| __classPrivateFieldSet(this, _ReactSDKInner_queryClient, new QueryClient({ | ||
| defaultOptions: { | ||
| queries: Object.assign({ cacheTime: Infinity, staleTime: 1000 * 60 * 5 }, queryOpts), | ||
| }, | ||
| }), "f"); | ||
| if (setConnectivityEventListener) { | ||
| onlineManager.setEventListener(setConnectivityEventListener); | ||
| } | ||
| if (setWindowFocusEventListener) { | ||
| focusManager.setEventListener(setWindowFocusEventListener); | ||
| } | ||
| __classPrivateFieldSet(this, _ReactSDKInner_BaseSDK, createTypedSDK(opts), "f"); | ||
| if (opts.persister) { | ||
| __classPrivateFieldSet(this, _ReactSDKInner_persisterOpts, opts.persister, "f"); | ||
| const { buster, maxAge, shouldPersist } = opts.persister; | ||
| __classPrivateFieldSet(this, _ReactSDKInner_persister, opts.persister.type === "sync" | ||
| ? createSyncStoragePersister(opts.persister) | ||
| : createAsyncStoragePersister(opts.persister), "f"); | ||
| persistQueryClient({ | ||
| persister: __classPrivateFieldGet(this, _ReactSDKInner_persister, "f"), | ||
| queryClient: __classPrivateFieldGet(this, _ReactSDKInner_queryClient, "f"), | ||
| buster, | ||
| dehydrateOptions: { | ||
| dehydrateMutations: false, | ||
| dehydrateQueries: true, | ||
| shouldDehydrateQuery: (a) => { | ||
| return shouldPersist(a.queryKey); | ||
| }, | ||
| }, | ||
| maxAge, | ||
| }); | ||
| } | ||
| } | ||
| } | ||
| _ReactSDKInner_persisterOpts = new WeakMap(), _ReactSDKInner_persister = new WeakMap(), _ReactSDKInner_queryClient = new WeakMap(), _ReactSDKInner_BaseSDK = new WeakMap(), _ReactSDKInner_SDKQueryClientContext = new WeakMap(), _ReactSDKInner_useAssertProvider = new WeakMap(), _ReactSDKInner_useSDKProxy = new WeakMap(), _ReactSDKInner_usePaginatedSDKProxy = new WeakMap(), _ReactSDKInner_instances = new WeakSet(), _ReactSDKInner_invokeBaseSDK = function _ReactSDKInner_invokeBaseSDK(p) { | ||
| var _a, _b; | ||
| let curr = __classPrivateFieldGet(this, _ReactSDKInner_BaseSDK, "f"); | ||
| for (let i = 0; i < p.path.length; i++) { | ||
| const thisPath = p.path[i]; | ||
| curr = curr[thisPath]; | ||
| } | ||
| let prom = curr(p.arg); | ||
| if (p.type === "SDK") { | ||
| if ((_a = __classPrivateFieldGet(this, _ReactSDKInner_persisterOpts, "f")) === null || _a === void 0 ? void 0 : _a.shouldPersist([...p.path, p.arg])) { | ||
| prom.then((newVal) => { | ||
| __classPrivateFieldGet(this, _ReactSDKInner_queryClient, "f").setQueryData([...p.path, p.arg], newVal); | ||
| }); | ||
| } | ||
| if ((_b = p.extraOpts) === null || _b === void 0 ? void 0 : _b.invalidate) { | ||
| prom = prom.then((val) => __awaiter(this, void 0, void 0, function* () { | ||
| yield Promise.all(p.extraOpts.invalidate.map((k) => __awaiter(this, void 0, void 0, function* () { | ||
| yield __classPrivateFieldGet(this, _ReactSDKInner_queryClient, "f").invalidateQueries({ queryKey: k }); | ||
| }))); | ||
| return val; | ||
| })); | ||
| } | ||
| } | ||
| console.log("FETCHING"); | ||
| prom.then((c) => { | ||
| console.log("GOT", c); | ||
| }); | ||
| return prom; | ||
| }; | ||
| function capitalize(str) { | ||
| if (!str) { | ||
| return str; | ||
| } | ||
| return str[0].toUpperCase() + str.slice(1); | ||
| } | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"} |
| export * from 'create-typed-sdk'; |
| export * from 'create-typed-sdk'; | ||
| //# sourceMappingURL=server.js.map |
| {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"} |
Sorry, the diff of this file is not supported yet
| import { Simplify } from "type-fest"; | ||
| import { UseQueryOptions, UseQueryResult, UseInfiniteQueryResult } from "@tanstack/react-query"; | ||
| import { AsyncFn, DeepAsyncFnRecord } from "create-typed-sdk"; | ||
| export declare type TypedReactSDKInvokeOpts = { | ||
| invalidate?: QueryKey[]; | ||
| }; | ||
| export declare type TypedReactSDK<T extends DeepAsyncFnRecord<T>> = { | ||
| [key in keyof T]: T[key] extends AsyncFn ? (arg: Parameters<T[key]>[0], opts?: TypedReactSDKInvokeOpts) => ReturnType<T[key]> : T[key] extends DeepAsyncFnRecord<T[key]> ? TypedReactSDK<T[key]> : never; | ||
| }; | ||
| export declare type QueryKey = [...path: string[], arg: unknown] & { | ||
| __isQueryKey: true; | ||
| }; | ||
| export declare type TypedGetSDKQueryKey<T extends DeepAsyncFnRecord<T>> = { | ||
| [key in keyof T]: T[key] extends AsyncFn ? (arg?: Parameters<T[key]>[0]) => QueryKey : T[key] extends DeepAsyncFnRecord<T[key]> ? (() => QueryKey) & TypedGetSDKQueryKey<T[key]> : never; | ||
| }; | ||
| declare type BaseUseQueryOptions<TData = unknown, TError = unknown> = Simplify<Omit<UseQueryOptions<TData, TError>, "context">>; | ||
| export declare type TypedUseSDK<T extends DeepAsyncFnRecord<T>> = { | ||
| [key in keyof T]: T[key] extends AsyncFn ? <TQueryFnData = Awaited<ReturnType<T[key]>>, TError = unknown, TData = TQueryFnData>(argument: Parameters<T[key]>[0], options?: BaseUseQueryOptions<TData, TError>) => UseQueryResult<TData, TError> : T[key] extends DeepAsyncFnRecord<T[key]> ? TypedUseSDK<T[key]> : never; | ||
| }; | ||
| export declare type TypedUsePaginatedSDK<T extends DeepAsyncFnRecord<T>> = { | ||
| [key in keyof T]: T[key] extends AsyncFn ? <TQueryFnData = Awaited<ReturnType<T[key]>>, TError = unknown>(getParameters: (previousPage: TQueryFnData, pages: TQueryFnData[]) => Parameters<T[key]>[0], options?: BaseUseQueryOptions<TQueryFnData, TError>) => UseInfiniteQueryResult<TQueryFnData, TError> : T[key] extends DeepAsyncFnRecord<T[key]> ? TypedUsePaginatedSDK<T[key]> : never; | ||
| }; | ||
| export {}; |
| export {}; | ||
| //# sourceMappingURL=utils.js.map |
| {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":""} |
| export * from 'create-typed-sdk'; |
Sorry, the diff of this file is not supported yet
58885
-59.92%4
33.33%11
-45%381
-44.3%+ Added
- Removed
- Removed