zudoku 0.16.2 → 0.17.0

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 (174) hide show
  1. package/dist/app/entry.server.js +4 -5
  2. package/dist/app/entry.server.js.map +1 -1
  3. package/dist/app/main.d.ts +1 -1
  4. package/dist/app/main.js +2 -2
  5. package/dist/app/main.js.map +1 -1
  6. package/dist/config/validators/validate.d.ts +44 -44
  7. package/dist/config/validators/validate.js.map +1 -1
  8. package/dist/index.d.ts +2 -2
  9. package/dist/index.js +1 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/lib/authentication/authentication.d.ts +2 -2
  12. package/dist/lib/authentication/state.d.ts +1 -1
  13. package/dist/lib/authentication/state.js +5 -3
  14. package/dist/lib/authentication/state.js.map +1 -1
  15. package/dist/lib/authentication/use-broadcast/shared.d.ts +48 -0
  16. package/dist/lib/authentication/use-broadcast/shared.js +243 -0
  17. package/dist/lib/authentication/use-broadcast/shared.js.map +1 -0
  18. package/dist/lib/authentication/use-broadcast/useBroadcast.d.ts +24 -0
  19. package/dist/lib/authentication/use-broadcast/useBroadcast.js +106 -0
  20. package/dist/lib/authentication/use-broadcast/useBroadcast.js.map +1 -0
  21. package/dist/lib/components/ClientOnly.d.ts +4 -2
  22. package/dist/lib/components/ClientOnly.js +1 -1
  23. package/dist/lib/components/ClientOnly.js.map +1 -1
  24. package/dist/lib/components/Header.js +4 -2
  25. package/dist/lib/components/Header.js.map +1 -1
  26. package/dist/lib/components/{DevPortal.d.ts → Zudoku.d.ts} +3 -3
  27. package/dist/lib/components/{DevPortal.js → Zudoku.js} +11 -11
  28. package/dist/lib/components/Zudoku.js.map +1 -0
  29. package/dist/lib/components/context/ZudokuContext.d.ts +4 -4
  30. package/dist/lib/components/context/ZudokuContext.js +1 -1
  31. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  32. package/dist/lib/components/context/ZudokuProvider.d.ts +2 -2
  33. package/dist/lib/components/context/ZudokuProvider.js.map +1 -1
  34. package/dist/lib/components/index.d.ts +4 -7
  35. package/dist/lib/components/index.js +2 -3
  36. package/dist/lib/components/index.js.map +1 -1
  37. package/dist/lib/core/{DevPortalContext.d.ts → ZudokuContext.d.ts} +5 -5
  38. package/dist/lib/core/{DevPortalContext.js → ZudokuContext.js} +2 -2
  39. package/dist/lib/core/ZudokuContext.js.map +1 -0
  40. package/dist/lib/core/plugins.d.ts +12 -12
  41. package/dist/lib/core/plugins.js.map +1 -1
  42. package/dist/lib/plugins/api-keys/index.d.ts +9 -9
  43. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  44. package/dist/lib/plugins/custom-pages/index.d.ts +2 -2
  45. package/dist/lib/plugins/custom-pages/index.js.map +1 -1
  46. package/dist/lib/plugins/markdown/index.d.ts +2 -2
  47. package/dist/lib/plugins/markdown/index.js.map +1 -1
  48. package/dist/lib/plugins/openapi/CollapsibleCode.js +4 -2
  49. package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -1
  50. package/dist/lib/plugins/openapi/OperationList.js +1 -1
  51. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  52. package/dist/lib/plugins/openapi/ParameterListItem.js +6 -1
  53. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  54. package/dist/lib/plugins/openapi/Sidecar.js +28 -24
  55. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  56. package/dist/lib/plugins/openapi/client/createMemoryClient.d.ts +1 -4
  57. package/dist/lib/plugins/openapi/client/createMemoryClient.js +9 -1
  58. package/dist/lib/plugins/openapi/client/createMemoryClient.js.map +1 -1
  59. package/dist/lib/plugins/openapi/client/createWorkerClient.js +2 -1
  60. package/dist/lib/plugins/openapi/client/createWorkerClient.js.map +1 -1
  61. package/dist/lib/plugins/openapi/index.d.ts +2 -2
  62. package/dist/lib/plugins/openapi/index.js.map +1 -1
  63. package/dist/lib/plugins/redirect/index.d.ts +2 -2
  64. package/dist/lib/plugins/redirect/index.js.map +1 -1
  65. package/dist/lib/plugins/search-inkeep/index.d.ts +2 -2
  66. package/dist/lib/plugins/search-inkeep/index.js.map +1 -1
  67. package/dist/lib/ui/ActionButton.d.ts +4 -0
  68. package/dist/lib/ui/ActionButton.js +10 -0
  69. package/dist/lib/ui/ActionButton.js.map +1 -0
  70. package/dist/lib/util/useIsomorphicLayoutEffect.d.ts +3 -0
  71. package/dist/lib/util/useIsomorphicLayoutEffect.js +4 -0
  72. package/dist/lib/util/useIsomorphicLayoutEffect.js.map +1 -0
  73. package/dist/lib/util/useOnScreen.d.ts +4 -0
  74. package/dist/lib/util/useOnScreen.js +19 -0
  75. package/dist/lib/util/useOnScreen.js.map +1 -0
  76. package/dist/vite/plugin-mdx.d.ts +0 -6
  77. package/dist/vite/plugin-mdx.js.map +1 -1
  78. package/lib/{AnchorLink-BbB2q-jx.js → AnchorLink-DYbUOP9U.js} +2 -2
  79. package/lib/{AnchorLink-BbB2q-jx.js.map → AnchorLink-DYbUOP9U.js.map} +1 -1
  80. package/lib/{AuthenticationPlugin-C9BHGXlE.js → AuthenticationPlugin-bqGAKfot.js} +3 -3
  81. package/lib/{AuthenticationPlugin-C9BHGXlE.js.map → AuthenticationPlugin-bqGAKfot.js.map} +1 -1
  82. package/lib/{ClientOnly-CVN6leDu.js → ClientOnly-E7hGysn1.js} +4 -4
  83. package/lib/ClientOnly-E7hGysn1.js.map +1 -0
  84. package/lib/{Markdown-BDcCAWwm.js → Markdown-D6UxMbZm.js} +2 -2
  85. package/lib/{Markdown-BDcCAWwm.js.map → Markdown-D6UxMbZm.js.map} +1 -1
  86. package/lib/{MdxPage-DKMH_t0f.js → MdxPage-DRKqyn2b.js} +5 -5
  87. package/lib/{MdxPage-DKMH_t0f.js.map → MdxPage-DRKqyn2b.js.map} +1 -1
  88. package/lib/{OperationList-35iw_Gil.js → OperationList-BHUBGM0c.js} +116 -113
  89. package/lib/OperationList-BHUBGM0c.js.map +1 -0
  90. package/lib/{Route-BsEZmkNl.js → Route-B0XuN1oC.js} +3 -3
  91. package/lib/{Route-BsEZmkNl.js.map → Route-B0XuN1oC.js.map} +1 -1
  92. package/lib/{Select-Bagt3Bme.js → Select-DYKDahHt.js} +3 -3
  93. package/lib/{Select-Bagt3Bme.js.map → Select-DYKDahHt.js.map} +1 -1
  94. package/lib/{Spinner-C6zroowC.js → SidebarBadge-Bbt92M5K.js} +16 -18
  95. package/lib/SidebarBadge-Bbt92M5K.js.map +1 -0
  96. package/lib/{SlotletProvider-Da7eFgd2.js → SlotletProvider-mhjLPG44.js} +4 -4
  97. package/lib/{SlotletProvider-Da7eFgd2.js.map → SlotletProvider-mhjLPG44.js.map} +1 -1
  98. package/lib/Spinner-ChOGyPls.js +51 -0
  99. package/lib/Spinner-ChOGyPls.js.map +1 -0
  100. package/lib/{hook-sn0zMTkE.js → hook-CjQERPa7.js} +3 -3
  101. package/lib/{hook-sn0zMTkE.js.map → hook-CjQERPa7.js.map} +1 -1
  102. package/lib/{index-BdD8UbS-.js → index-BRg5pi5D.js} +1351 -1364
  103. package/lib/index-BRg5pi5D.js.map +1 -0
  104. package/lib/{index-CRo94sKK.js → index-DM9hrcCG.js} +4 -4
  105. package/lib/{index-CRo94sKK.js.map → index-DM9hrcCG.js.map} +1 -1
  106. package/lib/state-BsPrOUAh.js +252 -0
  107. package/lib/state-BsPrOUAh.js.map +1 -0
  108. package/lib/ui/ActionButton.js +24 -0
  109. package/lib/ui/ActionButton.js.map +1 -0
  110. package/lib/urql-core-35Qt_U4i.js +1511 -0
  111. package/lib/{urql-core-KJnLL26g.js.map → urql-core-35Qt_U4i.js.map} +1 -1
  112. package/lib/{useExposedProps-ChOIUaS4.js → useExposedProps-BxyHjPNN.js} +2 -2
  113. package/lib/{useExposedProps-ChOIUaS4.js.map → useExposedProps-BxyHjPNN.js.map} +1 -1
  114. package/lib/{ZudokuContext-BKXGJTmu.js → utils-DNAltzXc.js} +153 -152
  115. package/lib/utils-DNAltzXc.js.map +1 -0
  116. package/lib/zudoku.auth-auth0.js +1 -1
  117. package/lib/zudoku.auth-clerk.js +2 -2
  118. package/lib/zudoku.auth-openid.js +4 -4
  119. package/lib/zudoku.components.js +690 -667
  120. package/lib/zudoku.components.js.map +1 -1
  121. package/lib/zudoku.openapi-worker.js +737 -729
  122. package/lib/zudoku.openapi-worker.js.map +1 -1
  123. package/lib/zudoku.plugin-api-keys.js +5 -5
  124. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  125. package/lib/zudoku.plugin-custom-pages.js +2 -2
  126. package/lib/zudoku.plugin-custom-pages.js.map +1 -1
  127. package/lib/zudoku.plugin-markdown.js +1 -1
  128. package/lib/zudoku.plugin-markdown.js.map +1 -1
  129. package/lib/zudoku.plugin-openapi.js +6 -6
  130. package/lib/zudoku.plugin-redirect.js.map +1 -1
  131. package/lib/zudoku.plugin-search-inkeep.js +1 -1
  132. package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
  133. package/package.json +2 -2
  134. package/src/app/entry.server.tsx +9 -5
  135. package/src/app/main.tsx +4 -4
  136. package/src/lib/authentication/authentication.ts +2 -2
  137. package/src/lib/authentication/state.ts +12 -5
  138. package/{LICENSE.md → src/lib/authentication/use-broadcast/LICENSE.md} +2 -2
  139. package/src/lib/authentication/use-broadcast/shared.ts +372 -0
  140. package/src/lib/authentication/use-broadcast/useBroadcast.ts +146 -0
  141. package/src/lib/components/ClientOnly.tsx +6 -3
  142. package/src/lib/components/Header.tsx +31 -25
  143. package/src/lib/components/Zudoku.tsx +113 -0
  144. package/src/lib/components/context/ZudokuContext.ts +3 -3
  145. package/src/lib/components/context/ZudokuProvider.tsx +2 -2
  146. package/src/lib/components/index.ts +2 -3
  147. package/src/lib/core/{DevPortalContext.ts → ZudokuContext.ts} +5 -5
  148. package/src/lib/core/plugins.ts +12 -16
  149. package/src/lib/plugins/api-keys/index.tsx +9 -9
  150. package/src/lib/plugins/custom-pages/index.tsx +2 -2
  151. package/src/lib/plugins/markdown/index.tsx +2 -2
  152. package/src/lib/plugins/openapi/CollapsibleCode.tsx +5 -8
  153. package/src/lib/plugins/openapi/OperationList.tsx +2 -1
  154. package/src/lib/plugins/openapi/ParameterListItem.tsx +37 -31
  155. package/src/lib/plugins/openapi/Sidecar.tsx +65 -51
  156. package/src/lib/plugins/openapi/client/createMemoryClient.ts +17 -3
  157. package/src/lib/plugins/openapi/client/createWorkerClient.ts +5 -1
  158. package/src/lib/plugins/openapi/index.tsx +2 -4
  159. package/src/lib/plugins/redirect/index.tsx +2 -2
  160. package/src/lib/plugins/search-inkeep/index.tsx +2 -2
  161. package/src/lib/ui/ActionButton.tsx +28 -0
  162. package/src/lib/util/useIsomorphicLayoutEffect.ts +5 -0
  163. package/src/lib/util/useOnScreen.ts +32 -0
  164. package/dist/lib/components/DevPortal.js.map +0 -1
  165. package/dist/lib/core/DevPortalContext.js.map +0 -1
  166. package/lib/ClientOnly-CVN6leDu.js.map +0 -1
  167. package/lib/OperationList-35iw_Gil.js.map +0 -1
  168. package/lib/Spinner-C6zroowC.js.map +0 -1
  169. package/lib/ZudokuContext-BKXGJTmu.js.map +0 -1
  170. package/lib/index-BdD8UbS-.js.map +0 -1
  171. package/lib/state-CsuHT8ZO.js +0 -183
  172. package/lib/state-CsuHT8ZO.js.map +0 -1
  173. package/lib/urql-core-KJnLL26g.js +0 -1455
  174. package/src/lib/components/DevPortal.tsx +0 -111
