Skip to content

Commit

Permalink
vitepress docs movement
Browse files Browse the repository at this point in the history
  • Loading branch information
nixel2007 committed Dec 9, 2024
1 parent 20755c1 commit 43fc6ce
Show file tree
Hide file tree
Showing 72 changed files with 2,439 additions and 0 deletions.
21 changes: 21 additions & 0 deletions docs/api/010-Аннотации/010-Желудь.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# АннотацияЖелудь

## ПриСозданииОбъекта

```bsl
// Помечает указанный класс как желудь - компонент, жизненным циклом которого управляет фреймворк ОСень.
//
// Размещается над конструктором класса.
//
// Параметры:
// Значение - Строка - Имя желудя. По умолчанию будет использовано имя типа объекта,
// как оно возвращается функцией `ТипЗнч`.
//
// Пример:
// &Желудь
// Процедура ПриСозданииОбъекта()
// КонецПроцедуры
//
Процедура ПриСозданииОбъекта(Значение = "")
```

47 changes: 47 additions & 0 deletions docs/api/010-Аннотации/020-Пластилин.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# АннотацияПластилин

## ПриСозданииОбъекта

```bsl
// Маркерная аннотация для указания, что прилепляемая частица
// является желудем. Основной способ связывания желудей между собой.
//
// Может быть использована над параметром конструктора/метода завязи желудя, полем класса
// или методом установки значения.
//
// Параметры:
// Значение - Строка - Имя прилепляемого желудя. Если не заполнено, используется имя параметра конструктора/поля
// класса или часть имени метода для установки значения.
// Тип - Строка - Тип прилепляемого желудя. В случае передачи значения "Желудь", будет внедрен желудь как таковой.
// Так же может быть указан тип-коллекция: "Массив", "ТаблицаЗначений" и другие. Полный список
// доступных типов см. в библиотеке
// [autumn-collections](https://github.com/autumn-library/autumn-collections).
// Блестяшка - Произвольный - Повторяемый параметр. Передаваемые в прилепляемый желудь произвольные значения.
//
// Пример:
//
// 1.
// &Желудь
// Процедура ПриСозданииОбъекта(&Пластилин ДругойЖелудь)
//
// 2.
// &Желудь
// Процедура ПриСозданииОбъекта(
// . &Пластилин(Значение = "ДругойЖелудь", Тип = "Массив", Блестяшка = "Парам1", Блестяшка = "Парам2") Зависимость
// )
//
// 3.
// &Пластилин
// Перем ДругойЖелудь;
//
// 4.
// &Завязь
// Функция МойЖелудь(&Пластилин ДругойЖелудь) Экспорт
//
// 5.
// &Пластилин
// Процедура УстановитьДругойЖелудь(Зависимость) Экспорт
//
Процедура ПриСозданииОбъекта(Повторяемый = Блестяшка = Неопределено)
```

30 changes: 30 additions & 0 deletions docs/api/010-Аннотации/030-Дуб.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# АннотацияДуб

## ПриСозданииОбъекта

```bsl
// Помечает указанный класс как фабрику компонентов - дуб, из которого появляются желуди.
// `&Дуб` сам по себе тоже является желудем, то есть может запрашивать прилепление частиц,
// является объектом для обработки `&Напильник`ом, может иметь `&Спецификация` и так далее.
//
// Дуб обычно содержит методы, помеченные аннотацией `&Завязь`, которые возвращают желуди, но
// может содержать и другие методы, не связанные непосредственно с созданием желудей.
//
// Размещается над конструктором класса.
//
// Параметры:
// Значение - Строка - Имя желудя. По умолчанию будет использовано имя типа объекта,
// как оно возвращается функцией `ТипЗнч`.
// Пример:
// &Дуб
// Процедура ПриСозданииОбъекта()
// КонецПроцедуры
// .
// &Завязь
// Функция ПользовательскийЖелудь() Экспорт
// . Возврат Новый ПользовательскийЖелудь();
// КонецФункции
//
Процедура ПриСозданииОбъекта(Значение = "")
```

27 changes: 27 additions & 0 deletions docs/api/010-Аннотации/040-Завязь.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# АннотацияЗавязь

## ПриСозданииОбъекта

