Skip to content

Commit d69af0d

Browse files
committed
Format code
1 parent e060833 commit d69af0d

File tree

10 files changed

+255
-203
lines changed

10 files changed

+255
-203
lines changed

lessons/lesson03/code/fizzbuzz/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!DOCTYPE html>
1+
<!doctype html>
22
<html>
33
<head>
44
<title>Parcel Sandbox</title>

lessons/lesson03/code/fizzbuzz/src/index.test.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ describe("fizzBuzz", () => {
3232
it(`is expected to see ${args} at position #${index + 1}`, () => {
3333
fizzBuzz();
3434
expect(console.log.mock.calls[index]).toEqual(args);
35-
})
35+
}),
3636
);
3737
});
3838

@@ -41,7 +41,7 @@ describe("fizzBuzz", () => {
4141
["if", "else"].forEach((stopWord) =>
4242
it(`should not use ${stopWord}`, () => {
4343
expect(getNormalizedSource(fizzBuzz).includes(stopWord)).toBe(false);
44-
})
44+
}),
4545
);
4646
});
4747

@@ -50,7 +50,7 @@ describe("fizzBuzz", () => {
5050
["?", ":"].forEach((stopWord) =>
5151
it(`should not use ${stopWord}`, () => {
5252
expect(getNormalizedSource(fizzBuzz).includes(stopWord)).toBe(false);
53-
})
53+
}),
5454
);
5555
});
5656

@@ -59,7 +59,7 @@ describe("fizzBuzz", () => {
5959
["&&", "||"].forEach((stopWord) =>
6060
it(`should not use ${stopWord}`, () => {
6161
expect(getNormalizedSource(fizzBuzz).includes(stopWord)).toBe(false);
62-
})
62+
}),
6363
);
6464
});
6565
});

lessons/lesson04/code/isEqualXAndO/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!DOCTYPE html>
1+
<!doctype html>
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />

lessons/lesson04/code/uicalc/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!DOCTYPE html>
1+
<!doctype html>
22
<html>
33
<head>
44
<title>Parcel Sandbox</title>

lessons/lesson04/lesson.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ console.log("2112", isPalindrom("2112"), true);
176176
["212", true],
177177
["2112", true],
178178
].forEach(([str, expectedResult]) =>
179-
console.log(str, isPalindrom(str) === expectedResult)
179+
console.log(str, isPalindrom(str) === expectedResult),
180180
);
181181
```
182182

@@ -657,4 +657,4 @@ describe('createCalculatorUI', () => {
657657

658658
<!-- s -->
659659

660-
Опрос о занятии
660+
Опрос о занятии

lessons/lesson06/code/smart-getter/index.html

Lines changed: 191 additions & 121 deletions
Large diffs are not rendered by default.

lessons/lesson06/code/smart-getter/src/get.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ describe("get", () => {
4747

4848
it("returns undefined for invalid properties", () => {
4949
invalidKeys.forEach((invalidKey) =>
50-
expect(get(obj, invalidKey)).toBe(undefined)
50+
expect(get(obj, invalidKey)).toBe(undefined),
5151
);
5252
});
5353

lessons/lesson06/lesson.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ let o = {
433433
for (let propName in o) {
434434
console.log(
435435
propName,
436-
o.hasOwnProperty(propName) ? "в объекте" : "в цепочке прототипов"
436+
o.hasOwnProperty(propName) ? "в объекте" : "в цепочке прототипов",
437437
);
438438
}
439439
```

lessons/lesson20/task.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,23 @@
1414
Вам необходимо реализовать собственную версию метода .bind для функций в JavaScript. Встроенный `.bind` использовать нельзя
1515

1616
```js
17-
function greet(greeting, punctuation) {
18-
return greeting + ', ' + this.name + punctuation;
19-
}
17+
function greet(greeting, punctuation) {
18+
return greeting + ", " + this.name + punctuation;
19+
}
2020

21-
const person = { name: 'Алиса' };
22-
const greetAlice = greet.myBind(person, 'Привет');
21+
const person = { name: "Алиса" };
22+
const greetAlice = greet.myBind(person, "Привет");
2323

24-
console.log(greetAlice('!')); // Ожидаемый результат: "Привет, Алиса!"
24+
console.log(greetAlice("!")); // Ожидаемый результат: "Привет, Алиса!"
2525
```
2626

2727
### Цепочка
2828

2929
Создать конструктор с методами, так, чтобы следующий код работал и делал соответствующие вещи те запуск кода ниже должен делать то, что говорят методы
3030

3131
```js
32-
const u = new User();
33-
u.askName().askAge().showAgeInConsole().showNameInAlert();
32+
const u = new User();
33+
u.askName().askAge().showAgeInConsole().showNameInAlert();
3434
```
3535

