This library is used to load the feature toggles and check if they are enabled
npm install @nuskin/feature-toggleThis library is used to load the feature toggles and check if they are enabled
terminal
yarn add @nuskin/feature-toggle
`Via npm
`terminal
npm install @nuskin/feature-toggle
`
Usage
To get started on using this package you must first wrap your components with the FeatureToggleProvider
`Typescript
const Main = () => {
return (
)
};
`Once it is wrap you can now proceed with using the useFeatureToggle (see example below)
`typescript
const MyComponent = () => {
const featureToggle = useFeatureToggle(); return (
featureToggle.isEnabled('key') && Some text here
);
}
`
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` ) |