Files
cc-1c-skills/tests/skills/cases/skd-decompile/snapshots/appearance-multilang-value/decompiled.json
T
Nick Shirokov 55b80fdc08 feat(skd-decompile): компактный JSON-сериализатор + расширенный shorthand totalFields
Заменил ConvertTo-Json (PS5.1) на собственный ConvertTo-CompactJson:
- 2-пробельный indent (вместо 4 + выравнивание keys по длине)
- Массивы примитивов (string/number/bool/null) — inline `[a, b, c]`
- Массивы с объектами/nested arrays — multi-line как раньше
- Кириллица в UTF-8 (без \uXXXX-escapes)
- Корректный escape строк (\\", \\, \n, \r, \t, \uXXXX для control chars)

Build-TotalField: shorthand "name: expr" для любого однострочного
expression. Раньше object form применялась когда expression не Func(arg).
Теперь — только когда есть group или expression многострочный.
Compile принимает любой shorthand вида "dataPath: expression" (Parse-
TotalShorthand делает split по первому ":").

Save-UserStyles тоже использует новый сериализатор.

Все 16 декомпиляционных snapshot'ов обновлены (косметика — JSON
структурно тот же, тесты round-trip проходят).

На реальном отчёте (целевой корпус): 405 → 264 строк (-35%).
v0.18 → v0.19.
2026-05-21 20:50:34 +03:00

38 lines
791 B
JSON

{
"dataSets": [
{
"name": "Тест",
"query": "ВЫБРАТЬ * ИЗ Справочник.Сотрудники",
"fields": [
{
"field": "ДатаДокумента",
"type": "date",
"appearance": {
"Формат": {
"ru": "ДЛФ=D",
"en": "DLF=D"
}
}
}
]
}
],
"settingsVariants": [
{
"name": "Основной",
"settings": {
"conditionalAppearance": [
{
"selection": ["ДатаДокумента"],
"appearance": {
"Формат": {
"ru": "ДЛФ=DT",
"en": "DLF=DT"
}
}
}
]
}
}
]
}