@nuskin/feature-toggle
v1.0.3
Published
This library is used to load the feature toggles and check if they are enabled
Downloads
442
Keywords
Readme
This library is used to load the feature toggles and check if they are enabled
Installation
Via yarn
yarn add @nuskin/feature-toggle
Via npm
npm install @nuskin/feature-toggle
Usage
To get started on using this package you must first wrap your components with the FeatureToggleProvider
const Main = () => {
return (
<FeatureToggleProvider config={...some_config}>
<MyComponent />
</FeatureToggleProvider>
)
};
Once it is wrap you can now proceed with using the useFeatureToggle (see example below)
const MyComponent = () => {
const featureToggle = useFeatureToggle();
return (
featureToggle.isEnabled('key') && <Text>Some text here</Text>
);
}
Types
FeatureItem
Type for each feature toggle
| Property | Type | Description | | -- | -- | -- | | fId | string | A unique identifier for the Feature | | name | string | Any string to easily identify the Feature. | | enabled | boolean | Act like a master switch that will indicated that the feature is turned on or off. | | enabledForUserId | string[] | Enable the feature for the listed user id's (this override the disabledForMarket). | | disabledForMarket | string[] | Disable the feature for the listed markets. |
FeatureToggleOption
Options use to determine whether to enabled / disabled the feature.
| Property | Type | Description | | -- | -- | -- | | distId | string | Any unique identifier of the user. | | market | string | A valid ISO 3166-1 alpha-2 country code. |
FeatureToggleConfig
Possible configuration for this package.
| Property | Type | Required | Description |
| -- | -- | -- | -- |
baseUrl | string | false | Base url to be use. (default: https://graphql.contentstack.com
) |
stackApiKey | string | true | As defined on client ContentStack |
deliveryToken | string | true | As defined on client ContentStack |
query | string | false | Query string to be use |
isDev | boolean | true | Indicates if current configuration is for development only. (default: true
) |
environment | string | true | Environment name as indicated on client ContentStack. |
withPolling | boolean | false | Indicates whether to allow polling (default: false
) |
interval | number | false | Interval to which the poll will start in milliseconds. (default: 900000
) |