@squide/firefly 9.3.2 → 9.3.3

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 (68) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/AppRouter.js +18 -16
  3. package/dist/AppRouter.js.map +1 -0
  4. package/dist/AppRouterContext.js +6 -4
  5. package/dist/AppRouterContext.js.map +1 -0
  6. package/dist/AppRouterReducer.js +42 -40
  7. package/dist/AppRouterReducer.js.map +1 -0
  8. package/dist/FireflyRuntime.js +13 -11
  9. package/dist/FireflyRuntime.js.map +1 -0
  10. package/dist/GlobalDataQueriesError.js +2 -0
  11. package/dist/GlobalDataQueriesError.js.map +1 -0
  12. package/dist/RootRoute.js +10 -8
  13. package/dist/RootRoute.js.map +1 -0
  14. package/dist/boostrap.js +12 -10
  15. package/dist/boostrap.js.map +1 -0
  16. package/dist/index.js +6 -4
  17. package/dist/index.js.map +1 -0
  18. package/dist/useCanFetchProtectedData.js +4 -2
  19. package/dist/useCanFetchProtectedData.js.map +1 -0
  20. package/dist/useCanFetchPublicData.js +4 -2
  21. package/dist/useCanFetchPublicData.js.map +1 -0
  22. package/dist/useCanRegisterDeferredRegistrations.js +4 -2
  23. package/dist/useCanRegisterDeferredRegistrations.js.map +1 -0
  24. package/dist/useCanUpdateDeferredRegistrations.js +4 -2
  25. package/dist/useCanUpdateDeferredRegistrations.js.map +1 -0
  26. package/dist/useDeferredRegistrations.js +13 -11
  27. package/dist/useDeferredRegistrations.js.map +1 -0
  28. package/dist/useExecuteOnce.js +2 -0
  29. package/dist/useExecuteOnce.js.map +1 -0
  30. package/dist/useIsActiveRouteProtected.js +8 -6
  31. package/dist/useIsActiveRouteProtected.js.map +1 -0
  32. package/dist/useIsBootstrapping.js +4 -2
  33. package/dist/useIsBootstrapping.js.map +1 -0
  34. package/dist/useNavigationItems.js +7 -5
  35. package/dist/useNavigationItems.js.map +1 -0
  36. package/dist/useProtectedDataQueries.js +17 -15
  37. package/dist/useProtectedDataQueries.js.map +1 -0
  38. package/dist/usePublicDataQueries.js +16 -14
  39. package/dist/usePublicDataQueries.js.map +1 -0
  40. package/dist/useRegisterDeferredRegistrations.js +5 -3
  41. package/dist/useRegisterDeferredRegistrations.js.map +1 -0
  42. package/dist/useStrictRegistrationMode.js +14 -12
  43. package/dist/useStrictRegistrationMode.js.map +1 -0
  44. package/dist/useUpdateDeferredRegistrations.js +7 -5
  45. package/dist/useUpdateDeferredRegistrations.js.map +1 -0
  46. package/package.json +18 -16
  47. package/src/AppRouter.tsx +63 -0
  48. package/src/AppRouterContext.ts +27 -0
  49. package/src/AppRouterReducer.ts +363 -0
  50. package/src/FireflyRuntime.tsx +71 -0
  51. package/src/GlobalDataQueriesError.ts +17 -0
  52. package/src/RootRoute.tsx +25 -0
  53. package/src/boostrap.ts +62 -0
  54. package/src/index.ts +28 -0
  55. package/src/useCanFetchProtectedData.ts +26 -0
  56. package/src/useCanFetchPublicData.ts +23 -0
  57. package/src/useCanRegisterDeferredRegistrations.ts +24 -0
  58. package/src/useCanUpdateDeferredRegistrations.ts +23 -0
  59. package/src/useDeferredRegistrations.ts +59 -0
  60. package/src/useExecuteOnce.ts +23 -0
  61. package/src/useIsActiveRouteProtected.ts +12 -0
  62. package/src/useIsBootstrapping.ts +45 -0
  63. package/src/useNavigationItems.ts +18 -0
  64. package/src/useProtectedDataQueries.ts +101 -0
  65. package/src/usePublicDataQueries.ts +88 -0
  66. package/src/useRegisterDeferredRegistrations.ts +9 -0
  67. package/src/useStrictRegistrationMode.ts +28 -0
  68. package/src/useUpdateDeferredRegistrations.ts +16 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCanFetchProtectedData.js","sources":["webpack://@squide/firefly/./src/useCanFetchProtectedData.ts"],"sourcesContent":["import { useAppRouterState } from \"./AppRouterContext.ts\";\n\nexport function useCanFetchProtectedData() {\n const {\n waitForMsw,\n areModulesRegistered,\n areModulesReady,\n isMswReady,\n isProtectedDataReady,\n activeRouteVisibility\n } = useAppRouterState();\n\n return (\n // Always return true when the protected data has already been fetched sucessfully so TanStack Query can update the data in the background.\n isProtectedDataReady\n || (\n // Wait until the modules has been registered, but do not wait for the deferred registrations to be registered as they will probably\n // depends on the protected data.\n (areModulesRegistered || areModulesReady)\n // Only fetch the protected data for protected routes, aka do not fetch the protected data for public routes.\n && activeRouteVisibility === \"protected\"\n // Wait for MSW since the endpoints for the protected data might be an MSW endpoint when in development.\n && (!waitForMsw || isMswReady)\n )\n );\n}\n"],"names":["useAppRouterState","useCanFetchProtectedData","waitForMsw","areModulesRegistered","areModulesReady","isMswReady","isProtectedDataReady","activeRouteVisibility"],"mappings":";;;;;AAA0D;AAEnD,SAASC;IACZ,MAAM,EACFC,UAAU,EACVC,oBAAoB,EACpBC,eAAe,EACfC,UAAU,EACVC,oBAAoB,EACpBC,qBAAqB,EACxB,GAAGP,+EAAiBA;IAErB,OACI,2IAA2I;IAC3IM,wBAEI,oIAAoI;IACpI,iCAAiC;IAChCH,CAAAA,wBAAwBC,eAAc,KAEpCG,0BAA0B,eAEzB,EAACL,cAAcG,UAAS;AAGxC"}
@@ -1,11 +1,11 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__ from "./AppRouterContext.js";
1
+ import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__ from "./AppRouterContext.js";
2
2
 
3
3
  ;// CONCATENATED MODULE: external "./AppRouterContext.js"
4
4
 
5
5
  ;// CONCATENATED MODULE: ./src/useCanFetchPublicData.ts?__rslib_entry__
6
6
 
7
7
  function useCanFetchPublicData() {
8
- const { waitForMsw, areModulesRegistered, areModulesReady, isMswReady, isPublicDataReady } = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__.useAppRouterState)();
8
+ const { waitForMsw, areModulesRegistered, areModulesReady, isMswReady, isPublicDataReady } = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__.useAppRouterState)();
9
9
  return(// Always return true when the public data has already been fetched sucessfully so TanStack Query can update the data in the background.
10
10
  isPublicDataReady || // Wait until the modules has been registered, but do not wait for the deferred registrations to be registered has they will probably
11
11
  // depends on the protected data.
@@ -13,3 +13,5 @@ function useCanFetchPublicData() {
13
13
  }
14
14
 
15
15
  export { useCanFetchPublicData };
16
+
17
+ //# sourceMappingURL=useCanFetchPublicData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCanFetchPublicData.js","sources":["webpack://@squide/firefly/./src/useCanFetchPublicData.ts"],"sourcesContent":["import { useAppRouterState } from \"./AppRouterContext.ts\";\n\nexport function useCanFetchPublicData() {\n const {\n waitForMsw,\n areModulesRegistered,\n areModulesReady,\n isMswReady,\n isPublicDataReady\n } = useAppRouterState();\n\n return (\n // Always return true when the public data has already been fetched sucessfully so TanStack Query can update the data in the background.\n isPublicDataReady\n || (\n // Wait until the modules has been registered, but do not wait for the deferred registrations to be registered has they will probably\n // depends on the protected data.\n (areModulesRegistered || areModulesReady)\n // Wait for MSW since the endpoints for the protected data might be an MSW endpoint when in development.\n && (!waitForMsw || isMswReady)\n )\n );\n}\n"],"names":["useAppRouterState","useCanFetchPublicData","waitForMsw","areModulesRegistered","areModulesReady","isMswReady","isPublicDataReady"],"mappings":";;;;;AAA0D;AAEnD,SAASC;IACZ,MAAM,EACFC,UAAU,EACVC,oBAAoB,EACpBC,eAAe,EACfC,UAAU,EACVC,iBAAiB,EACpB,GAAGN,+EAAiBA;IAErB,OACI,wIAAwI;IACxIM,qBAEI,qIAAqI;IACrI,iCAAiC;IAChCH,CAAAA,wBAAwBC,eAAc,KAEnC,EAACF,cAAcG,UAAS;AAGxC"}
@@ -1,12 +1,14 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__ from "./AppRouterContext.js";
1
+ import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__ from "./AppRouterContext.js";
2
2
 
3
3
  ;// CONCATENATED MODULE: external "./AppRouterContext.js"
4
4
 
5
5
  ;// CONCATENATED MODULE: ./src/useCanRegisterDeferredRegistrations.ts?__rslib_entry__
6
6
 
7
7
  function useCanRegisterDeferredRegistrations() {
8
- const { waitForPublicData, waitForProtectedData, areModulesReady, areModulesRegistered, isPublicDataReady, isProtectedDataReady, activeRouteVisibility, isUnauthorized } = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__.useAppRouterState)();
8
+ const { waitForPublicData, waitForProtectedData, areModulesReady, areModulesRegistered, isPublicDataReady, isProtectedDataReady, activeRouteVisibility, isUnauthorized } = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__.useAppRouterState)();
9
9
  return !isUnauthorized && areModulesRegistered && !areModulesReady && (!waitForPublicData || isPublicDataReady) && (!waitForProtectedData || activeRouteVisibility === "public" || isProtectedDataReady);
