Web
Installation
Add the OpenFeature SDK and the Tggl Provider to your project:
Quick start
Register the TgglWebProvider
with the OpenFeature SDK and start evaluating flags:
Getting a flag's value
There are four methods to get a flag's value: getBooleanValue
, getNumberValue
, getStringValue
, and getObjectValue
.
Each method takes the flag's key as the first argument, a default value as the second argument, and an optional context object as the third argument.
The default value must be specified and will be returned if the flag is not found or if an error occurs.
When calling either getBooleanValue
, getNumberValue
, or getStringValue
, the value will be cast to the appropriate type. If you are unsure of the type of the flag, use getObjectValue
to get the raw value which may be of any valid JSON value, including boolean, string, and number.
Managing the context
You can set up the initial context when calling setProviderAndWait
, the promise will resolve once the flags for that context have been retrieved form the API:
If omitted, the context will default to an empty object. Alternatively, you can call the setProvider
method to set the provider without waiting for the flags to be fetched:
Finally, you can update the context at any time to react to changes in your app:
setContext
is async and will return a promise that resolves once the flags for that new context have been fetched from the API.
Polling for "live" updates
If you need your client to be up-to-date with the latest flag configuration, you can enable polling:
Here, the provider will poll the Tggl API every 5 seconds for updates. You can be notified when some flag changes by listening to the ConfigurationChanged
event:
This is a good time to recompute flags where you need a "live" value.
Using the Proxy
By default, the Provider talks directly to the Tggl API. If you are using the Tggl Proxy, you can specify the proxy URL when instantiating the provider:
The /flags
and /report
path will be appended to the baseUrl
and both flags evaluation and reporting will go through the proxy. If your proxy is configured with custom paths, you can specify them:
Going further
Read the official OpenFeature SDK documentation for more information on how to use the SDK.
You can also have a look at Tggl's Node.js SDK documentation that is used under the hood by the TgglWebProvider
.