@@ -1 +1 @@
1
- {"version":3,"file":"hook-sn0zMTkE.js","sources":["../../../node_modules/.pnpm/@tanstack+query-core@5.59.13/node_modules/@tanstack/query-core/build/modern/mutation.js","../src/lib/authentication/hook.ts"],"sourcesContent":["// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (!restored) {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n await this.#mutationCache.config.onMutate?.(\n variables,\n this\n );\n const context = await this.options.onMutate?.(variables);\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this\n );\n await this.options.onSuccess?.(data, variables, this.state.context);\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(data, null, variables, this.state.context);\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this\n );\n await this.options.onError?.(\n error,\n variables,\n this.state.context\n );\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context\n );\n throw error;\n } finally {\n this.#dispatch({ type: \"error\", error });\n }\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","import { useZudoku } from \"../components/context/ZudokuContext.js\";\nimport { useAuthState } from \"./state.js\";\n\nexport const useAuth = () => {\n const { authentication } = useZudoku();\n const authState = useAuthState();\n const isAuthEnabled = typeof authentication !== \"undefined\";\n\n return {\n isAuthEnabled,\n isPending: authState.isPending,\n profile: authState.profile,\n isAuthenticated: Boolean(authState.profile),\n\n login: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.signIn();\n },\n\n logout: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.signOut();\n\n // Redirect to home\n window.location.href = \"/\";\n },\n };\n};\n"],"names":["Mutation","_a","Removable","config","__privateAdd","_Mutation_instances","_observers","_mutationCache","_retryer","__privateSet","getDefaultState","options","observer","__privateGet","x","variables","createRetryer","failureCount","error","__privateMethod","dispatch_fn","restored","isPaused","_b","context","_d","_c","data","_f","_e","_h","_g","_j","_i","_l","_k","_n","_m","_p","_o","_r","_q","_t","_s","action","reducer","state","notifyManager","useAuth","authentication","useZudoku","authState","useAuthState","isAuthEnabled"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"hook-CjQERPa7.js","sources":["../../../node_modules/.pnpm/@tanstack+query-core@5.59.13/node_modules/@tanstack/query-core/build/modern/mutation.js","../src/lib/authentication/hook.ts"],"sourcesContent":["// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #observers;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.mutationId = config.mutationId;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = options;\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode,\n canRun: () => this.#mutationCache.canRun(this)\n });\n const restored = this.state.status === \"pending\";\n const isPaused = !this.#retryer.canStart();\n try {\n if (!restored) {\n this.#dispatch({ type: \"pending\", variables, isPaused });\n await this.#mutationCache.config.onMutate?.(\n variables,\n this\n );\n const context = await this.options.onMutate?.(variables);\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables,\n isPaused\n });\n }\n }\n const data = await this.#retryer.start();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this\n );\n await this.options.onSuccess?.(data, variables, this.state.context);\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(data, null, variables, this.state.context);\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this\n );\n await this.options.onError?.(\n error,\n variables,\n this.state.context\n );\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context\n );\n throw error;\n } finally {\n this.#dispatch({ type: \"error\", error });\n }\n } finally {\n this.#mutationCache.runNext(this);\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: action.isPaused,\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","import { useZudoku } from \"../components/context/ZudokuContext.js\";\nimport { useAuthState } from \"./state.js\";\n\nexport const useAuth = () => {\n const { authentication } = useZudoku();\n const authState = useAuthState();\n const isAuthEnabled = typeof authentication !== \"undefined\";\n\n return {\n isAuthEnabled,\n isPending: authState.isPending,\n profile: authState.profile,\n isAuthenticated: Boolean(authState.profile),\n\n login: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.signIn();\n },\n\n logout: async () => {\n if (!isAuthEnabled) {\n throw new Error(\"Authentication is not enabled.\");\n }\n // TODO: Should handle errors/state\n await authentication.signOut();\n\n // Redirect to home\n window.location.href = \"/\";\n },\n };\n};\n"],"names":["Mutation","_a","Removable","config","__privateAdd","_Mutation_instances","_observers","_mutationCache","_retryer","__privateSet","getDefaultState","options","observer","__privateGet","x","variables","createRetryer","failureCount","error","__privateMethod","dispatch_fn","restored","isPaused","_b","context","_d","_c","data","_f","_e","_h","_g","_j","_i","_l","_k","_n","_m","_p","_o","_r","_q","_t","_s","action","reducer","state","notifyManager","useAuth","authentication","useZudoku","authState","useAuthState","isAuthEnabled"],"mappings":"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","x_google_ignoreList":[0]}