next-unified-query-core
Version:
Framework-agnostic HTTP client with built-in query state management
1 lines • 129 kB
Source Map (JSON)
{"version":3,"sources":["../src/query/factories/query-factory.ts","../src/query/factories/mutation-factory.ts","../src/query/cache/query-cache.ts","../src/query/client/query-client.ts","../src/query/client/query-client-manager.ts","../src/query/observer/utils/structural-sharing.ts","../src/query/observer/utils/tracked-result.ts","../src/query/observer/managers/fetch-manager.ts","../src/query/observer/managers/placeholder-manager.ts","../src/query/observer/managers/result-computer.ts","../src/query/observer/query-observer.ts","../src/query/ssr/ssr-query-client.ts","../src/query/ssr/ssr-prefetch.ts"],"names":["ERROR_MESSAGES","isFunction","isString","options","fetchFn","data","interceptors","isEqual","isNil","hasChanged"],"mappings":"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","file":"index.mjs","sourcesContent":["import type { z, ZodType } from \"zod/v4\";\nimport { isString, isFunction } from \"es-toolkit/compat\";\nimport { FetchConfig, QueryFetcher } from \"../../types\";\n\n/**\n * Zod 스키마가 명확히 있을 때만 z.infer<T>를 사용, 아니면 Fallback\n */\ntype InferIfZodSchema<T, Fallback> = [T] extends [ZodType] ? z.infer<T> : Fallback;\n\n/**\n * 기본 Query 설정 (공통 속성)\n */\ninterface BaseQueryConfig<Params = void, Schema extends ZodType = ZodType> {\n\tcacheKey: (params?: Params) => readonly unknown[];\n\tschema?: Schema;\n\tplaceholderData?: any | ((prev?: any, prevQuery?: import(\"../cache/query-cache\").QueryState<any>) => any);\n\tfetchConfig?: Omit<FetchConfig, \"url\" | \"method\" | \"params\" | \"data\">;\n\tselect?: (data: any) => any;\n\tselectDeps?: any[];\n\tenabled?: boolean | ((params?: Params) => boolean);\n}\n\n/**\n * URL 기반 Query 설정\n */\ninterface UrlBasedQueryConfig<Params = void, Schema extends ZodType = ZodType> extends BaseQueryConfig<Params, Schema> {\n\t/**\n\t * API 요청 URL을 생성하는 함수\n\t */\n\turl: (params?: Params) => string;\n\n\t/**\n\t * queryFn이 있으면 안됨 (상호 배제)\n\t */\n\tqueryFn?: never;\n}\n\n/**\n * Custom Function 기반 Query 설정\n */\ninterface FunctionBasedQueryConfig<Params = void, Schema extends ZodType = ZodType>\n\textends BaseQueryConfig<Params, Schema> {\n\t/**\n\t * 복잡한 요청을 위한 커스텀 쿼리 함수\n\t * 복잡한 요청을 처리할 수 있는 사용자 정의 함수\n\t * Factory 방식에서는 QueryFetcher를 사용 (GET/HEAD 메서드만 허용)\n\t */\n\tqueryFn: (params: Params, fetcher: QueryFetcher) => Promise<any>;\n\n\t/**\n\t * url이 있으면 안됨 (상호 배제)\n\t */\n\turl?: never;\n}\n\n/**\n * Query를 정의하기 위한 설정 객체 인터페이스\n * URL 방식 또는 Custom Function 방식 중 하나를 선택할 수 있음\n */\nexport type QueryConfig<Params = void, Schema extends ZodType = ZodType> =\n\t| UrlBasedQueryConfig<Params, Schema>\n\t| FunctionBasedQueryConfig<Params, Schema>;\n\nexport type QueryFactoryInput = Record<string, QueryConfig<any, any>>;\n\nexport type ExtractParams<T> = T extends QueryConfig<infer P, any> ? P : never;\n\n/**\n * QueryConfig에서 스키마 기반 데이터 타입을 추출합니다.\n * 스키마가 있으면 해당 스키마의 추론 타입을, 없으면 any를 사용합니다.\n */\nexport type ExtractQueryData<T> = T extends QueryConfig<any, infer S> ? InferIfZodSchema<S, any> : any;\n\n/**\n * 에러 메시지 상수\n */\nconst ERROR_MESSAGES = {\n\tBOTH_APPROACHES:\n\t\t\"QueryConfig cannot have both 'queryFn' and 'url' at the same time. \" +\n\t\t\"Choose either custom function approach (queryFn) or URL-based approach (url).\",\n\tMISSING_APPROACHES:\n\t\t\"QueryConfig must have either 'queryFn' or 'url'. \" +\n\t\t\"Provide either a custom function or URL-based configuration.\",\n} as const;\n\n/**\n * Query 설정의 유효성을 검증합니다.\n * QueryConfig와 UseQueryOptions 모두 지원합니다.\n *\n * @internal 이 함수는 내부적으로 사용되며, 직접 호출할 필요가 없습니다.\n * 대신 createQueryFactory나 useQuery를 사용하세요.\n */\nexport function validateQueryConfig(\n\tconfig: QueryConfig<any, any> | any, // UseQueryOptions도 받을 수 있도록\n): void {\n\t// 프로덕션 환경에서는 검증 생략 (성능 최적화)\n\tif (process.env.NODE_ENV === \"production\") {\n\t\treturn;\n\t}\n\n\tconst hasQueryFn = isFunction(config.queryFn);\n\tconst hasUrl = isFunction(config.url) || isString(config.url); // function 또는 string 둘 다 허용\n\n\tif (hasQueryFn && hasUrl) {\n\t\tthrow new Error(ERROR_MESSAGES.BOTH_APPROACHES);\n\t}\n\n\tif (!hasQueryFn && !hasUrl) {\n\t\tthrow new Error(ERROR_MESSAGES.MISSING_APPROACHES);\n\t}\n}\n\n/**\n * 타입 안전한 API 정의를 가진 쿼리 팩토리를 생성합니다.\n *\n * **환경 호환성:**\n * - ✅ 서버사이드: Next.js 서버 컴포넌트와 API 루트에서 안전하게 사용 가능\n * - ✅ 클라이언트사이드: 브라우저 환경에서 동작\n * - ✅ SSR: 서버사이드 렌더링과 호환\n *\n * @example\n * ```typescript\n * // 서버 또는 클라이언트 - 둘 다 동작\n * import { createQueryFactory } from 'next-unified-query';\n *\n * const api = createQueryFactory({\n * getUser: {\n * cacheKey: (id: number) => ['user', id],\n * url: (id: number) => `/users/${id}`,\n * schema: z.object({ name: z.string(), email: z.string() })\n * }\n * });\n * ```\n */\nexport function createQueryFactory<T extends QueryFactoryInput>(defs: T): T {\n\t// 각 QueryConfig 검증\n\tObject.entries(defs).forEach(([key, config]) => {\n\t\ttry {\n\t\t\tvalidateQueryConfig(config);\n\t\t} catch (error) {\n\t\t\tthrow new Error(`Invalid QueryConfig for '${key}': ${(error as Error).message}`);\n\t\t}\n\t});\n\n\treturn defs;\n}\n","import type { z, ZodType } from \"zod/v4\";\nimport { isFunction } from \"es-toolkit/compat\";\nimport type { FetchConfig, FetchError, HttpMethod, QueryKey, NextTypeFetch } from \"../../types\";\n\n/**\n * Zod 스키마가 명확히 있을 때만 z.infer<T>를 사용, 아니면 Fallback\n */\nexport type InferIfZodSchema<T, Fallback> = [T] extends [ZodType] ? z.infer<T> : Fallback;\n\n/**\n * 기본 Mutation 설정 (url + method 방식)\n */\ninterface BaseMutationConfig<\n\tTVariables = any,\n\tTData = any,\n\tTError = FetchError,\n\tTContext = unknown,\n\tRequestSchema extends ZodType = never,\n\tResponseSchema extends ZodType = never,\n> {\n\t/**\n\t * Mutation을 식별하는 캐시 키입니다. (선택적)\n\t * Devtools 등에서 사용될 수 있습니다.\n\t */\n\tcacheKey?: QueryKey;\n\n\t/**\n\t * 요청 본문의 유효성 검사를 위한 Zod 스키마입니다. (선택적)\n\t */\n\trequestSchema?: RequestSchema;\n\n\t/**\n\t * 응답 데이터의 유효성 검사를 위한 Zod 스키마입니다. (선택적)\n\t * 이 스키마로 파싱된 데이터가 TData 타입이 됩니다.\n\t */\n\tresponseSchema?: ResponseSchema;\n\n\t/**\n\t * Mutation 함수 실행 전 호출되는 콜백입니다. (선택적)\n\t * 컨텍스트를 반환하여 onSuccess, onError, onSettled에서 사용할 수 있습니다.\n\t */\n\tonMutate?: (variables: TVariables) => Promise<TContext | void> | TContext | void;\n\n\t/**\n\t * Mutation 성공 시 호출되는 콜백입니다. (선택적)\n\t */\n\tonSuccess?: (\n\t\tdata: InferIfZodSchema<ResponseSchema, TData>,\n\t\tvariables: TVariables,\n\t\tcontext: TContext | undefined,\n\t) => Promise<void> | void;\n\n\t/**\n\t * Mutation 실패 시 호출되는 콜백입니다. (선택적)\n\t */\n\tonError?: (error: TError, variables: TVariables, context: TContext | undefined) => Promise<void> | void;\n\n\t/**\n\t * Mutation 성공 또는 실패 여부와 관계없이 항상 호출되는 콜백입니다. (선택적)\n\t */\n\tonSettled?: (\n\t\tdata: InferIfZodSchema<ResponseSchema, TData> | undefined,\n\t\terror: TError | null,\n\t\tvariables: TVariables,\n\t\tcontext: TContext | undefined,\n\t) => Promise<void> | void;\n\n\t/**\n\t * Mutation 성공 시 무효화할 쿼리 키 목록 또는 동적으로 키 목록을 반환하는 함수입니다. (선택적)\n\t */\n\tinvalidateQueries?:\n\t\t| QueryKey[]\n\t\t| ((\n\t\t\t\tdata: InferIfZodSchema<ResponseSchema, TData>,\n\t\t\t\tvariables: TVariables,\n\t\t\t\tcontext: TContext | undefined,\n\t\t ) => QueryKey[]);\n\n\t/**\n\t * 이 Mutation에만 적용될 특정 fetch 설정을 지정합니다. (선택적)\n\t * baseURL, timeout, headers 등이 포함될 수 있습니다.\n\t */\n\tfetchConfig?: Omit<FetchConfig, \"url\" | \"method\" | \"params\" | \"data\" | \"schema\">;\n}\n\n/**\n * URL + Method 기반 Mutation 설정\n */\ninterface UrlBasedMutationConfig<\n\tTVariables = any,\n\tTData = any,\n\tTError = FetchError,\n\tTContext = unknown,\n\tRequestSchema extends ZodType = never,\n\tResponseSchema extends ZodType = never,\n> extends BaseMutationConfig<TVariables, TData, TError, TContext, RequestSchema, ResponseSchema> {\n\t/**\n\t * API 요청 URL을 생성하는 함수 또는 문자열입니다.\n\t * TVariables를 인자로 받아 URL 문자열을 반환합니다.\n\t */\n\turl: string | ((variables: TVariables) => string);\n\n\t/**\n\t * HTTP 요청 메서드입니다. (예: \"POST\", \"PUT\", \"DELETE\")\n\t */\n\tmethod: HttpMethod;\n\n\t/**\n\t * mutationFn이 있으면 안됨\n\t */\n\tmutationFn?: never;\n}\n\n/**\n * Custom Function 기반 Mutation 설정\n */\ninterface FunctionBasedMutationConfig<\n\tTVariables = any,\n\tTData = any,\n\tTError = FetchError,\n\tTContext = unknown,\n\tRequestSchema extends ZodType = never,\n\tResponseSchema extends ZodType = never,\n> extends BaseMutationConfig<TVariables, TData, TError, TContext, RequestSchema, ResponseSchema> {\n\