3636
### ForceConstructor
@@ -42,15 +42,15 @@
4242
Написать каррирующую функцию `curry` ( преобразующую функцию - из функции многих аргументов, получить множество функций одного аргумента)
4343

4444
```js
45-
function sum2(x, y) {
46-
return x + y;
47-
}
48-
function sum4(a, b, c, d) {
49-
return a + b + c + d;
50-
}
51-
52-
curry(sum2)(1)(2); // 3
53-
curry(sum4)(2)(3)(4)(5); // 14
45+
function sum2(x, y) {
46+
return x + y;
47+
}
48+
function sum4(a, b, c, d) {
49+
return a + b + c + d;
50+
}
51+
52+
curry(sum2)(1)(2); // 3
53+
curry(sum4)(2)(3)(4)(5); // 14
5454
```
5555

5656
## Критерии

lessons/lesson22/task.md

Lines changed: 36 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717

1818
- Функция promisify принимает на вход функцию, которая ожидает колбэк последним аргументом. Колбэк должен иметь стандартный вид: callback(error, result).
1919
- promisify возвращает новую функцию. При вызове эта функция возвращает промис, который:
20-
- Резолвится с результатом, если в колбэк передан null или undefined вместо ошибки.
21-
- Реджектится, если в колбэк передана ошибка.
20+
- Резолвится с результатом, если в колбэк передан null или undefined вместо ошибки.
21+
- Реджектится, если в колбэк передана ошибка.
2222
- Ваша функция должна корректно передавать все аргументы исходной функции, кроме колбэка.
2323

2424
```js
@@ -37,9 +37,9 @@ function sum(a, b, cb) {
3737
const promisifiedSum = promisify(sum);
3838

3939
promisifiedSum(2, 3)
40-
.then(result => console.log(result)) // 5
41-
.catch(err => console.log(err)); // "Ошибка"
42-
```
40+
.then((result) => console.log(result)) // 5
41+
.catch((err) => console.log(err)); // "Ошибка"
42+
```
4343

4444
### Parallel
4545

@@ -48,20 +48,13 @@ promisifiedSum(2, 3)
4848
**Требования:**
4949

5050
- Класс должен называться `Parallel` и быть конструктором (использоваться через `new`).
51-
5251
- У экземпляра должны быть публичные методы:
53-
- `job(fn)` — добавляет задачу (функцию), которую нужно выполнить. Метод должен поддерживать чейнинг (возвращать сам объект).
54-
55-
- `done(cb)` — запускает выполнение всех добавленных задач. Когда все задачи завершены, вызывает колбэк `cb`, передавая ему массив результатов.
56-
52+
- `job(fn)` — добавляет задачу (функцию), которую нужно выполнить. Метод должен поддерживать чейнинг (возвращать сам объект).
53+
- `done(cb)` — запускает выполнение всех добавленных задач. Когда все задачи завершены, вызывает колбэк `cb`, передавая ему массив результатов.
5754
- Если не было добавлено ни одной задачи, `done` должен вызываться асинхронно.
58-
5955
- Пока не вызван `done`, задачи не запускаются.
60-
6156
- Если при создании объекта передать число (например, `new Parallel(3)`), оно задаёт максимальное количество задач, которые могут выполняться одновременно.
62-
6357
- Все задачи — функции, которые принимают один аргумент: функцию-колбэк `done(result)`, которую нужно вызвать по завершении задачи.
64-
6558
- Результаты должны возвращаться в том же порядке, в котором были добавлены задачи.
6659

6760
- Продумайте выполнение задач без простоев
@@ -70,10 +63,10 @@ promisifiedSum(2, 3)
7063
const runner = new Parallel(2);
7164

7265
runner
73-
.job(done => setTimeout(() => done('A'), 1000))
74-
.job(done => setTimeout(() => done('B'), 500))
75-
.job(done => setTimeout(() => done('C'), 300))
76-
.done(results => {
66+
.job((done) => setTimeout(() => done("A"), 1000))
67+
.job((done) => setTimeout(() => done("B"), 500))
68+
.job((done) => setTimeout(() => done("C"), 300))
69+
.done((results) => {
7770
console.log(results); // ['A', 'B', 'C']
7871
});
7972
```
@@ -89,66 +82,60 @@ runner
8982
Если запрос завершается успешно, функция возвращает результат как обычный `fetch`. Если все попытки завершились неудачно, функция должна вернуть ошибку.
9083

9184
```js
92-
fetchRetry('https://dummyjson.com/products', 3, 1000)
93-
.then(response => response.json())
94-
.then(data => console.log(data))
95-
.catch(error => console.error('Ошибка после всех попыток:', error));
85+
fetchRetry("https://dummyjson.com/products", 3, 1000)
86+
.then((response) => response.json())
87+
.then((data) => console.log(data))
88+
.catch((error) => console.error("Ошибка после всех попыток:", error));
9689
```
9790

9891
**Требования:**
9992

