UNPKG

@featurevisor/react

Version:

React package for Featurevisor

30 lines (25 loc) 792 B
import { FeaturevisorInstance } from "@featurevisor/sdk"; import type { FeatureKey } from "@featurevisor/types"; export function onFeatureChange(sdk: FeaturevisorInstance, featureKey: FeatureKey, fn) { // datafile_set const unsubscribeDatafileSet = sdk.on("datafile_set", ({ features }) => { if (Array.isArray(features) && features.indexOf(featureKey) > -1) { fn(); } }); // context_set const unsubscribeContextSet = sdk.on("context_set", () => { fn(); }); // sticky_set const unsubscribeStickySet = sdk.on("sticky_set", ({ features }) => { if (Array.isArray(features) && features.indexOf(featureKey) > -1) { fn(); } }); return function () { unsubscribeDatafileSet(); unsubscribeContextSet(); unsubscribeStickySet(); }; }