10
10
  }
11
11
 
12
12
  export { useCanRegisterDeferredRegistrations };
13
+
14
+ //# sourceMappingURL=useCanRegisterDeferredRegistrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCanRegisterDeferredRegistrations.js","sources":["webpack://@squide/firefly/./src/useCanRegisterDeferredRegistrations.ts"],"sourcesContent":["import { useAppRouterState } from \"./AppRouterContext.ts\";\n\nexport function useCanRegisterDeferredRegistrations() {\n const {\n waitForPublicData,\n waitForProtectedData,\n areModulesReady,\n areModulesRegistered,\n isPublicDataReady,\n isProtectedDataReady,\n activeRouteVisibility,\n isUnauthorized\n } = useAppRouterState();\n\n return (\n !isUnauthorized\n // Wait for the modules to be registered but make sure the deferred registrations has not been registered yet (updates are handled by another hook).\n && areModulesRegistered && !areModulesReady\n // && (!waitForMsw || isMswReady)\n // Wait for the initial data to be ready since the deferred registrations will probably need that data.\n && (!waitForPublicData || isPublicDataReady)\n && (!waitForProtectedData || activeRouteVisibility === \"public\" || isProtectedDataReady)\n );\n}\n"],"names":["useAppRouterState","useCanRegisterDeferredRegistrations","waitForPublicData","waitForProtectedData","areModulesReady","areModulesRegistered","isPublicDataReady","isProtectedDataReady","activeRouteVisibility","isUnauthorized"],"mappings":";;;;;AAA0D;AAEnD,SAASC;IACZ,MAAM,EACFC,iBAAiB,EACjBC,oBAAoB,EACpBC,eAAe,EACfC,oBAAoB,EACpBC,iBAAiB,EACjBC,oBAAoB,EACpBC,qBAAqB,EACrBC,cAAc,EACjB,GAAGT,+EAAiBA;IAErB,OACI,CAACS,kBAEEJ,wBAAwB,CAACD,mBAGxB,EAACF,qBAAqBI,iBAAgB,KACtC,EAACH,wBAAwBK,0BAA0B,YAAYD,oBAAmB;AAE9F"}
@@ -1,14 +1,16 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__ from "./AppRouterContext.js";
1
+ import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__ from "./AppRouterContext.js";
2
2
 
3
3
  ;// CONCATENATED MODULE: external "./AppRouterContext.js"
4
4
 
5
5
  ;// CONCATENATED MODULE: ./src/useCanUpdateDeferredRegistrations.ts?__rslib_entry__
6
6
 
7
7
  function useCanUpdateDeferredRegistrations() {
8
- const { areModulesReady, publicDataUpdatedAt, protectedDataUpdatedAt, deferredRegistrationsUpdatedAt } = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__.useAppRouterState)();
8
+ const { areModulesReady, publicDataUpdatedAt, protectedDataUpdatedAt, deferredRegistrationsUpdatedAt } = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__.useAppRouterState)();
9
9
  return(// Do not trigger an update if the deferred registrations has not been registered yet (if there are deferred registrations, once they are
10
10
  // registered, the modules will be marked as ready).
11
11
  areModulesReady && deferredRegistrationsUpdatedAt && (publicDataUpdatedAt && publicDataUpdatedAt > deferredRegistrationsUpdatedAt || protectedDataUpdatedAt && protectedDataUpdatedAt > deferredRegistrationsUpdatedAt));
12
12
  }
13
13
 
14
14
  export { useCanUpdateDeferredRegistrations };
15
+
16
+ //# sourceMappingURL=useCanUpdateDeferredRegistrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCanUpdateDeferredRegistrations.js","sources":["webpack://@squide/firefly/./src/useCanUpdateDeferredRegistrations.ts"],"sourcesContent":["import { useAppRouterState } from \"./AppRouterContext.ts\";\n\nexport function useCanUpdateDeferredRegistrations() {\n const {\n areModulesReady,\n publicDataUpdatedAt,\n protectedDataUpdatedAt,\n deferredRegistrationsUpdatedAt\n } = useAppRouterState();\n\n return (\n // Do not trigger an update if the deferred registrations has not been registered yet (if there are deferred registrations, once they are\n // registered, the modules will be marked as ready).\n areModulesReady\n // Make sure the apps is actually having deferred registrations.\n && deferredRegistrationsUpdatedAt\n // If either the public data or the protected data has been updated, update the deferred registrations.\n && (\n (publicDataUpdatedAt && publicDataUpdatedAt > deferredRegistrationsUpdatedAt) ||\n (protectedDataUpdatedAt && protectedDataUpdatedAt > deferredRegistrationsUpdatedAt)\n )\n );\n}\n"],"names":["useAppRouterState","useCanUpdateDeferredRegistrations","areModulesReady","publicDataUpdatedAt","protectedDataUpdatedAt","deferredRegistrationsUpdatedAt"],"mappings":";;;;;AAA0D;AAEnD,SAASC;IACZ,MAAM,EACFC,eAAe,EACfC,mBAAmB,EACnBC,sBAAsB,EACtBC,8BAA8B,EACjC,GAAGL,+EAAiBA;IAErB,OACI,yIAAyI;IACzI,oDAAoD;IACpDE,mBAEGG,kCAGC,CAACF,uBAAuBA,sBAAsBE,kCAC7CD,0BAA0BA,yBAAyBC,8BAA8B;AAG9F"}
@@ -1,11 +1,11 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE__squide_core__ from "@squide/core";
1
+ import * as __WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__ from "../../core/src/index.js";
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
- import * as __WEBPACK_EXTERNAL_MODULE__useCanRegisterDeferredRegistrations_js__ from "./useCanRegisterDeferredRegistrations.js";
4
- import * as __WEBPACK_EXTERNAL_MODULE__useCanUpdateDeferredRegistrations_js__ from "./useCanUpdateDeferredRegistrations.js";
5
- import * as __WEBPACK_EXTERNAL_MODULE__useRegisterDeferredRegistrations_js__ from "./useRegisterDeferredRegistrations.js";
6
- import * as __WEBPACK_EXTERNAL_MODULE__useUpdateDeferredRegistrations_js__ from "./useUpdateDeferredRegistrations.js";
3
+ import * as __WEBPACK_EXTERNAL_MODULE__useCanRegisterDeferredRegistrations_js_257f17d4__ from "./useCanRegisterDeferredRegistrations.js";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__useCanUpdateDeferredRegistrations_js_12932b2c__ from "./useCanUpdateDeferredRegistrations.js";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__useRegisterDeferredRegistrations_js_eed558b9__ from "./useRegisterDeferredRegistrations.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__useUpdateDeferredRegistrations_js_80de5337__ from "./useUpdateDeferredRegistrations.js";
7
7
 
8
- ;// CONCATENATED MODULE: external "@squide/core"
8
+ ;// CONCATENATED MODULE: external "../../core/src/index.js"
9
9
 
10
10
  ;// CONCATENATED MODULE: external "react"
11
11
 
@@ -28,11 +28,11 @@ function hasError({ localModuleErrors, remoteModuleErrors }) {
28
28
  return localModuleErrors.length > 0 || remoteModuleErrors.length > 0;
29
29
  }
