@equinor/fusion-framework-react 5.3.8 → 6.0.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.
- package/CHANGELOG.md +26 -0
- package/dist/esm/app/index.js +1 -0
- package/dist/esm/app/index.js.map +1 -1
- package/dist/esm/app/useAppProvider.js.map +1 -1
- package/dist/esm/app/useApps.js.map +1 -1
- package/dist/esm/app/useCurrentApp.js.map +1 -1
- package/dist/esm/app/useCurrentAppModule.js +11 -0
- package/dist/esm/app/useCurrentAppModule.js.map +1 -0
- package/dist/esm/app/useCurrentAppModules.js +9 -3
- package/dist/esm/app/useCurrentAppModules.js.map +1 -1
- package/dist/esm/feature-flag/index.js +6 -0
- package/dist/esm/feature-flag/index.js.map +1 -0
- package/dist/esm/feature-flag/useCurrentAppFeatures.js +12 -0
- package/dist/esm/feature-flag/useCurrentAppFeatures.js.map +1 -0
- package/dist/esm/feature-flag/useFeature.js +16 -0
- package/dist/esm/feature-flag/useFeature.js.map +1 -0
- package/dist/esm/feature-flag/useFeatures.js +27 -0
- package/dist/esm/feature-flag/useFeatures.js.map +1 -0
- package/dist/esm/feature-flag/useFrameworkFeature.js +11 -0
- package/dist/esm/feature-flag/useFrameworkFeature.js.map +1 -0
- package/dist/esm/feature-flag/useFrameworkFeatures.js +11 -0
- package/dist/esm/feature-flag/useFrameworkFeatures.js.map +1 -0
- package/dist/esm/hooks/use-http-client.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/signalr/index.js.map +1 -1
- package/dist/esm/useFramework.js.map +1 -1
- package/dist/esm/useFrameworkModule.js +10 -0
- package/dist/esm/useFrameworkModule.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/app/index.d.ts +1 -0
- package/dist/types/app/useCurrentAppModule.d.ts +8 -0
- package/dist/types/app/useCurrentAppModules.d.ts +2 -2
- package/dist/types/feature-flag/index.d.ts +6 -0
- package/dist/types/feature-flag/useCurrentAppFeatures.d.ts +2 -0
- package/dist/types/feature-flag/useFeature.d.ts +8 -0
- package/dist/types/feature-flag/useFeatures.d.ts +9 -0
- package/dist/types/feature-flag/useFrameworkFeature.d.ts +3 -0
- package/dist/types/feature-flag/useFrameworkFeatures.d.ts +3 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/useFrameworkModule.d.ts +3 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +24 -33
- package/src/app/index.ts +1 -0
- package/src/app/useCurrentAppModule.ts +43 -0
- package/src/app/useCurrentAppModules.ts +14 -4
- package/src/feature-flag/README.md +44 -0
- package/src/feature-flag/index.ts +7 -0
- package/src/feature-flag/useCurrentAppFeatures.ts +19 -0
- package/src/feature-flag/useFeature.ts +47 -0
- package/src/feature-flag/useFeatures.ts +77 -0
- package/src/feature-flag/useFrameworkFeature.ts +22 -0
- package/src/feature-flag/useFrameworkFeatures.ts +20 -0
- package/src/index.tsx +1 -0
- package/src/useFrameworkModule.ts +31 -0
- package/src/version.ts +1 -1
- package/tsconfig.json +4 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 6.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [#1747](https://github.com/equinor/fusion-framework/pull/1747) [`8b031c3`](https://github.com/equinor/fusion-framework/commit/8b031c31f314deeffdf395fc847e4279b61aab7e) Thanks [@odinr](https://github.com/odinr)! - refactor framework feature flag hooks
|
|
8
|
+
|
|
9
|
+
- useCurrentAppFeatures
|
|
10
|
+
- _useFeature (internal)_
|
|
11
|
+
- _useFeatures (internal)_
|
|
12
|
+
- useFrameworkFeature
|
|
13
|
+
- useFrameworkFeatures
|
|
14
|
+
|
|
15
|
+
> [!CAUTION] > `useCurrentAppModules` does no longer return `Observable<AppModulesInstance>`, but current state of `AppModulesInstance | null`
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Updated dependencies [[`8b031c3`](https://github.com/equinor/fusion-framework/commit/8b031c31f314deeffdf395fc847e4279b61aab7e)]:
|
|
20
|
+
- @equinor/fusion-framework-module-feature-flag@1.0.0
|
|
21
|
+
|
|
22
|
+
## 5.3.9
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- Updated dependencies [[`1918c82`](https://github.com/equinor/fusion-framework/commit/1918c8228bc7158c4c358aa8f5688342e3b11b1d), [`1918c82`](https://github.com/equinor/fusion-framework/commit/1918c8228bc7158c4c358aa8f5688342e3b11b1d)]:
|
|
27
|
+
- @equinor/fusion-framework-module-feature-flag@0.0.1
|
|
28
|
+
|
|
3
29
|
## 5.3.8
|
|
4
30
|
|
|
5
31
|
### Patch Changes
|
package/dist/esm/app/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/app/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/app/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppProvider.js","sourceRoot":"","sources":["../../../src/app/useAppProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAM/C,MAAM,CAAC,MAAM,cAAc,GAAG,GAA8C,EAAE;IAC1E,MAAM,QAAQ,GAAG,YAAY,EAAe,CAAC,OAAO,CAAC,GAAG,CAAC;IACzD,IAAI,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"useAppProvider.js","sourceRoot":"","sources":["../../../src/app/useAppProvider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAM/C,MAAM,CAAC,MAAM,cAAc,GAAG,GAA8C,EAAE;IAC1E,MAAM,QAAQ,GAAG,YAAY,EAAe,CAAC,OAAO,CAAC,GAAG,CAAC;IACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useApps.js","sourceRoot":"","sources":["../../../src/app/useApps.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOlD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAEvB,EAA2D,EAAE;IAC1D,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CACrD,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAC3D,CAAC;IAEF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;QACtB,IAAI,SAAS,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAA,EAAE;
|
|
1
|
+
{"version":3,"file":"useApps.js","sourceRoot":"","sources":["../../../src/app/useApps.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOlD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAEvB,EAA2D,EAAE;IAC1D,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAClC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CACrD,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAC3D,CAAC;IAEF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;QACtB,IAAI,SAAS,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAA,EAAE,CAAC;YACpC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAEtB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;AAC1C,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCurrentApp.js","sourceRoot":"","sources":["../../../src/app/useCurrentApp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAKtE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,MAAM,CAAC,MAAM,aAAa,GAAG,GAK3B,EAAE;IACA,MAAM,QAAQ,GAAG,YAAY,EAAe,CAAC,OAAO,CAAC,GAAG,CAAC;IACzD,IAAI,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"useCurrentApp.js","sourceRoot":"","sources":["../../../src/app/useCurrentApp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAKtE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,MAAM,CAAC,MAAM,aAAa,GAAG,GAK3B,EAAE;IACA,MAAM,QAAQ,GAAG,YAAY,EAAe,CAAC,OAAO,CAAC,GAAG,CAAC;IACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACzD,OAAO;QACH,UAAU,EAAE,KAAmC;QAC/C,aAAa,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC/E,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACnF,KAAK;KACR,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import useCurrentAppModules from './useCurrentAppModules';
|
|
2
|
+
export const useCurrentAppModule = (moduleKey) => {
|
|
3
|
+
const { modules, error, complete } = useCurrentAppModules();
|
|
4
|
+
const module = modules === null
|
|
5
|
+
? null
|
|
6
|
+
:
|
|
7
|
+
modules[moduleKey];
|
|
8
|
+
return { module, error, complete };
|
|
9
|
+
};
|
|
10
|
+
export default useCurrentAppModule;
|
|
11
|
+
//# sourceMappingURL=useCurrentAppModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCurrentAppModule.js","sourceRoot":"","sources":["../../../src/app/useCurrentAppModule.ts"],"names":[],"mappings":"AAOA,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAY1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAI/B,SAAe,EASjB,EAAE;IACA,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC5D,MAAM,MAAM,GACR,OAAO,KAAK,IAAI;QACZ,CAAC,CAAC,IAAI;QACN,CAAC;YACE,OAAO,CAAC,SAAiC,CAAS,CAAC;IAC9D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACvC,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import { useMemo } from 'react';
|
|
2
2
|
import useCurrentApp from './useCurrentApp';
|
|
3
3
|
import { of } from 'rxjs';
|
|
4
|
+
import { useObservableState } from '@equinor/fusion-observable/react';
|
|
4
5
|
export const useCurrentAppModules = () => {
|
|
5
|
-
|
|
6
|
+
var _a;
|
|
7
|
+
const { currentApp, error: appError } = useCurrentApp();
|
|
6
8
|
const modules$ = useMemo(() => currentApp
|
|
7
9
|
? currentApp.instance$
|
|
8
10
|
: of(null), [currentApp]);
|
|
11
|
+
const { value: modules, error, complete, } = useObservableState(modules$, {
|
|
12
|
+
initial: (_a = currentApp === null || currentApp === void 0 ? void 0 : currentApp.state.modules) !== null && _a !== void 0 ? _a : null,
|
|
13
|
+
});
|
|
9
14
|
return {
|
|
10
|
-
modules
|
|
11
|
-
error,
|
|
15
|
+
modules,
|
|
16
|
+
error: error !== null && error !== void 0 ? error : appError,
|
|
17
|
+
complete,
|
|
12
18
|
};
|
|
13
19
|
};
|
|
14
20
|
export default useCurrentAppModules;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCurrentAppModules.js","sourceRoot":"","sources":["../../../src/app/useCurrentAppModules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAc,EAAE,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"useCurrentAppModules.js","sourceRoot":"","sources":["../../../src/app/useCurrentAppModules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAc,EAAE,EAAE,MAAM,MAAM,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAUtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAIlC,EAAE;;IACA,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAY,CAAC;IAClE,MAAM,QAAQ,GAAG,OAAO,CACpB,GAAG,EAAE,CACD,UAAU;QACN,CAAC,CAAE,UAAU,CAAC,SAAsD;QACpE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAClB,CAAC,UAAU,CAAC,CACf,CAAC;IACF,MAAM,EACF,KAAK,EAAE,OAAO,EACd,KAAK,EACL,QAAQ,GACX,GAAG,kBAAkB,CAAC,QAAQ,EAAE;QAC7B,OAAO,EAAE,MAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,OAAmD,mCAAI,IAAI;KAC1F,CAAC,CAAC;IACH,OAAO;QACH,OAAO;QACP,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,QAAQ;QACxB,QAAQ;KACX,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { useFeature } from './useFeature';
|
|
2
|
+
export { useFeatures } from './useFeatures';
|
|
3
|
+
export { useCurrentAppFeatures } from './useCurrentAppFeatures';
|
|
4
|
+
export { useFrameworkFeature } from './useFrameworkFeature';
|
|
5
|
+
export { useFrameworkFeatures } from './useFrameworkFeatures';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/feature-flag/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useCurrentAppModule } from '../app';
|
|
2
|
+
import { useFeatures } from './useFeatures';
|
|
3
|
+
export const useCurrentAppFeatures = () => {
|
|
4
|
+
const { module, error: moduleError } = useCurrentAppModule('featureFlag');
|
|
5
|
+
const { features, toggleFeature, error } = useFeatures(module);
|
|
6
|
+
return {
|
|
7
|
+
features,
|
|
8
|
+
toggleFeature,
|
|
9
|
+
error: error !== null && error !== void 0 ? error : moduleError,
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=useCurrentAppFeatures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCurrentAppFeatures.js","sourceRoot":"","sources":["../../../src/feature-flag/useCurrentAppFeatures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,WAAW,EAA0B,MAAM,eAAe,CAAC;AAMpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAsB,EAAE;IACzD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAoB,aAAa,CAAC,CAAC;IAE7F,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAE/D,OAAO;QACH,QAAQ;QACR,aAAa;QACb,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,WAAW;KAC9B,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useCallback, useMemo } from 'react';
|
|
2
|
+
import { EMPTY } from 'rxjs';
|
|
3
|
+
import { useObservableState } from '@equinor/fusion-observable/react';
|
|
4
|
+
import { findFeature } from '@equinor/fusion-framework-module-feature-flag/selectors';
|
|
5
|
+
export const useFeature = (provider, key) => {
|
|
6
|
+
const feature$ = useMemo(() => provider.features$.pipe(findFeature(key)), [provider, key]);
|
|
7
|
+
const { value: feature, error } = useObservableState(feature$ !== null && feature$ !== void 0 ? feature$ : EMPTY);
|
|
8
|
+
const toggleFeature = useCallback((enable) => {
|
|
9
|
+
var _a;
|
|
10
|
+
const enabled = enable === undefined ? !((_a = provider.getFeature(key)) === null || _a === void 0 ? void 0 : _a.enabled) : enable;
|
|
11
|
+
provider.toggleFeature({ key, enabled });
|
|
12
|
+
}, [provider, key]);
|
|
13
|
+
return { feature, toggleFeature, error };
|
|
14
|
+
};
|
|
15
|
+
export default useFeature;
|
|
16
|
+
//# sourceMappingURL=useFeature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFeature.js","sourceRoot":"","sources":["../../../src/feature-flag/useFeature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAO7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,yDAAyD,CAAC;AAmBtF,MAAM,CAAC,MAAM,UAAU,GAAG,CACtB,QAA8B,EAC9B,GAAW,EACQ,EAAE;IACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAI,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9F,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,KAAK,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,WAAW,CAC7B,CAAC,MAAgB,EAAE,EAAE;;QACjB,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA,MAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,0CAAE,OAAO,CAAA,CAAC,CAAC,CAAC,MAAM,CAAC;QACnF,QAAQ,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC,EACD,CAAC,QAAQ,EAAE,GAAG,CAAC,CAClB,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { useCallback, useMemo } from 'react';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { useObservableState } from '@equinor/fusion-observable/react';
|
|
5
|
+
export const useFeatures = (provider, selector) => {
|
|
6
|
+
var _a;
|
|
7
|
+
const { value: features, error } = useObservableState(useMemo(() => {
|
|
8
|
+
if (provider) {
|
|
9
|
+
return provider === null || provider === void 0 ? void 0 : provider.features$.pipe(map((x) => {
|
|
10
|
+
const values = Object.values(x);
|
|
11
|
+
return selector ? values.filter(selector) : values;
|
|
12
|
+
}));
|
|
13
|
+
}
|
|
14
|
+
return of([]);
|
|
15
|
+
}, [provider, selector]), { initial: Object.values((_a = provider === null || provider === void 0 ? void 0 : provider.features) !== null && _a !== void 0 ? _a : {}) });
|
|
16
|
+
const toggleFeature = useCallback((key, enable) => {
|
|
17
|
+
var _a;
|
|
18
|
+
if (!provider) {
|
|
19
|
+
throw new Error('Missing IFeatureFlagProvider.');
|
|
20
|
+
}
|
|
21
|
+
const enabled = enable === undefined ? !((_a = provider.getFeature(key)) === null || _a === void 0 ? void 0 : _a.enabled) : enable;
|
|
22
|
+
provider.toggleFeature({ key, enabled });
|
|
23
|
+
}, [provider]);
|
|
24
|
+
return { features, error, toggleFeature };
|
|
25
|
+
};
|
|
26
|
+
export default useFeatures;
|
|
27
|
+
//# sourceMappingURL=useFeatures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFeatures.js","sourceRoot":"","sources":["../../../src/feature-flag/useFeatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AASrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAoBtE,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,QAAsC,EACtC,QAA4B,EACX,EAAE;;IAMnB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,kBAAkB,CACjD,OAAO,CAAC,GAAG,EAAE;QACT,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,CAAC,IAAI,CAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACN,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAChC,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACvD,CAAC,CAAC,CACL,CAAC;QACN,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EACxB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,mCAAI,EAAE,CAAC,EAAE,CACvD,CAAC;IAQF,MAAM,aAAa,GAAG,WAAW,CAC7B,CAAC,GAAW,EAAE,MAAgB,EAAE,EAAE;;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA,MAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,0CAAE,OAAO,CAAA,CAAC,CAAC,CAAC,MAAM,CAAC;QAEnF,QAAQ,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC,EACD,CAAC,QAAQ,CAAC,CACb,CAAC;IACF,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AAC9C,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useFrameworkModule } from '../useFrameworkModule';
|
|
2
|
+
import { useFeature } from './useFeature';
|
|
3
|
+
export const useFrameworkFeature = (key) => {
|
|
4
|
+
const provider = useFrameworkModule('featureFlag');
|
|
5
|
+
if (!provider) {
|
|
6
|
+
throw Error('Feature flagging is not enabled in the framework');
|
|
7
|
+
}
|
|
8
|
+
return useFeature(provider, key);
|
|
9
|
+
};
|
|
10
|
+
export default useFrameworkFeature;
|
|
11
|
+
//# sourceMappingURL=useFrameworkFeature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFrameworkFeature.js","sourceRoot":"","sources":["../../../src/feature-flag/useFrameworkFeature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAU1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAI,GAAW,EAAoC,EAAE;IACpF,MAAM,QAAQ,GAAG,kBAAkB,CAAoB,aAAa,CAAC,CAAC;IACtE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useFrameworkModule } from '../useFrameworkModule';
|
|
2
|
+
import { useFeatures } from './useFeatures';
|
|
3
|
+
export const useFrameworkFeatures = () => {
|
|
4
|
+
const provider = useFrameworkModule('featureFlag');
|
|
5
|
+
if (!provider) {
|
|
6
|
+
throw Error('Feature flagging is not enabled in the framework');
|
|
7
|
+
}
|
|
8
|
+
return useFeatures(provider);
|
|
9
|
+
};
|
|
10
|
+
export default useFrameworkFeatures;
|
|
11
|
+
//# sourceMappingURL=useFrameworkFeatures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFrameworkFeatures.js","sourceRoot":"","sources":["../../../src/feature-flag/useFrameworkFeatures.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQ5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAmC,EAAE;IACrE,MAAM,QAAQ,GAAG,kBAAkB,CAAoB,aAAa,CAAC,CAAC;IACtE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-http-client.js","sourceRoot":"","sources":["../../../src/hooks/use-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK/C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAyB,EAAc,EAAE;IACnE,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"use-http-client.js","sourceRoot":"","sources":["../../../src/hooks/use-http-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK/C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAyB,EAAc,EAAE;IACnE,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,KAAK,CAAC,iCAAiC,IAAI,GAAG,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;IAEtB,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -2,5 +2,6 @@ export { FusionConfigurator } from '@equinor/fusion-framework';
|
|
|
2
2
|
export { createFrameworkProvider } from './create-framework-provider';
|
|
3
3
|
export { FrameworkProvider } from './context';
|
|
4
4
|
export { useFramework } from './useFramework';
|
|
5
|
+
export { useFrameworkModule } from './useFrameworkModule';
|
|
5
6
|
export { default, Framework } from './Framework';
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/signalr/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAiB,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAwBjG,MAAM,CAAC,MAAM,UAAU,GAAG,CACtB,KAAa,EACb,OAAe,EACuB,EAAE;IACxC,MAAM,QAAQ,GAAG,YAAY,EAAmB,CAAC,OAAO,CAAC,OAAO,CAAC;IACjE,IAAI,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/signalr/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAiB,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAwBjG,MAAM,CAAC,MAAM,UAAU,GAAG,CACtB,KAAa,EACb,OAAe,EACuB,EAAE;IACxC,MAAM,QAAQ,GAAG,YAAY,EAAmB,CAAC,OAAO,CAAC,OAAO,CAAC;IACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,KAAK,CACP,+EAA+E,CAClF,CAAC;IACN,CAAC;IACD,OAAO,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFramework.js","sourceRoot":"","sources":["../../src/useFramework.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,MAAM,CAAC,MAAM,YAAY,GAAG,GAA6D,EAAE;IACvF,IAAI,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"useFramework.js","sourceRoot":"","sources":["../../src/useFramework.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,MAAM,CAAC,MAAM,YAAY,GAAG,GAA6D,EAAE;IACvF,IAAI,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACxD,CAAC;IACD,SAAS,aAAT,SAAS,cAAT,SAAS,IAAT,SAAS,GAAK,MAAM,CAAC,MAAM,EAAC;IAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useFramework } from './useFramework';
|
|
2
|
+
export const useFrameworkModule = (name) => {
|
|
3
|
+
const framework = useFramework();
|
|
4
|
+
const module = framework.modules[name];
|
|
5
|
+
if (!module) {
|
|
6
|
+
console.warn(`the requested module [${module}] is not included in the framework instance`);
|
|
7
|
+
}
|
|
8
|
+
return module;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useFrameworkModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFrameworkModule.js","sourceRoot":"","sources":["../../src/useFrameworkModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAY9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAI9B,IAAU,EAGsE,EAAE;IAClF,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAIjC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC,yBAAyB,MAAM,6CAA6C,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC"}
|
package/dist/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '
|
|
1
|
+
export const version = '6.0.0';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|