```bsl
// Помечает функцию как функцию, создающую желудь.
//
// Может иметь параметры, каждый из которых должен быть промаркирован как &Пластилин, &Деталька или &Блестяшка.
// В указанные параметры автоматически будут прилеплены соответствующие частицы при создании желудя.
//
// Может размещаться над экспортной функцией в классе, проаннотированном как `&Дуб`, или над методом-лямбдой,
// передаваемой в качестве параметра в `Поделка.ДобавитьЗавязь()`.
//
// Параметры:
// Значение - Строка - Имя создаваемого желудя. По умолчанию будет использовано имя метода.
// Тип - Строка - Тип создаваемого желудя.
// Требуется если по имени желудя не получается однозначного определить его тип.
//
// Пример:
// &Завязь
// Функция ПользовательскийЖелудь(&Пластилин Зависимость, &Деталька ВажнаяНастройка) Экспорт
// . Возврат Новый ПользовательскийЖелудь(Зависимость, ВажнаяНастройка);
// КонецФункции
//
Процедура ПриСозданииОбъекта(Значение = "", Тип = "")
```

43 changes: 43 additions & 0 deletions docs/api/010-Аннотации/050-Деталька.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# АннотацияДеталька

## ПриСозданииОбъекта

```bsl
// Маркерная аннотация для указания, что прилепляемая частица
// является настройкой приложения.
//
// Может быть использована над параметром конструктора/метода завязи желудя, полем класса
// или методом установки значения.
//
// Параметры:
// Значение - Строка - Ключ настройки. См. библиотеку [configor](https://github.com/oscript-library/configor)
// для полного описания синтаксиса.
// Если не заполнено, используется имя параметра конструктора/поля класса
// или часть имени метода для установки значения.
// ЗначениеПоУмолчанию - Произвольный - Значение, которое принимает деталька, если не задано из-вне.
//
// Пример:
//
// 1.
// &Деталька
// Перем ПутьКФайлу;
//
// 2.
// &Деталька(Значение = "Настройки.ПутьКФайлу", ЗначениеПоУмолчанию = "./file.txt")
// Перем ПутьКФайлу;
//
// 3.
// &Желудь
// Процедура ПриСозданииОбъекта(&Деталька ПутьКФайлу)
//
// 4.
// &Деталька
// Процедура УстановитьПутьКФайлу(Значение) Экспорт
//
// 5.
// &Завязь
// Функция МойЖелудь(&Деталька ПутьКФайлу) Экспорт
//
Процедура ПриСозданииОбъекта(Значение = "", ЗначениеПоУмолчанию = Неопределено)
```

23 changes: 23 additions & 0 deletions docs/api/010-Аннотации/060-Блестяшка.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# АннотацияБлестяшка

## ПриСозданииОбъекта

```bsl
// Маркерная аннотация для указания, что прилепляемая частица
// является произвольным значением, передаваемым в конструктор желудя.
//
// Может быть использована только над параметром конструктора/метода завязи желудя.
//
// Пример:
//
// 1.
// &Желудь
// Процедура ПриСозданииОбъекта(&Блестяшка ПроизвольноеЗначение)
//
// 2.
// &Завязь
// Функция МойЖелудь(&Блестяшка ПроизвольноеЗначение) Экспорт
//
Процедура ПриСозданииОбъекта()
```

37 changes: 37 additions & 0 deletions docs/api/010-Аннотации/070-Табакерка.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# АннотацияТабакерка

## ПриСозданииОбъекта

```bsl
// Пометка, что прилепляемая частица прилепляется не непосредственно, а через специальный объект
// типа `Табакерка`, который позволяет получить частицу программно и отложенно.
//
// Может использоваться для внедрения компанейских желудей, внедрения желудя самого в себя,
// для разрыва циклических зависимостей, для передачи дополнительных параметров прилепляемого желудя и т.п.
//
// Используется совместно с аннотациями `&Пластилин` и `&Деталька`.
//
// Пример:
//
// 1.
// &Табакерка
// &Пластилин("ДругойЖелудь")
// Перем ТабакеркаСДругимЖелудем;
// .
// ДругойЖелудь = ТабакеркаСДругимЖелудем.Достать();
// ДругойЖелудь.КакойТоМетод();
// ...
// 2.
// &Табакерка
// &Пластилин("ДругойЖелудь")
// Перем ТабакеркаСДругимЖелудем;
// .
// МассивБлестяшек = Новый Массив;
// МассивБлестяшек.Добавить("Парам1");
// .
// ДругойЖелудь = ТабакеркаСДругимЖелудем.Достать(МассивБлестяшек);
// ДругойЖелудь.КакойТоМетод();
//
Процедура ПриСозданииОбъекта()
```

Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# АннотацияФинальныйШтрих

