@equinor/fusion-framework-react-app 4.3.6 → 4.3.7

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.
@@ -1,4 +1,4 @@
1
1
  import type { AppModules, AppModulesInstance } from '@equinor/fusion-framework-app';
2
- import { AnyModule, ModuleKey, ModuleType, ModuleTypes } from '@equinor/fusion-framework-module';
3
- export declare const useAppModule: <TType extends unknown = unknown, TKey extends string = ModuleKey<ModuleTypes<AppModules<[TType]>>>>(module: TKey) => TType extends AnyModule ? ModuleType<TType> : AppModulesInstance[Extract<"event", TKey> | Extract<"http", TKey> | Extract<"auth", TKey> | Extract<"dispose", TKey>];
2
+ import type { AnyModule, ModuleKey, ModuleType, ModuleTypes } from '@equinor/fusion-framework-module';
3
+ export declare function useAppModule<TType extends AnyModule | unknown = unknown, TKey extends string = ModuleKey<ModuleTypes<AppModules<[TType]>>>>(module: TKey): TType extends AnyModule ? ModuleType<TType> : AppModulesInstance[Extract<keyof AppModulesInstance, TKey>];
4
4
  export default useAppModule;
@@ -1 +1 @@
1
- export declare const version = "4.3.6";
1
+ export declare const version = "4.3.7";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equinor/fusion-framework-react-app",
3
- "version": "4.3.6",
3
+ "version": "4.3.7",
4
4
  "description": "",
5
5
  "main": "dist/esm/index.js",
6
6
  "exports": {
@@ -55,12 +55,12 @@
55
55
  "directory": "packages/react"
56
56
  },
57
57
  "dependencies": {
58
- "@equinor/fusion-framework-app": "^8.1.2",
59
- "@equinor/fusion-framework-module-app": "^5.2.13",
58
+ "@equinor/fusion-framework-app": "^8.1.3",
60
59
  "@equinor/fusion-framework-module": "^4.2.7",
61
- "@equinor/fusion-framework-react": "^6.0.3",
60
+ "@equinor/fusion-framework-module-app": "^5.2.14",
62
61
  "@equinor/fusion-framework-module-navigation": "^3.1.4",
63
62
  "@equinor/fusion-framework-react-module": "^3.0.8",
63
+ "@equinor/fusion-framework-react": "^6.0.4",
64
64
  "@equinor/fusion-framework-react-module-http": "^4.0.6"
65
65
  },
66
66
  "devDependencies": {
@@ -73,9 +73,9 @@
73
73
  "@equinor/fusion-framework-module-event": "^4.0.8",
74
74
  "@equinor/fusion-framework-module-feature-flag": "^1.0.2",
75
75
  "@equinor/fusion-framework-module-msal": "^3.0.10",
76
- "@equinor/fusion-framework-react-module-bookmark": "^2.0.33",
77
- "@equinor/fusion-framework-react-widget": "^1.0.1",
78
- "@equinor/fusion-framework-react-module-context": "^6.1.0",
76
+ "@equinor/fusion-framework-react-widget": "^1.0.2",
77
+ "@equinor/fusion-framework-react-module-bookmark": "^2.0.34",
78
+ "@equinor/fusion-framework-react-module-context": "^6.1.1",
79
79
  "@equinor/fusion-observable": "^8.1.5"
80
80
  },
81
81
  "peerDependencies": {
@@ -1,31 +1,36 @@
1
1
  import type { AppModules, AppModulesInstance } from '@equinor/fusion-framework-app';
2
- import { AnyModule, ModuleKey, ModuleType, ModuleTypes } from '@equinor/fusion-framework-module';
2
+ import type {
3
+ AnyModule,
4
+ ModuleKey,
5
+ ModuleType,
6
+ ModuleTypes,
7
+ } from '@equinor/fusion-framework-module';
8
+
3
9
  import { useAppModules } from './useAppModules';
4
10
 
5
11
  /**
6
- * hook for getting a module from the application scope
7
- *
8
- * @template TType type of the module
9
- *
10
- * @param module name of the module, provide TType if not registered
12
+ * Retrieves the specified app module from the app scope.
11
13
  *
12
- * @returns provider of the module
14
+ * @template TType - The type of the app module.
15
+ * @template TKey - The key of the app module.
16
+ * @param module - The key of the app module to retrieve.
17
+ * @returns The app module instance if found, otherwise throws an error.
13
18
  */
14
- export const useAppModule = <
19
+ export function useAppModule<
15
20
  TType extends AnyModule | unknown = unknown,
16
21
  TKey extends string = ModuleKey<ModuleTypes<AppModules<[TType]>>>,
17
22
  >(
18
23
  module: TKey,
19
24
  ): TType extends AnyModule
20
25
  ? ModuleType<TType>
21
- : AppModulesInstance[Extract<keyof AppModulesInstance, TKey>] => {
22
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
23
- // @ts-ignore
24
- const appModule = useAppModules()[module];
26
+ : AppModulesInstance[Extract<keyof AppModulesInstance, TKey>] {
27
+ const appModule = useAppModules()[module as keyof AppModulesInstance];
25
28
  if (!appModule) {
26
29
  throw Error(`the requested module [${module}] is not included in the app scope`);
27
30
  }
28
- return appModule;
29
- };
31
+ return appModule as TType extends AnyModule
32
+ ? ModuleType<TType>
33
+ : AppModulesInstance[Extract<keyof AppModulesInstance, TKey>];
34
+ }
30
35
 
31
36
  export default useAppModule;
@@ -2,6 +2,12 @@ import type { AppModulesInstance } from '@equinor/fusion-framework-app';
2
2
  import type { AnyModule } from '@equinor/fusion-framework-module';
3
3
  import { useModules } from '@equinor/fusion-framework-react-module';
4
4
 
5
+ /**
6
+ * Custom hook that returns an instance of the app modules.
7
+ *
8
+ * @template T - The type of the app modules.
9
+ * @returns An instance of the app modules.
10
+ */
5
11
  export const useAppModules = <
6
12
  T extends Array<AnyModule> | unknown = unknown,
7
13
  >(): AppModulesInstance<T> => useModules<AppModulesInstance<T>>();
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  // Generated by genversion.
2
- export const version = '4.3.6';
2
+ export const version = '4.3.7';