@equinor/fusion-framework-react 8.0.0-next.0 → 8.0.1

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 (123) hide show
  1. package/CHANGELOG.md +60 -12
  2. package/README.md +164 -31
  3. package/dist/esm/Framework.js +32 -0
  4. package/dist/esm/Framework.js.map +1 -1
  5. package/dist/esm/app/index.js.map +1 -1
  6. package/dist/esm/app/useAppProvider.js +12 -2
  7. package/dist/esm/app/useAppProvider.js.map +1 -1
  8. package/dist/esm/app/useApps.js +17 -3
  9. package/dist/esm/app/useApps.js.map +1 -1
  10. package/dist/esm/app/useCurrentApp.js +26 -4
  11. package/dist/esm/app/useCurrentApp.js.map +1 -1
  12. package/dist/esm/app/useCurrentAppModule.js +26 -13
  13. package/dist/esm/app/useCurrentAppModule.js.map +1 -1
  14. package/dist/esm/app/useCurrentAppModules.js +14 -4
  15. package/dist/esm/app/useCurrentAppModules.js.map +1 -1
  16. package/dist/esm/context/index.js +10 -0
  17. package/dist/esm/context/index.js.map +1 -1
  18. package/dist/esm/context/useCurrentContext.js +16 -0
  19. package/dist/esm/context/useCurrentContext.js.map +1 -1
  20. package/dist/esm/context.js +6 -16
  21. package/dist/esm/context.js.map +1 -1
  22. package/dist/esm/create-framework-provider.js +30 -9
  23. package/dist/esm/create-framework-provider.js.map +1 -1
  24. package/dist/esm/feature-flag/index.js +10 -0
  25. package/dist/esm/feature-flag/index.js.map +1 -1
  26. package/dist/esm/feature-flag/useCurrentAppFeatures.js +12 -2
  27. package/dist/esm/feature-flag/useCurrentAppFeatures.js.map +1 -1
  28. package/dist/esm/feature-flag/useFeature.js +16 -6
  29. package/dist/esm/feature-flag/useFeature.js.map +1 -1
  30. package/dist/esm/feature-flag/useFeatures.js +24 -6
  31. package/dist/esm/feature-flag/useFeatures.js.map +1 -1
  32. package/dist/esm/feature-flag/useFrameworkFeature.js +13 -5
  33. package/dist/esm/feature-flag/useFrameworkFeature.js.map +1 -1
  34. package/dist/esm/feature-flag/useFrameworkFeatures.js +12 -4
  35. package/dist/esm/feature-flag/useFrameworkFeatures.js.map +1 -1
  36. package/dist/esm/framework-provider.js +21 -0
  37. package/dist/esm/framework-provider.js.map +1 -0
  38. package/dist/esm/hooks/index.js +10 -2
  39. package/dist/esm/hooks/index.js.map +1 -1
  40. package/dist/esm/hooks/useCurrentUser.js +20 -0
  41. package/dist/esm/hooks/useCurrentUser.js.map +1 -0
  42. package/dist/esm/hooks/useHttpClient.js +28 -0
  43. package/dist/esm/hooks/useHttpClient.js.map +1 -0
  44. package/dist/esm/http/index.js +11 -1
  45. package/dist/esm/http/index.js.map +1 -1
  46. package/dist/esm/index.js +9 -1
  47. package/dist/esm/index.js.map +1 -1
  48. package/dist/esm/signalr/index.js +1 -31
  49. package/dist/esm/signalr/index.js.map +1 -1
  50. package/dist/esm/signalr/useSignalR.js +33 -0
  51. package/dist/esm/signalr/useSignalR.js.map +1 -0
  52. package/dist/esm/useFramework.js +18 -4
  53. package/dist/esm/useFramework.js.map +1 -1
  54. package/dist/esm/useFrameworkModule.js +16 -8
  55. package/dist/esm/useFrameworkModule.js.map +1 -1
  56. package/dist/esm/version.js +1 -1
  57. package/dist/esm/version.js.map +1 -1
  58. package/dist/tsconfig.tsbuildinfo +1 -1
  59. package/dist/types/Framework.d.ts +38 -1
  60. package/dist/types/app/index.d.ts +10 -0
  61. package/dist/types/app/useAppProvider.d.ts +12 -3
  62. package/dist/types/app/useApps.d.ts +17 -3
  63. package/dist/types/app/useCurrentApp.d.ts +25 -4
  64. package/dist/types/app/useCurrentAppModule.d.ts +13 -7
  65. package/dist/types/app/useCurrentAppModules.d.ts +14 -4
  66. package/dist/types/context/index.d.ts +10 -0
  67. package/dist/types/context/useCurrentContext.d.ts +16 -0
  68. package/dist/types/context.d.ts +1 -21
  69. package/dist/types/create-framework-provider.d.ts +29 -8
  70. package/dist/types/feature-flag/index.d.ts +10 -0
  71. package/dist/types/feature-flag/useCurrentAppFeatures.d.ts +12 -2
  72. package/dist/types/feature-flag/useFeature.d.ts +23 -6
  73. package/dist/types/feature-flag/useFeatures.d.ts +23 -6
  74. package/dist/types/feature-flag/useFrameworkFeature.d.ts +12 -5
  75. package/dist/types/feature-flag/useFrameworkFeatures.d.ts +11 -4
  76. package/dist/types/framework-provider.d.ts +19 -0
  77. package/dist/types/hooks/index.d.ts +10 -2
  78. package/dist/types/hooks/useCurrentUser.d.ts +16 -0
  79. package/dist/types/hooks/useHttpClient.d.ts +20 -0
  80. package/dist/types/http/index.d.ts +11 -1
  81. package/dist/types/index.d.ts +9 -1
  82. package/dist/types/signalr/index.d.ts +1 -24
  83. package/dist/types/signalr/useSignalR.d.ts +24 -0
  84. package/dist/types/useFramework.d.ts +16 -4
  85. package/dist/types/useFrameworkModule.d.ts +13 -6
  86. package/dist/types/version.d.ts +1 -1
  87. package/package.json +15 -14
  88. package/src/Framework.tsx +37 -0
  89. package/src/app/index.ts +10 -0
  90. package/src/app/useAppProvider.ts +12 -2
  91. package/src/app/useApps.ts +17 -3
  92. package/src/app/useCurrentApp.ts +26 -4
  93. package/src/app/useCurrentAppModule.ts +26 -14
  94. package/src/app/useCurrentAppModules.ts +14 -4
  95. package/src/context/index.ts +10 -0
  96. package/src/context/useCurrentContext.ts +16 -0
  97. package/src/context.ts +6 -17
  98. package/src/create-framework-provider.tsx +31 -10
  99. package/src/feature-flag/index.ts +10 -0
  100. package/src/feature-flag/useCurrentAppFeatures.ts +12 -2
  101. package/src/feature-flag/useFeature.ts +31 -7
  102. package/src/feature-flag/useFeatures.ts +33 -7
  103. package/src/feature-flag/useFrameworkFeature.ts +13 -5
  104. package/src/feature-flag/useFrameworkFeatures.ts +12 -4
  105. package/src/framework-provider.ts +21 -0
  106. package/src/hooks/index.ts +10 -2
  107. package/src/hooks/useCurrentUser.ts +21 -0
  108. package/src/hooks/useHttpClient.ts +36 -0
  109. package/src/http/index.ts +11 -1
  110. package/src/index.tsx +9 -1
  111. package/src/signalr/index.ts +1 -39
  112. package/src/signalr/useSignalR.ts +40 -0
  113. package/src/useFramework.ts +18 -4
  114. package/src/useFrameworkModule.ts +16 -8
  115. package/src/version.ts +1 -1
  116. package/dist/esm/hooks/use-current-user.js +0 -6
  117. package/dist/esm/hooks/use-current-user.js.map +0 -1
  118. package/dist/esm/hooks/use-http-client.js +0 -14
  119. package/dist/esm/hooks/use-http-client.js.map +0 -1
  120. package/dist/types/hooks/use-current-user.d.ts +0 -2
  121. package/dist/types/hooks/use-http-client.d.ts +0 -5
  122. package/src/hooks/use-current-user.ts +0 -7
  123. package/src/hooks/use-http-client.ts +0 -19
