@typescript_ru

Страница 537 из 669
Alexander
13.03.2018
20:02:10
раньше пилил свои "костыли". сейчас пользуюсь "готовым"

Igor
13.03.2018
20:02:23
Это как?))
это через жо, не надо так

Adv0cat
13.03.2018
20:02:30
))))

Google
Alexander
13.03.2018
20:03:01
https://github.com/typestack/routing-controllers

и похожие есть

Adv0cat
13.03.2018
20:03:18
А то я нашел либу даже decorator core или как то так, но там все не удобное)

Igor
13.03.2018
20:03:31
ну опять же, Вуй без декораторов - никак просто

Сергей
13.03.2018
20:03:42
вуй не нужен прост

Adv0cat
13.03.2018
20:03:48
ну опять же, Вуй без декораторов - никак просто
Это категория реакт ангуляр вуй)

Igor
13.03.2018
20:04:10
Alexander
13.03.2018
20:04:31
чем?)

Igor
13.03.2018
20:05:06
приятно выглядит

andretshurotshka?❄️кде
13.03.2018
20:05:43
Alexander
13.03.2018
20:06:11
похоже на nestjs
идеология другая. но сходство есть)

Google
Alexander
13.03.2018
20:06:30
приятно выглядит
даже очень. пользовался не раз. советую

Igor
13.03.2018
20:07:06
Да, следующие моки буду собирать на нем, проще потом ребятам в бекенд отдавать

Adv0cat
13.03.2018
20:08:38
Ну т.е. похоже ниша декораторов это архитектура приложений

Alexander
13.03.2018
20:08:46
import Ajv from 'ajv'; import Boom from 'boom'; export default function (schema) { return function (target, key, descriptor) { if (!schema) return descriptor; const ajv = new Ajv(); descriptor.value = new Proxy(target[key], { apply: async function (method, self, [ctx, next, ...args]) { const valid = ajv.validate(schema, ctx.request.body); if (valid) return method.call(self, ctx, next, ...args); throw Boom.badRequest('Validation error.', ajv.errors); }, }); return descriptor; }; }

Adv0cat
13.03.2018
20:08:51
ну или фрейм ворки))

Alexander
13.03.2018
20:08:51
что-то похожее можно делать

Adv0cat
13.03.2018
20:09:42
Ох ты ж емое... Прокси в декораторе))))

Alexander
13.03.2018
20:09:44
ну и потом @Validate(createSchema) static async create(ctx, next) {}

Ох ты ж емое... Прокси в декораторе))))
решение так себе. это из разряда "своего костыля")))

Adv0cat
13.03.2018
20:10:55
Та да, шо-то такое, что нельзя никому показывать)))

Alexander
13.03.2018
20:11:05
сорян)

Adv0cat
13.03.2018
20:11:26
Не, ну правильно, я сам напросился)))

Alexander
13.03.2018
20:11:38
напросился - получай ;)

Adv0cat
13.03.2018
20:11:50
?

Я думал сделать декораторами множественное наследование такое...)

Alexander
13.03.2018
20:12:49
Adv0cat
13.03.2018
20:13:53
Разве его и так нету
Ну миксины мне не нравятся))

Alexander
13.03.2018
20:14:12
еще лепил "костыли" для дата мапинга. но это совсем жесткач.

Adv0cat
13.03.2018
20:17:01
оу... ну не для этого декораторы придуманы)))
Я скорее имел ввиду такие вещи как @destroy @init @update @parse какие-нибудь)) А там внутри проверка на дестройнутость например или заиниченость, т.е. банально, чтобы можно было любому классу добавить дестрой функцию или апдейт и эта функция вызывалась бы только если произошел инит

Google
Alexander
13.03.2018
20:18:07
ну лучше наследоваться от базового класса как по мне

Adv0cat
13.03.2018
20:18:36
Ну не всегда есть такая возможность)

