@@ -13,12 +13,17 @@ import { FeatureGateProvider } from 'feature-gate';
1313
1414// define or get from api features and freeze them
1515const features = Object .freeze ({
16- feature1: ' true' ,
16+ feature1: ' default' ,
17+ feature2: ' extended' ,
1718 ABtest: ' A' ,
1819});
1920
2021function MyApp () {
21- const featureFlags = {}; // get from user api
22+ const featureFlags = { // get from user api
23+ feature1: ' default' ,
24+ feature2: ' none' ,
25+ ABtest: ' B' ,
26+ };
2227
2328 return (
2429 < FeatureGateProvider featureFlags= {featureFlags} features= {features}>
@@ -33,7 +38,7 @@ then anywhere in the app use names of features defined in the features map
3338import { FeatureGate } from ' feature-gate' ;
3439
3540< FeatureGate name= " feature1" >
36- < div> Component available for authorized user< / div>
41+ < div> Component available for user with feature1 enabled < / div>
3742< / FeatureGate>
3843
3944```
@@ -53,7 +58,7 @@ import { useFeature } from 'feature-gate';
5358const { enabled: showFeature1 } = useFeature (' feature1' );
5459// feature status for the current user
5560...
56- {showFeature1 && < div> Component available for authorized user< / div> }
61+ {showFeature1 && < div> Component available for user with feature1 enabled < / div> }
5762```
5863### Advanced usage
5964A validator function can be provided
@@ -63,7 +68,7 @@ import { FeatureGateProvider } from 'feature-gate';
6368
6469// define or get from api rules and freeze them
6570const features = Object .freeze ({
66- feature1: ' true ' ,
71+ feature1: ' default ' ,
6772 ABtest: ' A' ,
6873});
6974
@@ -76,7 +81,10 @@ function validator({ featureFlags, features, name }) {
7681}
7782
7883function MyApp () {
79- const featureFlags = {}; // get from user api
84+ const featureFlags = { // get from user api
85+ feature1: ' off' ,
86+ ABtest: ' A' ,
87+ };
8088
8189 return (
8290 < FeatureGateProvider featureFlags= {featureFlags} features= {features} validator= {validator}>
0 commit comments