## ПриСозданииОбъекта

```bsl
// Процедуры, помеченные аннотацией "ФинальныйШтрих" будут вызваны в конце инициализации желудя,
// после отработки конструктора/метода завязи и всех напильников, применяемых на желуде.
// Во время выполнения процедуры доступны все прилепляемые частицы, прилепленные как через конструктор,
// так и через поля класса и методы-сеттеры.
//
// Желудь может содержать несколько процедур, помеченных аннотацией "ФинальныйШтрих".
// Порядок их вызова не гарантируется.
//
// Процедура должна быть помечена `Экспорт`ная.
//
// Пример:
//
// &ФинальныйШтрих
// Процедура ПостИнициализация() Экспорт
// . Сообщить("Я выполнилась после конструктора объекта");
// КонецПроцедуры
// .
// &Желудь
// Процедура ПриСозданииОбъекта()
// КонецПроцедуры
//
Процедура ПриСозданииОбъекта()
```

48 changes: 48 additions & 0 deletions docs/api/010-Аннотации/081-Напильник.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# АннотацияНапильник

## ПриСозданииОбъекта

```bsl
// Специальный тип желудя для дополнительной обработки других желудей в процессе их создания.
//
// Может использоваться для добавления дополнительных действий или свойств создаваемым желудям. Метод `ОбработатьЖелудь`
// **может** возвращать другой объект, который подменит текущий желудь, или обертку-декоратор над текущим желудем.
//
// Каждый `&Напильник` дополнительно имеет `&Прозвище("Напильник")`.
//
// Напильник сам по себе является желудем, однако в силу своей специфики он может запрашивать прилепление только
// &Деталек и Поделки.
//
// Желудь, помеченный аннотацией `&Напильник`, должен реализовать следующий интерфейс:
// * `Функция ОбработатьЖелудь(Желудь, ОпределениеЖелудя) Экспорт`
//
// Размещается над конструктором класса.
//
// Параметры:
// Значение - Строка - Имя желудя, под которым напильник добавляется в контекст Поделки.
// ПрименяетсяТолькоНа - Строка - Повторяемый параметр. Ограничивает применение напильника только на желудях
// с указанными именами.
//
// Пример:
// &Напильник
// Процедура ПриСозданииОбъекта()
// КонецПроцедуры
//
Процедура ПриСозданииОбъекта(Повторяемый = ПрименяетсяТолькоНа = Неопределено)
```

## МожетПрименятьсяНа

```bsl
// Проверить, может ли текущий напильник применяться на указанном желуде.
//
// Параметры:
// ОпределениеЖелудя - ОпределениеЖелудя - Определение желудя, для которого проверяется
// применимость текущего напильника.
//
// Возвращаемое значение:
// Булево - Истина, если напильник может применяться на указанном желуде, иначе Ложь.
//
Функция МожетПрименятьсяНа(ОпределениеЖелудя)
```

28 changes: 28 additions & 0 deletions docs/api/010-Аннотации/100-Заготовка.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# АннотацияЗаготовка

## ПриСозданииОбъекта

```bsl
// Специальный тип желудя для выполнения дополнительных действий в момент помещения класса в контекст Поделки.
//
// Может использоваться для добавления динамической загрузки новых классов в систему типов OneScript или
// дополнительных импортов библиотек через директиву `#Использовать`.
//
// Каждая `&Заготовка` дополнительно имеет `&Прозвище("Заготовка")` и &Спецификация("Инициализация").
//
// Желудь, помеченный аннотацией `&Заготовка`, должен реализовать следующий интерфейс:
// * `Процедура ПриИнициализацииПоделки(Поделка) Экспорт`
//
// Размещается над конструктором класса.
//
// Параметры:
// Значение - Строка - Имя желудя, под которым заготовка добавляется в контекст Поделки.
//
// Пример:
// &Заготовка
// Процедура ПриСозданииОбъекта()
// КонецПроцедуры
//
Процедура ПриСозданииОбъекта(Значение = "")
```

Loading

0 comments on commit 43fc6ce

Please sign in to comment.