@carlonicora/nextjs-jsonapi 1.0.4 → 1.0.5

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.
Files changed (282) hide show
  1. package/dist/{AbstractService-BKlpJA61.d.mts → AbstractService-B2n_JdiC.d.mts} +1 -1
  2. package/dist/{AbstractService-D9eSVKNa.d.ts → AbstractService-DtQTYovo.d.ts} +1 -1
  3. package/dist/{content.interface-Dg2lt_An.d.mts → AuthComponent-CPLvEerw.d.mts} +11 -15
  4. package/dist/{content.interface-BhyAiOFq.d.ts → AuthComponent-m6Qp4Hz6.d.ts} +11 -15
  5. package/dist/{BlockNoteEditor-UVO3VZZE.mjs → BlockNoteEditor-BLVXQPXV.mjs} +14 -18
  6. package/dist/{BlockNoteEditor-UVO3VZZE.mjs.map → BlockNoteEditor-BLVXQPXV.mjs.map} +1 -1
  7. package/dist/{BlockNoteEditor-VFWG6LXI.js → BlockNoteEditor-ZTDHULFT.js} +15 -19
  8. package/dist/BlockNoteEditor-ZTDHULFT.js.map +1 -0
  9. package/dist/JsonApiRequest-O7BGUMFO.mjs +23 -0
  10. package/dist/JsonApiRequest-VARLNKAF.js +23 -0
  11. package/dist/JsonApiRequest-VARLNKAF.js.map +1 -0
  12. package/dist/chunk-2LM6LCJW.mjs +1 -0
  13. package/dist/chunk-3APORDYP.mjs +7783 -0
  14. package/dist/chunk-3APORDYP.mjs.map +1 -0
  15. package/dist/{chunk-TMVHSY3Y.js → chunk-5ZEADNNP.js} +36 -17
  16. package/dist/chunk-5ZEADNNP.js.map +1 -0
  17. package/dist/{chunk-ECDTZBYO.mjs → chunk-74F6BBHH.mjs} +21 -2
  18. package/dist/chunk-74F6BBHH.mjs.map +1 -0
  19. package/dist/{chunk-GYWPEPOH.mjs → chunk-7C5RAEBO.mjs} +72 -68
  20. package/dist/chunk-7C5RAEBO.mjs.map +1 -0
  21. package/dist/chunk-A5DDIABK.js +1 -0
  22. package/dist/{chunk-TEGF6ZWG.js → chunk-AGAJMJ4T.js} +47 -9
  23. package/dist/chunk-AGAJMJ4T.js.map +1 -0
  24. package/dist/{chunk-CXQOWQSY.js → chunk-AYHKQWHH.js} +15 -2
  25. package/dist/chunk-AYHKQWHH.js.map +1 -0
  26. package/dist/{chunk-I2REI7OA.js → chunk-HMHGLXWC.js} +33 -15
  27. package/dist/chunk-HMHGLXWC.js.map +1 -0
  28. package/dist/chunk-IWFGEPAA.mjs +1 -0
  29. package/dist/chunk-JC3WJK65.js +1 -0
  30. package/dist/{chunk-L6EQEAXU.mjs → chunk-PYF2U6WG.mjs} +25 -7
  31. package/dist/chunk-PYF2U6WG.mjs.map +1 -0
  32. package/dist/{chunk-YDVTFM7X.mjs → chunk-RBIVEH2K.mjs} +42 -4
  33. package/dist/chunk-RBIVEH2K.mjs.map +1 -0
  34. package/dist/{chunk-V2JJPI7N.js → chunk-RZO2LOW4.js} +237 -233
  35. package/dist/chunk-RZO2LOW4.js.map +1 -0
  36. package/dist/{chunk-X4BIHJ2B.mjs → chunk-SM63SZCP.mjs} +15 -2
  37. package/dist/chunk-SM63SZCP.mjs.map +1 -0
  38. package/dist/chunk-WEC4YMOS.js +7783 -0
  39. package/dist/chunk-WEC4YMOS.js.map +1 -0
  40. package/dist/client/index.d.mts +21 -2
  41. package/dist/client/index.d.ts +21 -2
  42. package/dist/client/index.js +18 -245
  43. package/dist/client/index.js.map +1 -1
  44. package/dist/client/index.mjs +28 -255
  45. package/dist/client/index.mjs.map +1 -1
  46. package/dist/components/index.d.mts +293 -8
  47. package/dist/components/index.d.ts +293 -8
  48. package/dist/components/index.js +78 -2323
  49. package/dist/components/index.js.map +1 -1
  50. package/dist/components/index.mjs +172 -2417
  51. package/dist/components/index.mjs.map +1 -1
  52. package/dist/{config-hXufftVS.d.ts → config-BmnK65TD.d.mts} +1 -0
  53. package/dist/{config-hXufftVS.d.mts → config-BmnK65TD.d.ts} +1 -0
  54. package/dist/config-DQeAo9Kf.d.mts +49 -0
  55. package/dist/config-DQeAo9Kf.d.ts +49 -0
  56. package/dist/contexts/index.d.mts +109 -21
  57. package/dist/contexts/index.d.ts +109 -21
  58. package/dist/contexts/index.js +39 -7
  59. package/dist/contexts/index.js.map +1 -1
  60. package/dist/contexts/index.mjs +40 -8
  61. package/dist/core/index.d.mts +3 -4
  62. package/dist/core/index.d.ts +3 -4
  63. package/dist/core/index.js +3 -7
  64. package/dist/core/index.js.map +1 -1
  65. package/dist/core/index.mjs +4 -8
  66. package/dist/{d3.link.interface-QMdB22bC.d.mts → d3.link.interface-ClC4Irqp.d.mts} +2 -1
  67. package/dist/{d3.link.interface-QMdB22bC.d.ts → d3.link.interface-ClC4Irqp.d.ts} +2 -1
  68. package/dist/features/index.d.mts +17 -86
  69. package/dist/features/index.d.ts +17 -86
  70. package/dist/features/index.js +7 -16
  71. package/dist/features/index.js.map +1 -1
  72. package/dist/features/index.mjs +10 -19
  73. package/dist/hooks/index.d.mts +18 -43
  74. package/dist/hooks/index.d.ts +18 -43
  75. package/dist/hooks/index.js +20 -7
  76. package/dist/hooks/index.js.map +1 -1
  77. package/dist/hooks/index.mjs +19 -6
  78. package/dist/index.d.mts +10 -6
  79. package/dist/index.d.ts +10 -6
  80. package/dist/index.js +13 -10
  81. package/dist/index.js.map +1 -1
  82. package/dist/index.mjs +22 -19
  83. package/dist/interfaces/index.d.mts +2 -1
  84. package/dist/interfaces/index.d.ts +2 -1
  85. package/dist/notification.interface-BBgMUdLR.d.mts +14 -0
  86. package/dist/notification.interface-gyvT-Z2F.d.ts +14 -0
  87. package/dist/permissions/index.d.mts +2 -3
  88. package/dist/permissions/index.d.ts +2 -3
  89. package/dist/server/index.d.mts +38 -18
  90. package/dist/server/index.d.ts +38 -18
  91. package/dist/server/index.js +70 -2
  92. package/dist/server/index.js.map +1 -1
  93. package/dist/server/index.mjs +68 -0
  94. package/dist/server/index.mjs.map +1 -1
  95. package/dist/types-BUAlgqqh.d.ts +39 -0
  96. package/dist/{types-DluCaP1I.d.ts → types-Bl61ob-7.d.mts} +19 -2
  97. package/dist/{types-lQVA8d_P.d.mts → types-Bl61ob-7.d.ts} +19 -2
  98. package/dist/types-iVdVY7ba.d.mts +39 -0
  99. package/dist/useSocket-Cn7fB_B1.d.mts +25 -0
  100. package/dist/useSocket-DzMKRKCA.d.ts +25 -0
  101. package/dist/user.fields-CbdObSmS.d.mts +18 -0
  102. package/dist/user.fields-CbdObSmS.d.ts +18 -0
  103. package/dist/utils/index.d.mts +1 -2
  104. package/dist/utils/index.d.ts +1 -2
  105. package/package.json +5 -3
  106. package/src/client/index.ts +13 -0
  107. package/src/components/forms/index.ts +1 -0
  108. package/src/components/index.ts +5 -0
  109. package/src/components/tables/ContentListTable.tsx +1 -0
  110. package/src/contexts/CommonContext.tsx +52 -0
  111. package/src/contexts/SharedContext.tsx +2 -0
  112. package/src/contexts/SocketContext.tsx +65 -0
  113. package/src/contexts/index.ts +6 -1
  114. package/src/features/auth/components/containers/AuthContainer.tsx +32 -0
  115. package/src/features/auth/components/containers/index.ts +1 -0
  116. package/src/features/auth/components/details/LandingComponent.tsx +39 -0
  117. package/src/features/auth/components/details/index.ts +1 -0
  118. package/src/features/auth/components/forms/AcceptInvitation.tsx +136 -0
  119. package/src/features/auth/components/forms/ActivateAccount.tsx +75 -0
  120. package/src/features/auth/components/forms/Cookies.tsx +32 -0
  121. package/src/features/auth/components/forms/ForgotPassword.tsx +108 -0
  122. package/src/features/auth/components/forms/Login.tsx +118 -0
  123. package/src/features/auth/components/forms/Logout.tsx +19 -0
  124. package/src/features/auth/components/forms/RefreshUser.tsx +39 -0
  125. package/src/features/auth/components/forms/Register.tsx +150 -0
  126. package/src/features/auth/components/forms/ResetPassword.tsx +126 -0
  127. package/src/features/auth/components/forms/index.ts +9 -0
  128. package/src/features/auth/components/index.ts +3 -0
  129. package/src/features/auth/contexts/AuthContext.tsx +77 -0
  130. package/src/features/auth/contexts/index.ts +1 -0
  131. package/src/features/auth/enums/AuthComponent.ts +9 -0
  132. package/src/features/auth/enums/index.ts +1 -0
  133. package/src/features/auth/index.ts +2 -1
  134. package/src/features/auth/utils/AuthCookies.ts +134 -0
  135. package/src/features/auth/utils/index.ts +1 -0
  136. package/src/features/company/components/containers/AdminCompanyContainer.tsx +26 -0
  137. package/src/features/company/components/containers/CompanyContainer.tsx +17 -0
  138. package/src/features/company/components/containers/index.ts +2 -0
  139. package/src/features/company/components/details/CompanyDetails.tsx +26 -0
  140. package/src/features/company/components/details/index.ts +1 -0
  141. package/src/features/company/components/forms/CompanyConfigurationEditor.tsx +151 -0
  142. package/src/features/company/components/forms/CompanyConfigurationSecurityForm.tsx +97 -0
  143. package/src/features/company/components/forms/CompanyDeleter.tsx +121 -0
  144. package/src/features/company/components/forms/CompanyEditor.tsx +245 -0
  145. package/src/features/company/components/forms/CompanyLicense.tsx +213 -0
  146. package/src/features/company/components/forms/index.ts +5 -0
  147. package/src/features/company/components/index.ts +4 -0
  148. package/src/features/company/components/lists/CompaniesList.tsx +31 -0
  149. package/src/features/company/components/lists/index.ts +1 -0
  150. package/src/features/company/contexts/CompanyContext.tsx +99 -0
  151. package/src/features/company/contexts/index.ts +0 -0
  152. package/src/features/company/hooks/index.ts +1 -0
  153. package/src/features/company/hooks/useCompanyTableStructure.tsx +82 -0
  154. package/src/features/feature/components/forms/FormFeatures.tsx +141 -140
  155. package/src/features/feature/components/forms/index.ts +1 -0
  156. package/src/features/feature/components/index.ts +1 -1
  157. package/src/features/feature/index.ts +1 -2
  158. package/src/features/module/index.ts +1 -1
  159. package/src/features/notification/components/common/NotificationErrorBoundary.tsx +51 -0
  160. package/src/features/notification/components/common/index.ts +1 -0
  161. package/src/features/notification/components/containers/NotificationsListContainer.tsx +44 -0
  162. package/src/features/notification/components/containers/index.ts +1 -0
  163. package/src/features/notification/components/index.ts +5 -0
  164. package/src/features/notification/components/lists/NotificationsList.tsx +129 -0
  165. package/src/features/notification/components/lists/index.ts +1 -0
  166. package/src/features/notification/components/modals/NotificationModal.tsx +220 -0
  167. package/src/features/notification/components/modals/index.ts +1 -0
  168. package/src/features/notification/components/notifications/Notification.tsx +120 -0
  169. package/src/features/notification/components/notifications/PushNotificationProvider.tsx +9 -0
  170. package/src/features/notification/components/notifications/index.ts +2 -0
  171. package/src/features/notification/contexts/NotificationContext.tsx +187 -0
  172. package/src/features/notification/contexts/index.ts +1 -0
  173. package/src/features/notification/index.ts +1 -1
  174. package/src/features/push/index.ts +1 -1
  175. package/src/features/role/components/containers/RoleContainer.tsx +18 -0
  176. package/src/features/role/components/containers/index.ts +1 -0
  177. package/src/features/role/components/details/RoleDetails.tsx +21 -0
  178. package/src/features/role/components/details/index.ts +1 -0
  179. package/src/features/role/components/forms/FormRoles.tsx +82 -0
  180. package/src/features/role/components/forms/RemoveUserFromRole.tsx +108 -0
  181. package/src/features/role/components/forms/UserRoleAdd.tsx +128 -0
  182. package/src/features/role/components/forms/index.ts +3 -0
  183. package/src/features/role/components/index.ts +4 -0
  184. package/src/features/role/components/lists/RolesList.tsx +27 -0
  185. package/src/features/role/components/lists/UserRolesList.tsx +31 -0
  186. package/src/features/role/components/lists/index.ts +2 -0
  187. package/src/features/role/contexts/RoleContext.tsx +84 -0
  188. package/src/features/role/contexts/index.ts +1 -0
  189. package/src/features/role/hooks/index.ts +1 -0
  190. package/src/features/role/hooks/useRoleTableStructure.tsx +72 -0
  191. package/src/features/s3/index.ts +1 -1
  192. package/src/features/user/components/containers/UserContainer.tsx +23 -0
  193. package/src/features/user/components/containers/UserIndexContainer.tsx +12 -0
  194. package/src/features/user/components/containers/UsersListContainer.tsx +36 -0
  195. package/src/features/user/components/containers/index.ts +3 -0
  196. package/src/features/user/components/details/UserDetails.tsx +74 -0
  197. package/src/features/user/components/details/UserIndexDetails.tsx +28 -0
  198. package/src/features/user/components/details/index.ts +2 -0
  199. package/src/features/user/components/forms/RoleUserAdd.tsx +93 -0
  200. package/src/features/user/components/forms/UserAvatarEditor.tsx +78 -0
  201. package/src/features/user/components/forms/UserDeleter.tsx +49 -0
  202. package/src/features/user/components/forms/UserEditor.tsx +319 -0
  203. package/src/features/user/components/forms/UserMultiSelect.tsx +218 -0
  204. package/src/features/user/components/forms/UserReactivator.tsx +79 -0
  205. package/src/features/user/components/forms/UserResentInvitationEmail.tsx +88 -0
  206. package/src/features/user/components/forms/UserSelector.tsx +185 -0
  207. package/src/features/user/components/forms/index.ts +8 -0
  208. package/src/features/user/components/index.ts +3 -0
  209. package/src/features/user/components/lists/AdminUsersList.tsx +41 -0
  210. package/src/features/user/components/lists/CompanyUsersList.tsx +44 -0
  211. package/src/features/user/components/lists/RelevantUsersList.tsx +30 -0
  212. package/src/features/user/components/lists/RoleUsersList.tsx +31 -0
  213. package/src/features/user/components/lists/UserListInAdd.tsx +53 -0
  214. package/src/features/user/components/lists/UsersList.tsx +30 -0
  215. package/src/features/user/components/lists/UsersListByContentIds.tsx +30 -0
  216. package/src/features/user/components/lists/index.ts +7 -0
  217. package/src/features/user/components/widgets/UserAvatarList.tsx +31 -0
  218. package/src/features/user/components/widgets/UserSearchPopover.tsx +89 -0
  219. package/src/features/user/contexts/UserContext.tsx +106 -0
  220. package/src/features/user/contexts/index.ts +1 -0
  221. package/src/features/user/hooks/index.ts +2 -0
  222. package/src/features/user/hooks/useUserSearch.ts +53 -0
  223. package/src/features/user/hooks/useUserTableStructure.tsx +115 -0
  224. package/src/features/user/index.ts +0 -1
  225. package/src/hooks/index.ts +4 -0
  226. package/src/hooks/useCustomD3Graph.tsx +2 -0
  227. package/src/hooks/useNotificationSync.ts +20 -0
  228. package/src/hooks/usePageTracker.ts +69 -0
  229. package/src/hooks/usePushNotifications.ts +82 -0
  230. package/src/hooks/useSocket.ts +201 -0
  231. package/src/hooks/useTableGenerator.ts +6 -2
  232. package/src/i18n/config.ts +1 -0
  233. package/src/index.ts +4 -0
  234. package/src/interfaces/d3.link.interface.ts +2 -1
  235. package/src/server/ServerSession.ts +103 -0
  236. package/src/server/index.ts +2 -1
  237. package/src/unified/JsonApiRequest.ts +23 -0
  238. package/dist/ApiRequestDataTypeInterface-CUKFDBx2.d.mts +0 -20
  239. package/dist/ApiRequestDataTypeInterface-CUKFDBx2.d.ts +0 -20
  240. package/dist/BlockNoteEditor-VFWG6LXI.js.map +0 -1
  241. package/dist/JsonApiRequest-S3ICLM7B.mjs +0 -20
  242. package/dist/JsonApiRequest-ZZLSP26T.js +0 -20
  243. package/dist/JsonApiRequest-ZZLSP26T.js.map +0 -1
  244. package/dist/chunk-366S2JCC.mjs +0 -31
  245. package/dist/chunk-366S2JCC.mjs.map +0 -1
  246. package/dist/chunk-5W6AKZE6.mjs +0 -131
  247. package/dist/chunk-5W6AKZE6.mjs.map +0 -1
  248. package/dist/chunk-A3J3AAYM.mjs +0 -97
  249. package/dist/chunk-A3J3AAYM.mjs.map +0 -1
  250. package/dist/chunk-AWONBQQP.js +0 -97
  251. package/dist/chunk-AWONBQQP.js.map +0 -1
  252. package/dist/chunk-CXQOWQSY.js.map +0 -1
  253. package/dist/chunk-DKKMWBP4.mjs +0 -1
  254. package/dist/chunk-DKKMWBP4.mjs.map +0 -1
  255. package/dist/chunk-DO2HLAZO.js +0 -48
  256. package/dist/chunk-DO2HLAZO.js.map +0 -1
  257. package/dist/chunk-DZXDB3K2.mjs +0 -17
  258. package/dist/chunk-DZXDB3K2.mjs.map +0 -1
  259. package/dist/chunk-ECDTZBYO.mjs.map +0 -1
  260. package/dist/chunk-FY4SXJGU.js +0 -806
  261. package/dist/chunk-FY4SXJGU.js.map +0 -1
  262. package/dist/chunk-GYWPEPOH.mjs.map +0 -1
  263. package/dist/chunk-H6FMOA6B.js +0 -1
  264. package/dist/chunk-H6FMOA6B.js.map +0 -1
  265. package/dist/chunk-I2REI7OA.js.map +0 -1
  266. package/dist/chunk-J4Q36PMP.js +0 -31
  267. package/dist/chunk-J4Q36PMP.js.map +0 -1
  268. package/dist/chunk-L6EQEAXU.mjs.map +0 -1
  269. package/dist/chunk-MFO27OHB.mjs +0 -48
  270. package/dist/chunk-MFO27OHB.mjs.map +0 -1
  271. package/dist/chunk-RAF7PNLG.js +0 -131
  272. package/dist/chunk-RAF7PNLG.js.map +0 -1
  273. package/dist/chunk-RUR22SVM.js +0 -17
  274. package/dist/chunk-RUR22SVM.js.map +0 -1
  275. package/dist/chunk-TEGF6ZWG.js.map +0 -1
  276. package/dist/chunk-TMVHSY3Y.js.map +0 -1
  277. package/dist/chunk-V2JJPI7N.js.map +0 -1
  278. package/dist/chunk-WWWMJZEF.mjs +0 -806
  279. package/dist/chunk-WWWMJZEF.mjs.map +0 -1
  280. package/dist/chunk-X4BIHJ2B.mjs.map +0 -1
  281. package/dist/chunk-YDVTFM7X.mjs.map +0 -1
  282. /package/dist/{JsonApiRequest-S3ICLM7B.mjs.map → JsonApiRequest-O7BGUMFO.mjs.map} +0 -0
