169 похожих чатов

Кстати, раз уж такое дело пошло Там почти в

каждом методе id'шник экстрагируется
типа
getImage({chat: {id}}: Message)

Я вот подумала, нельзя какой-нибудь декоратор написать, чтобы на вход ты получал сущность message, извлекал из неё id'шник и подставлял на место аргумента? Типа

@extractId
public getImage = (id: number) => {...}
А вызывая этот метод, передавать ему не id'шник, а объект Message ? Или система типов ругаться будет?

24 ответов

6 просмотров

система типов будет ругаться, разве что внутри декоратора передавать ид последним опциональным аргументом в метод, но выглядит крайне нежелательно такое а регулярка не должна быть /^\/text/ ?

А чего не так? public getImage = ({ id }: { id: number }) => ... Есть деструктуризация, зачем городить?

Test-Test TEst Автор вопроса

Ну, в будущем, гипотетически, можно столкнуться с более сложной структурой. А вообще я просто кастомные декораторы научилась писать, теперь везде пытаюсь придумать, где их можно применять))))

Test-Test TEst Автор вопроса

Ну, эта работает

type ID = number type SomethingWithId = { id: ID } type User = SomethingWithId & { name: string } type Order = SomethingWithId & { count: number } const getId = ({ id }: { id: number }) => id getId(user as User) getId(order as Order) getId({ id: 25 })

структурная типизация же

или ты про что?

const getId = ({ id }: SomethingWithId) => id так понятней + удобней будет в этом случае

ну да

Test-Test TEst Автор вопроса

Я про то, что если вложенность будет слишком большая, то ручками всё это прописывать лень будет. Да и в целом, опять же, эту деструктуризацию приходится повторять много раз в разных методах, а что если тип параметра поменяется, мне же тогда придётся во всех местах менять деструктуризацию, вместо одного изменения.

ну можно пойти ооп-шным путём через декораторы а можно пойти фп-шным путём через композицию функций play

Test-Test TEst Автор вопроса

Интересно. Почитаю, спасибо)

А что за шрифт?

Подскажи шрифт. Красивая тема

ну оно так же и с классами будет работать) никто не запрещает пользоваться лучшим от обоих миров play

Бляха так нравится

Test-Test TEst Автор вопроса

да, осталось только убедить остальных на проекте пользоваться этими штуками) легко! (нет) )))

Pipe > compose 🌚

const pipe = (...x) => compose(...reverse(x))

я бы даже сказал. что const pipe = compose( apply(compose), reverse, unapply(identity), )

Вода камень точит

а знаешь как поменять цвет стрелки?

это уже @ide_ru

увидел я как-то раз модуль на рамде

Похожие вопросы

Обсуждают сегодня

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Только такой if ($modx->event->name == 'OnBeforeCartItemAdding') { $meta = $params['item']['meta']; $lang = $modx->getConfig('_lang'); // проверяем, задана ли опция i...
Multi Web
1
Всем привет. Испытываю проблемы в работе БД, а именно огромного роста логов, такого характера: 024-05-16 18:39:07 +05 sentry sentry [unknown] 1050169 7-1 app-sentry01.corp.ru>...
Alexey
2
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Если подытожить: По мнению Розыча и Хемуля и др. - предпочтительно по возможности объявлять в секции имплементации потому-что: 1) Выше скорость компиляции 2) Не замусоривается...
notme
7
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
В дельфе нет никакого коробочного (без установки третьих либ) способа получить CallStack с расшифровкой отладочных символов?
notme
7
Карта сайта