Get all entities from a collection.
The store should filter out any entities with the property deleted: true
.
The type of data to be accessed. The store should not make any assumptions about the format
of the data, but just return an object in which each key is the key
property of an entity
and the value is the entity. The actual type of this parameter is [[interfaces.DataKind]].
Will be called with the resulting map. The actual type of the result value is
interfaces.KeyedItems<VersionedData>
.
Releases any resources being used by the feature store.
Delete an entity from the store.
Deletion should be implemented by storing a placeholder object with the property
deleted: true
and a version
property equal to the provided version. In other words,
it should be exactly the same as calling upsert
with such an object.
The type of data to be accessed. The actual type of this parameter is [[interfaces.DataKind]].
The unique key of the entity within the specified collection.
A number that must be greater than the version
property of the existing entity in
order for it to be deleted. If it is less than or equal to the existing version, the
method should do nothing.
Will be called when the delete operation is complete.
Get an entity from the store.
The store should treat any entity with the property deleted: true
as "not found".
The type of data to be accessed. The store should not make any assumptions about the format of the data, but just return a JSON object. The actual type of this parameter is [[interfaces.DataKind]].
The unique key of the entity within the specified collection.
Will be called with the retrieved entity, or null if not found. The actual type of the result value is [[interfaces.VersionedData]].
Initialize the store, overwriting any existing data.
An object in which each key is the "namespace" of a collection (e.g. "features"
) and
the value is an object that maps keys to entities. The actual type of this parameter is
interfaces.FullDataSet<VersionedData>
.
Will be called when the store has been initialized.
Tests whether the store is initialized.
"Initialized" means that the store has been populated with data, either by the client
having called init()
within this process, or by another process (if this is a shared
database).
Will be called back with the boolean result.
Add an entity or update an existing entity.
The type of data to be accessed. The actual type of this parameter is [[interfaces.DataKind]].
The contents of the entity, as an object that can be converted to JSON. The store
should check the version
property of this object, and should not overwrite any
existing data if the existing version
is greater than or equal to that value.
The actual type of this parameter is [[interfaces.VersionedData]].
Will be called after the upsert operation is complete.
Generated using TypeDoc
Interface for a feature store component.
The feature store is what the client uses to store feature flag data that has been received from LaunchDarkly. By default, it uses an in-memory implementation; database integrations are also available. Read the SDK features guide. You will not need to use this interface unless you are writing your own implementation.
Feature store methods can and should call their callbacks directly whenever possible, rather than deferring them with setImmediate() or process.nextTick(). This means that if for any reason you are updating or querying a feature store directly in your application code (which is not part of normal use of the SDK) you should be aware that the callback may be executed immediately.