Loli Specification Schema
The SDK defines a LoliSpec
type and a LoliSpecSchema
Zod schema. These define the expected shape of a JSON Loli spec.
The Loli spec root object looks like that:
Schema
{
"schemaVersion": 1,
"featureFlags": [],
"segments": [],
"evaluationContext": {
"properties": []
}
}
INFO
Feature flags, segments, and evaluation context properties are seen as Loli spec entities. So whenever the term "spec entity" is used, it can mean a feature flag, segment, property.
Attributes
schemaVersion
- Type:
number
- Valid values:
1
- Required
The schema version denotes which Loli spec version is used. This might become relevant for the future, when new non-backwards-compatible changes/additions to the specification are introduced.
Then Loli spec consumers can correctly differentiate Loli spec versions based on this field and work with them correctly.
featureFlags
- Type: Array of Feature Flag
- Required
This array holds all feature flags you have defined. These can be evaluated in the end.
segments
- Type: Array of Segment
- Required
This array holds all segments you have defined. These can be used in conditions within feature flags and even in other segments.
evaluationContext
- Type: Evaluation Context
- Required