@@ -1,19 +1,27 @@
1
1
  import { useFramework } from './useFramework';
2
2
  /**
3
- * Retrieves a module from the framework instance based on its name.
3
+ * React hook that retrieves a module from the Fusion Framework by name.
4
4
  *
5
- * @template TType - The type of the module to retrieve.
6
- * @template TKey - The type of the module name.
7
- * @param name - The name of the module to retrieve.
8
- * @returns The requested module from the framework instance.
9
- * @throws Error if the requested module is not included in the framework instance.
5
+ * @template TType - The expected module type (used for type-narrowing).
6
+ * @template TKey - The module key string.
7
+ * @param name - The registered name of the module to retrieve.
8
+ * @returns The resolved module instance, or `undefined` if the module is
9
+ * not registered.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import type { HttpModule } from '@equinor/fusion-framework-module-http';
14
+ *
15
+ * const http = useFrameworkModule<HttpModule>('http');
16
+ * ```
10
17
  */
11
18
  export const useFrameworkModule = (name) => {
12
19
  const framework = useFramework();
13
- // TODO
20
+ // TODO(#5082): tighten generics so this indexed lookup no longer needs @ts-expect-error
14
21
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
15
- // @ts-ignore
22
+ // @ts-expect-error
16
23
  const module = framework.modules[name];
24
+ // Warn when the requested module key does not resolve to a registered module
17
25
  if (!module) {
18
26
  console.warn(`the requested module [${module}] is not included in the framework instance`);
19
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useFrameworkModule.js","sourceRoot":"","sources":["../../src/useFrameworkModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQ9C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAIhC,IAAU,EAGsE,EAAE;IAClF,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,OAAO;IACP,6DAA6D;IAC7D,aAAa;IACb,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,yBAAyB,MAAM,6CAA6C,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"useFrameworkModule.js","sourceRoot":"","sources":["../../src/useFrameworkModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQ9C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAIhC,IAAU,EAGsE,EAAE;IAClF,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,wFAAwF;IACxF,6DAA6D;IAC7D,mBAAmB;IACnB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,6EAA6E;IAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,yBAAyB,MAAM,6CAA6C,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  // Generated by genversion.
2
- export const version = '8.0.0-next.0';
2
+ export const version = '8.0.1';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}