Skip to content

Публичный интерфейс библиотеки autumn-openfeature

Классы

Сводка

ЕдиницаМетодВозвращает
НастройкиФлаговПровайдер()Строка
НастройкиФлаговПутьКФайлу()Строка
НастройкиФлаговДомен()Строка
ФабрикаФлаговFeatureClient()FeatureClient

Что попадает в контейнер

Имя желудяТипОткуда
НастройкиФлагов&ЖелудьСекция openfeature файла autumn-properties.json
ФабрикаФлагов&ДубКонфигурация стартера
FeatureClient&ЗавязьФабрикаФлагов.FeatureClient()

Прикладной код объявляет зависимость только от FeatureClient - остальное поднимает контейнер.

bsl
&Пластилин Перем FeatureClient;

Тип клиента описан в библиотеке openfeature: методы ПолучитьЛогическое, ПолучитьСтроку, ПолучитьЧисло, ПолучитьОбъект и их варианты ...СДеталями.


Класс НастройкиФлагов

Желудь с прочитанной секцией openfeature файла autumn-properties.json. Значения читаются детальками при создании объекта, поэтому дальше настройки неизменны.

Исходник: src/Классы/НастройкиФлагов.os

Детальки

ДеталькаПо умолчаниюПоле
openfeature.ПровайдерmemoryПровайдер()
openfeature.ПутьКФайлуflags.jsonПутьКФайлу()
openfeature.Домен""Домен()

Значение провайдера приводится к нижнему регистру и очищается от пробелов: в настройках допустимы JSON, json и json.

Методы

МетодВозвращаетНазначение
ПровайдерСтрокаВид провайдера
ПутьКФайлуСтрокаФайл флагов для провайдера json
ДоменСтрокаДомен клиента

Провайдер

bsl
Функция Провайдер() Экспорт

Вид провайдера: json, memory или none.

Возвращаемое значение

Строка - идентификатор провайдера в нижнем регистре.

Неизвестное значение проверкой не отсекается: ФабрикаФлагов оставит провайдер-заглушку, как при none.

ПутьКФайлу

bsl
Функция ПутьКФайлу() Экспорт

Путь к файлу с описанием флагов. Используется только провайдером json.

Возвращаемое значение

Строка - путь к файлу.

Домен

bsl
Функция Домен() Экспорт

Домен, с которым создаётся клиент оценки.

Возвращаемое значение

Строка - имя домена либо пустая строка. Пустая строка означает клиента без домена.


Класс ФабрикаФлагов

Дуб, который регистрирует провайдера OpenFeature по настройкам и отдаёт клиента оценки завязью FeatureClient.

Исходник: src/Классы/ФабрикаФлагов.os

Зависимости

ПолеТипНазначение
НастройкиФлаговНастройкиФлаговСекция openfeature файла настроек

FeatureClient

bsl
&Завязь
Функция FeatureClient() Экспорт

Возвращает клиента оценки флагов для домена из настроек.

Возвращаемое значение

FeatureClient - клиент библиотеки openfeature.

Побочный эффект

При первом вызове регистрируется провайдер:

Провайдер()Что устанавливается
jsonJsonFileProvider(НастройкиФлагов.ПутьКФайлу())
memoryInMemoryProvider()
none или любое другое значениеНичего: остаётся NoopProvider

Регистрация выполняется здесь, а не в конструкторе, потому что поле &Пластилин НастройкиФлагов к моменту конструктора ещё не заполнено. Повторный вызов провайдера не меняет: проверяется имя уже установленного, и NoopProvider считается признаком «ещё не настроен».

Из-за этой проверки провайдер, установленный приложением вручную до первого обращения к завязи, стартер не перетирает.

bsl
&Пластилин Перем FeatureClient;

Процедура Показать() Экспорт

	Детали = FeatureClient.ПолучитьЛогическоеСДеталями("new-checkout", Ложь);

	Сообщить(Детали.Значение);   // Истина
	Сообщить(Детали.Причина);    // TARGETING_MATCH

КонецПроцедуры