diff --git a/src/task_1/app.ts b/src/task_1/app.ts
new file mode 100644
index 0000000..1105685
--- /dev/null
+++ b/src/task_1/app.ts
@@ -0,0 +1,4 @@
+let user: User = new User(19, 'Yaroslav');
+user.upAgeByYear();
+
+console.log(user.age);
\ No newline at end of file
diff --git a/src/task_1/typing.d.ts b/src/task_1/typing.d.ts
new file mode 100644
index 0000000..d7f209f
--- /dev/null
+++ b/src/task_1/typing.d.ts
@@ -0,0 +1,12 @@
+interface ICustom {
+ user: User;
+}
+
+declare var Custom: ICustom;
+
+declare class User {
+ public age: number;
+ public name: string;
+ constructor(a: number, n: string);
+ public upAgeByYear(): void;
+}
\ No newline at end of file
diff --git a/src/task_2/example.ts b/src/task_2/example.ts
new file mode 100644
index 0000000..1ef58e8
--- /dev/null
+++ b/src/task_2/example.ts
@@ -0,0 +1,11 @@
+import {SettingValue, Setting} from './setting';
+
+class Example {
+ public title?: string;
+ public id?: number;
+ private _setting: Setting;
+
+ constructor(s: Setting) {
+ this._setting = s;
+ }
+}
diff --git a/src/task_2/index.html b/src/task_2/index.html
new file mode 100644
index 0000000..2924409
--- /dev/null
+++ b/src/task_2/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+ Заголовок
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/task_2/setting.ts b/src/task_2/setting.ts
new file mode 100644
index 0000000..0b14c0a
--- /dev/null
+++ b/src/task_2/setting.ts
@@ -0,0 +1,13 @@
+import {SettingValue} from './setting_val';
+
+class Setting {
+ public key: string;
+ public value: SettingValue;
+
+ constructor(k: string, ov: SettingValue) {
+ this.key = k;
+ this.value = ov;
+ }
+}
+
+export {SettingValue, Setting};
diff --git a/src/task_2/setting_val.ts b/src/task_2/setting_val.ts
new file mode 100644
index 0000000..d87d17c
--- /dev/null
+++ b/src/task_2/setting_val.ts
@@ -0,0 +1,9 @@
+export class SettingValue {
+ public property1: string;
+ public property2: string;
+
+ constructor(p1: string, p2: string) {
+ this.property1 = p1;
+ this.property2 = p2;
+ }
+}
diff --git a/src/task_3/index.ts b/src/task_3/index.ts
index 04eaab2..ec2b613 100644
--- a/src/task_3/index.ts
+++ b/src/task_3/index.ts
@@ -16,33 +16,48 @@ class HttpError extends Error {
}
}
-function req(url: string): Promise {
- return fetch(url)
- .then((response: Response) => {
- if (response.status == 200) {
- return response.json();
- } else {
- throw new HttpError(response);
- }
- })
+async function req(url: string): Promise {
+ const response = await fetch(url);
+ if(response.status === 200) {
+ return await response.json()
+ }
+ throw new HttpError(response);
+ // return fetch(url)
+ // .then((response: Response) => {
+ // if (response.status == 200) {
+ // return response.json();
+ // } else {
+ // throw new HttpError(response);
+ // }
+ // })
}
// Запрашивать логин, пока github не вернёт существующего пользователя.
-function getGitHub() {
+async function getGitHub() {
let name = prompt("Введите логин на GitHub?", "");
- return req(`https://api.github.com/users/${name}`)
- .then(user => {
- document.write(`Полное имя: ${user.name}, уникальный номер: ${user.id}.`);
- return user;
- })
- .catch(err => {
- if (err instanceof HttpError && err.response.status == 404) {
- document.write("Такого пользователя не существует.");
- } else {
- throw err;
- }
- });
+ try {
+ const user = await req(`https://api.github.com/users/${name}`);
+ document.write(`Полное имя: ${user.name}, уникальный номер: ${user.id}.`);
+ } catch(err) {
+ if (err instanceof HttpError && err.response.status == 404) {
+ document.write("Такого пользователя не существует.");
+ } else {
+ throw err;
+ }
+ }
+ // return req(`https://api.github.com/users/${name}`)
+ // .then(user => {
+ // document.write(`Полное имя: ${user.name}, уникальный номер: ${user.id}.`);
+ // return user;
+ // })
+ // .catch(err => {
+ // if (err instanceof HttpError && err.response.status == 404) {
+ // document.write("Такого пользователя не существует.");
+ // } else {
+ // throw err;
+ // }
+ // });
}
getGitHub();