shri-2015-org / 666

666 team's chat =>
http://anonym.club
4 stars 3 forks source link

Sort of universal parser #127

Closed exah closed 8 years ago

exah commented 8 years ago

Класс Parser не обязательный, если его убрать, можно использовать чистые функции.

Но мне, кажется более читабельно будет перечислять плагины через запятую youtube, twitter, md, emoji, чем оборачивать их в кучу функций, типа youtube(twitter(md(emoji(text)))) особенно если их будет много.

tempname11 commented 8 years ago

Во-первых, не очень круто, что этот PR включает в себя другой PR (Fix duplicate messages). Если возможно, лучше разные правки держать раздельно.

Смысла в том, чтобы делать parser.process(text).use(emoji, md) вместо md(emoji(text)) не вижу. Может быть, так создается "ощущение плугинистости", но в данном месте это просто лишняя абстракция.

Более того, даже эта абстракция некорректна. md принимает текст, а возвращает html. Он может быть только последним звеном в цепочке трансформаций. Ну и поскольку emoji подменяет теги эмодзи на md-разметку, то он может быть только непосредственно до md.

Я бы оставил только (реально полезные!) функции emoji и md, и сделал бы react-компонент MessageBody, который показывает тела сообщений, используя эти функции.

Неприятно отвергать чей-то код, но -1.