mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-18 07:35:52 +03:00
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.
This commit is contained in:
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"myHeader": {
|
||||
"font": "Calibri",
|
||||
"fontSize": 11,
|
||||
"bold": false,
|
||||
"italic": false,
|
||||
"hAlign": "Center",
|
||||
"vAlign": "Center",
|
||||
"wrap": false,
|
||||
"bgColor": "style:ReportHeaderBackColor",
|
||||
"textColor": null,
|
||||
"borderColor": "style:ReportLineColor",
|
||||
"borders": true
|
||||
}
|
||||
"myHeader": {
|
||||
"font": "Calibri",
|
||||
"fontSize": 11,
|
||||
"bold": false,
|
||||
"italic": false,
|
||||
"hAlign": "Center",
|
||||
"vAlign": "Center",
|
||||
"wrap": false,
|
||||
"bgColor": "style:ReportHeaderBackColor",
|
||||
"textColor": null,
|
||||
"borderColor": "style:ReportLineColor",
|
||||
"borders": true
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user