Skip to content

Commit 4e99ad8

Browse files
authored
Рефакторинг (alei1180#206)
1 parent 37d405b commit 4e99ad8

20 files changed

+608
-273
lines changed

src/cli/Классы/КонсольныйКонвертерКомандыCURL.os

+8-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
РезультатКонвертации = КонвертерКомандыCURL.Конвертировать(ПодготовленныеАргументы, Генератор, Ошибки);
2626
Исключение
2727
РезультатКонвертации = "";
28-
Ошибки.Добавить(ОбщегоНазначения.НоваяКритичнаяОшибка(КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
28+
Ошибки.Добавить(ОбщийНаборИнструментов.НоваяКритичнаяОшибка(КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
2929
КонецПопытки;
3030

3131
Для Каждого Ошибка Из Ошибки Цикл
@@ -35,11 +35,13 @@
3535
КонецЦикла;
3636

3737
Если ЗначениеЗаполнено(РезультатКонвертации) Тогда
38+
3839
Если Ошибки.Количество() Тогда
3940
Консоль.Вывести(Символы.ПС);
4041
КонецЕсли;
4142

4243
Консоль.Вывести(РезультатКонвертации);
44+
4345
КонецЕсли;
4446

4547
КонецПроцедуры
@@ -68,7 +70,7 @@
6870
Функция ПодготовитьАргументы()
6971

7072
ПодготовленныеАргументы = Новый Массив();
71-
ОбщегоНазначения.ДополнитьМассив(ПодготовленныеАргументы, ВходящиеАргументы);
73+
ОбщийНаборИнструментов.ДополнитьМассив(ПодготовленныеАргументы, ВходящиеАргументы);
7274

7375
ПодготовленныеАргументы[0] = "curl";
7476

@@ -105,11 +107,15 @@
105107
КонецПроцедуры
106108

107109
Функция ПолучитьГенераторПоАргументу(Аргумент)
110+
108111
Если Аргумент = "connector" Тогда
109112
Возврат Новый ГенераторПрограммногоКодаКоннекторHTTP();
110113
ИначеЕсли Аргумент = "1c" Тогда
111114
Возврат Новый ГенераторПрограммногоКода1С();
115+
Иначе
116+
Возврат Неопределено;
112117
КонецЕсли;
118+
113119
КонецФункции
114120

115121
Функция ГенераторПоУмолчанию()

src/core/Классы/ГенераторПрограммногоКода1С.os

+179-90
Large diffs are not rendered by default.

src/core/Классы/ГенераторПрограммногоКодаКоннекторHTTP.os

+137-71
Large diffs are not rendered by default.

src/core/Классы/КонвертерКомандыCURL.os

+122-50
Large diffs are not rendered by default.

src/core/Классы/ПарсерКонсольнойКоманды.os

+4-2
Original file line numberDiff line numberDiff line change
@@ -261,10 +261,12 @@
261261
КонецФункции
262262

263263
Процедура УдалитьПустуюПоследнююКоманду()
264-
Если АргументыКоманд.Количество() И
265-
АргументыКоманд[АргументыКоманд.ВГраница()].Количество() = 0 Тогда
264+
265+
Если АргументыКоманд.Количество()
266+
И АргументыКоманд[АргументыКоманд.ВГраница()].Количество() = 0 Тогда
266267
АргументыКоманд.Удалить(АргументыКоманд.ВГраница());
267268
КонецЕсли;
269+
268270
КонецПроцедуры
269271

270272
#КонецОбласти

src/interface/view/index.html

+8-9
Original file line numberDiff line numberDiff line change
@@ -402,10 +402,10 @@
402402

403403
</style>
404404
<script type="module">
405-
import theme from '/static/shiki/themes/github-light.js';
406-
import lang from '/static/shiki/langs/bsl.js';
407-
import { createHighlighterCore } from '/static/shiki/core.js';
408-
import { createOnigurumaEngine } from '/static/shiki/engine/oniguruma.js';
405+
import theme from './static/shiki/themes/github-light.js';
406+
import lang from './static/shiki/langs/bsl.js';
407+
import { createHighlighterCore } from './static/shiki/core.js';
408+
import { createOnigurumaEngine } from './static/shiki/engine/oniguruma.js';
409409

410410
let defaultOutputs = {
411411
'1c': {
@@ -442,7 +442,6 @@
442442

443443
let req = new XMLHttpRequest();
444444
req.onload = function () {
445-
let output = document.getElementById("output");
446445
let errors = [];
447446
outputText = "";
448447

@@ -548,9 +547,9 @@
548547
function getLang() {
549548
let radios = document.getElementsByName('lang');
550549

551-
for (let i = 0; i < radios.length; i++) {
552-
if (radios[i].checked) {
553-
return radios[i].value;
550+
for (let radio of radios) {
551+
if (radio.checked) {
552+
return radio.value;
554553
}
555554
}
556555

@@ -640,7 +639,7 @@
640639
const highlighter = await createHighlighterCore({
641640
themes: [theme],
642641
langs: [lang],
643-
engine: createOnigurumaEngine(import('/static/shiki/wasm.js'))
642+
engine: createOnigurumaEngine(import('./static/shiki/wasm.js'))
644643
});
645644

646645
setLocale('ru');

src/internal/Классы/ОписаниеЗапроса.os

+29-1
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,13 @@
4141
#Область ПрограммныйИнтерфейс
4242

4343
Процедура ДобавитьАдресРесурса(URL, ИмяВыходногоФайла = "") Экспорт
44+
4445
ОписаниеРесурса = НовоеОписаниеРесурса();
4546
ОписаниеРесурса.URL = URL;
4647
ОписаниеРесурса.ИмяВыходногоФайла = ИмяВыходногоФайла;
48+
4749
АдресаРесурсов.Добавить(ОписаниеРесурса);
50+
4851
КонецПроцедуры
4952

5053
Процедура ДобавитьЗаголовок(Имя, Значение) Экспорт
@@ -58,10 +61,27 @@
5861
Возврат Значение;
5962
КонецЕсли;
6063

61-
Возврат ОбщегоНазначения.НайтиВСоответствииПоКлючуБезУчетаРегистра(Заголовки, Имя);
64+
Возврат ОбщийНаборИнструментов.НайтиВСоответствииПоКлючуБезУчетаРегистра(Заголовки, Имя);
6265

6366
КонецФункции
6467

68+
Функция ФайлыОтправляемыеОтдельно(ОписаниеРесурса) Экспорт
69+
70+
ПередаваемыеФайлы = Новый Массив();
71+
Для Каждого ПередаваемыйФайл Из ОписаниеРесурса.Файлы Цикл
72+
73+
Если ПередаваемыйФайл.ОтправлятьОтдельно
74+
И Не ПередаваемыйФайл.ПрочитатьСодержимое
75+
И ПередаваемыйФайл.Назначение = НазначенияПередаваемыхДанных.ТелоЗапроса Тогда
76+
ПередаваемыеФайлы.Добавить(ПередаваемыйФайл);
77+
КонецЕсли;
78+
79+
КонецЦикла;
80+
81+
Возврат ПередаваемыеФайлы;
82+
83+
КонецФункции
84+
6585
Функция ИспользуетсяПрокси() Экспорт
6686
Возврат ЗначениеЗаполнено(ПроксиСервер);
6787
КонецФункции
@@ -79,6 +99,7 @@
7999
#Область СлужебныеПроцедурыИФункции
80100

81101
Процедура ПриСозданииОбъекта()
102+
82103
АдресаРесурсов = Новый Массив;
83104
Заголовки = Новый Соответствие();
84105
ТипАутентификации = "";
@@ -108,6 +129,7 @@
108129
AWS4 = НовыйAWS4();
109130
ТокенBearer = "";
110131
СоздатьКаталогСохраненияФайлов = Ложь;
132+
111133
КонецПроцедуры
112134

113135
Функция ЕстьДанныеПоНазначению(Назначение) Экспорт
@@ -129,21 +151,27 @@
129151
КонецФункции
130152

131153
Функция НовоеОписаниеРесурса()
154+
132155
Описание = Новый Структура();
133156
Описание.Вставить("URL", "");
134157
Описание.Вставить("Метод", "");
135158
Описание.Вставить("ИмяВыходногоФайла", "");
136159
Описание.Вставить("Файлы", Новый Массив());
160+
137161
Возврат Описание;
162+
138163
КонецФункции
139164

140165
Функция НовыйAWS4()
166+
141167
Результат = Новый Структура;
142168
Результат.Вставить("КлючДоступа", "");
143169
Результат.Вставить("СекретныйКлюч", "");
144170
Результат.Вставить("Сервис", "");
145171
Результат.Вставить("Регион", "");
172+
146173
Возврат Результат;
174+
147175
КонецФункции
148176

149177
#КонецОбласти

src/internal/Классы/ПарсерURL.os

+18-1
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,14 @@
5050
АутентификацияСтрока = "";
5151
РазбитьСтрокуПоРазделителю(АутентификацияСтрока, URL, "@");
5252
Если ЗначениеЗаполнено(АутентификацияСтрока) Тогда
53+
5354
АутентификацияЧасти = СтрРазделить(АутентификацияСтрока, ":");
5455
Аутентификация.Пользователь = АутентификацияЧасти[0];
56+
5557
Если АутентификацияЧасти.Количество() > 1 Тогда
5658
Аутентификация.Пароль = АутентификацияЧасти[1];
5759
КонецЕсли;
60+
5861
КонецЕсли;
5962

6063
// IPv6
@@ -98,8 +101,11 @@
98101

99102
РазбитьСтрокуПоРазделителю(Запрос, Путь, "?", Истина);
100103
Для Каждого СтрокаКлючРавноПараметр Из СтрРазделить(Запрос, "&", Ложь) Цикл
104+
101105
СтрокаКлючРавноПараметр = РаскодироватьСтроку(
102-
СтрокаКлючРавноПараметр, СпособКодированияСтроки.URLВКодировкеURL);
106+
СтрокаКлючРавноПараметр,
107+
СпособКодированияСтроки.URLВКодировкеURL
108+
);
103109

104110
ПозицияРавно = СтрНайти(СтрокаКлючРавноПараметр, "=");
105111
Если ПозицияРавно = 0 Тогда
@@ -111,6 +117,7 @@
111117
КонецЕсли;
112118

113119
Если ПараметрыЗапроса.Получить(Ключ) <> Неопределено Тогда
120+
114121
Если ТипЗнч(ПараметрыЗапроса[Ключ]) = Тип("Массив") Тогда
115122
ПараметрыЗапроса[Ключ].Добавить(Значение);
116123
Иначе
@@ -119,8 +126,11 @@
119126
Значения.Добавить(Значение);
120127
ПараметрыЗапроса[Ключ] = Значения;
121128
КонецЕсли;
129+
122130
Иначе
131+
123132
ПараметрыЗапроса.Вставить(Ключ, Значение);
133+
124134
КонецЕсли;
125135

126136
КонецЦикла;
@@ -131,13 +141,16 @@
131141

132142
Индекс = СтрНайти(ОстальнаяЧасть, Разделитель);
133143
Если Индекс Тогда
144+
134145
ИзвлекаемаяЧасть = Лев(ОстальнаяЧасть, Индекс - 1);
135146
ОстальнаяЧасть = Сред(ОстальнаяЧасть, Индекс + СтрДлина(Разделитель));
147+
136148
Если Инверсия Тогда
137149
ДляОбмена = ИзвлекаемаяЧасть;
138150
ИзвлекаемаяЧасть = ОстальнаяЧасть;
139151
ОстальнаяЧасть = ДляОбмена;
140152
КонецЕсли;
153+
141154
КонецЕсли;
142155

143156
КонецПроцедуры
@@ -148,14 +161,18 @@
148161
ПервыйРазделитель = "";
149162

150163
Для Каждого Разделитель Из Разделители Цикл
164+
151165
Индекс = СтрНайти(Строка, Разделитель);
166+
152167
Если Индекс = 0 Тогда
153168
Продолжить;
154169
КонецЕсли;
170+
155171
Если Индекс < МинимальныйИндекс Тогда
156172
МинимальныйИндекс = Индекс;
157173
ПервыйРазделитель = Разделитель;
158174
КонецЕсли;
175+
159176
КонецЦикла;
160177

161178
Результат = Новый Массив;

src/internal/Классы/ПарсерЗначенияОпцииForm.os

+5-1
Original file line numberDiff line numberDiff line change
@@ -173,20 +173,24 @@
173173
КонецЕсли;
174174

175175
Если ЭтоНовоеЗначение Тогда
176+
176177
СтруктураЗначения = Новый Структура();
177178
СтруктураЗначения.Вставить("Значение", СокрЛП(ЗначениеПараметра));
178179
СтруктураЗначения.Вставить("Параметры", Новый Соответствие());
179180
СтруктураЗначения.Параметры.Вставить("headers", Новый Соответствие());
180181

181-
Результат.Значения.Добавить(СтруктураЗначения);
182+
Результат.Значения.Добавить(СтруктураЗначения);
183+
182184
Иначе
185+
183186
ПараметрыЗначения = Результат.Значения[Результат.Значения.ВГраница()].Параметры;
184187

185188
Если ИмяПараметра = "headers" Тогда
186189
ДобавитьЗаголовок(ПараметрыЗначения["headers"], СокрЛП(ЗначениеПараметра));
187190
Иначе
188191
ПараметрыЗначения.Вставить(ИмяПараметра, СокрЛП(ЗначениеПараметра));
189192
КонецЕсли;
193+
190194
КонецЕсли;
191195

192196
ИмяПараметра = "";

0 commit comments

Comments
 (0)