@@ -164,9 +164,9 @@ open_ai:
164164- `min_length` : Минимальная длина строки. По умолчанию `1`.
165165- `max_length` : Максимальная длина строки. По умолчанию `32`.
166166- `logical_type` : Логический тип строки. Поддерживаемые значения: `first_name`, `last_name`, `phone`, `text`.
167- - `template` : Jinja-подобный шаблон для генерации строки. Позволяет использовать любые поля генерируемой модели и
168- задавать паттерн строки с помощью функции `pattern`. Информация о фильтрах и функциях, доступных в шаблонных
169- строках описана в конце данного раздела.
167+ - `template` : Шаблон для генерации строки. Позволяет использовать значения любых столбов генерируемой модели и
168+ задавать паттерн строки с помощью функции `pattern`. Информация о том, как использовать шаблонные строки,
169+ описана в конце данного раздела.
170170- `locale` : Локаль для генерации строк. Поддерживаемые значения: `ru`, `en`. По умолчанию `en`.
171171- `without_large_letters` : Флаг, указывающий, исключать ли большие буквы из строки.
172172- `without_small_letters` : Флаг, указывающий, исключать ли маленькие буквы из строки.
@@ -201,15 +201,12 @@ open_ai:
201201- `workers_count` : Количество потоков для записи данных. По умолчанию `1`. *Является экспериментальным полем.*
202202- `headers` : Заголовки http запроса, указываются в формате словаря. По умолчанию отсутствуют.
203203- `format_template` : Формат отправляемых данных, конфигурируемый с помощью шаблонов Golang.
204- Для использования в поле `format_template` доступны :
205-
206- - поля :
204+ Для использования в `format_template` доступно 2 поля :
207205 * `ModelName` - имя модели.
208206 * `Rows` - массив записей, где каждый элемент является словарем, который представляет собой строку данных.
209207 Ключи словаря соответствуют названиям столбцов, а значения — данным в этих столбцах.
210- - функции :
211- * `len` - возвращает длину переданного элемента.
212- * `json` - преобразует переданный элемент в JSON строку.
208+
209+ О доступных функциях и использовании шаблонных строк можно прочитать в конце данного раздела.
213210
214211 Пример значения поля `format_template` :
215212
@@ -247,17 +244,35 @@ open_ai:
247244Подобна структуре для формата `http`, за исключением того,
248245что поле `format_template` неизменяемое и всегда равняется значению по умолчанию.
249246
250- Фильтры и функции, используемые в шаблонных строках :
247+ Использование шаблонных строк :
248+
249+ Шаблонные строки реализованы с использованием стандартной библиотеки golang, ознакомиться
250+ со всеми ее возможностями и доступными функциями можно данной [документации](https://pkg.go.dev/text/template).
251+
252+ Доступ к данным :
251253
252- Шаблонные строки реализованы с использованием библиотеки `pongo2`, ознакомиться
253- со всеми доступными фильтрами и функциями можно в репозитории [pongo2](https://github.com/flosch/pongo2) .
254+ Обращение к данным в шаблоне выполняется с помощью `.`(объект или значение, переданное шаблону)
255+ и имени переменной, например, `{{ .var }}` .
254256
255- Вдобавок к ним была добавлена 1 функция :
257+ Вызовы функций :
256258
257- - pattern : позволяет создать паттерн строки при помощи специальных символов.
259+ - прямой вызов : ` {{ upper .name }}` .
260+ - с помощью pipe : ` {{ .name | upper }}` .
261+
262+ В проекте помимо стандартных функций доступны `5` пользовательских :
263+
264+ - `pattern` : позволяет создать паттерн строки при помощи специальных символов.
258265 Символ `A` - любая большая буква, символ `a` - любая маленькая буква,
259266 символ `0` - любая цифра, символ `#` - любой символ, а остальные символы остаются как есть.
260- Функция доступна только в поле `template` типа данных `string`.
267+ - `upper` : преобразует строку в верхний регистр.
268+ - `lower` : преобразует строку в нижний регистр.
269+ - `len` : возвращает длину элемента.
270+ - `json` : преобразует элемент в JSON строку.
271+
272+ Ограничения по использованию :
273+
274+ Функции `pattern`, `lower`, и `upper` доступны только в поле `template` типа данных `string`.
275+ Функции `len` и `json` доступны только в поле `format_template` параметров вывода.
261276
262277# ### Примеры конфигурации генерации данных
263278
@@ -324,13 +339,13 @@ models:
324339 - name: passport
325340 type: string
326341 type_params:
327- template: " {{ pattern(' AA 00 000 000') }}"
342+ template: ' {{ " AA 00 000 000" | pattern }}'
328343 distinct_percentage: 1
329344 ordered: true
330345 - name: email
331346 type: string
332347 type_params:
333- template: "{{ first_name_en | lower }}.{{ id }}@example.com"
348+ template: "{{ . first_name_en | lower }}.{{ . id }}@example.com"
334349 - name: rating
335350 type: float
336351 type_params:
0 commit comments