30
30
  function useDeferredRegistrations(data, { onError } = {}) {
31
- const runtime = (0,__WEBPACK_EXTERNAL_MODULE__squide_core__.useRuntime)();
32
- const canRegisterDeferredRegistrations = (0,__WEBPACK_EXTERNAL_MODULE__useCanRegisterDeferredRegistrations_js__.useCanRegisterDeferredRegistrations)();
33
- const canUpdateDeferredRegistrations = (0,__WEBPACK_EXTERNAL_MODULE__useCanUpdateDeferredRegistrations_js__.useCanUpdateDeferredRegistrations)();
34
- const registerDeferredRegistrations = (0,__WEBPACK_EXTERNAL_MODULE__useRegisterDeferredRegistrations_js__.useRegisterDeferredRegistrations)();
35
- const updateDeferredRegistrations = (0,__WEBPACK_EXTERNAL_MODULE__useUpdateDeferredRegistrations_js__.useUpdateDeferredRegistrations)();
31
+ const runtime = (0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.useRuntime)();
32
+ const canRegisterDeferredRegistrations = (0,__WEBPACK_EXTERNAL_MODULE__useCanRegisterDeferredRegistrations_js_257f17d4__.useCanRegisterDeferredRegistrations)();
33
+ const canUpdateDeferredRegistrations = (0,__WEBPACK_EXTERNAL_MODULE__useCanUpdateDeferredRegistrations_js_12932b2c__.useCanUpdateDeferredRegistrations)();
34
+ const registerDeferredRegistrations = (0,__WEBPACK_EXTERNAL_MODULE__useRegisterDeferredRegistrations_js_eed558b9__.useRegisterDeferredRegistrations)();
35
+ const updateDeferredRegistrations = (0,__WEBPACK_EXTERNAL_MODULE__useUpdateDeferredRegistrations_js_80de5337__.useUpdateDeferredRegistrations)();
36
36
  (0,__WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
37
37
  if (canRegisterDeferredRegistrations) {
38
38
  const register = async ()=>{
@@ -70,3 +70,5 @@ function useDeferredRegistrations(data, { onError } = {}) {
70
70
  }
71
71
 
72
72
  export { useDeferredRegistrations };
73
+
74
+ //# sourceMappingURL=useDeferredRegistrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDeferredRegistrations.js","sources":["webpack://@squide/firefly/./src/useDeferredRegistrations.ts"],"sourcesContent":["import { useRuntime, type ModuleRegistrationError } from \"@squide/core\";\nimport { useEffect } from \"react\";\nimport { useCanRegisterDeferredRegistrations } from \"./useCanRegisterDeferredRegistrations.ts\";\nimport { useCanUpdateDeferredRegistrations } from \"./useCanUpdateDeferredRegistrations.ts\";\nimport { useRegisterDeferredRegistrations } from \"./useRegisterDeferredRegistrations.ts\";\nimport { useUpdateDeferredRegistrations } from \"./useUpdateDeferredRegistrations.ts\";\n\nexport interface DeferredRegistrationsErrorsObject {\n localModuleErrors: ModuleRegistrationError[];\n remoteModuleErrors: ModuleRegistrationError[];\n}\n\nexport type DeferredRegistrationsErrorCallback = (errorsObject: DeferredRegistrationsErrorsObject) => void;\n\nexport interface UseDeferredRegistrationsOptions {\n onError?: DeferredRegistrationsErrorCallback;\n}\n\nfunction hasError({ localModuleErrors, remoteModuleErrors }: DeferredRegistrationsErrorsObject) {\n return localModuleErrors.length > 0 || remoteModuleErrors.length > 0;\n}\n\nexport function useDeferredRegistrations(data: unknown, { onError }: UseDeferredRegistrationsOptions = {}) {\n const runtime = useRuntime();\n\n const canRegisterDeferredRegistrations = useCanRegisterDeferredRegistrations();\n const canUpdateDeferredRegistrations = useCanUpdateDeferredRegistrations();\n\n const registerDeferredRegistrations = useRegisterDeferredRegistrations();\n const updateDeferredRegistrations = useUpdateDeferredRegistrations();\n\n useEffect(() => {\n if (canRegisterDeferredRegistrations) {\n const register = async () => {\n const errors = await registerDeferredRegistrations(data, runtime);\n\n if (hasError(errors) && onError) {\n onError(errors);\n }\n };\n\n register();\n }\n }, [canRegisterDeferredRegistrations, registerDeferredRegistrations, data, onError, runtime]);\n\n useEffect(() => {\n if (canUpdateDeferredRegistrations) {\n const update = async () => {\n const errors = await updateDeferredRegistrations(data, runtime);\n\n if (hasError(errors) && onError) {\n onError(errors);\n }\n };\n\n update();\n }\n }, [canUpdateDeferredRegistrations, updateDeferredRegistrations, data, onError, runtime]);\n}\n"],"names":["useRuntime","useEffect","useCanRegisterDeferredRegistrations","useCanUpdateDeferredRegistrations","useRegisterDeferredRegistrations","useUpdateDeferredRegistrations","hasError","localModuleErrors","remoteModuleErrors","useDeferredRegistrations","data","onError","runtime","canRegisterDeferredRegistrations","canUpdateDeferredRegistrations","registerDeferredRegistrations","updateDeferredRegistrations","register","errors","update"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAwE;AACtC;AAC6D;AACJ;AACF;AACJ;AAarF,SAASM,SAAS,EAAEC,iBAAiB,EAAEC,kBAAkB,EAAqC;IAC1F,OAAOD,kBAAkB,MAAM,GAAG,KAAKC,mBAAmB,MAAM,GAAG;AACvE;AAEO,SAASC,yBAAyBC,IAAa,EAAE,EAAEC,OAAO,EAAmC,GAAG,CAAC,CAAC;IACrG,MAAMC,UAAUZ,sEAAUA;IAE1B,MAAMa,mCAAmCX,oHAAmCA;IAC5E,MAAMY,iCAAiCX,gHAAiCA;IAExE,MAAMY,gCAAgCX,8GAAgCA;IACtE,MAAMY,8BAA8BX,0GAA8BA;IAElEJ,+CAASA,CAAC;QACN,IAAIY,kCAAkC;YAClC,MAAMI,WAAW;gBACb,MAAMC,SAAS,MAAMH,8BAA8BL,MAAME;gBAEzD,IAAIN,SAASY,WAAWP,SAAS;oBAC7BA,QAAQO;gBACZ;YACJ;YAEAD;QACJ;IACJ,GAAG;QAACJ;QAAkCE;QAA+BL;QAAMC;QAASC;KAAQ;IAE5FX,+CAASA,CAAC;QACN,IAAIa,gCAAgC;YAChC,MAAMK,SAAS;gBACX,MAAMD,SAAS,MAAMF,4BAA4BN,MAAME;gBAEvD,IAAIN,SAASY,WAAWP,SAAS;oBAC7BA,QAAQO;gBACZ;YACJ;YAEAC;QACJ;IACJ,GAAG;QAACL;QAAgCE;QAA6BN;QAAMC;QAASC;KAAQ;AAC5F"}
@@ -25,3 +25,5 @@ function useExecuteOnce(fct, inline = false) {
25
25
  }
26
26
 
27
27
  export { useExecuteOnce };
28
+
29
+ //# sourceMappingURL=useExecuteOnce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExecuteOnce.js","sources":["webpack://@squide/firefly/./src/useExecuteOnce.ts"],"sourcesContent":["import { useCallback, useRef } from \"react\";\n\n// Not using useEffect or useLayoutEffect because this utility hook is often used to dispatch events\n// and it messed with the events dispatch order.\nexport function useExecuteOnce(fct: () => boolean, inline: boolean = false) {\n const triggered = useRef(false);\n\n const onceFct = useCallback(() => {\n if (!triggered.current) {\n const result = fct();\n\n if (result) {\n triggered.current = true;\n }\n }\n }, [fct]);\n\n if (inline) {\n onceFct();\n }\n\n return onceFct;\n}\n"],"names":["useCallback","useRef","useExecuteOnce","fct","inline","triggered","onceFct","result"],"mappings":";;;;;AAA4C;AAE5C,oGAAoG;AACpG,gDAAgD;AACzC,SAASE,eAAeC,GAAkB,EAAEC,SAAkB,KAAK;IACtE,MAAMC,YAAYJ,4CAAMA,CAAC;IAEzB,MAAMK,UAAUN,iDAAWA,CAAC;QACxB,IAAI,CAACK,UAAU,OAAO,EAAE;YACpB,MAAME,SAASJ;YAEf,IAAII,QAAQ;gBACRF,UAAU,OAAO,GAAG;YACxB;QACJ;IACJ,GAAG;QAACF;KAAI;IAER,IAAIC,QAAQ;QACRE;IACJ;IAEA,OAAOA;AACX"}
@@ -1,7 +1,7 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE__squide_react_router__ from "@squide/react-router";
2
- import * as __WEBPACK_EXTERNAL_MODULE_react_router_dom__ from "react-router-dom";
1
+ import * as __WEBPACK_EXTERNAL_MODULE__react_router_src_index_js_ff6a88b1__ from "../../react-router/src/index.js";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__ from "react-router-dom";
3
3
 
4
- ;// CONCATENATED MODULE: external "@squide/react-router"
4
+ ;// CONCATENATED MODULE: external "../../react-router/src/index.js"
5
5
 
6
6
  ;// CONCATENATED MODULE: external "react-router-dom"
7
7
 
@@ -10,12 +10,14 @@ import * as __WEBPACK_EXTERNAL_MODULE_react_router_dom__ from "react-router-dom"
10
10
 
11
11
  function useIsActiveRouteProtected(areModulesReady) {
12
12
  // Using this hook instead of window.location to retrieve the current location because it triggers a re-render everytime the browser location change.
13
- const location = (0,__WEBPACK_EXTERNAL_MODULE_react_router_dom__.useLocation)();
13
+ const location = (0,__WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__.useLocation)();
14
14
  // Only throw when there's no match if the modules are ready, otherwise it's expected that no route will be found since they are not all registered yet.
15
- const activeRoute = (0,__WEBPACK_EXTERNAL_MODULE__squide_react_router__.useRouteMatch)(location, {
15
+ const activeRoute = (0,__WEBPACK_EXTERNAL_MODULE__react_router_src_index_js_ff6a88b1__.useRouteMatch)(location, {
16
16
  throwWhenThereIsNoMatch: areModulesReady
17
17
  });
18
- return (0,__WEBPACK_EXTERNAL_MODULE__squide_react_router__.useIsRouteProtected)(activeRoute);
18
+ return (0,__WEBPACK_EXTERNAL_MODULE__react_router_src_index_js_ff6a88b1__.useIsRouteProtected)(activeRoute);
19
19
  }
20
20
 
21
21
  export { useIsActiveRouteProtected };
22
+
23
+ //# sourceMappingURL=useIsActiveRouteProtected.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsActiveRouteProtected.js","sources":["webpack://@squide/firefly/./src/useIsActiveRouteProtected.ts"],"sourcesContent":["import { useIsRouteProtected, useRouteMatch } from \"@squide/react-router\";\nimport { useLocation } from \"react-router-dom\";\n\nexport function useIsActiveRouteProtected(areModulesReady: boolean) {\n // Using this hook instead of window.location to retrieve the current location because it triggers a re-render everytime the browser location change.\n const location = useLocation();\n\n // Only throw when there's no match if the modules are ready, otherwise it's expected that no route will be found since they are not all registered yet.\n const activeRoute = useRouteMatch(location, { throwWhenThereIsNoMatch: areModulesReady });\n\n return useIsRouteProtected(activeRoute);\n}\n"],"names":["useIsRouteProtected","useRouteMatch","useLocation","useIsActiveRouteProtected","areModulesReady","location","activeRoute"],"mappings":";;;;;;;;AAA0E;AAC3B;AAExC,SAASG,0BAA0BC,eAAwB;IAC9D,qJAAqJ;IACrJ,MAAMC,WAAWH,qEAAWA;IAE5B,wJAAwJ;IACxJ,MAAMI,cAAcL,iFAAaA,CAACI,UAAU;QAAE,yBAAyBD;IAAgB;IAEvF,OAAOJ,uFAAmBA,CAACM;AAC/B"}
@@ -1,11 +1,11 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__ from "./AppRouterContext.js";
1
+ import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__ from "./AppRouterContext.js";
2
2
 
3
3
  ;// CONCATENATED MODULE: external "./AppRouterContext.js"
4
4
 
5
5
  ;// CONCATENATED MODULE: ./src/useIsBootstrapping.ts?__rslib_entry__
6
6
 
7
7
  function useIsBootstrapping() {
8
- const state = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__.useAppRouterState)();
8
+ const state = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__.useAppRouterState)();
9
9
  return isApplicationBootstrapping(state);
10
10
  }
11
11
  function isApplicationBootstrapping(state) {
@@ -18,3 +18,5 @@ function isApplicationBootstrapping(state) {
18
18
  }
19
19
 
20
20
  export { isApplicationBootstrapping, useIsBootstrapping };
21
+
22
+ //# sourceMappingURL=useIsBootstrapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsBootstrapping.js","sources":["webpack://@squide/firefly/./src/useIsBootstrapping.ts"],"sourcesContent":["import { useAppRouterState } from \"./AppRouterContext.ts\";\nimport type { AppRouterState } from \"./AppRouterReducer.ts\";\n\nexport function useIsBootstrapping() {\n const state = useAppRouterState();\n\n return isApplicationBootstrapping(state);\n}\n\nexport function isApplicationBootstrapping(state: AppRouterState) {\n const {\n waitForMsw,\n waitForPublicData,\n waitForProtectedData,\n areModulesReady,\n isMswReady,\n isPublicDataReady,\n isProtectedDataReady,\n activeRouteVisibility,\n isUnauthorized\n } = state;\n\n const isAppReady = (\n !isUnauthorized\n // Wait until the modules has been registered and the deferred registrations has been registered if any.\n && areModulesReady\n // Not required but can sometimes prevent a re-render when the state value is somehow updated after the initial data is ready.\n && (!waitForMsw || isMswReady)\n // Wait for the initial data to be ready.\n && (!waitForPublicData || isPublicDataReady)\n && (!waitForProtectedData || activeRouteVisibility === \"public\" || isProtectedDataReady)\n );\n\n // When an API request returns a 401, the bootstrapping should be bypassed to render the login page.\n const flush = (\n // Only applicable when there's a unauthorized request while fetching the initial data.\n isUnauthorized\n // Not required but can sometimes prevent a re-render when the state value is somehow updated after the public data is ready.\n && (!waitForMsw || isMswReady)\n // If the application is loading public data, we want to wait for this data to be ready to prevent a re-render.\n && (!waitForPublicData || isPublicDataReady)\n );\n\n return !isAppReady && !flush;\n}\n"],"names":["useAppRouterState","useIsBootstrapping","state","isApplicationBootstrapping","waitForMsw","waitForPublicData","waitForProtectedData","areModulesReady","isMswReady","isPublicDataReady","isProtectedDataReady","activeRouteVisibility","isUnauthorized","isAppReady","flush"],"mappings":";;;;;AAA0D;AAGnD,SAASC;IACZ,MAAMC,QAAQF,+EAAiBA;IAE/B,OAAOG,2BAA2BD;AACtC;AAEO,SAASC,2BAA2BD,KAAqB;IAC5D,MAAM,EACFE,UAAU,EACVC,iBAAiB,EACjBC,oBAAoB,EACpBC,eAAe,EACfC,UAAU,EACVC,iBAAiB,EACjBC,oBAAoB,EACpBC,qBAAqB,EACrBC,cAAc,EACjB,GAAGV;IAEJ,MAAMW,aACF,CAACD,kBAEEL,mBAEC,EAACH,cAAcI,UAAS,KAExB,EAACH,qBAAqBI,iBAAgB,KACtC,EAACH,wBAAwBK,0BAA0B,YAAYD,oBAAmB;IAG1F,oGAAoG;IACpG,MAAMI,QACF,uFAAuF;IACvFF,kBAEI,EAACR,cAAcI,UAAS,KAExB,EAACH,qBAAqBI,iBAAgB;IAG9C,OAAO,CAACI,cAAc,CAACC;AAC3B"}
@@ -1,7 +1,7 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE__squide_react_router__ from "@squide/react-router";
2
- import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__ from "./AppRouterContext.js";
1
+ import * as __WEBPACK_EXTERNAL_MODULE__react_router_src_index_js_ff6a88b1__ from "../../react-router/src/index.js";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__ from "./AppRouterContext.js";
3
3
 
4
- ;// CONCATENATED MODULE: external "@squide/react-router"
4
+ ;// CONCATENATED MODULE: external "../../react-router/src/index.js"
5
5
 
6
6
  ;// CONCATENATED MODULE: external "./AppRouterContext.js"
7
7
 
@@ -17,8 +17,10 @@ function useNavigationItems(options) {
17
17
  // are updated, subscribing to the state with useAppRouterState ensure that the navigation items will be re-rendered.
18
18
  // A more sophisticated strategy could be implemented later on if needed, something involving a subscription to the "runtime" changes, or
19
19
  // even introducing new module states.
20
- (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__.useAppRouterState)();
21
- return (0,__WEBPACK_EXTERNAL_MODULE__squide_react_router__.useRuntimeNavigationItems)(options);
20
+ (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__.useAppRouterState)();
21
+ return (0,__WEBPACK_EXTERNAL_MODULE__react_router_src_index_js_ff6a88b1__.useRuntimeNavigationItems)(options);
22
22
  }
23
23
 
24
24
  export { useNavigationItems };
25
+
26
+ //# sourceMappingURL=useNavigationItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNavigationItems.js","sources":["webpack://@squide/firefly/./src/useNavigationItems.ts"],"sourcesContent":["import { useRuntimeNavigationItems, type UseRuntimeNavigationItemsOptions } from \"@squide/react-router\";\nimport { useAppRouterState } from \"./AppRouterContext.ts\";\n\nexport type UseNavigationItemsOptions = UseRuntimeNavigationItemsOptions;\n\nexport function useNavigationItems(options?: UseNavigationItemsOptions) {\n // This is not the most sophisticated strategy but it seems to be good enough for now.\n // The idea is that when deferred registrations are used by the consumer applications, the deferred registrations could\n // be updated when the global data is updated. If the deferred registrations are updated, it means that the registered\n // navigation items might have been updated and a re-render must happens to display the new navigation items.\n // Since the \"deferredRegistrationsUpdatedAt\" state value of the AppRouterReducer is updated everytime the deferred registrations\n // are updated, subscribing to the state with useAppRouterState ensure that the navigation items will be re-rendered.\n // A more sophisticated strategy could be implemented later on if needed, something involving a subscription to the \"runtime\" changes, or\n // even introducing new module states.\n useAppRouterState();\n\n return useRuntimeNavigationItems(options);\n}\n"],"names":["useRuntimeNavigationItems","useAppRouterState","useNavigationItems","options"],"mappings":";;;;;;;;AAAwG;AAC9C;AAInD,SAASE,mBAAmBC,OAAmC;IAClE,sFAAsF;IACtF,uHAAuH;IACvH,sHAAsH;IACtH,6GAA6G;IAC7G,iIAAiI;IACjI,qHAAqH;IACrH,yIAAyI;IACzI,sCAAsC;IACtCF,+EAAiBA;IAEjB,OAAOD,6FAAyBA,CAACG;AACrC"}
@@ -1,12 +1,12 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE__squide_core__ from "@squide/core";
2
- import * as __WEBPACK_EXTERNAL_MODULE__tanstack_react_query__ from "@tanstack/react-query";
1
+ import * as __WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__ from "../../core/src/index.js";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__tanstack_react_query_db705f77__ from "@tanstack/react-query";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
- import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__ from "./AppRouterContext.js";
5
- import * as __WEBPACK_EXTERNAL_MODULE__GlobalDataQueriesError_js__ from "./GlobalDataQueriesError.js";
6
- import * as __WEBPACK_EXTERNAL_MODULE__useCanFetchProtectedData_js__ from "./useCanFetchProtectedData.js";
7
- import * as __WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js__ from "./useExecuteOnce.js";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__ from "./AppRouterContext.js";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__GlobalDataQueriesError_js_0c24ca62__ from "./GlobalDataQueriesError.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__useCanFetchProtectedData_js_52158d16__ from "./useCanFetchProtectedData.js";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js_e1f8f91b__ from "./useExecuteOnce.js";
8
8
 
9
- ;// CONCATENATED MODULE: external "@squide/core"
9
+ ;// CONCATENATED MODULE: external "../../core/src/index.js"
10
10
 
11
11
  ;// CONCATENATED MODULE: external "@tanstack/react-query"
12
12
 
@@ -32,9 +32,9 @@ const ProtectedDataFetchStartedEvent = "squide-protected-data-fetch-started";
32
32
  const ProtectedDataFetchFailedEvent = "squide-protected-data-fetch-failed";
33
33
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
34
  function useProtectedDataQueries(queries, isUnauthorizedError) {
35
- const canFetchProtectedData = (0,__WEBPACK_EXTERNAL_MODULE__useCanFetchProtectedData_js__.useCanFetchProtectedData)();
36
- const eventBus = (0,__WEBPACK_EXTERNAL_MODULE__squide_core__.useEventBus)();
37
- const dispatch = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__.useAppRouterDispatcher)();
35
+ const canFetchProtectedData = (0,__WEBPACK_EXTERNAL_MODULE__useCanFetchProtectedData_js_52158d16__.useCanFetchProtectedData)();
36
+ const eventBus = (0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.useEventBus)();
37
+ const dispatch = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__.useAppRouterDispatcher)();
38
38
  const combineResults = (0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)((results)=>{
39
39
  const errors = results.filter((x)=>x.error).map((x)=>x.error);
40
40
  const hasErrors = errors.length > 0;
@@ -45,15 +45,15 @@ function useProtectedDataQueries(queries, isUnauthorizedError) {
45
45
  isReady: !hasErrors && !results.some((x)=>x.isPending)
46
46
  };
47
47
  }, []);
48
- const { data, errors: queriesErrors, hasErrors, isReady } = (0,__WEBPACK_EXTERNAL_MODULE__tanstack_react_query__.useQueries)({
48
+ const { data, errors: queriesErrors, hasErrors, isReady } = (0,__WEBPACK_EXTERNAL_MODULE__tanstack_react_query_db705f77__.useQueries)({
49
49
  queries: queries.map((x)=>({
50
50
  enabled: canFetchProtectedData,
51
51
  ...x
52
52
  })),
53
53
  combine: combineResults
54
54
  });
55
- const { isProtectedDataReady, isUnauthorized } = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__.useAppRouterState)();
56
- (0,__WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js__.useExecuteOnce)((0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
55
+ const { isProtectedDataReady, isUnauthorized } = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__.useAppRouterState)();
56
+ (0,__WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js_e1f8f91b__.useExecuteOnce)((0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
57
57
  if (canFetchProtectedData) {
58
58
  eventBus.dispatch(ProtectedDataFetchStartedEvent);
59
59
  return true;
@@ -65,7 +65,7 @@ function useProtectedDataQueries(queries, isUnauthorizedError) {
65
65
  ]), true);
66
66
  // Using a ref seems to be the only way to prevent starting two deferred registrations scope.
67
67
  const isReadyRef = (0,__WEBPACK_EXTERNAL_MODULE_react__.useRef)(false);
68
- const dispatchReady = (0,__WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js__.useExecuteOnce)((0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
68
+ const dispatchReady = (0,__WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js_e1f8f91b__.useExecuteOnce)((0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
69
69
  if (isReady) {
70
70
  isReadyRef.current = true;
71
71
  dispatch({
@@ -106,7 +106,7 @@ function useProtectedDataQueries(queries, isUnauthorizedError) {
106
106
  // Otherwise, when a user is logged off, a refetch might throws a 401.
107
107
  if (!queriesErrors.every((x)=>isUnauthorizedError(x))) {
108
108
  eventBus.dispatch(ProtectedDataFetchFailedEvent, queriesErrors);
109
- throw new __WEBPACK_EXTERNAL_MODULE__GlobalDataQueriesError_js__.GlobalDataQueriesError("[squide] Global protected data queries failed.", queriesErrors);
109
+ throw new __WEBPACK_EXTERNAL_MODULE__GlobalDataQueriesError_js_0c24ca62__.GlobalDataQueriesError("[squide] Global protected data queries failed.", queriesErrors);
110
110
  }
111
111
  }
112
112
  }, [
@@ -122,3 +122,5 @@ function useProtectedDataQueries(queries, isUnauthorizedError) {
122
122
  }
123
123
 
124
124
  export { ProtectedDataFetchFailedEvent, ProtectedDataFetchStartedEvent, useProtectedDataQueries };
125
+
126
+ //# sourceMappingURL=useProtectedDataQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProtectedDataQueries.js","sources":["webpack://@squide/firefly/./src/useProtectedDataQueries.ts"],"sourcesContent":["import { useEventBus } from \"@squide/core\";\nimport { useQueries, type QueriesOptions, type QueriesResults, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useCallback, useEffect, useRef } from \"react\";\nimport { useAppRouterDispatcher, useAppRouterState } from \"./AppRouterContext.ts\";\nimport { GlobalDataQueriesError } from \"./GlobalDataQueriesError.ts\";\nimport { useCanFetchProtectedData } from \"./useCanFetchProtectedData.ts\";\nimport { useExecuteOnce } from \"./useExecuteOnce.ts\";\n\nexport const ProtectedDataFetchStartedEvent = \"squide-protected-data-fetch-started\";\nexport const ProtectedDataFetchFailedEvent = \"squide-protected-data-fetch-failed\";\n\nexport type IsUnauthorizedErrorCallback = (error: unknown) => boolean;\n\n// This converts an array of UseQueryResult to an array of the data type of each query result.\n// For more information, view: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-1.html#mapped-types-on-tuples-and-arrays.\ntype MapUseQueryResultToData<T> = { [K in keyof T]: T[K] extends UseQueryResult<infer U> ? U : never };\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function useProtectedDataQueries<T extends Array<any>>(queries: QueriesOptions<T>, isUnauthorizedError: IsUnauthorizedErrorCallback): MapUseQueryResultToData<QueriesResults<T>> {\n const canFetchProtectedData = useCanFetchProtectedData();\n const eventBus = useEventBus();\n\n const dispatch = useAppRouterDispatcher();\n\n const combineResults = useCallback((results: UseQueryResult<unknown, Error>[]) => {\n const errors = results.filter(x => x.error).map(x => x.error) as Error[];\n const hasErrors = errors.length > 0;\n\n return {\n data: results.map(x => x.data) as MapUseQueryResultToData<QueriesResults<T>>,\n errors,\n hasErrors,\n isReady: !hasErrors && !results.some(x => x.isPending)\n };\n }, []);\n\n const { data, errors: queriesErrors, hasErrors, isReady } = useQueries({\n queries: queries.map(x => ({\n enabled: canFetchProtectedData,\n ...x\n })),\n combine: combineResults\n });\n\n const { isProtectedDataReady, isUnauthorized } = useAppRouterState();\n\n useExecuteOnce(useCallback(() => {\n if (canFetchProtectedData) {\n eventBus.dispatch(ProtectedDataFetchStartedEvent);\n\n return true;\n }\n\n return false;\n }, [canFetchProtectedData, eventBus]), true);\n\n // Using a ref seems to be the only way to prevent starting two deferred registrations scope.\n const isReadyRef = useRef(false);\n\n const dispatchReady = useExecuteOnce(useCallback(() => {\n if (isReady) {\n isReadyRef.current = true;\n\n dispatch({ type: \"protected-data-ready\" });\n\n return true;\n }\n\n return false;\n }, [isReady, dispatch]));\n\n useEffect(() => {\n // State update must be executed in useEffect.\n dispatchReady();\n }, [dispatchReady]);\n\n useEffect(() => {\n if (isReadyRef.current && data) {\n dispatch({ type: \"protected-data-updated\" });\n }\n }, [data, dispatch]);\n\n useEffect(() => {\n if (hasErrors) {\n if (!isProtectedDataReady && !isUnauthorized && queriesErrors.some(x => isUnauthorizedError(x))) {\n // Will transition the state to allow the routes to render even if the bootstrapping is not complete, because otherwise\n // a login page for example could not be rendered.\n dispatch({ type: \"is-unauthorized\" });\n }\n\n // Otherwise, when a user is logged off, a refetch might throws a 401.\n if (!queriesErrors.every(x => isUnauthorizedError(x))) {\n eventBus.dispatch(ProtectedDataFetchFailedEvent, queriesErrors);\n\n throw new GlobalDataQueriesError(\"[squide] Global protected data queries failed.\", queriesErrors);\n }\n }\n }, [hasErrors, queriesErrors, isProtectedDataReady, isUnauthorized, isUnauthorizedError, dispatch, eventBus]);\n\n return data;\n}\n"],"names":["useEventBus","useQueries","useCallback","useEffect","useRef","useAppRouterDispatcher","useAppRouterState","GlobalDataQueriesError","useCanFetchProtectedData","useExecuteOnce","ProtectedDataFetchStartedEvent","ProtectedDataFetchFailedEvent","useProtectedDataQueries","queries","isUnauthorizedError","canFetchProtectedData","eventBus","dispatch","combineResults","results","errors","x","hasErrors","data","queriesErrors","isReady","isProtectedDataReady","isUnauthorized","isReadyRef","dispatchReady"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAA2C;AACuE;AAC3D;AAC2B;AACb;AACI;AACpB;AAE9C,MAAMU,iCAAiC,sCAAsC;AAC7E,MAAMC,gCAAgC,qCAAqC;AAQlF,8DAA8D;AACvD,SAASC,wBAA8CC,OAA0B,EAAEC,mBAAgD;IACtI,MAAMC,wBAAwBP,8FAAwBA;IACtD,MAAMQ,WAAWhB,uEAAWA;IAE5B,MAAMiB,WAAWZ,oFAAsBA;IAEvC,MAAMa,iBAAiBhB,iDAAWA,CAAC,CAACiB;QAChC,MAAMC,SAASD,QAAQ,MAAM,CAACE,CAAAA,IAAKA,EAAE,KAAK,EAAE,GAAG,CAACA,CAAAA,IAAKA,EAAE,KAAK;QAC5D,MAAMC,YAAYF,OAAO,MAAM,GAAG;QAElC,OAAO;YACH,MAAMD,QAAQ,GAAG,CAACE,CAAAA,IAAKA,EAAE,IAAI;YAC7BD;YACAE;YACA,SAAS,CAACA,aAAa,CAACH,QAAQ,IAAI,CAACE,CAAAA,IAAKA,EAAE,SAAS;QACzD;IACJ,GAAG,EAAE;IAEL,MAAM,EAAEE,IAAI,EAAE,QAAQC,aAAa,EAAEF,SAAS,EAAEG,OAAO,EAAE,GAAGxB,yEAAUA,CAAC;QACnE,SAASY,QAAQ,GAAG,CAACQ,CAAAA,IAAM;gBACvB,SAASN;gBACT,GAAGM,CAAC;YACR;QACA,SAASH;IACb;IAEA,MAAM,EAAEQ,oBAAoB,EAAEC,cAAc,EAAE,GAAGrB,+EAAiBA;IAElEG,0EAAcA,CAACP,iDAAWA,CAAC;QACvB,IAAIa,uBAAuB;YACvBC,SAAS,QAAQ,CAACN;YAElB,OAAO;QACX;QAEA,OAAO;IACX,GAAG;QAACK;QAAuBC;KAAS,GAAG;IAEvC,6FAA6F;IAC7F,MAAMY,aAAaxB,4CAAMA,CAAC;IAE1B,MAAMyB,gBAAgBpB,0EAAcA,CAACP,iDAAWA,CAAC;QAC7C,IAAIuB,SAAS;YACTG,WAAW,OAAO,GAAG;YAErBX,SAAS;gBAAE,MAAM;YAAuB;YAExC,OAAO;QACX;QAEA,OAAO;IACX,GAAG;QAACQ;QAASR;KAAS;IAEtBd,+CAASA,CAAC;QACN,8CAA8C;QAC9C0B;IACJ,GAAG;QAACA;KAAc;IAElB1B,+CAASA,CAAC;QACN,IAAIyB,WAAW,OAAO,IAAIL,MAAM;YAC5BN,SAAS;gBAAE,MAAM;YAAyB;QAC9C;IACJ,GAAG;QAACM;QAAMN;KAAS;IAEnBd,+CAASA,CAAC;QACN,IAAImB,WAAW;YACX,IAAI,CAACI,wBAAwB,CAACC,kBAAkBH,cAAc,IAAI,CAACH,CAAAA,IAAKP,oBAAoBO,KAAK;gBAC7F,uHAAuH;gBACvH,kDAAkD;gBAClDJ,SAAS;oBAAE,MAAM;gBAAkB;YACvC;YAEA,sEAAsE;YACtE,IAAI,CAACO,cAAc,KAAK,CAACH,CAAAA,IAAKP,oBAAoBO,KAAK;gBACnDL,SAAS,QAAQ,CAACL,+BAA+Ba;gBAEjD,MAAM,IAAIjB,sFAAsBA,CAAC,kDAAkDiB;YACvF;QACJ;IACJ,GAAG;QAACF;QAAWE;QAAeE;QAAsBC;QAAgBb;QAAqBG;QAAUD;KAAS;IAE5G,OAAOO;AACX"}
@@ -1,12 +1,12 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE__squide_core__ from "@squide/core";
2
- import * as __WEBPACK_EXTERNAL_MODULE__tanstack_react_query__ from "@tanstack/react-query";
1
+ import * as __WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__ from "../../core/src/index.js";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__tanstack_react_query_db705f77__ from "@tanstack/react-query";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
- import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__ from "./AppRouterContext.js";
5
- import * as __WEBPACK_EXTERNAL_MODULE__GlobalDataQueriesError_js__ from "./GlobalDataQueriesError.js";
6
- import * as __WEBPACK_EXTERNAL_MODULE__useCanFetchPublicData_js__ from "./useCanFetchPublicData.js";
7
- import * as __WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js__ from "./useExecuteOnce.js";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__ from "./AppRouterContext.js";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__GlobalDataQueriesError_js_0c24ca62__ from "./GlobalDataQueriesError.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__useCanFetchPublicData_js_b8d90132__ from "./useCanFetchPublicData.js";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js_e1f8f91b__ from "./useExecuteOnce.js";
8
8
 
9
- ;// CONCATENATED MODULE: external "@squide/core"
9
+ ;// CONCATENATED MODULE: external "../../core/src/index.js"
10
10
 
11
11
  ;// CONCATENATED MODULE: external "@tanstack/react-query"
12
12
 
@@ -32,9 +32,9 @@ const PublicDataFetchStartedEvent = "squide-public-data-fetch-started";
32
32
  const PublicDataFetchFailedEvent = "squide-public-data-fetch-failed";
33
33
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
34
  function usePublicDataQueries(queries) {
35
- const canFetchPublicData = (0,__WEBPACK_EXTERNAL_MODULE__useCanFetchPublicData_js__.useCanFetchPublicData)();
36
- const eventBus = (0,__WEBPACK_EXTERNAL_MODULE__squide_core__.useEventBus)();
37
- const dispatch = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__.useAppRouterDispatcher)();
35
+ const canFetchPublicData = (0,__WEBPACK_EXTERNAL_MODULE__useCanFetchPublicData_js_b8d90132__.useCanFetchPublicData)();
36
+ const eventBus = (0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.useEventBus)();
37
+ const dispatch = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__.useAppRouterDispatcher)();
38
38
  const combineResults = (0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)((results)=>{
39
39
  const errors = results.filter((x)=>x.error).map((x)=>x.error);
40
40
  const hasErrors = errors.length > 0;
@@ -45,14 +45,14 @@ function usePublicDataQueries(queries) {
45
45
  isReady: !hasErrors && !results.some((x)=>x.isPending)
46
46
  };
47
47
  }, []);
48
- const { data, errors: queriesErrors, hasErrors, isReady } = (0,__WEBPACK_EXTERNAL_MODULE__tanstack_react_query__.useQueries)({
48
+ const { data, errors: queriesErrors, hasErrors, isReady } = (0,__WEBPACK_EXTERNAL_MODULE__tanstack_react_query_db705f77__.useQueries)({
49
49
  queries: queries.map((x)=>({
50
50
  enabled: canFetchPublicData,
51
51
  ...x
52
52
  })),
53
53
  combine: combineResults
54
54
  });
55
- (0,__WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js__.useExecuteOnce)((0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
55
+ (0,__WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js_e1f8f91b__.useExecuteOnce)((0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
56
56
  if (canFetchPublicData) {
57
57
  eventBus.dispatch(PublicDataFetchStartedEvent);
58
58
  return true;
@@ -64,7 +64,7 @@ function usePublicDataQueries(queries) {
64
64
  ]), true);
65
65
  // Using a ref seems to be the only way to prevent starting two deferred registrations scope.
66
66
  const isReadyRef = (0,__WEBPACK_EXTERNAL_MODULE_react__.useRef)(false);
67
- const dispatchReady = (0,__WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js__.useExecuteOnce)((0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
67
+ const dispatchReady = (0,__WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js_e1f8f91b__.useExecuteOnce)((0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
68
68
  if (isReady) {
69
69
  isReadyRef.current = true;
70
70
  dispatch({
@@ -96,7 +96,7 @@ function usePublicDataQueries(queries) {
96
96
  (0,__WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
97
97
  if (hasErrors) {
98
98
  eventBus.dispatch(PublicDataFetchFailedEvent, queriesErrors);
99
- throw new __WEBPACK_EXTERNAL_MODULE__GlobalDataQueriesError_js__.GlobalDataQueriesError("[squide] Global public data queries failed.", queriesErrors);
99
+ throw new __WEBPACK_EXTERNAL_MODULE__GlobalDataQueriesError_js_0c24ca62__.GlobalDataQueriesError("[squide] Global public data queries failed.", queriesErrors);
100
100
  }
101
101
  }, [
102
102
  hasErrors,
@@ -107,3 +107,5 @@ function usePublicDataQueries(queries) {
107
107
  }
108
108
 
109
109
  export { PublicDataFetchFailedEvent, PublicDataFetchStartedEvent, usePublicDataQueries };
110
+
111
+ //# sourceMappingURL=usePublicDataQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePublicDataQueries.js","sources":["webpack://@squide/firefly/./src/usePublicDataQueries.ts"],"sourcesContent":["import { useEventBus } from \"@squide/core\";\nimport { useQueries, type QueriesOptions, type QueriesResults, type UseQueryResult } from \"@tanstack/react-query\";\nimport { useCallback, useEffect, useRef } from \"react\";\nimport { useAppRouterDispatcher } from \"./AppRouterContext.ts\";\nimport { GlobalDataQueriesError } from \"./GlobalDataQueriesError.ts\";\nimport { useCanFetchPublicData } from \"./useCanFetchPublicData.ts\";\nimport { useExecuteOnce } from \"./useExecuteOnce.ts\";\n\nexport const PublicDataFetchStartedEvent = \"squide-public-data-fetch-started\";\nexport const PublicDataFetchFailedEvent = \"squide-public-data-fetch-failed\";\n\n// This converts an array of UseQueryResult to an array of the data type of each query result.\n// For more information, view: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-1.html#mapped-types-on-tuples-and-arrays.\ntype MapUseQueryResultToData<T> = { [K in keyof T]: T[K] extends UseQueryResult<infer U> ? U : never };\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function usePublicDataQueries<T extends Array<any>>(queries: QueriesOptions<T>): MapUseQueryResultToData<QueriesResults<T>> {\n const canFetchPublicData = useCanFetchPublicData();\n const eventBus = useEventBus();\n\n const dispatch = useAppRouterDispatcher();\n\n const combineResults = useCallback((results: UseQueryResult<unknown, Error>[]) => {\n const errors = results.filter(x => x.error).map(x => x.error) as Error[];\n const hasErrors = errors.length > 0;\n\n return {\n data: results.map(x => x.data) as MapUseQueryResultToData<QueriesResults<T>>,\n errors,\n hasErrors,\n isReady: !hasErrors && !results.some(x => x.isPending)\n };\n }, []);\n\n const { data, errors: queriesErrors, hasErrors, isReady } = useQueries({\n queries: queries.map(x => ({\n enabled: canFetchPublicData,\n ...x\n })),\n combine: combineResults\n });\n\n useExecuteOnce(useCallback(() => {\n if (canFetchPublicData) {\n eventBus.dispatch(PublicDataFetchStartedEvent);\n\n return true;\n }\n\n return false;\n }, [canFetchPublicData, eventBus]), true);\n\n // Using a ref seems to be the only way to prevent starting two deferred registrations scope.\n const isReadyRef = useRef(false);\n\n const dispatchReady = useExecuteOnce(useCallback(() => {\n if (isReady) {\n isReadyRef.current = true;\n\n dispatch({ type: \"public-data-ready\" });\n\n return true;\n }\n\n return false;\n }, [isReady, dispatch]));\n\n useEffect(() => {\n // State update must be executed in useEffect.\n dispatchReady();\n }, [dispatchReady]);\n\n useEffect(() => {\n if (isReadyRef.current && data) {\n dispatch({ type: \"public-data-updated\" });\n }\n }, [data, dispatch]);\n\n useEffect(() => {\n if (hasErrors) {\n eventBus.dispatch(PublicDataFetchFailedEvent, queriesErrors);\n\n throw new GlobalDataQueriesError(\"[squide] Global public data queries failed.\", queriesErrors);\n }\n }, [hasErrors, queriesErrors, eventBus]);\n\n return data;\n}\n"],"names":["useEventBus","useQueries","useCallback","useEffect","useRef","useAppRouterDispatcher","GlobalDataQueriesError","useCanFetchPublicData","useExecuteOnce","PublicDataFetchStartedEvent","PublicDataFetchFailedEvent","usePublicDataQueries","queries","canFetchPublicData","eventBus","dispatch","combineResults","results","errors","x","hasErrors","data","queriesErrors","isReady","isReadyRef","dispatchReady"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAA2C;AACuE;AAC3D;AACQ;AACM;AACF;AACd;AAE9C,MAAMS,8BAA8B,mCAAmC;AACvE,MAAMC,6BAA6B,kCAAkC;AAM5E,8DAA8D;AACvD,SAASC,qBAA2CC,OAA0B;IACjF,MAAMC,qBAAqBN,wFAAqBA;IAChD,MAAMO,WAAWd,uEAAWA;IAE5B,MAAMe,WAAWV,oFAAsBA;IAEvC,MAAMW,iBAAiBd,iDAAWA,CAAC,CAACe;QAChC,MAAMC,SAASD,QAAQ,MAAM,CAACE,CAAAA,IAAKA,EAAE,KAAK,EAAE,GAAG,CAACA,CAAAA,IAAKA,EAAE,KAAK;QAC5D,MAAMC,YAAYF,OAAO,MAAM,GAAG;QAElC,OAAO;YACH,MAAMD,QAAQ,GAAG,CAACE,CAAAA,IAAKA,EAAE,IAAI;YAC7BD;YACAE;YACA,SAAS,CAACA,aAAa,CAACH,QAAQ,IAAI,CAACE,CAAAA,IAAKA,EAAE,SAAS;QACzD;IACJ,GAAG,EAAE;IAEL,MAAM,EAAEE,IAAI,EAAE,QAAQC,aAAa,EAAEF,SAAS,EAAEG,OAAO,EAAE,GAAGtB,yEAAUA,CAAC;QACnE,SAASW,QAAQ,GAAG,CAACO,CAAAA,IAAM;gBACvB,SAASN;gBACT,GAAGM,CAAC;YACR;QACA,SAASH;IACb;IAEAR,0EAAcA,CAACN,iDAAWA,CAAC;QACvB,IAAIW,oBAAoB;YACpBC,SAAS,QAAQ,CAACL;YAElB,OAAO;QACX;QAEA,OAAO;IACX,GAAG;QAACI;QAAoBC;KAAS,GAAG;IAEpC,6FAA6F;IAC7F,MAAMU,aAAapB,4CAAMA,CAAC;IAE1B,MAAMqB,gBAAgBjB,0EAAcA,CAACN,iDAAWA,CAAC;QAC7C,IAAIqB,SAAS;YACTC,WAAW,OAAO,GAAG;YAErBT,SAAS;gBAAE,MAAM;YAAoB;YAErC,OAAO;QACX;QAEA,OAAO;IACX,GAAG;QAACQ;QAASR;KAAS;IAEtBZ,+CAASA,CAAC;QACN,8CAA8C;QAC9CsB;IACJ,GAAG;QAACA;KAAc;IAElBtB,+CAASA,CAAC;QACN,IAAIqB,WAAW,OAAO,IAAIH,MAAM;YAC5BN,SAAS;gBAAE,MAAM;YAAsB;QAC3C;IACJ,GAAG;QAACM;QAAMN;KAAS;IAEnBZ,+CAASA,CAAC;QACN,IAAIiB,WAAW;YACXN,SAAS,QAAQ,CAACJ,4BAA4BY;YAE9C,MAAM,IAAIhB,sFAAsBA,CAAC,+CAA+CgB;QACpF;IACJ,GAAG;QAACF;QAAWE;QAAeR;KAAS;IAEvC,OAAOO;AACX"}
@@ -1,7 +1,7 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE__squide_module_federation__ from "@squide/module-federation";
1
+ import * as __WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__ from "../../module-federation/src/index.js";
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
3
 
4
- ;// CONCATENATED MODULE: external "@squide/module-federation"
4
+ ;// CONCATENATED MODULE: external "../../module-federation/src/index.js"
5
5
 
6
6
  ;// CONCATENATED MODULE: external "react"
7
7
 
@@ -10,8 +10,10 @@ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
10
10
 
11
11
  function useRegisterDeferredRegistrations() {
12
12
  return (0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)((data, runtime)=>{
13
- return (0,__WEBPACK_EXTERNAL_MODULE__squide_module_federation__.registerDeferredRegistrations)(data, runtime);
13
+ return (0,__WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__.registerDeferredRegistrations)(data, runtime);
14
14
  }, []);
15
15
  }
16
16
 
17
17
  export { useRegisterDeferredRegistrations };
18
+
19
+ //# sourceMappingURL=useRegisterDeferredRegistrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRegisterDeferredRegistrations.js","sources":["webpack://@squide/firefly/./src/useRegisterDeferredRegistrations.ts"],"sourcesContent":["import type { Runtime } from \"@squide/core\";\nimport { registerDeferredRegistrations } from \"@squide/module-federation\";\nimport { useCallback } from \"react\";\n\nexport function useRegisterDeferredRegistrations() {\n return useCallback(<TData = unknown, TRuntime extends Runtime = Runtime>(data: TData, runtime: TRuntime) => {\n return registerDeferredRegistrations(data, runtime);\n }, []);\n}\n"],"names":["registerDeferredRegistrations","useCallback","useRegisterDeferredRegistrations","data","runtime"],"mappings":";;;;;;;;AAC0E;AACtC;AAE7B,SAASE;IACZ,OAAOD,iDAAWA,CAAC,CAAsDE,MAAaC;QAClF,OAAOJ,sGAA6BA,CAACG,MAAMC;IAC/C,GAAG,EAAE;AACT"}
@@ -1,10 +1,10 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE__squide_core__ from "@squide/core";
2
- import * as __WEBPACK_EXTERNAL_MODULE__squide_module_federation__ from "@squide/module-federation";
1
+ import * as __WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__ from "../../core/src/index.js";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__ from "../../module-federation/src/index.js";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
4
4
 
5
- ;// CONCATENATED MODULE: external "@squide/core"
5
+ ;// CONCATENATED MODULE: external "../../core/src/index.js"
6
6
 
7
- ;// CONCATENATED MODULE: external "@squide/module-federation"
7
+ ;// CONCATENATED MODULE: external "../../module-federation/src/index.js"
8
8
 
9
9
  ;// CONCATENATED MODULE: external "react"
10
10
 
@@ -13,19 +13,19 @@ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
13
13
 
14
14
 
15
15
  function subscribeToLocalModuleRegistrationStatusChanged(callback) {
16
- (0,__WEBPACK_EXTERNAL_MODULE__squide_core__.addLocalModuleRegistrationStatusChangedListener)(callback);
17
- return ()=>(0,__WEBPACK_EXTERNAL_MODULE__squide_core__.removeLocalModuleRegistrationStatusChangedListener)(callback);
16
+ (0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.addLocalModuleRegistrationStatusChangedListener)(callback);
17
+ return ()=>(0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.removeLocalModuleRegistrationStatusChangedListener)(callback);
18
18
  }
19
19
  function subscribeToRemoteModuleRegistrationStatusChanged(callback) {
20
- (0,__WEBPACK_EXTERNAL_MODULE__squide_module_federation__.addRemoteModuleRegistrationStatusChangedListener)(callback);
21
- return ()=>(0,__WEBPACK_EXTERNAL_MODULE__squide_module_federation__.removeRemoteModuleRegistrationStatusChangedListener)(callback);
20
+ (0,__WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__.addRemoteModuleRegistrationStatusChangedListener)(callback);
21
+ return ()=>(0,__WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__.removeRemoteModuleRegistrationStatusChangedListener)(callback);
22
22
  }
23
23
  function useStrictRegistrationMode() {
24
- const runtime = (0,__WEBPACK_EXTERNAL_MODULE__squide_core__.useRuntime)();
25
- const localModuleStatus = (0,__WEBPACK_EXTERNAL_MODULE_react__.useSyncExternalStore)(subscribeToLocalModuleRegistrationStatusChanged, __WEBPACK_EXTERNAL_MODULE__squide_core__.getLocalModuleRegistrationStatus);
26
- const remoteModuleStatus = (0,__WEBPACK_EXTERNAL_MODULE_react__.useSyncExternalStore)(subscribeToRemoteModuleRegistrationStatusChanged, __WEBPACK_EXTERNAL_MODULE__squide_module_federation__.getRemoteModuleRegistrationStatus);
24
+ const runtime = (0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.useRuntime)();
25
+ const localModuleStatus = (0,__WEBPACK_EXTERNAL_MODULE_react__.useSyncExternalStore)(subscribeToLocalModuleRegistrationStatusChanged, __WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.getLocalModuleRegistrationStatus);
26
+ const remoteModuleStatus = (0,__WEBPACK_EXTERNAL_MODULE_react__.useSyncExternalStore)(subscribeToRemoteModuleRegistrationStatusChanged, __WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__.getRemoteModuleRegistrationStatus);
27
27
  (0,__WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
28
- if ((0,__WEBPACK_EXTERNAL_MODULE__squide_module_federation__.areModulesReady)(localModuleStatus, remoteModuleStatus)) {
28
+ if ((0,__WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__.areModulesReady)(localModuleStatus, remoteModuleStatus)) {
29
29
  runtime._validateRegistrations();
30
30
  }
31
31
  }, [
@@ -36,3 +36,5 @@ function useStrictRegistrationMode() {
36
36
  }
37
37
 
38
38
  export { useStrictRegistrationMode };
39
+
40
+ //# sourceMappingURL=useStrictRegistrationMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStrictRegistrationMode.js","sources":["webpack://@squide/firefly/./src/useStrictRegistrationMode.ts"],"sourcesContent":["import { addLocalModuleRegistrationStatusChangedListener, getLocalModuleRegistrationStatus, removeLocalModuleRegistrationStatusChangedListener, useRuntime } from \"@squide/core\";\nimport { addRemoteModuleRegistrationStatusChangedListener, areModulesReady, getRemoteModuleRegistrationStatus, removeRemoteModuleRegistrationStatusChangedListener } from \"@squide/module-federation\";\nimport { useEffect, useSyncExternalStore } from \"react\";\n\nfunction subscribeToLocalModuleRegistrationStatusChanged(callback: () => void) {\n addLocalModuleRegistrationStatusChangedListener(callback);\n\n return () => removeLocalModuleRegistrationStatusChangedListener(callback);\n}\n\nfunction subscribeToRemoteModuleRegistrationStatusChanged(callback: () => void) {\n addRemoteModuleRegistrationStatusChangedListener(callback);\n\n return () => removeRemoteModuleRegistrationStatusChangedListener(callback);\n}\n\nexport function useStrictRegistrationMode() {\n const runtime = useRuntime();\n\n const localModuleStatus = useSyncExternalStore(subscribeToLocalModuleRegistrationStatusChanged, getLocalModuleRegistrationStatus);\n const remoteModuleStatus = useSyncExternalStore(subscribeToRemoteModuleRegistrationStatusChanged, getRemoteModuleRegistrationStatus);\n\n useEffect(() => {\n if (areModulesReady(localModuleStatus, remoteModuleStatus)) {\n runtime._validateRegistrations();\n }\n }, [runtime, localModuleStatus, remoteModuleStatus]);\n}\n"],"names":["addLocalModuleRegistrationStatusChangedListener","getLocalModuleRegistrationStatus","removeLocalModuleRegistrationStatusChangedListener","useRuntime","addRemoteModuleRegistrationStatusChangedListener","areModulesReady","getRemoteModuleRegistrationStatus","removeRemoteModuleRegistrationStatusChangedListener","useEffect","useSyncExternalStore","subscribeToLocalModuleRegistrationStatusChanged","callback","subscribeToRemoteModuleRegistrationStatusChanged","useStrictRegistrationMode","runtime","localModuleStatus","remoteModuleStatus"],"mappings":";;;;;;;;;;;AAAiL;AACqB;AAC9I;AAExD,SAASU,gDAAgDC,QAAoB;IACzEX,2GAA+CA,CAACW;IAEhD,OAAO,IAAMT,8GAAkDA,CAACS;AACpE;AAEA,SAASC,iDAAiDD,QAAoB;IAC1EP,yHAAgDA,CAACO;IAEjD,OAAO,IAAMJ,4HAAmDA,CAACI;AACrE;AAEO,SAASE;IACZ,MAAMC,UAAUX,sEAAUA;IAE1B,MAAMY,oBAAoBN,0DAAoBA,CAACC,iDAAiDT,wFAAgCA;IAChI,MAAMe,qBAAqBP,0DAAoBA,CAACG,kDAAkDN,sGAAiCA;IAEnIE,+CAASA,CAAC;QACN,IAAIH,wFAAeA,CAACU,mBAAmBC,qBAAqB;YACxDF,QAAQ,sBAAsB;QAClC;IACJ,GAAG;QAACA;QAASC;QAAmBC;KAAmB;AACvD"}
@@ -1,8 +1,8 @@
1
- import * as __WEBPACK_EXTERNAL_MODULE__squide_module_federation__ from "@squide/module-federation";
1
+ import * as __WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__ from "../../module-federation/src/index.js";
2
2
  import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
3
- import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__ from "./AppRouterContext.js";
3
+ import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__ from "./AppRouterContext.js";
4
4
 
5
- ;// CONCATENATED MODULE: external "@squide/module-federation"
5
+ ;// CONCATENATED MODULE: external "../../module-federation/src/index.js"
6
6
 
7
7
  ;// CONCATENATED MODULE: external "react"
8
8
 
@@ -13,9 +13,9 @@ import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__ from "./AppRouterCo
13
13
 
14
14
 
15
15
  function useUpdateDeferredRegistrations() {
16
- const dispatch = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js__.useAppRouterDispatcher)();
16
+ const dispatch = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__.useAppRouterDispatcher)();
17
17
  return (0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(async (data, runtime)=>{
18
- const errors = await (0,__WEBPACK_EXTERNAL_MODULE__squide_module_federation__.updateDeferredRegistrations)(data, runtime);
18
+ const errors = await (0,__WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__.updateDeferredRegistrations)(data, runtime);
19
19
  dispatch({
20
20
  type: "deferred-registrations-updated"
21
21
  });
@@ -26,3 +26,5 @@ function useUpdateDeferredRegistrations() {
26
26
  }
27
27
 
28
28
  export { useUpdateDeferredRegistrations };
29
+
30
+ //# sourceMappingURL=useUpdateDeferredRegistrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpdateDeferredRegistrations.js","sources":["webpack://@squide/firefly/./src/useUpdateDeferredRegistrations.ts"],"sourcesContent":["import type { Runtime } from \"@squide/core\";\nimport { updateDeferredRegistrations } from \"@squide/module-federation\";\nimport { useCallback } from \"react\";\nimport { useAppRouterDispatcher } from \"./AppRouterContext.ts\";\n\nexport function useUpdateDeferredRegistrations() {\n const dispatch = useAppRouterDispatcher();\n\n return useCallback(async <TData = unknown, TRuntime extends Runtime = Runtime>(data: TData, runtime: TRuntime) => {\n const errors = await updateDeferredRegistrations(data, runtime);\n\n dispatch({ type: \"deferred-registrations-updated\" });\n\n return errors;\n }, [dispatch]);\n}\n"],"names":["updateDeferredRegistrations","useCallback","useAppRouterDispatcher","useUpdateDeferredRegistrations","dispatch","data","runtime","errors"],"mappings":";;;;;;;;;;;AACwE;AACpC;AAC2B;AAExD,SAASG;IACZ,MAAMC,WAAWF,oFAAsBA;IAEvC,OAAOD,iDAAWA,CAAC,OAA4DI,MAAaC;QACxF,MAAMC,SAAS,MAAMP,oGAA2BA,CAACK,MAAMC;QAEvDF,SAAS;YAAE,MAAM;QAAiC;QAElD,OAAOG;IACX,GAAG;QAACH;KAAS;AACjB"}