UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

103 lines 4.36 kB
import { constraintSchema } from './constraint-schema.js'; import { clientFeatureSchema } from './client-feature-schema.js'; import { environmentSchema } from './environment-schema.js'; import { clientSegmentSchema } from './client-segment-schema.js'; import { overrideSchema } from './override-schema.js'; import { parametersSchema } from './parameters-schema.js'; import { featureStrategySchema } from './feature-strategy-schema.js'; import { strategyVariantSchema } from './strategy-variant-schema.js'; import { variantSchema } from './variant-schema.js'; import { dependentFeatureSchema } from './dependent-feature-schema.js'; export const clientFeaturesDeltaSchema = { $id: '#/components/schemas/clientFeaturesDeltaSchema', type: 'object', required: ['events'], description: 'Schema for delta updates of feature configurations.', properties: { events: { description: 'A list of delta events.', type: 'array', items: { type: 'object', anyOf: [ { type: 'object', required: ['eventId', 'type', 'feature'], properties: { eventId: { type: 'number' }, type: { type: 'string', enum: ['feature-updated'] }, feature: { $ref: '#/components/schemas/clientFeatureSchema', }, }, }, { type: 'object', required: ['eventId', 'type', 'featureName', 'project'], properties: { eventId: { type: 'number' }, type: { type: 'string', enum: ['feature-removed'] }, featureName: { type: 'string' }, project: { type: 'string' }, }, }, { type: 'object', required: ['eventId', 'type', 'segment'], properties: { eventId: { type: 'number' }, type: { type: 'string', enum: ['segment-updated'] }, segment: { $ref: '#/components/schemas/clientSegmentSchema', }, }, }, { type: 'object', required: ['eventId', 'type', 'segmentId'], properties: { eventId: { type: 'number' }, type: { type: 'string', enum: ['segment-removed'] }, segmentId: { type: 'number' }, }, }, { type: 'object', required: ['type', 'features', 'segments', 'eventId'], properties: { eventId: { type: 'number' }, type: { type: 'string', enum: ['hydration'] }, features: { type: 'array', items: { $ref: '#/components/schemas/clientFeatureSchema', }, }, segments: { type: 'array', items: { $ref: '#/components/schemas/clientSegmentSchema', }, }, }, }, ], }, }, }, components: { schemas: { constraintSchema, clientFeatureSchema, environmentSchema, clientSegmentSchema, overrideSchema, parametersSchema, featureStrategySchema, strategyVariantSchema, variantSchema, dependentFeatureSchema, }, }, }; //# sourceMappingURL=client-features-delta-schema.js.map