UNPKG

react-antd-admin-panel

Version:

Modern TypeScript-first React admin panel builder with Ant Design 6

1 lines 14 kB
{"version":3,"file":"Post-CeaBs_p4.cjs","sources":["../src/http/Get.ts","../src/http/Post.ts"],"sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig } from 'axios';\nimport type { HttpHooks, RequestConfig } from '../types';\n\n/**\n * Get Model - Type-safe HTTP GET request builder\n * @template T - Response data type\n */\nexport class Get<T = any> {\n private _target?: string;\n private _params: Record<string, any> = {};\n private _headers: Record<string, string> = {};\n private _config: Partial<RequestConfig> = {};\n private _hooks: HttpHooks<T> = {};\n private _abortController?: AbortController;\n private static _axios: AxiosInstance = axios.create();\n\n /**\n * Set the request target URL\n */\n target(url: string): this {\n this._target = url;\n return this;\n }\n\n /**\n * Set URL parameters\n */\n params(params: Record<string, any>): this {\n this._params = { ...this._params, ...params };\n return this;\n }\n\n /**\n * Set a single URL parameter\n */\n param(key: string, value: any): this {\n this._params[key] = value;\n return this;\n }\n\n /**\n * Set request headers\n */\n headers(headers: Record<string, string>): this {\n this._headers = { ...this._headers, ...headers };\n return this;\n }\n\n /**\n * Set a single header\n */\n header(key: string, value: string): this {\n this._headers[key] = value;\n return this;\n }\n\n /**\n * Set additional request configuration\n */\n config(config: Partial<RequestConfig>): this {\n this._config = { ...this._config, ...config };\n return this;\n }\n\n /**\n * Hook called before the request is sent\n */\n onBefore(callback: (config: RequestConfig) => RequestConfig | Promise<RequestConfig>): this {\n this._hooks.onBefore = callback;\n return this;\n }\n\n /**\n * Hook called when request succeeds\n */\n onThen(callback: (data: T) => void | Promise<void>): this {\n this._hooks.onThen = callback;\n return this;\n }\n\n /**\n * Hook called when request fails\n */\n onCatch(callback: (error: Error) => any): this {\n this._hooks.onCatch = callback;\n return this;\n }\n\n /**\n * Hook called after request completes (success or failure)\n */\n onFinally(callback: () => void | Promise<void>): this {\n this._hooks.onFinally = callback;\n return this;\n }\n\n /**\n * Execute the GET request\n */\n async execute(): Promise<T> {\n if (!this._target) {\n throw new Error('Target URL is required');\n }\n\n this._abortController = new AbortController();\n\n let config: AxiosRequestConfig = {\n method: 'GET',\n url: this._target,\n params: this._params,\n headers: this._headers,\n signal: this._abortController.signal,\n ...this._config,\n };\n\n try {\n // Apply onBefore hook\n if (this._hooks.onBefore) {\n config = await this._hooks.onBefore(config as RequestConfig) as AxiosRequestConfig;\n }\n\n const response = await Get._axios.request<T>(config);\n const data = response.data;\n\n // Apply onThen hook\n if (this._hooks.onThen) {\n await this._hooks.onThen(data);\n }\n\n return data;\n } catch (error) {\n // Apply onCatch hook\n if (this._hooks.onCatch) {\n return this._hooks.onCatch(error as Error);\n }\n throw error;\n } finally {\n // Apply onFinally hook\n if (this._hooks.onFinally) {\n await this._hooks.onFinally();\n }\n }\n }\n\n /**\n * Cancel the request\n */\n cancel(message?: string): void {\n if (this._abortController) {\n this._abortController.abort(message);\n }\n }\n\n /**\n * Set global axios instance\n */\n static setAxios(instance: AxiosInstance): void {\n Get._axios = instance;\n }\n\n /**\n * Get the current axios instance\n */\n static getAxios(): AxiosInstance {\n return Get._axios;\n }\n\n /**\n * Configure global defaults\n */\n static configure(config: RequestConfig): void {\n if (config.baseURL) {\n Get._axios.defaults.baseURL = config.baseURL;\n }\n if (config.timeout) {\n Get._axios.defaults.timeout = config.timeout;\n }\n if (config.headers) {\n Get._axios.defaults.headers.common = {\n ...Get._axios.defaults.headers.common,\n ...config.headers,\n };\n }\n }\n}\n","import axios, { AxiosInstance, AxiosRequestConfig } from 'axios';\nimport type { HttpHooks, RequestConfig } from '../types';\n\n/**\n * Post Model - Type-safe HTTP POST/PUT/DELETE/PATCH request builder\n * @template TBody - Request body type\n * @template TResponse - Response data type\n */\nexport class Post<TBody = any, TResponse = any> {\n private _target?: string;\n private _method: 'POST' | 'PUT' | 'DELETE' | 'PATCH' = 'POST';\n private _body?: TBody;\n private _params: Record<string, any> = {};\n private _headers: Record<string, string> = {};\n private _config: Partial<RequestConfig> = {};\n private _hooks: HttpHooks<TResponse> = {};\n private _abortController?: AbortController;\n private static _axios: AxiosInstance = axios.create();\n\n /**\n * Set the request target URL\n */\n target(url: string): this {\n this._target = url;\n return this;\n }\n\n /**\n * Set the HTTP method\n */\n method(method: 'POST' | 'PUT' | 'DELETE' | 'PATCH'): this {\n this._method = method;\n return this;\n }\n\n /**\n * Set the request body\n */\n body(data: TBody): this {\n this._body = data;\n return this;\n }\n\n /**\n * Set URL parameters\n */\n params(params: Record<string, any>): this {\n this._params = { ...this._params, ...params };\n return this;\n }\n\n /**\n * Set a single URL parameter\n */\n param(key: string, value: any): this {\n this._params[key] = value;\n return this;\n }\n\n /**\n * Set request headers\n */\n headers(headers: Record<string, string>): this {\n this._headers = { ...this._headers, ...headers };\n return this;\n }\n\n /**\n * Set a single header\n */\n header(key: string, value: string): this {\n this._headers[key] = value;\n return this;\n }\n\n /**\n * Set additional request configuration\n */\n config(config: Partial<RequestConfig>): this {\n this._config = { ...this._config, ...config };\n return this;\n }\n\n /**\n * Hook called before the request is sent\n */\n onBefore(callback: (config: RequestConfig) => RequestConfig | Promise<RequestConfig>): this {\n this._hooks.onBefore = callback;\n return this;\n }\n\n /**\n * Hook called when request succeeds\n */\n onThen(callback: (data: TResponse) => void | Promise<void>): this {\n this._hooks.onThen = callback;\n return this;\n }\n\n /**\n * Hook called when request fails\n */\n onCatch(callback: (error: Error) => any): this {\n this._hooks.onCatch = callback;\n return this;\n }\n\n /**\n * Hook called after request completes (success or failure)\n */\n onFinally(callback: () => void | Promise<void>): this {\n this._hooks.onFinally = callback;\n return this;\n }\n\n /**\n * Execute the request\n */\n async execute(): Promise<TResponse> {\n if (!this._target) {\n throw new Error('Target URL is required');\n }\n\n this._abortController = new AbortController();\n\n let config: AxiosRequestConfig = {\n method: this._method,\n url: this._target,\n data: this._body,\n params: this._params,\n headers: this._headers,\n signal: this._abortController.signal,\n ...this._config,\n };\n\n try {\n // Apply onBefore hook\n if (this._hooks.onBefore) {\n config = await this._hooks.onBefore(config as RequestConfig) as AxiosRequestConfig;\n }\n\n const response = await Post._axios.request<TResponse>(config);\n const data = response.data;\n\n // Apply onThen hook\n if (this._hooks.onThen) {\n await this._hooks.onThen(data);\n }\n\n return data;\n } catch (error) {\n // Apply onCatch hook\n if (this._hooks.onCatch) {\n return this._hooks.onCatch(error as Error);\n }\n throw error;\n } finally {\n // Apply onFinally hook\n if (this._hooks.onFinally) {\n await this._hooks.onFinally();\n }\n }\n }\n\n /**\n * Cancel the request\n */\n cancel(message?: string): void {\n if (this._abortController) {\n this._abortController.abort(message);\n }\n }\n\n /**\n * Set global axios instance\n */\n static setAxios(instance: AxiosInstance): void {\n Post._axios = instance;\n }\n\n /**\n * Get the current axios instance\n */\n static getAxios(): AxiosInstance {\n return Post._axios;\n }\n\n /**\n * Configure global defaults\n */\n static configure(config: RequestConfig): void {\n if (config.baseURL) {\n Post._axios.defaults.baseURL = config.baseURL;\n }\n if (config.timeout) {\n Post._axios.defaults.timeout = config.timeout;\n }\n if (config.headers) {\n Post._axios.defaults.headers.common = {\n ...Post._axios.defaults.headers.common,\n ...config.headers,\n };\n }\n }\n}\n"],"names":[],"mappings":"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"}