api-core-lib 12.0.94 → 12.0.96

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -255,24 +255,26 @@ type ModuleActions<TActions extends Record<string, ActionConfigModule<any, any>>
255
255
  type ModuleStates<TActions extends Record<string, ActionConfigModule<any, any>>> = {
256
256
  [K in keyof TActions]: ActionState<OutputOf<TActions[K]>>;
257
257
  };
258
+ /**
259
+ * يستخلص أسماء الإجراءات التي لديها `hasQuery: true`
260
+ */
258
261
  type ActionsWithQuery<TActions extends Record<string, ActionConfigModule<any, any>>> = {
259
262
  [K in keyof TActions]: TActions[K] extends {
260
263
  hasQuery: true;
261
264
  } ? K : never;
262
265
  }[keyof TActions];
263
- /**
264
- * يُنشئ نوعًا لكائن `queries` يكون آمنًا ومحددًا.
265
- */
266
- type ModuleQueries<TActions extends Record<string, ActionConfigModule<any, any>>> = {
267
- [K in keyof TActions]: K extends ActionsWithQuery<TActions> ? UseApiQuery : never;
268
- };
269
266
  /**
270
267
  * @description The complete, fully-typed return object of the `useApiModule` hook.
271
268
  */
272
269
  type UseApiModuleReturn<TActions extends Record<string, ActionConfigModule<any, any>>, TExtra extends object = {}> = {
273
270
  states: ModuleStates<TActions>;
274
271
  actions: ModuleActions<TActions>;
275
- queries: ModuleQueries<TActions>;
272
+ /**
273
+ * ✅ الحل النهائي: نستخدم `Record` لتعريف الكائن بشكل صريح.
274
+ * المفاتيح (Keys) هي فقط تلك الموجودة في `ActionsWithQuery`.
275
+ * القيم (Values) هي `UseApiQuery`.
276
+ */
277
+ queries: Record<ActionsWithQuery<TActions>, UseApiQuery>;
276
278
  dehydrate: () => string;
277
279
  } & TExtra;
278
280
  /**
@@ -293,4 +295,4 @@ type ActionMethods<TAction extends ActionConfigModule<any, any>> = {
293
295
  }) => void;
294
296
  };
295
297
 
296
- export type { ActionConfigModule as A, ExecutableAction as E, InputOf as I, LogLevel as L, ModuleStates as M, OutputOf as O, PaginationMeta as P, QueryOptions as Q, RequestConfig as R, StandardResponse as S, Tokens as T, UseApiConfig as U, ValidationError as V, ApiModuleConfig as a, UseApiModuleOptions as b, UseApiModuleReturn as c, ModuleActions as d, ModuleQueries as e, ApiClientConfig as f, ActionOptions as g, ActionStateModule as h, UseApiQuery as i, ApiError as j, TokenManager as k, MiddlewareContext as l, Middleware as m, RefreshTokenConfig as n, ActionConfig as o, UseApiState as p, ActionState as q, ExecuteOptions as r, ActionsWithQuery as s, t, ActionMethods as u };
298
+ export type { ActionConfigModule as A, ExecutableAction as E, InputOf as I, LogLevel as L, ModuleStates as M, OutputOf as O, PaginationMeta as P, QueryOptions as Q, RequestConfig as R, StandardResponse as S, Tokens as T, UseApiConfig as U, ValidationError as V, ApiModuleConfig as a, UseApiModuleOptions as b, UseApiModuleReturn as c, ModuleActions as d, UseApiQuery as e, ApiClientConfig as f, ActionOptions as g, ActionStateModule as h, ApiError as i, TokenManager as j, MiddlewareContext as k, Middleware as l, RefreshTokenConfig as m, ActionConfig as n, UseApiState as o, ActionState as p, ExecuteOptions as q, ActionsWithQuery as r, ActionMethods as s, t };
@@ -255,24 +255,26 @@ type ModuleActions<TActions extends Record<string, ActionConfigModule<any, any>>
255
255
  type ModuleStates<TActions extends Record<string, ActionConfigModule<any, any>>> = {
256
256
  [K in keyof TActions]: ActionState<OutputOf<TActions[K]>>;
257
257
  };
258
+ /**
259
+ * يستخلص أسماء الإجراءات التي لديها `hasQuery: true`
260
+ */
258
261
  type ActionsWithQuery<TActions extends Record<string, ActionConfigModule<any, any>>> = {
259
262
  [K in keyof TActions]: TActions[K] extends {
260
263
  hasQuery: true;
261
264
  } ? K : never;
262
265
  }[keyof TActions];
