UNPKG

next-unified-query-core

Version:

Framework-agnostic HTTP client with built-in query state management

1 lines 96.5 kB
{"version":3,"sources":["../src/interceptors.ts","../src/types/index.ts","../src/utils/url.ts","../src/utils/config.ts","../src/utils/data.ts","../src/utils/timeout.ts","../src/utils/response.ts","../src/utils/error.ts","../src/core/request.ts","../src/methods/index.ts","../src/core/client.ts","../src/fetch.ts"],"names":["options","ContentType","ResponseType","request","isNil","isFunction","isString","interceptors","z","fetchError"],"mappings":"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","file":"chunk-KRKSGPO7.mjs","sourcesContent":["import type {\n\tErrorInterceptor,\n\tRequestInterceptor,\n\tRequestConfig,\n\tResponseInterceptor,\n\tFetchError,\n\tNextTypeResponse,\n} from \"./types\";\n\n/**\n * 인터셉터 핸들러와 제거 함수를 함께 반환하는 타입\n */\nexport interface InterceptorHandle {\n\t/**\n\t * 인터셉터 제거 함수\n\t */\n\tremove: () => void;\n}\n\n/**\n * 인터셉터 유형을 식별하는 심볼 매핑\n * 유니크한 식별자를 통해 인터셉터 그룹 지정 가능\n */\nconst interceptorTypeSymbols = {\n\t// 기본 인터셉터 유형\n\tdefault: Symbol(\"default-interceptor\"),\n\t// 인증 관련 인터셉터 - 자동 교체 설정 가능\n\tauth: Symbol(\"auth-interceptor\"),\n\t// 로깅 관련 인터셉터 - 자동 교체 설정 가능\n\tlogging: Symbol(\"logging-interceptor\"),\n\t// 에러 처리 인터셉터 - 자동 교체 설정 가능\n\terrorHandler: Symbol(\"error-handler-interceptor\"),\n};\n\n/**\n * 인터셉터 등록 옵션 (내부용)\n * @internal\n */\ninterface InterceptorOptions {\n\t/**\n\t * 인터셉터 유형 - 같은 유형의 기존 인터셉터를 교체할지 결정\n\t */\n\ttype?: symbol;\n\n\t/**\n\t * 인터셉터 식별 태그 - 로깅 및 디버깅용\n\t */\n\ttag?: string;\n}\n\n/**\n * 인터셉터 매니저 클래스\n */\nexport class InterceptorManager<T extends RequestInterceptor | ResponseInterceptor | ErrorInterceptor> {\n\tprivate handlers: Array<{\n\t\tid: number;\n\t\thandler: T;\n\t\ttype?: symbol;\n\t\ttag?: string;\n\t} | null> = [];\n\n\tprivate idCounter = 0;\n\n\t/**\n\t * 인터셉터 추가\n\t * @param handler 인터셉터 핸들러 함수\n\t * @param options 인터셉터 등록 옵션\n\t * @returns 제거 함수가 포함된 핸들 객체\n\t * @note 여러 번 use를 호출하면 등록한 모든 인터셉터가 순차적으로 실행됩니다. (Axios 등과 동일)\n\t */\n\tuse(handler: T, options?: InterceptorOptions): InterceptorHandle {\n\t\tconst id = this.idCounter++;\n\t\tconst type = options?.type || interceptorTypeSymbols.default;\n\t\tconst tag = options?.tag || \"unnamed-interceptor\";\n\n\t\tthis.handlers.push({\n\t\t\tid,\n\t\t\thandler,\n\t\t\ttype,\n\t\t\ttag,\n\t\t});\n\n\t\treturn {\n\t\t\tremove: () => this.eject(id),\n\t\t};\n\t}\n\n\t/**\n\t * 인터셉터 제거\n\t * @param id 제거할 인터셉터 ID\n\t */\n\teject(id: number): void {\n\t\tconst index = this.handlers.findIndex((h) => h !== null && h.id === id);\n\t\tif (index !== -1) {\n\t\t\tthis.handlers[index] = null;\n\t\t}\n\t}\n\n\t/**\n\t * 특정 유형의 인터셉터 모두 제거\n\t * @param type 제거할 인터셉터 유형\n\t */\n\tejectByType(type: symbol): void {\n\t\tthis.handlers.forEach((item, index) => {\n\t\t\tif (item !== null && item.type === type) {\n\t\t\t\tthis.handlers[index] = null;\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * 모든 인터셉터 제거\n\t */\n\tclear(): void {\n\t\tthis.handlers = [];\n\t}\n\n\t/**\n\t * 모든 인터셉터 실행\n\t * @param value 인터셉터에 전달할 값\n\t * @returns 처리된 값\n\t */\n\tasync forEach<V>(value: V): Promise<V> {\n\t\tlet result = value;\n\n\t\tfor (const handler of this.handlers) {\n\t\t\tif (handler !== null) {\n\t\t\t\t// 핸들러 실행 - T와 V 타입이 항상 일치하지 않으므로 타입 검사 우회\n\t\t\t\tresult = (await (handler.handler as (arg: unknown) => unknown | Promise<unknown>)(result)) as V;\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * 디버깅 용도로 현재 등록된 인터셉터 정보 반환\n\t */\n\tgetRegisteredInterceptors() {\n\t\treturn this.handlers\n\t\t\t.filter((h) => h !== null)\n\t\t\t.map((h) => ({\n\t\t\t\tid: h?.id,\n\t\t\t\ttag: h?.tag || \"(unnamed)\",\n\t\t\t\ttype: h?.type?.description || \"default\",\n\t\t\t}));\n\t}\n}\n\n/**\n * 요청 인터셉터 매니저 클래스\n */\nexport class RequestInterceptorManager {\n\tprivate manager = new InterceptorManager<RequestInterceptor>();\n\n\t/**\n\t * 요청 인터셉터 추가\n\t * @param interceptor 요청 인터셉터 함수\n\t * @param type 인터셉터 유형 - 기본값은 auth 타입 (자동 교체됨)\n\t * @returns 제거 함수가 포함된 핸들 객체\n\t */\n\tuse(interceptor: RequestInterceptor, type = interceptorTypeSymbols.auth): InterceptorHandle {\n\t\treturn this.manager.use(interceptor, { type, tag: \"request-interceptor\" });\n\t}\n\n\t/**\n\t * 모든 요청 인터셉터 제거\n\t */\n\tclear(): void {\n\t\tthis.manager.clear();\n\t}\n\n\t/**\n\t * 특정 유형의 인터셉터 모두 제거\n\t * @param type 제거할 인터셉터 유형\n\t */\n\tclearByType(type: symbol): void {\n\t\tthis.manager.ejectByType(type);\n\t}\n\n\t/**\n\t * 요청 인터셉터 실행\n\t */\n\tasync run(config: RequestConfig): Promise<RequestConfig> {\n\t\treturn this.manager.forEach<RequestConfig>(config);\n\t}\n\n\t/**\n\t * 디버깅 용도로 현재 등록된 인터셉터 정보 반환\n\t */\n\tgetRegisteredInterceptors() {\n\t\treturn this.manager.getRegisteredInterceptors();\n\t}\n}\n\n/**\n * 응답 인터셉터 매니저 클래스\n */\nexport class ResponseInterceptorManager {\n\tprivate manager = new InterceptorManager<ResponseInterceptor>();\n\n\t/**\n\t * 응답 인터셉터 추가\n\t * @param interceptor 응답 인터셉터 함수\n\t * @param type 인터셉터 유형 - 기본값은 auth 타입 (자동 교체됨)\n\t * @returns 제거 함수가 포함된 핸들 객체\n\t */\n\tuse(interceptor: ResponseInterceptor, type = interceptorTypeSymbols.auth): InterceptorHandle {\n\t\treturn this.manager.use(interceptor, { type, tag: \"response-interceptor\" });\n\t}\n\n\t/**\n\t * 모든 응답 인터셉터 제거\n\t */\n\tclear(): void {\n\t\tthis.manager.clear();\n\t}\n\n\t/**\n\t * 특정 유형의 인터셉터 제거\n\t * @param type 제거할 인터셉터 유형\n\t */\n\tclearByType(type: symbol): void {\n\t\tthis.manager.ejectByType(type);\n\t}\n\n\t/**\n\t * 응답 인터셉터 실행 (내부용)\n\t */\n\tasync run<T>(response: NextTypeResponse<T>): Promise<NextTypeResponse<T>> {\n\t\treturn this.manager.forEach<NextTypeResponse<T>>(response);\n\t}\n\n\t/**\n\t * 디버깅 용도로 현재 등록된 인터셉터 정보 반환\n\t */\n\tgetRegisteredInterceptors() {\n\t\treturn this.manager.getRegisteredInterceptors();\n\t}\n}\n\n/**\n * 에러 인터셉터 매니저 클래스\n */\nexport class ErrorInterceptorManager {\n\tprivate manager = new InterceptorManager<ErrorInterceptor>();\n\n\t/**\n\t * 에러 인터셉터 추가\n\t * @param interceptor 에러 인터셉터 함수\n\t * @param type 인터셉터 유형 - 기본값은 errorHandler 타입 (자동 교체됨)\n\t * @returns 제거 함수가 포함된 핸들 객체\n\t */\n\tuse(interceptor: ErrorInterceptor, type = interceptorTypeSymbols.errorHandler): InterceptorHandle {\n\t\treturn this.manager.use(interceptor, { type, tag: \"error-interceptor\" });\n\t}\n\n\t/**\n\t * 모든 에러 인터셉터 제거\n\t */\n\tclear(): void {\n\t\tthis.manager.clear();\n\t}\n\n\t/**\n\t * 특정 유형의 인터셉터 제거\n\t * @param type 제거할 인터셉터 유형\n\t */\n\tclearByType(type: symbol): void {\n\t\tthis.manager.ejectByType(type);\n\t}\n\n\t/**\n\t * 에러 인터셉터 실행 (내부용)\n\t */\n\tasync run(error: FetchError): Promise<NextTypeResponse<unknown> | FetchError> {\n\t\treturn this.manager.forEach<FetchError>(error);\n\t}\n\n\t/**\n\t * 디버깅 용도로 현재 등록된 인터셉터 정보 반환\n\t */\n\tgetRegisteredInterceptors() {\n\t\treturn this.manager.getRegisteredInterceptors();\n\t}\n}\n\n/**\n * 요청/응답 인터셉터 생성\n */\nexport function createInterceptors() {\n\tconst requestInterceptors = new RequestInterceptorManager();\n\tconst responseInterceptors = new ResponseInterceptorManager();\n\tconst errorInterceptors = new ErrorInterceptorManager();\n\n\treturn {\n\t\trequest: {\n\t\t\t/**\n\t\t\t * 요청 인터셉터 추가 - 자동으로 같은 유형의 이전 인터셉터 교체\n\t\t\t * @param interceptor 요청 처리 함수\n\t\t\t * @returns 제거 함수가 포함된 핸들\n\t\t\t * @example\n\t\t\t * ```typescript\n\t\t\t * // 인터셉터 추가 (auth 유형 기본값)\n\t\t\t * const authInterceptor = api.interceptors.request.use(config => {\n\t\t\t * config.headers = config.headers || {};\n\t\t\t * config.headers['Authorization'] = `Bearer ${getToken()}`;\n\t\t\t * return config;\n\t\t\t * });\n\t\t\t *\n\t\t\t * // 다른 인터셉터 추가 시 이전 auth 유형 인터셉터는 자동 제거됨\n\t\t\t * api.interceptors.request.use(config => {\n\t\t\t * config.headers = config.headers || {};\n\t\t\t * config.headers['Authorization'] = `Bearer ${getNewToken()}`;\n\t\t\t * return config;\n\t\t\t * });\n\t\t\t * ```\n\t\t\t */\n\t\t\tuse: (interceptor: RequestInterceptor) => requestInterceptors.use(interceptor),\n\n\t\t\t/**\n\t\t\t * 인터셉터 제거 (하위 호환성)\n\t\t\t * @deprecated InterceptorHandle.remove() 사용 권장\n\t\t\t */\n\t\t\teject: (id: number) => {\n\t\t\t\tconsole.warn(\"eject() 메서드는 사용되지 않습니다. use()가 반환하는 InterceptorHandle.remove()를 사용하세요.\");\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * 모든 요청 인터셉터 제거\n\t\t\t * @example\n\t\t\t * ```typescript\n\t\t\t * // 모든 요청 인터셉터 제거\n\t\t\t * api.interceptors.request.clear();\n\t\t\t * ```\n\t\t\t */\n\t\t\tclear: () => requestInterceptors.clear(),\n\n\t\t\t/**\n\t\t\t * 특정 유형의 인터셉터 제거\n\t\t\t * @param type 제거할 인터셉터 유형\n\t\t\t * @example\n\t\t\t * ```typescript\n\t\t\t * // 인증 관련 인터셉터만 제거\n\t\t\t * api.interceptors.request.clearByType(interceptorTypes.auth);\n\t\t\t * ```\n\t\t\t */\n\t\t\tclearByType: (type: symbol) => requestInterceptors.clearByType(type),\n\n\t\t\t/**\n\t\t\t * 요청 인터셉터 실행 (내부용)\n\t\t\t */\n\t\t\trun: requestInterceptors.run.bind(requestInterceptors),\n\n\t\t\t/**\n\t\t\t * 디버깅 용도로 현재 등록된 인터셉터 정보 조회\n\t\t\t */\n\t\t\tgetRegistered: () => requestInterceptors.getRegisteredInterceptors(),\n\t\t},\n\t\tresponse: {\n\t\t\t/**\n\t\t\t * 응답 인터셉터 추가 - 자동으로 같은 유형의 이전 인터셉터 교체\n\t\t\t * @param onFulfilled 성공 응답 처리 함수\n\t\t\t * @returns 제거 함수가 포함된 핸들\n\t\t\t */\n\t\t\tuse: (onFulfilled: ResponseInterceptor) => responseInterceptors.use(onFulfilled),\n\n\t\t\t/**\n\t\t\t * 인터셉터 제거 (하위 호환성)\n\t\t\t * @deprecated InterceptorHandle.remove() 사용 권장\n\t\t\t */\n\t\t\teject: (id: number) => {\n\t\t\t\tconsole.warn(\"eject() 메서드는 사용되지 않습니다. use()가 반환하는 InterceptorHandle.remove()를 사용하세요.\");\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * 모든 응답 인터셉터 제거\n\t\t\t */\n\t\t\tclear: () => responseInterceptors.clear(),\n\n\t\t\t/**\n\t\t\t * 특정 유형의 인터셉터 제거\n\t\t\t * @param type 제거할 인터셉터 유형\n\t\t\t */\n\t\t\tclearByType: (type: symbol) => responseInterceptors.clearByType(type),\n\n\t\t\t/**\n\t\t\t * 응답 인터셉터 실행 (내부용)\n\t\t\t */\n\t\t\trun: responseInterceptors.run.bind(responseInterceptors),\n\n\t\t\t/**\n\t\t\t * 디버깅 용도로 현재 등록된 인터셉터 정보 조회\n\t\t\t */\n\t\t\tgetRegistered: () => responseInterceptors.getRegisteredInterceptors(),\n\t\t},\n\t\terror: {\n\t\t\t/**\n\t\t\t * 에러 인터셉터 추가 - 자동으로 같은 유형의 이전 인터셉터 교체\n\t\t\t * @param onRejected 에러 처리 함수\n\t\t\t * @returns 제거 함수가 포함된 핸들\n\t\t\t */\n\t\t\tuse: (onRejected: ErrorInterceptor) => errorInterceptors.use(onRejected),\n\n\t\t\t/**\n\t\t\t * 인터셉터 제거 (하위 호환성)\n\t\t\t * @deprecated InterceptorHandle.remove() 사용 권장\n\t\t\t */\n\t\t\teject: (id: number) => {\n\t\t\t\tconsole.warn(\"eject() 메서드는 사용되지 않습니다. use()가 반환하는 InterceptorHandle.remove()를 사용하세요.\");\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * 모든 에러 인터셉터 제거\n\t\t\t */\n\t\t\tclear: () => errorInterceptors.clear(),\n\n\t\t\t/**\n\t\t\t * 특정 유형의 인터셉터 제거\n\t\t\t * @param type 제거할 인터셉터 유형\n\t\t\t */\n\t\t\tclearByType: (type: symbol) => errorInterceptors.clearByType(type),\n\n\t\t\t/**\n\t\t\t * 에러 인터셉터 실행 (내부용)\n\t\t\t */\n\t\t\trun: errorInterceptors.run.bind(errorInterceptors),\n\n\t\t\t/**\n\t\t\t * 디버깅 용도로 현재 등록된 인터셉터 정보 조회\n\t\t\t */\n\t\t\tgetRegistered: () => errorInterceptors.getRegisteredInterceptors(),\n\t\t},\n\t};\n}\n\n/**\n * 인터셉터 유형을 식별하는 심볼들입니다.\n *\n * @advanced 고급 사용 케이스에서 인터셉터 그룹을 관리할 때 사용합니다.\n * 일반적인 사용에서는 기본 interceptors API를 사용하는 것을 권장합니다.\n *\n * @example\n * ```tsx\n * import { interceptorTypes } from 'next-unified-query';\n *\n * // 특정 타입의 인터셉터만 제거\n * api.interceptors.request.clearByType(interceptorTypes.auth);\n * ```\n */\nexport const interceptorTypes = interceptorTypeSymbols;\n","import type { z } from \"zod/v4\";\n\n/**\n * 컨텐츠 타입 열거형\n */\nexport enum ContentType {\n\t/**\n\t * JSON 데이터 (application/json)\n\t */\n\tJSON = \"application/json\",\n\n\t/**\n\t * URL 인코딩된 폼 데이터 (application/x-www-form-urlencoded)\n\t */\n\tFORM = \"application/x-www-form-urlencoded\",\n\n\t/**\n\t * 일반 텍스트 (text/plain)\n\t */\n\tTEXT = \"text/plain\",\n\n\t/**\n\t * 바이너리 데이터 (application/octet-stream)\n\t */\n\tBLOB = \"application/octet-stream\",\n\n\t/**\n\t * 멀티파트 폼 데이터 (multipart/form-data)\n\t */\n\tMULTIPART = \"multipart/form-data\",\n\n\t/**\n\t * XML 문서 (application/xml)\n\t */\n\tXML = \"application/xml\",\n\n\t/**\n\t * HTML 문서 (text/html)\n\t */\n\tHTML = \"text/html\",\n}\n\n/**\n * 응답 타입 열거형\n */\nexport enum ResponseType {\n\t/**\n\t * JSON 응답 (자동 파싱)\n\t */\n\tJSON = \"json\",\n\n\t/**\n\t * 텍스트 응답 (text/plain, HTML, XML 등)\n\t */\n\tTEXT = \"text\",\n\n\t/**\n\t * Blob 응답 (이미지, 파일 등 바이너리 데이터)\n\t */\n\tBLOB = \"blob\",\n\n\t/**\n\t * ArrayBuffer 응답 (바이너리 데이터)\n\t */\n\tARRAY_BUFFER = \"arraybuffer\",\n\n\t/**\n\t * 원시 응답 (Response 객체 그대로 반환)\n\t */\n\tRAW = \"raw\",\n}\n\n/**\n * HTTP 메서드 타입\n */\nexport type HttpMethod = \"GET\" | \"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\" | \"HEAD\" | \"OPTIONS\";\n\n/**\n * 일반적인 API 에러 응답 구조\n */\nexport interface ApiErrorResponse {\n\t/**\n\t * 에러 메시지\n\t */\n\terror: string;\n\n\t/**\n\t * 상세 메시지 (선택적)\n\t */\n\tmessage?: string;\n\n\t/**\n\t * 추가 세부 정보 (선택적)\n\t */\n\tdetails?: unknown;\n}\n\n/**\n * HTTP 에러 클래스 (제네릭 지원)\n */\nexport class FetchError<TErrorData = ApiErrorResponse> extends Error {\n\t/**\n\t * 에러 이름\n\t */\n\tname = \"FetchError\";\n\n\t/**\n\t * 에러 코드\n\t */\n\tcode?: string;\n\n\t/**\n\t * 응답 정보 (HTTP 에러인 경우)\n\t */\n\tresponse?: {\n\t\tdata: TErrorData;\n\t\tstatus: number;\n\t\tstatusText: string;\n\t\theaders: Headers;\n\t};\n\n\t/**\n\t * 요청 객체\n\t */\n\trequest?: Request;\n\n\t/**\n\t * 요청 설정\n\t */\n\tconfig: RequestConfig;\n\n\t/**\n\t * 원인이 되는 에러 (예: ZodError)\n\t */\n\tcause?: unknown;\n\n\t/**\n\t * FetchError 생성자\n\t * @param message 에러 메시지\n\t * @param config 요청 설정\n\t * @param code 에러 코드\n\t * @param request 요청 객체\n\t * @param response 응답 객체\n\t * @param responseData 응답 데이터\n\t */\n\tconstructor(\n\t\tmessage: string,\n\t\tconfig: RequestConfig,\n\t\tcode?: string,\n\t\trequest?: Request,\n\t\tresponse?: Response,\n\t\tresponseData?: TErrorData,\n\t) {\n\t\tsuper(message);\n\t\tthis.config = config;\n\t\tthis.code = code;\n\t\tthis.request = request;\n\n\t\tif (response) {\n\t\t\tthis.response = {\n\t\t\t\tdata: responseData as TErrorData,\n\t\t\t\tstatus: response.status,\n\t\t\t\tstatusText: response.statusText,\n\t\t\t\theaders: response.headers,\n\t\t\t};\n\t\t}\n\t}\n}\n\n/**\n * 401 인증 오류 자동 재시도 옵션\n */\nexport interface AuthRetryOption {\n\t/**\n\t * 최대 재시도 횟수 (기본값: 1)\n\t */\n\tlimit?: number;\n\t/**\n\t * 재시도할 HTTP 상태 코드 목록 (기본값: [401])\n\t * 커스텀 상태 코드(예: 401004 등)도 지정 가능\n\t */\n\tstatusCodes?: number[];\n\t/**\n\t * 재시도 전 실행할 핸들러 (true 반환 시 재시도)\n\t */\n\thandler: (error: FetchError<any>, config: RequestConfig) => Promise<boolean>;\n\t/**\n\t * 커스텀 재시도 조건 함수 (true 반환 시 handler 실행)\n\t * 상태코드 외에 추가 조건이 필요할 때 사용\n\t */\n\tshouldRetry?: (error: FetchError<any>, config: RequestConfig) => boolean;\n}\n\n/**\n * 기본 설정 옵션 인터페이스\n */\nexport interface FetchConfig extends Omit<RequestInit, \"signal\" | \"headers\" | \"body\" | \"method\"> {\n\t/**\n\t * 기본 URL\n\t */\n\tbaseURL?: string;\n\n\t/**\n\t * 요청 타임아웃 (ms)\n\t */\n\ttimeout?: number;\n\n\t/**\n\t * 요청 헤더\n\t */\n\theaders?: Record<string, string>;\n\n\t/**\n\t * 요청 쿼리 파라미터\n\t */\n\tparams?: Record<string, string | number | boolean | undefined | null>;\n\n\t/**\n\t * 자동 재시도 설정\n\t */\n\tretry?:\n\t\t| number\n\t\t| {\n\t\t\t\tlimit: number; // 최대 재시도 횟수\n\t\t\t\tstatusCodes?: number[]; // 재시도할 상태 코드\n\t\t\t\tbackoff?: \"linear\" | \"exponential\" | ((retryCount: number) => number);\n\t\t };\n\n\t/**\n\t * 응답을 JSON으로 파싱 여부\n\t * @deprecated responseType을 사용하세요\n\t */\n\tparseJSON?: boolean;\n\n\t/**\n\t * 응답 데이터 검증을 위한 Zod 스키마\n\t */\n\tschema?: z.ZodType;\n\n\t/**\n\t * Next.js fetch 옵션\n\t */\n\tnext?: {\n\t\t/**\n\t\t * 재검증 시간(초)\n\t\t */\n\t\trevalidate?: number | false;\n\t\t/**\n\t\t * 태그 기반 재검증을 위한 태그 배열\n\t\t */\n\t\ttags?: string[];\n\t};\n\n\t/**\n\t * 요청 취소를 위한 AbortSignal\n\t * 외부에서 AbortController를 통해 요청을 취소할 수 있습니다.\n\t */\n\tsignal?: AbortSignal;\n\n\t/**\n\t * 컨텐츠 타입 설정\n\t * 요청 본문의 Content-Type을 지정합니다.\n\t */\n\tcontentType?: ContentType | string;\n\n\t/**\n\t * 응답 타입 설정\n\t * 서버 응답을 어떻게 파싱할지 지정합니다.\n\t */\n\tresponseType?: ResponseType;\n\n\t/**\n\t * 401 인증 오류 자동 재시도 옵션\n\t */\n\tauthRetry?: AuthRetryOption;\n}\n\n/**\n * 특정 요청에 대한 설정 인터페이스\n */\nexport interface RequestConfig extends FetchConfig {\n\t/**\n\t * 요청 URL\n\t */\n\turl?: string;\n\n\t/**\n\t * HTTP 메서드\n\t */\n\tmethod?: HttpMethod;\n\n\t/**\n\t * 요청 본문\n\t */\n\tdata?: unknown;\n\n\t/**\n\t * 내부용: 401 재시도 카운트\n\t */\n\t_authRetryCount?: number;\n}\n\n/**\n * 응답 객체 인터페이스\n */\nexport interface NextTypeResponse<T = unknown> {\n\t/**\n\t * 서버 응답 데이터\n\t */\n\tdata: T;\n\n\t/**\n\t * HTTP 상태 코드\n\t */\n\tstatus: number;\n\n\t/**\n\t * HTTP 상태 메시지\n\t */\n\tstatusText: string;\n\n\t/**\n\t * 응답 헤더\n\t */\n\theaders: Headers;\n\n\t/**\n\t * 요청 설정\n\t */\n\tconfig: RequestConfig;\n\n\t/**\n\t * 요청 객체\n\t */\n\trequest?: Request;\n}\n\n/**\n * 인터셉터 핸들러 타입\n */\nexport type RequestInterceptor = (config: RequestConfig) => Promise<RequestConfig> | RequestConfig;\n\nexport type ResponseInterceptor = (response: NextTypeResponse) => Promise<NextTypeResponse> | NextTypeResponse;\n\nexport type ErrorInterceptor = (\n\terror: FetchError<any>,\n) => Promise<NextTypeResponse | FetchError<any>> | NextTypeResponse | FetchError<any>;\n\n/**\n * 쿼리 키 타입\n * 일반적으로 문자열 또는 문자열/숫자/불리언 등으로 구성된 배열입니다.\n */\nexport type QueryKey = string | readonly unknown[];\n\n/**\n * 인터셉터 핸들러와 제거 함수를 함께 반환하는 타입\n */\nexport interface InterceptorHandle {\n\t/**\n\t * 인터셉터 제거 함수\n\t */\n\tremove: () => void;\n}\n\n/**\n * 인터셉터 인터페이스\n */\nexport interface Interceptors {\n\trequest: {\n\t\tuse: (interceptor: RequestInterceptor) => InterceptorHandle;\n\t\teject: (id: number) => void;\n\t\tclearByType: (type: symbol) => void;\n\t\tclear: () => void;\n\t};\n\tresponse: {\n\t\tuse: (onFulfilled: ResponseInterceptor) => InterceptorHandle;\n\t\teject: (id: number) => void;\n\t\tclearByType: (type: symbol) => void;\n\t\tclear: () => void;\n\t};\n\terror: {\n\t\tuse: (onRejected: ErrorInterceptor) => InterceptorHandle;\n\t\teject: (id: number) => void;\n\t\tclearByType: (type: symbol) => void;\n\t\tclear: () => void;\n\t};\n}\n\n/**\n * 취소 가능한 요청 타입\n */\nexport interface CancelablePromise<T> extends Promise<T> {\n\t/**\n\t * 요청 취소 메서드\n\t */\n\tcancel: () => void;\n\n\t/**\n\t * 요청 취소 여부 확인\n\t */\n\tisCanceled: () => boolean;\n}\n\n/**\n * Next Type Fetch 인스턴스 인터페이스\n */\nexport interface NextTypeFetch {\n\t/**\n\t * 전역 설정\n\t */\n\tdefaults: FetchConfig;\n\n\t/**\n\t * 인터셉터\n\t */\n\tinterceptors: Interceptors;\n\n\t/**\n\t * GET 요청\n\t */\n\tget: <T = unknown>(url: string, config?: FetchConfig) => CancelablePromise<NextTypeResponse<T>>;\n\n\t/**\n\t * POST 요청\n\t */\n\tpost: <T = unknown>(url: string, data?: unknown, config?: FetchConfig) => CancelablePromise<NextTypeResponse<T>>;\n\n\t/**\n\t * PUT 요청\n\t */\n\tput: <T = unknown>(url: string, data?: unknown, config?: FetchConfig) => CancelablePromise<NextTypeResponse<T>>;\n\n\t/**\n\t * DELETE 요청\n\t */\n\tdelete: <T = unknown>(url: string, config?: FetchConfig) => CancelablePromise<NextTypeResponse<T>>;\n\n\t/**\n\t * PATCH 요청\n\t */\n\tpatch: <T = unknown>(url: string, data?: unknown, config?: FetchConfig) => CancelablePromise<NextTypeResponse<T>>;\n\n\t/**\n\t * HEAD 요청\n\t */\n\thead: <T = unknown>(url: string, config?: FetchConfig) => CancelablePromise<NextTypeResponse<T>>;\n\n\t/**\n\t * OPTIONS 요청\n\t */\n\toptions: <T = unknown>(url: string, config?: FetchConfig) => CancelablePromise<NextTypeResponse<T>>;\n\n\t/**\n\t * 기본 요청 메서드\n\t */\n\trequest: <T = unknown>(config: RequestConfig) => CancelablePromise<NextTypeResponse<T>>;\n}\n\n/**\n * Query 전용 Fetcher 인터페이스\n * useQuery에서만 사용되며, 데이터 조회 목적의 메서드만 포함\n */\nexport interface QueryFetcher {\n\t/**\n\t * GET 요청 (데이터 조회)\n\t */\n\tget: <T = unknown>(url: string, config?: FetchConfig) => CancelablePromise<NextTypeResponse<T>>;\n\n\t/**\n\t * HEAD 요청 (메타데이터 조회)\n\t */\n\thead: <T = unknown>(url: string, config?: FetchConfig) => CancelablePromise<NextTypeResponse<T>>;\n\n\t/**\n\t * 기본 요청 메서드 (GET 방식만 허용)\n\t */\n\trequest: <T = unknown>(\n\t\tconfig: Omit<RequestConfig, \"method\"> & { method?: \"GET\" | \"HEAD\" },\n\t) => CancelablePromise<NextTypeResponse<T>>;\n}\n","import { isEmpty } from \"es-toolkit/compat\";\nimport { compact, trim, isNil, pickBy } from \"es-toolkit\";\n\n/**\n * URL에 쿼리 파라미터를 추가합니다.\n * 순수한 문자열 처리로 구현하여 안전하고 예측 가능합니다.\n * @param url 기본 URL (절대 URL 또는 상대 경로)\n * @param params 쿼리 파라미터 객체\n * @returns 쿼리 파라미터가 추가된 URL\n */\nexport function appendQueryParams(\n\turl: string,\n\tparams?: Record<string, string | number | boolean | undefined | null>,\n): string {\n\t// URL 정리 및 빈 파라미터 체크\n\tconst cleanUrl = trim(url);\n\tif (!params || isEmpty(params)) return cleanUrl;\n\n\t// 유효한 파라미터만 필터링\n\tconst validParams = pickBy(params, (value) => !isNil(value));\n\n\tif (isEmpty(validParams)) return cleanUrl;\n\n\t// URL을 파트별로 분리 (fragment 먼저 분리)\n\tconst [baseUrl, fragment] = cleanUrl.split(\"#\");\n\tconst [path, existingQuery] = baseUrl.split(\"?\");\n\n\t// 기존 쿼리 파라미터 파싱\n\tconst existingParams = new URLSearchParams(existingQuery || \"\");\n\n\t// 새 파라미터 추가 (덮어쓰기 방식으로 중복 방지)\n\tObject.entries(validParams).forEach(([key, value]) => {\n\t\texistingParams.set(key, String(value));\n\t});\n\n\t// URL 파트들을 배열로 구성하고 compact로 빈 값 제거\n\tconst queryString = existingParams.toString();\n\tconst urlParts = compact([path, queryString ? `?${queryString}` : null, fragment ? `#${fragment}` : null]);\n\n\treturn urlParts.join(\"\");\n}\n\n/**\n * 베이스 URL과 상대 경로를 합칩니다.\n * @param baseURL 베이스 URL\n * @param url 상대 경로\n * @returns 완전한 URL\n */\nexport function combineURLs(baseURL?: string, url?: string): string {\n\t// 입력값 정리\n\tconst cleanBaseURL = baseURL ? trim(baseURL) : \"\";\n\tconst cleanUrl = url ? trim(url) : \"\";\n\n\tif (!cleanBaseURL) return cleanUrl;\n\tif (!cleanUrl) return cleanBaseURL;\n\n\tconst baseEndsWithSlash = cleanBaseURL.end