#
FeatureFlagSetSnapshot
A class tracking and memoizing the latest version of the LaunchDarkly feature flags.
The LaunchDarkly SDK client returns a new object containing feature flags every time they're accessed. This class tracks flag updates and keeps an in-memory, memoized snapshot of the flags, returning the same object reference until a flag value changes.
#
Reference
const snapshot = new FeatureFlagSetSnapshot(launchDarklyClient)
#
Parameters
launchDarklyClient: A LaunchDarkly SDK client instance that is ready.
#
Usage
#
Create an instance
import { FeatureFlagSetSnapshot } from "@squide/firefly";
const snapshot = new FeatureFlagSetSnapshot(launchDarklyClient);
#
Retrieve the feature flags
import { FeatureFlagSetSnapshot } from "@squide/firefly";
const snapshot = new FeatureFlagSetSnapshot(launchDarklyClient);
const flags = snapshot.value;
#
Register a change listener
import { FeatureFlagSetSnapshot } from "@squide/firefly";
const snapshot = new FeatureFlagSetSnapshot(launchDarklyClient);
snapshot.addSnapshotChangedListener((snapshot, changes) => {
console.log(snapshot, changes);
});
#
Remove a change listener
import { FeatureFlagSetSnapshot } from "@squide/firefly";
const snapshot = new FeatureFlagSetSnapshot(launchDarklyClient);
const listener = (snapshot, changes) => {
console.log(snapshot, changes);
};
snapshot.addSnapshotChangedListener(listener);
snapshot.removeSnapshotChangedListener(listener);