unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
87 lines • 4.64 kB
TypeScript
import type { FromSchema } from 'json-schema-to-ts';
export declare const featureTypesSchema: {
readonly $id: "#/components/schemas/featureTypesSchema";
readonly type: "object";
readonly additionalProperties: false;
readonly description: "A list of [feature flag types](https://docs.getunleash.io/concepts/feature-flags#feature-flag-types) and the schema version used to represent those feature types.";
readonly required: readonly ["version", "types"];
readonly properties: {
readonly version: {
readonly type: "integer";
readonly enum: readonly [1];
readonly example: 1;
readonly description: "The schema version used to describe the feature flag types listed in the `types` property.";
};
readonly types: {
readonly type: "array";
readonly description: "The list of feature flag types.";
readonly items: {
readonly $ref: "#/components/schemas/featureTypeSchema";
};
readonly example: readonly [{
readonly id: "release";
readonly name: "Release";
readonly description: "Release feature flags are used to release new features.";
readonly lifetimeDays: 40;
}, {
readonly id: "experiment";
readonly name: "Experiment";
readonly description: "Experiment feature flags are used to test and verify multiple different versions of a feature.";
readonly lifetimeDays: 40;
}, {
readonly id: "operational";
readonly name: "Operational";
readonly description: "Operational feature flags are used to control aspects of a rollout.";
readonly lifetimeDays: 7;
}, {
readonly id: "kill-switch";
readonly name: "Kill switch";
readonly description: "Kill switch feature flags are used to quickly turn on or off critical functionality in your system.";
readonly lifetimeDays: null;
}, {
readonly id: "permission";
readonly name: "Permission";
readonly description: "Permission feature flags are used to control permissions in your system.";
readonly lifetimeDays: null;
}];
};
};
readonly components: {
readonly schemas: {
readonly featureTypeSchema: {
readonly $id: "#/components/schemas/featureTypeSchema";
readonly type: "object";
readonly description: "A [feature flag type](https://docs.getunleash.io/concepts/feature-flags#feature-flag-types).";
readonly additionalProperties: false;
readonly required: readonly ["id", "name", "description", "lifetimeDays"];
readonly properties: {
readonly id: {
readonly type: "string";
readonly description: "The identifier of this feature flag type.";
readonly example: "kill-switch";
};
readonly name: {
readonly type: "string";
readonly description: "The display name of this feature flag type.";
readonly example: "Kill switch";
};
readonly description: {
readonly type: "string";
readonly description: "A description of what this feature flag type is intended to be used for.";
readonly example: "Kill switch feature flags are used to quickly turn on or off critical functionality in your system.";
};
readonly lifetimeDays: {
readonly type: "integer";
readonly minimum: 0;
readonly description: "How many days it takes before a feature flag of this typed is flagged as [potentially stale](https://docs.getunleash.io/concepts/technical-debt#stale-and-potentially-stale-toggles) by Unleash. If this value is `null`, Unleash will never mark it as potentially stale.";
readonly example: 40;
readonly nullable: true;
};
};
readonly components: {};
};
};
};
};
export type FeatureTypesSchema = FromSchema<typeof featureTypesSchema>;
//# sourceMappingURL=feature-types-schema.d.ts.map