@equinor/fusion-framework-react-app 4.2.1 → 4.3.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 +211 -193
- package/README.md +2 -0
- package/dist/esm/create-legacy-app.js.map +1 -1
- package/dist/esm/feature-flag/index.js +1 -1
- package/dist/esm/feature-flag/index.js.map +1 -1
- package/dist/esm/feature-flag/useFeature.js +33 -0
- package/dist/esm/feature-flag/useFeature.js.map +1 -0
- package/dist/esm/useAppModule.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/feature-flag/index.d.ts +2 -1
- package/dist/types/feature-flag/useFeature.d.ts +6 -0
- package/dist/types/render-app.d.ts +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +8 -8
- package/src/feature-flag/README.md +20 -0
- package/src/feature-flag/index.ts +5 -5
- package/src/feature-flag/useFeature.ts +66 -0
- package/src/version.ts +1 -1
- package/dist/esm/feature-flag/useFeatureFlags.js +0 -48
- package/dist/esm/feature-flag/useFeatureFlags.js.map +0 -1
- package/dist/types/feature-flag/useFeatureFlags.d.ts +0 -21
- package/src/feature-flag/useFeatureFlags.ts +0 -110
package/README.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-legacy-app.js","sourceRoot":"","sources":["../../src/create-legacy-app.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAK/D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,SAA4B,EAC5B,SAAwC,EAC1C,EAAE;IACA,MAAM,eAAe,GAAG,GAAgB,EAAE;QACtC,MAAM,MAAM,GAAG,YAAY,EAAe,CAAC;QAC3C,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;YACjC,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAGtD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YACvC,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"create-legacy-app.js","sourceRoot":"","sources":["../../src/create-legacy-app.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAK/D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,SAA4B,EAC5B,SAAwC,EAC1C,EAAE;IACA,MAAM,eAAe,GAAG,GAAgB,EAAE;QACtC,MAAM,MAAM,GAAG,YAAY,EAAe,CAAC;QAC3C,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;YACjC,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAGtD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YACvC,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,EAAE,CAAC;gBACvB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC;gBACjD,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAuB,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,EAAE,EAAuB,CAAC,CAAC;QACpD,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACb,OAAO,CACH,KAAC,QAAQ,IAAC,QAAQ,EAAE,sCAAkB,YAClC,KAAC,eAAe,KAAG,GACZ,CACd,CAAC;IACN,CAAC,CAAC;IACF,OAAO,eAAe,CAAC;AAC3B,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { useFeature } from './useFeature';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/feature-flag/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/feature-flag/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useCallback, useMemo } from 'react';
|
|
2
|
+
import { EMPTY, combineLatest, map } from 'rxjs';
|
|
3
|
+
import { useFrameworkModule } from '@equinor/fusion-framework-react';
|
|
4
|
+
import { useObservableState } from '@equinor/fusion-observable/react';
|
|
5
|
+
import { findFeature } from '@equinor/fusion-framework-module-feature-flag/selectors';
|
|
6
|
+
import { useAppModule } from '../useAppModule';
|
|
7
|
+
export const useFeature = (key) => {
|
|
8
|
+
const appProvider = useAppModule('featureFlag');
|
|
9
|
+
const frameworkProvider = useFrameworkModule('featureFlag');
|
|
10
|
+
const features$ = useMemo(() => {
|
|
11
|
+
if (!frameworkProvider) {
|
|
12
|
+
return appProvider.features$;
|
|
13
|
+
}
|
|
14
|
+
return combineLatest({
|
|
15
|
+
framework: frameworkProvider.features$,
|
|
16
|
+
app: appProvider.features$,
|
|
17
|
+
}).pipe(map(({ framework, app }) => {
|
|
18
|
+
return Object.assign(Object.assign({}, framework), app);
|
|
19
|
+
}));
|
|
20
|
+
}, [appProvider, frameworkProvider]);
|
|
21
|
+
const feature$ = useMemo(() => features$.pipe(findFeature(key)), [features$, key]);
|
|
22
|
+
const { value: feature, error } = useObservableState(feature$ !== null && feature$ !== void 0 ? feature$ : EMPTY);
|
|
23
|
+
const toggleFeature = useCallback((enable) => {
|
|
24
|
+
var _a;
|
|
25
|
+
const enabled = enable === undefined ? !((_a = appProvider.getFeature(key)) === null || _a === void 0 ? void 0 : _a.enabled) : enable;
|
|
26
|
+
appProvider.toggleFeature({
|
|
27
|
+
key,
|
|
28
|
+
enabled,
|
|
29
|
+
});
|
|
30
|
+
}, [appProvider, key]);
|
|
31
|
+
return { feature, toggleFeature, error };
|
|
32
|
+
};
|
|
33
|
+
//# 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,aAAa,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAKtE,OAAO,EAAE,WAAW,EAAE,MAAM,yDAAyD,CAAC;AAEtF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAQ/C,MAAM,CAAC,MAAM,UAAU,GAAG,CACtB,GAAW,EAKb,EAAE;IACA,MAAM,WAAW,GAAG,YAAY,CAAoB,aAAa,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,kBAAkB,CAAoB,aAAa,CAAC,CAAC;IAG/E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAE3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,OAAO,WAAW,CAAC,SAAS,CAAC;QACjC,CAAC;QAED,OAAO,aAAa,CAAC;YACjB,SAAS,EAAE,iBAAiB,CAAC,SAAS;YACtC,GAAG,EAAE,WAAW,CAAC,SAAS;SAC7B,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE;YACvB,uCAAY,SAAS,GAAK,GAAG,EAAG;QACpC,CAAC,CAAC,CACL,CAAC;IACN,CAAC,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAGrC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAI,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IAEtF,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,KAAK,CAAC,CAAC;IAExE,MAAM,aAAa,GAAG,WAAW,CAC7B,CAAC,MAAgB,EAAE,EAAE;;QAEjB,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA,MAAA,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,0CAAE,OAAO,CAAA,CAAC,CAAC,CAAC,MAAM,CAAC;QACtF,WAAW,CAAC,aAAa,CAAC;YACtB,GAAG;YACH,OAAO;SACV,CAAC,CAAC;IACP,CAAC,EACD,CAAC,WAAW,EAAE,GAAG,CAAC,CACrB,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppModule.js","sourceRoot":"","sources":["../../src/useAppModule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAWhD,MAAM,CAAC,MAAM,YAAY,GAAG,CAIxB,MAAY,EAGkD,EAAE;IAGhE,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"useAppModule.js","sourceRoot":"","sources":["../../src/useAppModule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAWhD,MAAM,CAAC,MAAM,YAAY,GAAG,CAIxB,MAAY,EAGkD,EAAE;IAGhE,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,KAAK,CAAC,yBAAyB,MAAM,oCAAoC,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
package/dist/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '4.
|
|
1
|
+
export const version = '4.3.0';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|