@@ -2,9 +2,14 @@ import * as React from 'react';
2
2
  import React__default from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { A as ApiDataInterface, J as JsonApiHydratedDataInterface } from '../ApiDataInterface-DPP8s46n.mjs';
5
- import { A as ApiRequestDataTypeInterface } from '../ApiRequestDataTypeInterface-CUKFDBx2.mjs';
5
+ import { A as ApiRequestDataTypeInterface } from '../types-Bl61ob-7.mjs';
6
6
  import { A as ApiResponseInterface } from '../ApiResponseInterface-BHN5D9r5.mjs';
7
7
  import { A as ApiData } from '../ApiData-DPKNfY-9.mjs';
8
+ import { U as UseTableStructureHook } from '../types-iVdVY7ba.mjs';
9
+ import { R as RoleInterface, U as UserInterface } from '../user.interface-CAsTIbuQ.mjs';
10
+ import { R as RoleFields, U as UserFields } from '../user.fields-CbdObSmS.mjs';
11
+ import '@tanstack/react-table';
12
+ import '../useDataListRetriever-futhx3OP.mjs';
8
13
 
9
14
  type CacheProfile = "seconds" | "minutes" | "hours" | "days" | "weeks" | "max" | "default";
10
15
  interface JsonApiConfig {
@@ -249,4 +254,18 @@ declare function directFetch(params: DirectFetchParams): Promise<ApiData>;
249
254
  */
250
255
  declare function getClientToken(): Promise<string | undefined>;
251
256
 
252
- export { type CacheProfile, type DirectFetchParams, type JsonApiConfig, JsonApiContext, JsonApiProvider, type JsonApiProviderProps, type MutationMethod, type MutationParams, type UseJsonApiGetOptions, type UseJsonApiGetResult, type UseJsonApiMutationResult, directFetch, getClientToken, useJsonApiConfig, useJsonApiConfigOptional, useJsonApiGet, useJsonApiMutation, useRehydration, useRehydrationList };
257
+ declare const useRoleTableStructure: UseTableStructureHook<RoleInterface, RoleFields>;
258
+
259
+ declare const useUserSearch: () => {
260
+ users: UserInterface[];
261
+ searchQuery: string;
262
+ setSearchQuery: React.Dispatch<React.SetStateAction<string>>;
263
+ isLoading: boolean;
264
+ loadUsers: (search: string) => Promise<void>;
265
+ clearSearch: () => void;
266
+ searchQueryRef: React.RefObject<string>;
267
+ };
268
+
269
+ declare const useUserTableStructure: UseTableStructureHook<UserInterface, UserFields>;
270
+
271
+ export { type CacheProfile, type DirectFetchParams, type JsonApiConfig, JsonApiContext, JsonApiProvider, type JsonApiProviderProps, type MutationMethod, type MutationParams, type UseJsonApiGetOptions, type UseJsonApiGetResult, type UseJsonApiMutationResult, directFetch, getClientToken, useJsonApiConfig, useJsonApiConfigOptional, useJsonApiGet, useJsonApiMutation, useRehydration, useRehydrationList, useRoleTableStructure, useUserSearch, useUserTableStructure };
@@ -2,9 +2,14 @@ import * as React from 'react';
2
2
  import React__default from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { A as ApiDataInterface, J as JsonApiHydratedDataInterface } from '../ApiDataInterface-DPP8s46n.js';
5
- import { A as ApiRequestDataTypeInterface } from '../ApiRequestDataTypeInterface-CUKFDBx2.js';
5
+ import { A as ApiRequestDataTypeInterface } from '../types-Bl61ob-7.js';
6
6
  import { A as ApiResponseInterface } from '../ApiResponseInterface-DDI7QQPR.js';
7
7
  import { A as ApiData } from '../ApiData-DPKNfY-9.js';
8
+ import { U as UseTableStructureHook } from '../types-BUAlgqqh.js';
9
+ import { R as RoleInterface, U as UserInterface } from '../user.interface-CbWqMaaU.js';
10
+ import { R as RoleFields, U as UserFields } from '../user.fields-CbdObSmS.js';
11
+ import '@tanstack/react-table';
12
+ import '../useDataListRetriever-futhx3OP.js';
8
13
 
9
14
  type CacheProfile = "seconds" | "minutes" | "hours" | "days" | "weeks" | "max" | "default";
10
15
  interface JsonApiConfig {
@@ -249,4 +254,18 @@ declare function directFetch(params: DirectFetchParams): Promise<ApiData>;
249
254
  */
250
255
  declare function getClientToken(): Promise<string | undefined>;
251
256
 
252
- export { type CacheProfile, type DirectFetchParams, type JsonApiConfig, JsonApiContext, JsonApiProvider, type JsonApiProviderProps, type MutationMethod, type MutationParams, type UseJsonApiGetOptions, type UseJsonApiGetResult, type UseJsonApiMutationResult, directFetch, getClientToken, useJsonApiConfig, useJsonApiConfigOptional, useJsonApiGet, useJsonApiMutation, useRehydration, useRehydrationList };
257
+ declare const useRoleTableStructure: UseTableStructureHook<RoleInterface, RoleFields>;
258
+
259
+ declare const useUserSearch: () => {
260
+ users: UserInterface[];
261
+ searchQuery: string;
262
+ setSearchQuery: React.Dispatch<React.SetStateAction<string>>;
263
+ isLoading: boolean;
264
+ loadUsers: (search: string) => Promise<void>;
265
+ clearSearch: () => void;
266
+ searchQueryRef: React.RefObject<string>;
267
+ };
268
+
269
+ declare const useUserTableStructure: UseTableStructureHook<UserInterface, UserFields>;
270
+
271
+ export { type CacheProfile, type DirectFetchParams, type JsonApiConfig, JsonApiContext, JsonApiProvider, type JsonApiProviderProps, type MutationMethod, type MutationParams, type UseJsonApiGetOptions, type UseJsonApiGetResult, type UseJsonApiMutationResult, directFetch, getClientToken, useJsonApiConfig, useJsonApiConfigOptional, useJsonApiGet, useJsonApiMutation, useRehydration, useRehydrationList, useRoleTableStructure, useUserSearch, useUserTableStructure };
@@ -1,265 +1,38 @@
1
1
  "use client";
2
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
3
+
3
4
 
4
5
 
5
- var _chunkIBS6NI7Djs = require('../chunk-IBS6NI7D.js');
6
6
 
7
7
 
8
- var _chunkLXKSUWAVjs = require('../chunk-LXKSUWAV.js');
9
8
 
10
9
 
11
- var _chunkJ4Q36PMPjs = require('../chunk-J4Q36PMP.js');
12
- require('../chunk-DO2HLAZO.js');
13
10
 
14
11
 
15
- var _chunk7QVYU63Ejs = require('../chunk-7QVYU63E.js');
16
12
 
17
- // src/client/context/JsonApiContext.ts
18
- var _react = require('react');
19
- var JsonApiContext = _react.createContext.call(void 0, null);
20
- function useJsonApiConfig() {
21
- const config = _react.useContext.call(void 0, JsonApiContext);
22
- if (!config) {
23
- throw new Error("useJsonApiConfig must be used within a JsonApiProvider");
24
- }
25
- return config;
26
- }
27
- _chunk7QVYU63Ejs.__name.call(void 0, useJsonApiConfig, "useJsonApiConfig");
28
- function useJsonApiConfigOptional() {
29
- return _react.useContext.call(void 0, JsonApiContext);
30
- }
31
- _chunk7QVYU63Ejs.__name.call(void 0, useJsonApiConfigOptional, "useJsonApiConfigOptional");
32
13
 
33
- // src/client/context/JsonApiProvider.tsx
34
14
 
35
- var _jsxruntime = require('react/jsx-runtime');
36
- function JsonApiProvider({ config, children }) {
37
- _react.useEffect.call(void 0, () => {
38
- if (config.bootstrapper) {
39
- config.bootstrapper();
40
- }
41
- }, [config.bootstrapper]);
42
- const memoizedConfig = _react.useMemo.call(void 0, () => config, [config]);
43
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, JsonApiContext.Provider, { value: memoizedConfig, children });
44
- }
45
- _chunk7QVYU63Ejs.__name.call(void 0, JsonApiProvider, "JsonApiProvider");
15
+ var _chunkWEC4YMOSjs = require('../chunk-WEC4YMOS.js');
46
16
 
47
- // src/client/hooks/useJsonApiGet.ts
48
17
 
49
- function useJsonApiGet(params) {
50
- const [data, setData] = _react.useState.call(void 0, null);
51
- const [loading, setLoading] = _react.useState.call(void 0, false);
52
- const [error, setError] = _react.useState.call(void 0, null);
53
- const [response, setResponse] = _react.useState.call(void 0, null);
54
- const isMounted = _react.useRef.call(void 0, true);
55
- const fetchData = _react.useCallback.call(void 0, async () => {
56
- if (_optionalChain([params, 'access', _ => _.options, 'optionalAccess', _2 => _2.enabled]) === false) return;
57
- setLoading(true);
58
- setError(null);
59
- try {
60
- const { JsonApiGet } = await Promise.resolve().then(() => _interopRequireWildcard(require("../JsonApiRequest-ZZLSP26T.js")));
61
- const language = navigator.language.split("-")[0] || "en";
62
- const apiResponse = await JsonApiGet({
63
- classKey: params.classKey,
64
- endpoint: params.endpoint,
65
- companyId: params.companyId,
66
- language
67
- });
68
- if (!isMounted.current) return;
69
- setResponse(apiResponse);
70
- if (apiResponse.ok) {
71
- setData(apiResponse.data);
72
- } else {
73
- setError(apiResponse.error);
74
- }
75
- } catch (err) {
76
- if (!isMounted.current) return;
77
- setError(err instanceof Error ? err.message : "Unknown error");
78
- } finally {
79
- if (isMounted.current) {
80
- setLoading(false);
81
- }
82
- }
83
- }, [params.classKey, params.endpoint, params.companyId, _optionalChain([params, 'access', _3 => _3.options, 'optionalAccess', _4 => _4.enabled])]);
84
- const fetchNextPage = _react.useCallback.call(void 0, async () => {
85
- if (!_optionalChain([response, 'optionalAccess', _5 => _5.nextPage])) return;
86
- setLoading(true);
87
- try {
88
- const nextResponse = await response.nextPage();
89
- if (!isMounted.current) return;
90
- setResponse(nextResponse);
91
- if (nextResponse.ok) {
92
- setData(nextResponse.data);
93
- } else {
94
- setError(nextResponse.error);
95
- }
96
- } catch (err) {
97
- if (!isMounted.current) return;
98
- setError(err instanceof Error ? err.message : "Unknown error");
99
- } finally {
100
- if (isMounted.current) {
101
- setLoading(false);
102
- }
103
- }
104
- }, [response]);
105
- const fetchPreviousPage = _react.useCallback.call(void 0, async () => {
106
- if (!_optionalChain([response, 'optionalAccess', _6 => _6.prevPage])) return;
107
- setLoading(true);
108
- try {
109
- const prevResponse = await response.prevPage();
110
- if (!isMounted.current) return;
111
- setResponse(prevResponse);
112
- if (prevResponse.ok) {
113
- setData(prevResponse.data);
114
- } else {
115
- setError(prevResponse.error);
116
- }
117
- } catch (err) {
118
- if (!isMounted.current) return;
119
- setError(err instanceof Error ? err.message : "Unknown error");
120
- } finally {
121
- if (isMounted.current) {
122
- setLoading(false);
123
- }
124
- }
125
- }, [response]);
126
- _react.useEffect.call(void 0, () => {
127
- isMounted.current = true;
128
- fetchData();
129
- return () => {
130
- isMounted.current = false;
131
- };
132
- }, [fetchData, ..._optionalChain([params, 'access', _7 => _7.options, 'optionalAccess', _8 => _8.deps]) || []]);
133
- return {
134
- data,
135
- loading,
136
- error,
137
- response,
138
- refetch: fetchData,
139
- hasNextPage: !!_optionalChain([response, 'optionalAccess', _9 => _9.next]),
140
- hasPreviousPage: !!_optionalChain([response, 'optionalAccess', _10 => _10.prev]),
141
- fetchNextPage,
142
- fetchPreviousPage
143
- };
144
- }
145
- _chunk7QVYU63Ejs.__name.call(void 0, useJsonApiGet, "useJsonApiGet");
18
+ var _chunkIBS6NI7Djs = require('../chunk-IBS6NI7D.js');
19
+ require('../chunk-A5DDIABK.js');
20
+ require('../chunk-JC3WJK65.js');
21
+ require('../chunk-RZO2LOW4.js');
22
+
146
23
 
147
- // src/client/hooks/useJsonApiMutation.ts
24
+ var _chunkLXKSUWAVjs = require('../chunk-LXKSUWAV.js');
25
+ require('../chunk-AYHKQWHH.js');
26
+ require('../chunk-5ZEADNNP.js');
27
+ require('../chunk-4HCRAOS5.js');
28
+ require('../chunk-3FBCC4G3.js');
29
+ require('../chunk-HMHGLXWC.js');
30
+ require('../chunk-AGAJMJ4T.js');
31
+ require('../chunk-6GKHCVF6.js');
32
+ require('../chunk-7QVYU63E.js');
148
33
 
149
- function useJsonApiMutation(config) {
150
- const [data, setData] = _react.useState.call(void 0, null);
151
- const [loading, setLoading] = _react.useState.call(void 0, false);
152
- const [error, setError] = _react.useState.call(void 0, null);
153
- const [response, setResponse] = _react.useState.call(void 0, null);
154
- const reset = _react.useCallback.call(void 0, () => {
155
- setData(null);
156
- setLoading(false);
157
- setError(null);
158
- setResponse(null);
159
- }, []);
160
- const mutate = _react.useCallback.call(void 0,
161
- async (params) => {
162
- setLoading(true);
163
- setError(null);
164
- try {
165
- const { JsonApiPost, JsonApiPut, JsonApiPatch, JsonApiDelete } = await Promise.resolve().then(() => _interopRequireWildcard(require("../JsonApiRequest-ZZLSP26T.js")));
166
- const language = navigator.language.split("-")[0] || "en";
167
- let apiResponse;
168
- switch (config.method) {
169
- case "POST":
170
- apiResponse = await JsonApiPost({
171
- classKey: config.classKey,
172
- endpoint: params.endpoint,
173
- companyId: params.companyId,
174
- body: params.body,
175
- overridesJsonApiCreation: params.overridesJsonApiCreation,
176
- files: params.files,
177
- language,
178
- responseType: params.responseType
179
- });
180
- break;
181
- case "PUT":
182
- apiResponse = await JsonApiPut({
183
- classKey: config.classKey,
184
- endpoint: params.endpoint,
185
- companyId: params.companyId,
186
- body: params.body,
187
- files: params.files,
188
- language,
189
- responseType: params.responseType
190
- });
191
- break;
192
- case "PATCH":
193
- apiResponse = await JsonApiPatch({
194
- classKey: config.classKey,
195
- endpoint: params.endpoint,
196
- companyId: params.companyId,
197
- body: params.body,
198
- overridesJsonApiCreation: params.overridesJsonApiCreation,
199
- files: params.files,
200
- language,
201
- responseType: params.responseType
202
- });
203
- break;
204
- case "DELETE":
205
- apiResponse = await JsonApiDelete({
206
- classKey: config.classKey,
207
- endpoint: params.endpoint,
208
- companyId: params.companyId,
209
- language,
210
- responseType: params.responseType
211
- });
212
- break;
213
- }
214
- setResponse(apiResponse);
215
- if (apiResponse.ok) {
216
- const resultData = apiResponse.data;
217
- setData(resultData);
218
- _optionalChain([config, 'access', _11 => _11.onSuccess, 'optionalCall', _12 => _12(resultData)]);
219
- return resultData;
220
- } else {
221
- setError(apiResponse.error);
222
- _optionalChain([config, 'access', _13 => _13.onError, 'optionalCall', _14 => _14(apiResponse.error)]);
223
- return null;
224
- }
225
- } catch (err) {
226
- const errorMessage = err instanceof Error ? err.message : "Unknown error";
227
- setError(errorMessage);
228
- _optionalChain([config, 'access', _15 => _15.onError, 'optionalCall', _16 => _16(errorMessage)]);
229
- return null;
230
- } finally {
231
- setLoading(false);
232
- }
233
- },
234
- [config]
235
- );
236
- return {
237
- data,
238
- loading,
239
- error,
240
- response,
241
- mutate,
242
- reset
243
- };
244
- }
245
- _chunk7QVYU63Ejs.__name.call(void 0, useJsonApiMutation, "useJsonApiMutation");
246
34
 
247
- // src/client/hooks/useRehydration.ts
248
35
 
249
- function useRehydration(classKey, data) {
250
- return _react.useMemo.call(void 0, () => {
251
- if (!data) return null;
252
- return _chunkJ4Q36PMPjs.RehydrationFactory.rehydrate(classKey, data);
253
- }, [classKey, data]);
254
- }
255
- _chunk7QVYU63Ejs.__name.call(void 0, useRehydration, "useRehydration");
256
- function useRehydrationList(classKey, data) {
257
- return _react.useMemo.call(void 0, () => {
258
- if (!data || data.length === 0) return [];
259
- return _chunkJ4Q36PMPjs.RehydrationFactory.rehydrateList(classKey, data);
260
- }, [classKey, data]);
261
- }
262
- _chunk7QVYU63Ejs.__name.call(void 0, useRehydrationList, "useRehydrationList");
263
36
 
264
37
 
265
38
 
@@ -271,5 +44,5 @@ _chunk7QVYU63Ejs.__name.call(void 0, useRehydrationList, "useRehydrationList");
271
44
 
272
45
 
273
46
 
274
- exports.JsonApiContext = JsonApiContext; exports.JsonApiProvider = JsonApiProvider; exports.directFetch = _chunkIBS6NI7Djs.directFetch; exports.getClientToken = _chunkLXKSUWAVjs.getClientToken; exports.useJsonApiConfig = useJsonApiConfig; exports.useJsonApiConfigOptional = useJsonApiConfigOptional; exports.useJsonApiGet = useJsonApiGet; exports.useJsonApiMutation = useJsonApiMutation; exports.useRehydration = useRehydration; exports.useRehydrationList = useRehydrationList;
47
+ exports.JsonApiContext = _chunkWEC4YMOSjs.JsonApiContext; exports.JsonApiProvider = _chunkWEC4YMOSjs.JsonApiProvider; exports.directFetch = _chunkIBS6NI7Djs.directFetch; exports.getClientToken = _chunkLXKSUWAVjs.getClientToken; exports.useJsonApiConfig = _chunkWEC4YMOSjs.useJsonApiConfig; exports.useJsonApiConfigOptional = _chunkWEC4YMOSjs.useJsonApiConfigOptional; exports.useJsonApiGet = _chunkWEC4YMOSjs.useJsonApiGet; exports.useJsonApiMutation = _chunkWEC4YMOSjs.useJsonApiMutation; exports.useRehydration = _chunkWEC4YMOSjs.useRehydration; exports.useRehydrationList = _chunkWEC4YMOSjs.useRehydrationList; exports.useRoleTableStructure = _chunkWEC4YMOSjs.useRoleTableStructure; exports.useUserSearch = _chunkWEC4YMOSjs.useUserSearch; exports.useUserTableStructure = _chunkWEC4YMOSjs.useUserTableStructure;
275
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/client/index.js","../../src/client/context/JsonApiContext.ts","../../src/client/context/JsonApiProvider.tsx","../../src/client/hooks/useJsonApiGet.ts","../../src/client/hooks/useJsonApiMutation.ts","../../src/client/hooks/useRehydration.ts"],"names":["useEffect","useState","useCallback","useMemo"],"mappings":"AAAA,22BAAY;AACZ;AACE;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B;AACA;ACbA,8BAA0C;AA4C1C,IAAM,eAAA,EAAiB,kCAAA,IAAwC,CAAA;AAExD,SAAS,gBAAA,CAAA,EAAkC;AAChD,EAAA,MAAM,OAAA,EAAS,+BAAA,cAAyB,CAAA;AACxC,EAAA,GAAA,CAAI,CAAC,MAAA,EAAQ;AACX,IAAA,MAAM,IAAI,KAAA,CAAM,wDAAwD,CAAA;AAAA,EAC1E;AACA,EAAA,OAAO,MAAA;AACT;AANgB,qCAAA,gBAAA,EAAA,kBAAA,CAAA;AAQT,SAAS,wBAAA,CAAA,EAAiD;AAC/D,EAAA,OAAO,+BAAA,cAAyB,CAAA;AAClC;AAFgB,qCAAA,wBAAA,EAAA,0BAAA,CAAA;AD1BhB;AACA;AE7BA;AAoBI,+CAAA;AAZG,SAAS,eAAA,CAAgB,EAAE,MAAA,EAAQ,SAAS,CAAA,EAAyB;AAE1E,EAAA,8BAAA,CAAU,EAAA,GAAM;AACd,IAAA,GAAA,CAAI,MAAA,CAAO,YAAA,EAAc;AACvB,MAAA,MAAA,CAAO,YAAA,CAAa,CAAA;AAAA,IACtB;AAAA,EACF,CAAA,EAAG,CAAC,MAAA,CAAO,YAAY,CAAC,CAAA;AAGxB,EAAA,MAAM,eAAA,EAAiB,4BAAA,CAAQ,EAAA,GAAM,MAAA,EAAQ,CAAC,MAAM,CAAC,CAAA;AAErD,EAAA,uBACE,6BAAA,cAAC,CAAe,QAAA,EAAf,EAAwB,KAAA,EAAO,cAAA,EAC7B,SAAA,CACH,CAAA;AAEJ;AAhBgB,qCAAA,eAAA,EAAA,iBAAA,CAAA;AFkChB;AACA;AG3CA;AAsEO,SAAS,aAAA,CAA0C,MAAA,EAK/B;AACzB,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,EAAA,EAAI,6BAAA,IAAuB,CAAA;AAC/C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,EAAA,EAAI,6BAAA,KAAc,CAAA;AAC5C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,EAAA,EAAI,6BAAA,IAA4B,CAAA;AACtD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,EAAA,EAAI,6BAAA,IAA0C,CAAA;AAC1E,EAAA,MAAM,UAAA,EAAY,2BAAA,IAAW,CAAA;AAE7B,EAAA,MAAM,UAAA,EAAY,gCAAA,MAAY,CAAA,EAAA,GAAY;AACxC,IAAA,GAAA,iBAAI,MAAA,mBAAO,OAAA,6BAAS,UAAA,IAAY,KAAA,EAAO,MAAA;AAEvC,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,QAAA,CAAS,IAAI,CAAA;AAEb,IAAA,IAAI;AACF,MAAA,MAAM,EAAE,WAAW,EAAA,EAAI,MAAM,4DAAA,CAAO,+BAA8B,GAAA;AAClE,MAAA,MAAM,SAAA,EAAW,SAAA,CAAU,QAAA,CAAS,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,EAAA,GAAK,IAAA;AAErD,MAAA,MAAM,YAAA,EAAc,MAAM,UAAA,CAAW;AAAA,QACnC,QAAA,EAAU,MAAA,CAAO,QAAA;AAAA,QACjB,QAAA,EAAU,MAAA,CAAO,QAAA;AAAA,QACjB,SAAA,EAAW,MAAA,CAAO,SAAA;AAAA,QAClB;AAAA,MACF,CAAC,CAAA;AAED,MAAA,GAAA,CAAI,CAAC,SAAA,CAAU,OAAA,EAAS,MAAA;AAExB,MAAA,WAAA,CAAY,WAAW,CAAA;AAEvB,MAAA,GAAA,CAAI,WAAA,CAAY,EAAA,EAAI;AAClB,QAAA,OAAA,CAAQ,WAAA,CAAY,IAAS,CAAA;AAAA,MAC/B,EAAA,KAAO;AACL,QAAA,QAAA,CAAS,WAAA,CAAY,KAAK,CAAA;AAAA,MAC5B;AAAA,IACF,EAAA,MAAA,CAAS,GAAA,EAAK;AACZ,MAAA,GAAA,CAAI,CAAC,SAAA,CAAU,OAAA,EAAS,MAAA;AACxB,MAAA,QAAA,CAAS,IAAA,WAAe,MAAA,EAAQ,GAAA,CAAI,QAAA,EAAU,eAAe,CAAA;AAAA,IAC/D,EAAA,QAAE;AACA,MAAA,GAAA,CAAI,SAAA,CAAU,OAAA,EAAS;AACrB,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClB;AAAA,IACF;AAAA,EACF,CAAA,EAAG,CAAC,MAAA,CAAO,QAAA,EAAU,MAAA,CAAO,QAAA,EAAU,MAAA,CAAO,SAAA,kBAAW,MAAA,qBAAO,OAAA,6BAAS,SAAO,CAAC,CAAA;AAEhF,EAAA,MAAM,cAAA,EAAgB,gCAAA,MAAY,CAAA,EAAA,GAAY;AAC5C,IAAA,GAAA,CAAI,iBAAC,QAAA,6BAAU,UAAA,EAAU,MAAA;AAEzB,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,IAAI;AACF,MAAA,MAAM,aAAA,EAAe,MAAM,QAAA,CAAS,QAAA,CAAS,CAAA;AAC7C,MAAA,GAAA,CAAI,CAAC,SAAA,CAAU,OAAA,EAAS,MAAA;AAExB,MAAA,WAAA,CAAY,YAAY,CAAA;AACxB,MAAA,GAAA,CAAI,YAAA,CAAa,EAAA,EAAI;AACnB,QAAA,OAAA,CAAQ,YAAA,CAAa,IAAS,CAAA;AAAA,MAChC,EAAA,KAAO;AACL,QAAA,QAAA,CAAS,YAAA,CAAa,KAAK,CAAA;AAAA,MAC7B;AAAA,IACF,EAAA,MAAA,CAAS,GAAA,EAAK;AACZ,MAAA,GAAA,CAAI,CAAC,SAAA,CAAU,OAAA,EAAS,MAAA;AACxB,MAAA,QAAA,CAAS,IAAA,WAAe,MAAA,EAAQ,GAAA,CAAI,QAAA,EAAU,eAAe,CAAA;AAAA,IAC/D,EAAA,QAAE;AACA,MAAA,GAAA,CAAI,SAAA,CAAU,OAAA,EAAS;AACrB,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClB;AAAA,IACF;AAAA,EACF,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AAEb,EAAA,MAAM,kBAAA,EAAoB,gCAAA,MAAY,CAAA,EAAA,GAAY;AAChD,IAAA,GAAA,CAAI,iBAAC,QAAA,6BAAU,UAAA,EAAU,MAAA;AAEzB,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,IAAI;AACF,MAAA,MAAM,aAAA,EAAe,MAAM,QAAA,CAAS,QAAA,CAAS,CAAA;AAC7C,MAAA,GAAA,CAAI,CAAC,SAAA,CAAU,OAAA,EAAS,MAAA;AAExB,MAAA,WAAA,CAAY,YAAY,CAAA;AACxB,MAAA,GAAA,CAAI,YAAA,CAAa,EAAA,EAAI;AACnB,QAAA,OAAA,CAAQ,YAAA,CAAa,IAAS,CAAA;AAAA,MAChC,EAAA,KAAO;AACL,QAAA,QAAA,CAAS,YAAA,CAAa,KAAK,CAAA;AAAA,MAC7B;AAAA,IACF,EAAA,MAAA,CAAS,GAAA,EAAK;AACZ,MAAA,GAAA,CAAI,CAAC,SAAA,CAAU,OAAA,EAAS,MAAA;AACxB,MAAA,QAAA,CAAS,IAAA,WAAe,MAAA,EAAQ,GAAA,CAAI,QAAA,EAAU,eAAe,CAAA;AAAA,IAC/D,EAAA,QAAE;AACA,MAAA,GAAA,CAAI,SAAA,CAAU,OAAA,EAAS;AACrB,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClB;AAAA,IACF;AAAA,EACF,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AAEb,EAAAA,8BAAAA,CAAU,EAAA,GAAM;AACd,IAAA,SAAA,CAAU,QAAA,EAAU,IAAA;AACpB,IAAA,SAAA,CAAU,CAAA;AACV,IAAA,OAAO,CAAA,EAAA,GAAM;AACX,MAAA,SAAA,CAAU,QAAA,EAAU,KAAA;AAAA,IACtB,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,SAAA,EAAW,mBAAI,MAAA,qBAAO,OAAA,6BAAS,OAAA,GAAQ,CAAC,CAAE,CAAC,CAAA;AAE/C,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA,EAAS,SAAA;AAAA,IACT,WAAA,EAAa,CAAC,iBAAC,QAAA,6BAAU,MAAA;AAAA,IACzB,eAAA,EAAiB,CAAC,iBAAC,QAAA,+BAAU,MAAA;AAAA,IAC7B,aAAA;AAAA,IACA;AAAA,EACF,CAAA;AACF;AAnHgB,qCAAA,aAAA,EAAA,eAAA,CAAA;AHwEhB;AACA;AI/IA;AAkFO,SAAS,kBAAA,CAA+C,MAAA,EAK/B;AAC9B,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,EAAA,EAAIC,6BAAAA,IAAuB,CAAA;AAC/C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,EAAA,EAAIA,6BAAAA,KAAc,CAAA;AAC5C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,EAAA,EAAIA,6BAAAA,IAA4B,CAAA;AACtD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,EAAA,EAAIA,6BAAAA,IAA0C,CAAA;AAE1E,EAAA,MAAM,MAAA,EAAQC,gCAAAA,CAAY,EAAA,GAAM;AAC9B,IAAA,OAAA,CAAQ,IAAI,CAAA;AACZ,IAAA,UAAA,CAAW,KAAK,CAAA;AAChB,IAAA,QAAA,CAAS,IAAI,CAAA;AACb,IAAA,WAAA,CAAY,IAAI,CAAA;AAAA,EAClB,CAAA,EAAG,CAAC,CAAC,CAAA;AAEL,EAAA,MAAM,OAAA,EAASA,gCAAAA;AAAA,IACb,MAAA,CAAO,MAAA,EAAA,GAA8C;AACnD,MAAA,UAAA,CAAW,IAAI,CAAA;AACf,MAAA,QAAA,CAAS,IAAI,CAAA;AAEb,MAAA,IAAI;AACF,QAAA,MAAM,EAAE,WAAA,EAAa,UAAA,EAAY,YAAA,EAAc,cAAc,EAAA,EAAI,MAAM,4DAAA,CAAO,+BAA8B,GAAA;AAC5G,QAAA,MAAM,SAAA,EAAW,SAAA,CAAU,QAAA,CAAS,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,EAAA,GAAK,IAAA;AAErD,QAAA,IAAI,WAAA;AAEJ,QAAA,OAAA,CAAQ,MAAA,CAAO,MAAA,EAAQ;AAAA,UACrB,KAAK,MAAA;AACH,YAAA,YAAA,EAAc,MAAM,WAAA,CAAY;AAAA,cAC9B,QAAA,EAAU,MAAA,CAAO,QAAA;AAAA,cACjB,QAAA,EAAU,MAAA,CAAO,QAAA;AAAA,cACjB,SAAA,EAAW,MAAA,CAAO,SAAA;AAAA,cAClB,IAAA,EAAM,MAAA,CAAO,IAAA;AAAA,cACb,wBAAA,EAA0B,MAAA,CAAO,wBAAA;AAAA,cACjC,KAAA,EAAO,MAAA,CAAO,KAAA;AAAA,cACd,QAAA;AAAA,cACA,YAAA,EAAc,MAAA,CAAO;AAAA,YACvB,CAAC,CAAA;AACD,YAAA,KAAA;AAAA,UACF,KAAK,KAAA;AACH,YAAA,YAAA,EAAc,MAAM,UAAA,CAAW;AAAA,cAC7B,QAAA,EAAU,MAAA,CAAO,QAAA;AAAA,cACjB,QAAA,EAAU,MAAA,CAAO,QAAA;AAAA,cACjB,SAAA,EAAW,MAAA,CAAO,SAAA;AAAA,cAClB,IAAA,EAAM,MAAA,CAAO,IAAA;AAAA,cACb,KAAA,EAAO,MAAA,CAAO,KAAA;AAAA,cACd,QAAA;AAAA,cACA,YAAA,EAAc,MAAA,CAAO;AAAA,YACvB,CAAC,CAAA;AACD,YAAA,KAAA;AAAA,UACF,KAAK,OAAA;AACH,YAAA,YAAA,EAAc,MAAM,YAAA,CAAa;AAAA,cAC/B,QAAA,EAAU,MAAA,CAAO,QAAA;AAAA,cACjB,QAAA,EAAU,MAAA,CAAO,QAAA;AAAA,cACjB,SAAA,EAAW,MAAA,CAAO,SAAA;AAAA,cAClB,IAAA,EAAM,MAAA,CAAO,IAAA;AAAA,cACb,wBAAA,EAA0B,MAAA,CAAO,wBAAA;AAAA,cACjC,KAAA,EAAO,MAAA,CAAO,KAAA;AAAA,cACd,QAAA;AAAA,cACA,YAAA,EAAc,MAAA,CAAO;AAAA,YACvB,CAAC,CAAA;AACD,YAAA,KAAA;AAAA,UACF,KAAK,QAAA;AACH,YAAA,YAAA,EAAc,MAAM,aAAA,CAAc;AAAA,cAChC,QAAA,EAAU,MAAA,CAAO,QAAA;AAAA,cACjB,QAAA,EAAU,MAAA,CAAO,QAAA;AAAA,cACjB,SAAA,EAAW,MAAA,CAAO,SAAA;AAAA,cAClB,QAAA;AAAA,cACA,YAAA,EAAc,MAAA,CAAO;AAAA,YACvB,CAAC,CAAA;AACD,YAAA,KAAA;AAAA,QACJ;AAEA,QAAA,WAAA,CAAY,WAAW,CAAA;AAEvB,QAAA,GAAA,CAAI,WAAA,CAAY,EAAA,EAAI;AAClB,UAAA,MAAM,WAAA,EAAa,WAAA,CAAY,IAAA;AAC/B,UAAA,OAAA,CAAQ,UAAU,CAAA;AAClB,0BAAA,MAAA,uBAAO,SAAA,4BAAA,CAAY,UAAU,GAAA;AAC7B,UAAA,OAAO,UAAA;AAAA,QACT,EAAA,KAAO;AACL,UAAA,QAAA,CAAS,WAAA,CAAY,KAAK,CAAA;AAC1B,0BAAA,MAAA,uBAAO,OAAA,4BAAA,CAAU,WAAA,CAAY,KAAK,GAAA;AAClC,UAAA,OAAO,IAAA;AAAA,QACT;AAAA,MACF,EAAA,MAAA,CAAS,GAAA,EAAK;AACZ,QAAA,MAAM,aAAA,EAAe,IAAA,WAAe,MAAA,EAAQ,GAAA,CAAI,QAAA,EAAU,eAAA;AAC1D,QAAA,QAAA,CAAS,YAAY,CAAA;AACrB,wBAAA,MAAA,uBAAO,OAAA,4BAAA,CAAU,YAAY,GAAA;AAC7B,QAAA,OAAO,IAAA;AAAA,MACT,EAAA,QAAE;AACA,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,MAAM;AAAA,EACT,CAAA;AAEA,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,EACF,CAAA;AACF;AA5GgB,qCAAA,kBAAA,EAAA,oBAAA,CAAA;AJgKhB;AACA;AKnPA;AAuBO,SAAS,cAAA,CACd,QAAA,EACA,IAAA,EACU;AACV,EAAA,OAAOC,4BAAAA,CAAQ,EAAA,GAAM;AACnB,IAAA,GAAA,CAAI,CAAC,IAAA,EAAM,OAAO,IAAA;AAClB,IAAA,OAAO,mCAAA,CAAmB,SAAA,CAAa,QAAA,EAAU,IAAI,CAAA;AAAA,EACvD,CAAA,EAAG,CAAC,QAAA,EAAU,IAAI,CAAC,CAAA;AACrB;AARgB,qCAAA,cAAA,EAAA,gBAAA,CAAA;AAaT,SAAS,kBAAA,CACd,QAAA,EACA,IAAA,EACK;AACL,EAAA,OAAOA,4BAAAA,CAAQ,EAAA,GAAM;AACnB,IAAA,GAAA,CAAI,CAAC,KAAA,GAAQ,IAAA,CAAK,OAAA,IAAW,CAAA,EAAG,OAAO,CAAC,CAAA;AACxC,IAAA,OAAO,mCAAA,CAAmB,aAAA,CAAiB,QAAA,EAAU,IAAI,CAAA;AAAA,EAC3D,CAAA,EAAG,CAAC,QAAA,EAAU,IAAI,CAAC,CAAA;AACrB;AARgB,qCAAA,kBAAA,EAAA,oBAAA,CAAA;AL+NhB;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,6dAAC","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/client/index.js","sourcesContent":[null,"\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nexport type CacheProfile = \"seconds\" | \"minutes\" | \"hours\" | \"days\" | \"weeks\" | \"max\" | \"default\";\n\nexport interface JsonApiConfig {\n /**\n * The base URL for API requests (e.g., https://api.example.com)\n */\n apiUrl: string;\n\n /**\n * Custom token getter function. If not provided, will use default cookie-based token retrieval.\n */\n tokenGetter?: () => Promise<string | undefined>;\n\n /**\n * Custom language getter function. If not provided, will use browser locale or next-intl.\n */\n languageGetter?: () => Promise<string>;\n\n /**\n * Default headers to include in all requests\n */\n defaultHeaders?: Record<string, string>;\n\n /**\n * Global error handler for failed requests (client-side only)\n */\n onError?: (status: number, message: string) => void;\n\n /**\n * Cache configuration\n */\n cacheConfig?: {\n defaultProfile: CacheProfile;\n };\n\n /**\n * Function to bootstrap the data class registry.\n * Will be called automatically when needed.\n */\n bootstrapper?: () => void;\n}\n\nconst JsonApiContext = createContext<JsonApiConfig | null>(null);\n\nexport function useJsonApiConfig(): JsonApiConfig {\n const config = useContext(JsonApiContext);\n if (!config) {\n throw new Error(\"useJsonApiConfig must be used within a JsonApiProvider\");\n }\n return config;\n}\n\nexport function useJsonApiConfigOptional(): JsonApiConfig | null {\n return useContext(JsonApiContext);\n}\n\nexport { JsonApiContext };\n","\"use client\";\n\nimport React, { useEffect, useMemo } from \"react\";\nimport { JsonApiConfig, JsonApiContext } from \"./JsonApiContext\";\n\nexport interface JsonApiProviderProps {\n config: JsonApiConfig;\n children: React.ReactNode;\n}\n\nexport function JsonApiProvider({ config, children }: JsonApiProviderProps) {\n // Run bootstrapper on mount if provided\n useEffect(() => {\n if (config.bootstrapper) {\n config.bootstrapper();\n }\n }, [config.bootstrapper]);\n\n // Memoize config to prevent unnecessary re-renders\n const memoizedConfig = useMemo(() => config, [config]);\n\n return (\n <JsonApiContext.Provider value={memoizedConfig}>\n {children}\n </JsonApiContext.Provider>\n );\n}\n","\"use client\";\n\nimport { useState, useEffect, useCallback, useRef } from \"react\";\nimport { ApiDataInterface } from \"../../core/interfaces/ApiDataInterface\";\nimport { ApiRequestDataTypeInterface } from \"../../core/interfaces/ApiRequestDataTypeInterface\";\nimport { ApiResponseInterface } from \"../../core/interfaces/ApiResponseInterface\";\n\nexport interface UseJsonApiGetOptions {\n /**\n * Whether to enable the query. If false, the query won't run.\n */\n enabled?: boolean;\n /**\n * Dependencies that trigger a refetch when changed.\n */\n deps?: any[];\n}\n\nexport interface UseJsonApiGetResult<T> {\n /**\n * The fetched data, or null if not yet fetched.\n */\n data: T | null;\n /**\n * Whether the query is currently loading.\n */\n loading: boolean;\n /**\n * Error message if the query failed.\n */\n error: string | null;\n /**\n * The full API response (includes raw data, pagination, etc.)\n */\n response: ApiResponseInterface | null;\n /**\n * Function to manually refetch the data.\n */\n refetch: () => Promise<void>;\n /**\n * Whether there is a next page available.\n */\n hasNextPage: boolean;\n /**\n * Whether there is a previous page available.\n */\n hasPreviousPage: boolean;\n /**\n * Function to fetch the next page.\n */\n fetchNextPage: () => Promise<void>;\n /**\n * Function to fetch the previous page.\n */\n fetchPreviousPage: () => Promise<void>;\n}\n\n/**\n * Hook for fetching data from a JSON:API endpoint.\n *\n * @example\n * ```tsx\n * const { data, loading, error, refetch } = useJsonApiGet<Article>({\n * classKey: Modules.Article,\n * endpoint: `/articles/${id}`,\n * });\n *\n * if (loading) return <Loading />;\n * if (error) return <Error message={error} />;\n * return <ArticleView article={data} />;\n * ```\n */\nexport function useJsonApiGet<T extends ApiDataInterface>(params: {\n classKey: ApiRequestDataTypeInterface;\n endpoint: string;\n companyId?: string;\n options?: UseJsonApiGetOptions;\n}): UseJsonApiGetResult<T> {\n const [data, setData] = useState<T | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const [response, setResponse] = useState<ApiResponseInterface | null>(null);\n const isMounted = useRef(true);\n\n const fetchData = useCallback(async () => {\n if (params.options?.enabled === false) return;\n\n setLoading(true);\n setError(null);\n\n try {\n const { JsonApiGet } = await import(\"../../unified/JsonApiRequest\");\n const language = navigator.language.split(\"-\")[0] || \"en\";\n\n const apiResponse = await JsonApiGet({\n classKey: params.classKey,\n endpoint: params.endpoint,\n companyId: params.companyId,\n language,\n });\n\n if (!isMounted.current) return;\n\n setResponse(apiResponse);\n\n if (apiResponse.ok) {\n setData(apiResponse.data as T);\n } else {\n setError(apiResponse.error);\n }\n } catch (err) {\n if (!isMounted.current) return;\n setError(err instanceof Error ? err.message : \"Unknown error\");\n } finally {\n if (isMounted.current) {\n setLoading(false);\n }\n }\n }, [params.classKey, params.endpoint, params.companyId, params.options?.enabled]);\n\n const fetchNextPage = useCallback(async () => {\n if (!response?.nextPage) return;\n\n setLoading(true);\n try {\n const nextResponse = await response.nextPage();\n if (!isMounted.current) return;\n\n setResponse(nextResponse);\n if (nextResponse.ok) {\n setData(nextResponse.data as T);\n } else {\n setError(nextResponse.error);\n }\n } catch (err) {\n if (!isMounted.current) return;\n setError(err instanceof Error ? err.message : \"Unknown error\");\n } finally {\n if (isMounted.current) {\n setLoading(false);\n }\n }\n }, [response]);\n\n const fetchPreviousPage = useCallback(async () => {\n if (!response?.prevPage) return;\n\n setLoading(true);\n try {\n const prevResponse = await response.prevPage();\n if (!isMounted.current) return;\n\n setResponse(prevResponse);\n if (prevResponse.ok) {\n setData(prevResponse.data as T);\n } else {\n setError(prevResponse.error);\n }\n } catch (err) {\n if (!isMounted.current) return;\n setError(err instanceof Error ? err.message : \"Unknown error\");\n } finally {\n if (isMounted.current) {\n setLoading(false);\n }\n }\n }, [response]);\n\n useEffect(() => {\n isMounted.current = true;\n fetchData();\n return () => {\n isMounted.current = false;\n };\n }, [fetchData, ...(params.options?.deps || [])]);\n\n return {\n data,\n loading,\n error,\n response,\n refetch: fetchData,\n hasNextPage: !!response?.next,\n hasPreviousPage: !!response?.prev,\n fetchNextPage,\n fetchPreviousPage,\n };\n}\n","\"use client\";\n\nimport { useState, useCallback } from \"react\";\nimport { ApiDataInterface } from \"../../core/interfaces/ApiDataInterface\";\nimport { ApiRequestDataTypeInterface } from \"../../core/interfaces/ApiRequestDataTypeInterface\";\nimport { ApiResponseInterface } from \"../../core/interfaces/ApiResponseInterface\";\n\nexport type MutationMethod = \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n\nexport interface UseJsonApiMutationResult<T> {\n /**\n * The result data from the mutation, or null if not yet executed.\n */\n data: T | null;\n /**\n * Whether the mutation is currently in progress.\n */\n loading: boolean;\n /**\n * Error message if the mutation failed.\n */\n error: string | null;\n /**\n * The full API response.\n */\n response: ApiResponseInterface | null;\n /**\n * Execute the mutation.\n */\n mutate: (params: MutationParams) => Promise<T | null>;\n /**\n * Reset the mutation state.\n */\n reset: () => void;\n}\n\nexport interface MutationParams {\n /**\n * The endpoint to call.\n */\n endpoint: string;\n /**\n * The request body.\n */\n body?: any;\n /**\n * Files to upload.\n */\n files?: { [key: string]: File | Blob } | File | Blob;\n /**\n * Company ID for multi-tenant requests.\n */\n companyId?: string;\n /**\n * Override the default JSON:API body creation.\n */\n overridesJsonApiCreation?: boolean;\n /**\n * Response type if different from the request type.\n */\n responseType?: ApiRequestDataTypeInterface;\n}\n\n/**\n * Hook for making mutations (POST, PUT, PATCH, DELETE) to a JSON:API endpoint.\n *\n * @example\n * ```tsx\n * const { mutate, loading, error } = useJsonApiMutation<Article>({\n * method: \"POST\",\n * classKey: Modules.Article,\n * });\n *\n * const handleSubmit = async (data: ArticleInput) => {\n * const result = await mutate({\n * endpoint: \"/articles\",\n * body: data,\n * });\n * if (result) {\n * // Success!\n * }\n * };\n * ```\n */\nexport function useJsonApiMutation<T extends ApiDataInterface>(config: {\n method: MutationMethod;\n classKey: ApiRequestDataTypeInterface;\n onSuccess?: (data: T) => void;\n onError?: (error: string) => void;\n}): UseJsonApiMutationResult<T> {\n const [data, setData] = useState<T | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const [response, setResponse] = useState<ApiResponseInterface | null>(null);\n\n const reset = useCallback(() => {\n setData(null);\n setLoading(false);\n setError(null);\n setResponse(null);\n }, []);\n\n const mutate = useCallback(\n async (params: MutationParams): Promise<T | null> => {\n setLoading(true);\n setError(null);\n\n try {\n const { JsonApiPost, JsonApiPut, JsonApiPatch, JsonApiDelete } = await import(\"../../unified/JsonApiRequest\");\n const language = navigator.language.split(\"-\")[0] || \"en\";\n\n let apiResponse: ApiResponseInterface;\n\n switch (config.method) {\n case \"POST\":\n apiResponse = await JsonApiPost({\n classKey: config.classKey,\n endpoint: params.endpoint,\n companyId: params.companyId,\n body: params.body,\n overridesJsonApiCreation: params.overridesJsonApiCreation,\n files: params.files,\n language,\n responseType: params.responseType,\n });\n break;\n case \"PUT\":\n apiResponse = await JsonApiPut({\n classKey: config.classKey,\n endpoint: params.endpoint,\n companyId: params.companyId,\n body: params.body,\n files: params.files,\n language,\n responseType: params.responseType,\n });\n break;\n case \"PATCH\":\n apiResponse = await JsonApiPatch({\n classKey: config.classKey,\n endpoint: params.endpoint,\n companyId: params.companyId,\n body: params.body,\n overridesJsonApiCreation: params.overridesJsonApiCreation,\n files: params.files,\n language,\n responseType: params.responseType,\n });\n break;\n case \"DELETE\":\n apiResponse = await JsonApiDelete({\n classKey: config.classKey,\n endpoint: params.endpoint,\n companyId: params.companyId,\n language,\n responseType: params.responseType,\n });\n break;\n }\n\n setResponse(apiResponse);\n\n if (apiResponse.ok) {\n const resultData = apiResponse.data as T;\n setData(resultData);\n config.onSuccess?.(resultData);\n return resultData;\n } else {\n setError(apiResponse.error);\n config.onError?.(apiResponse.error);\n return null;\n }\n } catch (err) {\n const errorMessage = err instanceof Error ? err.message : \"Unknown error\";\n setError(errorMessage);\n config.onError?.(errorMessage);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [config],\n );\n\n return {\n data,\n loading,\n error,\n response,\n mutate,\n reset,\n };\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport { ApiDataInterface } from \"../../core/interfaces/ApiDataInterface\";\nimport { ApiRequestDataTypeInterface } from \"../../core/interfaces/ApiRequestDataTypeInterface\";\nimport { JsonApiHydratedDataInterface } from \"../../core/interfaces/JsonApiHydratedDataInterface\";\nimport { RehydrationFactory } from \"../../core/factories/RehydrationFactory\";\n\n/**\n * Hook to rehydrate server-passed data into typed objects.\n * Use this when passing data from server components to client components.\n *\n * @example\n * ```tsx\n * // In server component\n * const article = await ArticleService.findOne(id);\n * return <ArticleDetails data={article.dehydrate()} />;\n *\n * // In client component\n * function ArticleDetails({ data }: { data: JsonApiHydratedDataInterface }) {\n * const article = useRehydration<Article>(Modules.Article, data);\n * return <div>{article.title}</div>;\n * }\n * ```\n */\nexport function useRehydration<T extends ApiDataInterface>(\n classKey: ApiRequestDataTypeInterface,\n data: JsonApiHydratedDataInterface | null | undefined,\n): T | null {\n return useMemo(() => {\n if (!data) return null;\n return RehydrationFactory.rehydrate<T>(classKey, data);\n }, [classKey, data]);\n}\n\n/**\n * Hook to rehydrate a list of server-passed data into typed objects.\n */\nexport function useRehydrationList<T extends ApiDataInterface>(\n classKey: ApiRequestDataTypeInterface,\n data: JsonApiHydratedDataInterface[] | null | undefined,\n): T[] {\n return useMemo(() => {\n if (!data || data.length === 0) return [];\n return RehydrationFactory.rehydrateList<T>(classKey, data);\n }, [classKey, data]);\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/client/index.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,uDAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACF,uDAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,6yBAAC","file":"/home/runner/work/nextjs-jsonapi/nextjs-jsonapi/dist/client/index.js"}