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();