100-
- Если запрос завершился с ошибкой (например, сеть недоступна или получен некорректный HTTP-статус), функция должна подождать указанную задержку и попробовать снова, пока не исчерпает все попытки.
101-
- После успешного ответа функция должна вернуть результат без дополнительных попыток.
102-
- Если все попытки неудачны, функция должна вернуть ошибку.
103-
93+
- Если запрос завершился с ошибкой (например, сеть недоступна или получен некорректный HTTP-статус), функция должна подождать указанную задержку и попробовать снова, пока не исчерпает все попытки.
94+
- После успешного ответа функция должна вернуть результат без дополнительных попыток.
95+
- Если все попытки неудачны, функция должна вернуть ошибку.
10496

10597
### debounce
10698

10799
Напишите функцию `debounce`, которая принимает два аргумента:
108-
- функцию, которую нужно вызывать (например, обработчик событий)
109-
- время задержки в миллисекундах
110-
100+
101+
- функцию, которую нужно вызывать (например, обработчик событий)
102+
- время задержки в миллисекундах
103+
111104
Функция `debounce` должна возвращать новую функцию-обёртку. Эта обёртка при каждом вызове не будет сразу запускать исходную функцию, а будет откладывать её выполнение на заданное количество миллисекунд. Если обёртку вызвать ещё раз до истечения задержки, предыдущий таймер отменяется и запускается новый отсчёт. В итоге исходная функция будет вызвана только один раз — спустя указанное время после последнего вызова обёртки
112105

113106
```js
114107
function onInput(event) {
115-
console.log('Запрос к серверу:', event.target.value);
108+
console.log("Запрос к серверу:", event.target.value);
116109
}
117110

118111
const debouncedOnInput = debounce(onInput, 500);
119112

120-
inputElement.addEventListener('input', debouncedOnInput);
113+
inputElement.addEventListener("input", debouncedOnInput);
121114
```
122115

123116
В этом примере функция `onInput` будет вызываться только через 500 мс после того, как пользователь прекратил вводить текст, а не на каждое нажатие клавиши.
124117

125118
**Что проверить:**
126119

127-
- Исходная функция вызывается не чаще одного раза за указанный интервал времени.
128-
129-
- При частых вызовах обёртки исходная функция не запускается, пока не наступит "пауза".
130-
131-
- Аргументы и контекст (`this`) корректно передаются в исходную функцию.
120+
- Исходная функция вызывается не чаще одного раза за указанный интервал времени.
121+
- При частых вызовах обёртки исходная функция не запускается, пока не наступит "пауза".
122+
- Аргументы и контекст (`this`) корректно передаются в исходную функцию.
132123

133124
### serialProcess
134125

135126
Напишите функцию `serialProcess`, которая принимает массив элементов и функцию-обработчик для каждого элемента. Обработчик должен вызываться для каждого элемента массива по очереди (строго по одному, не параллельно), и переходить к следующему элементу только после завершения обработки предыдущего.
136127

137128
Функция-обработчик вызывается с четырьмя аргументами:
138129

139-
- `el` — текущий элемент массива,
140-
141-
- `index` — индекс текущего элемента,
142-
143-
- `list` — исходный массив,
144-
145-
- `done` — функция, которую нужно вызвать по завершении обработки элемента, передав ей результат обработки.
146-
130+
- `el` — текущий элемент массива,
131+
- `index` — индекс текущего элемента,
132+
- `list` — исходный массив,
133+
- `done` — функция, которую нужно вызвать по завершении обработки элемента, передав ей результат обработки.
147134

148135
Функция `serialProcess` должна возвращать промис, который резолвится после завершения обработки всех элементов, с массивом результатов в том же порядке, что и исходный массив.
149136

150137
```js
151-
serialProcess([1,2,3,4,5], (el, index, list, done) => {
138+
serialProcess([1, 2, 3, 4, 5], (el, index, list, done) => {
152139
console.log(`${el} start`);
153140
setTimeout(() => {
154141
console.log(`${el} end`);
@@ -159,15 +146,10 @@ serialProcess([1,2,3,4,5], (el, index, list, done) => {
159146

160147
**Требования:**
161148

162-
- Каждый элемент обрабатывается только после завершения предыдущего.
163-
164-
- Обработчик может быть асинхронным (например, содержать `setTimeout`).
165-
166-
- Результаты собираются в массив в том же порядке, что и исходные элементы.
167-
168-
- После обработки всех элементов промис резолвится с массивом результатов.
169-
170-
149+
- Каждый элемент обрабатывается только после завершения предыдущего.
150+
- Обработчик может быть асинхронным (например, содержать `setTimeout`).
151+
- Результаты собираются в массив в том же порядке, что и исходные элементы.
152+
- После обработки всех элементов промис резолвится с массивом результатов.
171153

172154
## Критерии
173155

0 commit comments

Comments
 (0)