Skip to content

Commit 6c7e417

Browse files
committed
API annotations
1 parent 59eb09f commit 6c7e417

10 files changed

+267
-116
lines changed

.vitepress/config.mts

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,17 @@ export default defineConfig({
7171
{ text: 'winow', link: '/winow/' },
7272
]
7373
},
74-
{ text: 'API', link: '/api/autumn' },
74+
{
75+
text: 'API',
76+
items: [
77+
{ text: 'autumn', link: '/api/autumn/' },
78+
{ text: 'annotations', link: '/api/annotations/' },
79+
]
80+
},
7581
],
7682

7783
sidebar: {
84+
// products
7885
"/": getSidebar({
7986
contentRoot,
8087
contentDirs: [
@@ -83,20 +90,29 @@ export default defineConfig({
8390
],
8491
collapsed: false,
8592
}),
86-
"/api/": getSidebar({
93+
"/winow/": getSidebar({
94+
contentRoot,
95+
contentDirs: [
96+
// { text: 'winow', dir: 'winow' }
97+
],
98+
collapsed: false,
99+
}),
100+
// api
101+
"/api/autumn": getSidebar({
87102
contentRoot,
88103
contentDirs: [
89104
{ text: 'autumn', dir: 'api/autumn' }
90105
],
91106
collapsed: false,
92107
}),
93-
"/winow/": getSidebar({
108+
"/api/annotations": getSidebar({
94109
contentRoot,
95110
contentDirs: [
96-
// { text: 'winow', dir: 'winow' }
111+
{ text: 'annotations', dir: 'api/annotations' }
97112
],
98113
collapsed: false,
99114
}),
115+
100116
},
101117

102118
socialLinks: [

docs/api/annotations/index.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Публичный интерфейс библиотеки `annotations`
2+
3+
## Аннотации
4+
5+
* [Аннотация](Аннотации/Аннотация)
6+
7+
## Классы
8+
* [КонтейнерАннотаций](Классы/КонтейнерАннотаций)
9+
* [ПрилепляторЧастиц](Классы/ПрилепляторЧастиц)
10+
* [РазворачивательАннотаций](Классы/РазворачивательАннотаций)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# АннотацияАннотация
2+
3+
## ПриСозданииОбъекта
4+
5+
```bsl
6+
// Базовый объект аннотации.
7+
// Все пользовательские аннотации должны иметь аннотацию &Аннотация с передачей имени аннотации в качестве параметра.
8+
//
9+
// Параметры:
10+
// Значение - Строка - Имя аннотации.
11+
//
12+
Процедура ПриСозданииОбъекта(Значение)
13+
```
14+
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# КонтейнерАннотаций
2+
3+
## ПриСозданииОбъекта
4+
5+
```bsl
6+
// Контейнер аннотаций - объект, который хранит все определения аннотаций.
7+
// При создании контейнера аннотаций в него автоматически добавляется базовая аннотация &Аннотация.
8+
//
9+
Процедура ПриСозданииОбъекта()
10+
```
11+
12+
## ПолучитьОпределенияАннотаций
13+
14+
```bsl
15+
// Получить все определения аннотаций.
16+
//
17+
// Возвращаемое значение:
18+
// ФиксированноеСоответствие - Соответствие, в котором хранятся все определения аннотаций:
19+
// * Ключ - Строка - имя аннотации.
20+
// * Значение - ОпределениеАннотации - определение аннотации.
21+
//
22+
Функция ПолучитьОпределенияАннотаций() Экспорт
23+
```
24+
25+
## ПолучитьОпределениеАннотации
26+
27+
```bsl
28+
// Получить определение аннотации по её имени.
29+
//
30+
// Параметры:
31+
// Имя - Строка - Имя аннотации.
32+
//
33+
// Возвращаемое значение:
34+
// ОпределениеАннотации, Неопределено - Найденное определение аннотаций.
35+
// Неопределено, если аннотация с данным именем не зарегистрирована.
36+
//
37+
Функция ПолучитьОпределениеАннотации(Имя) Экспорт
38+
```
39+
40+
## ПолучитьРазворачивательАннотаций
41+
42+
```bsl
43+
// Получить настроенный разворачиватель аннотаций.
44+
//
45+
// Возвращаемое значение:
46+
// РазворачивательАннотаций - Разворачиватель аннотаций, связанный с данным контейнером аннотаций.
47+
//
48+
Функция ПолучитьРазворачивательАннотаций() Экспорт
49+
```
50+
51+
## ДобавитьАннотацию
52+
53+
```bsl
54+
// Добавить аннотацию в контейнер аннотаций.
55+
//
56+
// Параметры:
57+
// ТипАннотации - Тип - Тип аннотации.
58+
//
59+
// Возвращаемое значение:
60+
// ОпределениеАннотации - Определение добавленной аннотации.
61+
//
62+
Функция ДобавитьАннотацию(ТипАннотации) Экспорт
63+
```
64+
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
## ОпределениеАннотации
2+
3+
### ПриСозданииОбъекта
4+
5+
```bsl
6+
7+
Процедура ПриСозданииОбъекта(Знач _Имя, Знач _ИмяТипаАннотации, Знач _Параметры, Знач _Аннотации)
8+
```
9+
10+
### Имя
11+
12+
```bsl
13+
// Имя аннотации.
14+
//
15+
// Возвращаемое значение:
16+
// Строка
17+
//
18+
Функция Имя() Экспорт
19+
```
20+
21+
### ИмяТипаАннотации
22+
23+
```bsl
24+
// Имя типа, к которому применяется аннотация.
25+
//
26+
// Возвращаемое значение:
27+
// Строка
28+
//
29+
Функция ИмяТипаАннотации() Экспорт
30+
```
31+
32+
### Параметры
33+
34+
```bsl
35+
// Параметры аннотации - разобранные параметры конструктора класса аннотации.
36+
// Метод возвращает копию таблицы.
37+
//
38+
// Возвращаемое значение:
39+
// ТаблицаЗначений - таблица параметров аннотации:
40+
// * Имя - Строка - Имя параметра.
41+
// * ПоЗначению - Булево - Признак получения пораметра по значению.
42+
// * ЕстьЗначениеПоУмолчанию - Булево - Признак наличия значения по умолчанию.
43+
// * ЗначениеПоУмолчанию - Произвольный - Значение по умолчанию.
44+
// * Аннотации - ТаблицаЗначений - Таблица аннотаций со следующими колонками:
45+
// ** Имя - Строка - Имя аннотации.
46+
// ** Параметры - ТаблицаЗначений - Таблица параметров аннотации:
47+
// *** Имя - Строка - Имя параметра аннотации.
48+
// *** Значение - Строка - Значение параметра аннотации.
49+
// * Экспорт - Булево - Признак экспорта параметра.
50+
//
51+
Функция Параметры() Экспорт
52+
```
53+
54+
### Аннотации
55+
56+
```bsl
57+
// Подчиненные аннотации - список аннотаций над конструктором класса-аннотации.
58+
// Метот возвращает глубокую копию таблицы.
59+
//
60+
// Возвращаемое значение:
61+
// ТаблицаЗначений - Таблица аннотаций:
62+
// * Имя - Строка - Имя аннотации.
63+
// * Параметры - ТаблицаЗначений - Таблица параметров аннотации:
64+
// ** Имя - Строка - Имя параметра аннотации.
65+
// ** Значение - Строка - Значение параметра аннотации.
66+
//
67+
Функция Аннотации() Экспорт
68+
```
69+
70+
### Проверить
71+
72+
```bsl
73+
// Выполнить проверку корректности аннотации.
74+
//
75+
// Выбрасывает исключение:
76+
// * Когда аннотация не содержит параметр, у которого нет значения по умолчанию.
77+
// * Когда аннотация содержит параметр, которого нет в списке параметров аннотации.
78+
// * Когда аннотация содержит несколько параметров без имени или с именем "Значение".
79+
//
80+
// Параметры:
81+
// Аннотация - СтрокаТаблицыЗначений - Данные аннотации:
82+
// * Имя - Строка - Имя аннотации.
83+
// * Параметры - ТаблицаЗначений - Таблица параметров аннотации:
84+
// ** Имя - Строка - Имя параметра аннотации.
85+
// ** Значение - Строка - Значение параметра аннотации.
86+
// ИмяТипаСАннотацией - Строка - Имя типа, к которому применяется аннотация.
87+
//
88+
Процедура Проверить(Аннотация, ИмяТипаСАннотацией) Экспорт
89+
```
90+
91+
### СоздатьОбъектАннотации
92+
93+
```bsl
94+
// Создать объект класса аннотации по параметрам аннотации.
95+
//
96+
// Параметры:
97+
// Аннотация - СтрокаТаблицыЗначений - Данные аннотации:
98+
// * Имя - Строка - Имя аннотации.
99+
// * Параметры - ТаблицаЗначений - Таблица параметров аннотации:
100+
// ** Имя - Строка - Имя параметра аннотации.
101+
// ** Значение - Строка - Значение параметра аннотации.
102+
//
103+
// Возвращаемое значение:
104+
// Произвольный - Объект аннотации с заданными параметрами.
105+
//
106+
Функция СоздатьОбъектАннотации(Аннотация) Экспорт
107+
```
108+
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# РазворачивательАннотаций
2+
3+
## ПриСозданииОбъекта
4+
5+
```bsl
6+
7+
Процедура ПриСозданииОбъекта(КонтейнерАннотаций)
8+
```
9+
10+
## РазвернутьАннотацииСвойства
11+
12+
```bsl
13+
// Развернуть все аннотации переданного свойства рекурсивно.
14+
// Для разворачивания используются данные из определений аннотаций.
15+
//
16+
// Параметры:
17+
// Свойство - Структура - Описание свойства, метода или параметра метода:
18+
// * Имя - Строка - Имя свойства.
19+
// * Аннотации - ТаблицаЗначений - Таблица аннотаций свойства:
20+
// ** Имя - Строка - Имя аннотации.
21+
// ** Параметры - ТаблицаЗначений - Таблица параметров аннотации:
22+
// *** Имя - Строка - Имя параметра аннотации.
23+
// *** Значение - Строка - Значение параметра аннотации.
24+
// ТипВладельцаСвойства - Тип - Тип владельца свойства.
25+
//
26+
Процедура РазвернутьАннотацииСвойства(Свойство, ТипВладельцаСвойства) Экспорт
27+
```
28+
29+
## РазвернутьАннотацииСвойств
30+
31+
```bsl
32+
// Развернуть все аннотации переданного свойства рекурсивно.
33+
// Для разворачивания используются данные из определений аннотаций.
34+
//
35+
// Параметры:
36+
// Свойства - Массив Из Структура - Описания свойств, методов или параметров метода:
37+
// * Имя - Строка - Имя свойства.
38+
// * Аннотации - ТаблицаЗначений - Таблица аннотаций свойства:
39+
// ** Имя - Строка - Имя аннотации.
40+
// ** Параметры - ТаблицаЗначений - Таблица параметров аннотации:
41+
// *** Имя - Строка - Имя параметра аннотации.
42+
// *** Значение - Строка - Значение параметра аннотации.
43+
// ТипВладельцаСвойств - Тип - Тип владельца свойств.
44+
//
45+
Процедура РазвернутьАннотацииСвойств(Свойства, ТипВладельцаСвойств) Экспорт
46+
```
47+

docs/api/autumn/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Публичный интерфейс библиотеки
1+
# Публичный интерфейс библиотеки `autumn`
22

33
## Классы
44

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<!--@include: @/api/annotations/Аннотации/Аннотация.md-->
Lines changed: 1 addition & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1 @@
1-
# КонтейнерАннотаций
2-
3-
## ПриСозданииОбъекта
4-
5-
```bsl
6-
// Контейнер аннотаций - объект, который хранит все определения аннотаций.
7-
// При создании контейнера аннотаций в него автоматически добавляется базовая аннотация &Аннотация.
8-
//
9-
Процедура ПриСозданииОбъекта()
10-
```
11-
12-
## ПолучитьОпределенияАннотаций
13-
14-
```bsl
15-
// Получить все определения аннотаций.
16-
//
17-
// Возвращаемое значение:
18-
// ФиксированноеСоответствие - Соответствие, в котором хранятся все определения аннотаций:
19-
// * Ключ - Строка - имя аннотации.
20-
// * Значение - ОпределениеАннотации - определение аннотации.
21-
//
22-
Функция ПолучитьОпределенияАннотаций() Экспорт
23-
```
24-
25-
## ПолучитьОпределениеАннотации
26-
27-
```bsl
28-
// Получить определение аннотации по её имени.
29-
//
30-
// Параметры:
31-
// Имя - Строка - Имя аннотации.
32-
//
33-
// Возвращаемое значение:
34-
// ОпределениеАннотации, Неопределено - Найденное определение аннотаций.
35-
// Неопределено, если аннотация с данным именем не зарегистрирована.
36-
//
37-
Функция ПолучитьОпределениеАннотации(Имя) Экспорт
38-
```
39-
40-
## ПолучитьРазворачивательАннотаций
41-
42-
```bsl
43-
// Получить настроенный разворачиватель аннотаций.
44-
//
45-
// Возвращаемое значение:
46-
// РазворачивательАннотаций - Разворачиватель аннотаций, связанный с данным контейнером аннотаций.
47-
//
48-
Функция ПолучитьРазворачивательАннотаций() Экспорт
49-
```
50-
51-
## ДобавитьАннотацию
52-
53-
```bsl
54-
// Добавить аннотацию в контейнер аннотаций.
55-
//
56-
// Параметры:
57-
// ТипАннотации - Тип - Тип аннотации.
58-
//
59-
// Возвращаемое значение:
60-
// ОпределениеАннотации - Определение добавленной аннотации.
61-
//
62-
Функция ДобавитьАннотацию(ТипАннотации) Экспорт
63-
```
64-
1+
<!--@include: @/api/annotations/Классы/КонтейнерАннотаций.md-->

0 commit comments

Comments
 (0)