263
- /**
264
- * يُنشئ نوعًا لكائن `queries` يكون آمنًا ومحددًا.
265
- */
266
- type ModuleQueries<TActions extends Record<string, ActionConfigModule<any, any>>> = {
267
- [K in keyof TActions]: K extends ActionsWithQuery<TActions> ? UseApiQuery : never;
268
- };
269
266
  /**
270
267
  * @description The complete, fully-typed return object of the `useApiModule` hook.
271
268
  */
272
269
  type UseApiModuleReturn<TActions extends Record<string, ActionConfigModule<any, any>>, TExtra extends object = {}> = {
273
270
  states: ModuleStates<TActions>;
274
271
  actions: ModuleActions<TActions>;
275
- queries: ModuleQueries<TActions>;
272
+ /**
273
+ * ✅ الحل النهائي: نستخدم `Record` لتعريف الكائن بشكل صريح.
274
+ * المفاتيح (Keys) هي فقط تلك الموجودة في `ActionsWithQuery`.
275
+ * القيم (Values) هي `UseApiQuery`.
276
+ */
277
+ queries: Record<ActionsWithQuery<TActions>, UseApiQuery>;
276
278
  dehydrate: () => string;
277
279
  } & TExtra;
278
280
  /**
@@ -293,4 +295,4 @@ type ActionMethods<TAction extends ActionConfigModule<any, any>> = {
293
295
  }) => void;
294
296
  };
295
297
 
296
- export type { ActionConfigModule as A, ExecutableAction as E, InputOf as I, LogLevel as L, ModuleStates as M, OutputOf as O, PaginationMeta as P, QueryOptions as Q, RequestConfig as R, StandardResponse as S, Tokens as T, UseApiConfig as U, ValidationError as V, ApiModuleConfig as a, UseApiModuleOptions as b, UseApiModuleReturn as c, ModuleActions as d, ModuleQueries as e, ApiClientConfig as f, ActionOptions as g, ActionStateModule as h, UseApiQuery as i, ApiError as j, TokenManager as k, MiddlewareContext as l, Middleware as m, RefreshTokenConfig as n, ActionConfig as o, UseApiState as p, ActionState as q, ExecuteOptions as r, ActionsWithQuery as s, t, ActionMethods as u };
298
+ export type { ActionConfigModule as A, ExecutableAction as E, InputOf as I, LogLevel as L, ModuleStates as M, OutputOf as O, PaginationMeta as P, QueryOptions as Q, RequestConfig as R, StandardResponse as S, Tokens as T, UseApiConfig as U, ValidationError as V, ApiModuleConfig as a, UseApiModuleOptions as b, UseApiModuleReturn as c, ModuleActions as d, UseApiQuery as e, ApiClientConfig as f, ActionOptions as g, ActionStateModule as h, ApiError as i, TokenManager as j, MiddlewareContext as k, Middleware as l, RefreshTokenConfig as m, ActionConfig as n, UseApiState as o, ActionState as p, ExecuteOptions as q, ActionsWithQuery as r, ActionMethods as s, t };
package/dist/client.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { AxiosInstance } from 'axios';
2
- import { U as UseApiConfig, A as ActionConfigModule, a as ApiModuleConfig, b as UseApiModuleOptions, c as UseApiModuleReturn, M as ModuleStates, d as ModuleActions, e as ModuleQueries } from './apiModule.types-DNSvFUla.cjs';
3
- import { U as UseApiRecordConfig, a as UseApiRecordReturn } from './useApiRecord.types-vHAh2k4p.cjs';
2
+ import { U as UseApiConfig, A as ActionConfigModule, a as ApiModuleConfig, b as UseApiModuleOptions, c as UseApiModuleReturn, M as ModuleStates, d as ModuleActions, e as UseApiQuery } from './apiModule.types-BdtTSLfS.cjs';
3
+ import { U as UseApiRecordConfig, a as UseApiRecordReturn } from './useApiRecord.types-1j78RjW0.cjs';
4
4
  import * as react from 'react';
5
5
  import { ReactNode } from 'react';
6
6
 
@@ -25,7 +25,7 @@ declare function useDeepCompareEffect(callback: EffectCallback, dependencies: De
25
25
  declare const ApiModuleProvider: react.Provider<{
26
26
  states: ModuleStates<any>;
27
27
  actions: ModuleActions<any>;
28
- queries: ModuleQueries<any>;
28
+ queries: Record<string, UseApiQuery>;
29
29
  dehydrate: () => string;
30
30
  } | null>;
31
31
  declare function useApiModule<TActions extends Record<string, ActionConfigModule<any, any>>, TExtra extends object = {}>(axiosInstance: AxiosInstance, moduleConfig: ApiModuleConfig<TActions>, options?: UseApiModuleOptions<TExtra>): UseApiModuleReturn<TActions, TExtra>;
package/dist/client.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { AxiosInstance } from 'axios';
2
- import { U as UseApiConfig, A as ActionConfigModule, a as ApiModuleConfig, b as UseApiModuleOptions, c as UseApiModuleReturn, M as ModuleStates, d as ModuleActions, e as ModuleQueries } from './apiModule.types-DNSvFUla.js';
3
- import { U as UseApiRecordConfig, a as UseApiRecordReturn } from './useApiRecord.types-kAcLy9LB.js';
2
+ import { U as UseApiConfig, A as ActionConfigModule, a as ApiModuleConfig, b as UseApiModuleOptions, c as UseApiModuleReturn, M as ModuleStates, d as ModuleActions, e as UseApiQuery } from './apiModule.types-BdtTSLfS.js';
3
+ import { U as UseApiRecordConfig, a as UseApiRecordReturn } from './useApiRecord.types-CTHi8FbV.js';
4
4
  import * as react from 'react';
5
5
  import { ReactNode } from 'react';
6
6
 
@@ -25,7 +25,7 @@ declare function useDeepCompareEffect(callback: EffectCallback, dependencies: De
25
25
  declare const ApiModuleProvider: react.Provider<{
26
26
  states: ModuleStates<any>;
27
27
  actions: ModuleActions<any>;
28
- queries: ModuleQueries<any>;
28
+ queries: Record<string, UseApiQuery>;
29
29
  dehydrate: () => string;
30
30
  } | null>;
31
31
  declare function useApiModule<TActions extends Record<string, ActionConfigModule<any, any>>, TExtra extends object = {}>(axiosInstance: AxiosInstance, moduleConfig: ApiModuleConfig<TActions>, options?: UseApiModuleOptions<TExtra>): UseApiModuleReturn<TActions, TExtra>;
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { AxiosInstance, AxiosRequestConfig, Method, AxiosResponse, AxiosError } from 'axios';
2
- import { f as ApiClientConfig, A as ActionConfigModule, S as StandardResponse, g as ActionOptions, R as RequestConfig, h as ActionStateModule, Q as QueryOptions, i as UseApiQuery, j as ApiError, L as LogLevel } from './apiModule.types-DNSvFUla.cjs';
3
- export { o as ActionConfig, u as ActionMethods, q as ActionState, s as ActionsWithQuery, a as ApiModuleConfig, E as ExecutableAction, r as ExecuteOptions, I as InputOf, m as Middleware, l as MiddlewareContext, d as ModuleActions, e as ModuleQueries, M as ModuleStates, O as OutputOf, P as PaginationMeta, n as RefreshTokenConfig, k as TokenManager, T as Tokens, U as UseApiConfig, b as UseApiModuleOptions, c as UseApiModuleReturn, p as UseApiState, V as ValidationError, t } from './apiModule.types-DNSvFUla.cjs';
4
- export { c as UseApiRecordActions, U as UseApiRecordConfig, a as UseApiRecordReturn, b as UseApiRecordState } from './useApiRecord.types-vHAh2k4p.cjs';
2
+ import { f as ApiClientConfig, A as ActionConfigModule, S as StandardResponse, g as ActionOptions, R as RequestConfig, h as ActionStateModule, Q as QueryOptions, e as UseApiQuery, i as ApiError, L as LogLevel } from './apiModule.types-BdtTSLfS.cjs';
3
+ export { n as ActionConfig, s as ActionMethods, p as ActionState, r as ActionsWithQuery, a as ApiModuleConfig, E as ExecutableAction, q as ExecuteOptions, I as InputOf, l as Middleware, k as MiddlewareContext, d as ModuleActions, M as ModuleStates, O as OutputOf, P as PaginationMeta, m as RefreshTokenConfig, j as TokenManager, T as Tokens, U as UseApiConfig, b as UseApiModuleOptions, c as UseApiModuleReturn, o as UseApiState, V as ValidationError, t } from './apiModule.types-BdtTSLfS.cjs';
4
+ export { c as UseApiRecordActions, U as UseApiRecordConfig, a as UseApiRecordReturn, b as UseApiRecordState } from './useApiRecord.types-1j78RjW0.cjs';
5
5
  import 'react';
6
6
 
7
7
  declare function createApiClient(config: ApiClientConfig): AxiosInstance;
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { AxiosInstance, AxiosRequestConfig, Method, AxiosResponse, AxiosError } from 'axios';
2
- import { f as ApiClientConfig, A as ActionConfigModule, S as StandardResponse, g as ActionOptions, R as RequestConfig, h as ActionStateModule, Q as QueryOptions, i as UseApiQuery, j as ApiError, L as LogLevel } from './apiModule.types-DNSvFUla.js';
3
- export { o as ActionConfig, u as ActionMethods, q as ActionState, s as ActionsWithQuery, a as ApiModuleConfig, E as ExecutableAction, r as ExecuteOptions, I as InputOf, m as Middleware, l as MiddlewareContext, d as ModuleActions, e as ModuleQueries, M as ModuleStates, O as OutputOf, P as PaginationMeta, n as RefreshTokenConfig, k as TokenManager, T as Tokens, U as UseApiConfig, b as UseApiModuleOptions, c as UseApiModuleReturn, p as UseApiState, V as ValidationError, t } from './apiModule.types-DNSvFUla.js';
4
- export { c as UseApiRecordActions, U as UseApiRecordConfig, a as UseApiRecordReturn, b as UseApiRecordState } from './useApiRecord.types-kAcLy9LB.js';
2
+ import { f as ApiClientConfig, A as ActionConfigModule, S as StandardResponse, g as ActionOptions, R as RequestConfig, h as ActionStateModule, Q as QueryOptions, e as UseApiQuery, i as ApiError, L as LogLevel } from './apiModule.types-BdtTSLfS.js';
3
+ export { n as ActionConfig, s as ActionMethods, p as ActionState, r as ActionsWithQuery, a as ApiModuleConfig, E as ExecutableAction, q as ExecuteOptions, I as InputOf, l as Middleware, k as MiddlewareContext, d as ModuleActions, M as ModuleStates, O as OutputOf, P as PaginationMeta, m as RefreshTokenConfig, j as TokenManager, T as Tokens, U as UseApiConfig, b as UseApiModuleOptions, c as UseApiModuleReturn, o as UseApiState, V as ValidationError, t } from './apiModule.types-BdtTSLfS.js';
4
+ export { c as UseApiRecordActions, U as UseApiRecordConfig, a as UseApiRecordReturn, b as UseApiRecordState } from './useApiRecord.types-CTHi8FbV.js';
5
5
  import 'react';
6
6
 
7
7
  declare function createApiClient(config: ApiClientConfig): AxiosInstance;
package/dist/server.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AxiosInstance } from 'axios';
2
- import { A as ActionConfigModule, a as ApiModuleConfig, I as InputOf } from './apiModule.types-DNSvFUla.cjs';
2
+ import { A as ActionConfigModule, a as ApiModuleConfig, I as InputOf } from './apiModule.types-BdtTSLfS.cjs';
3
3
  import 'react';
4
4
 
5
5
  /**
package/dist/server.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AxiosInstance } from 'axios';
2
- import { A as ActionConfigModule, a as ApiModuleConfig, I as InputOf } from './apiModule.types-DNSvFUla.js';
2
+ import { A as ActionConfigModule, a as ApiModuleConfig, I as InputOf } from './apiModule.types-BdtTSLfS.js';
3
3
  import 'react';
4
4
 
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import { Dispatch, SetStateAction } from 'react';
2
- import { R as RequestConfig, j as ApiError, S as StandardResponse, g as ActionOptions } from './apiModule.types-DNSvFUla.cjs';
2
+ import { R as RequestConfig, i as ApiError, S as StandardResponse, g as ActionOptions } from './apiModule.types-BdtTSLfS.cjs';
3
3
 
4
4
  /**
5
5
  * Represents the internal state of the `useApiRecord` hook.
@@ -1,5 +1,5 @@
1
1
  import { Dispatch, SetStateAction } from 'react';
2
- import { R as RequestConfig, j as ApiError, S as StandardResponse, g as ActionOptions } from './apiModule.types-DNSvFUla.js';
2
+ import { R as RequestConfig, i as ApiError, S as StandardResponse, g as ActionOptions } from './apiModule.types-BdtTSLfS.js';
3
3
 
4
4
  /**
5
5
  * Represents the internal state of the `useApiRecord` hook.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "api-core-lib",
3
- "version": "12.0.94",
3
+ "version": "12.0.96",
4
4
  "description": "A flexible and powerful API client library for modern web applications.",
5
5
  "type": "module",
6
6
  "exports": {