Alexander
13.03.2018
20:18:58
кто-то запрещяет?)))

Adv0cat
13.03.2018
20:19:40
Ну банально уже наследован класс от того же AsyncEmiter какого-нибудь)

например нодовского)

Сергей
13.03.2018
20:20:05
любители наследования набежали

Le
13.03.2018
20:20:16
extends EventEmitter, Destroyable

Adv0cat
13.03.2018
20:20:18
вы щас скажете используй миксины))

Сергей
13.03.2018
20:20:34
не использовать наследование впринципе

Adv0cat
13.03.2018
20:21:03
всмысле екстендс и 2 класса? о_о а шо так можно было?

Adv0cat
13.03.2018
20:21:38
О_о

Ты мне врешь небось)

andretshurotshka?❄️кде
13.03.2018
20:21:53
композиция

Adv0cat
13.03.2018
20:22:21
Эм.. а как так я прое... пропустил этот момент?)))

Le
13.03.2018
20:22:34
Ты мне врешь небось)
https://www.typescriptlang.org/play/index.html#src=class%20A%20%7B%7D%0D%0Aclass%20B%20%7B%7D%0D%0Aclass%20C%20extends%20A%2C%20B%20%7B%7D

ох и правда вру

подчеркнуло же

значит только интерфейсы

Google
Сергей
13.03.2018
20:23:06
лол

нет

это оператор запятая

(1, 2)

Le
13.03.2018
20:23:16
interface A {} interface B {} interface C extends A, B {}

Alexander
13.03.2018
20:23:47
так низя

сорян. я про классы

Adv0cat
13.03.2018
20:24:46
Тю ты))) Так интерфейсы ж тебе не классы))

Фу ты емое)

Перепугал меня)

Le
13.03.2018
20:25:02
ну сорян, я думал и классы можно

интерфейсы приходилось, классы нет

Сергей
13.03.2018
20:25:19


Le
13.03.2018
20:25:36
?

Alexander
13.03.2018
20:25:38
оуу)

Le
13.03.2018
20:26:16
стопэ, а чем это отличается от extends A

Сергей
13.03.2018
20:26:25
тем что там 2 класса

Alexander
13.03.2018
20:26:26
извращения пошли перед сном)

Adv0cat
13.03.2018
20:26:47
тем что там 2 класса
А де там 2 класса?)

Сергей
13.03.2018
20:27:19


Google
Adv0cat
13.03.2018
20:27:44
Аа ты просто опечатку сделал)

Le
13.03.2018
20:27:53
какая-то странная штука

Сергей
13.03.2018
20:28:02




Le
13.03.2018
20:28:41
ну да, но не очень понятно как бы это в реальном коде выглядело бы

Adv0cat
13.03.2018
20:28:49
Там ты пропустил class B

andretshurotshka?❄️кде
13.03.2018
20:28:49
class C extends class extends class extends D {}

так тоже все работает

Сергей
13.03.2018
20:29:00
Там ты пропустил class B
классы могут быть анонимными

Le
13.03.2018
20:29:01
Там ты пропустил class B
это безымянный класс

Adv0cat
13.03.2018
20:29:18
holly shit)

Откровения за откровениями))

andretshurotshka?❄️кде
13.03.2018
20:30:08
ты че не жсер и динамическую адуху не пишешь?

Сергей
13.03.2018
20:30:09


Le
13.03.2018
20:31:14
уф

Morsik
13.03.2018
20:31:28
красиво

Adv0cat
13.03.2018
20:34:04
ты че не жсер и динамическую адуху не пишешь?
Я бывший флешер и не люблю динамическую адуху)))

andretshurotshka?❄️кде
13.03.2018
20:34:31
как так

Adv0cat
13.03.2018
20:35:30
это шо за ес некст такой?)

Сергей
13.03.2018
20:36:26
это шо за ес некст такой?)
Следующий ещё не утвержденный стандарт

Страница 537 из 669