Ilya
Призываю Golang-бояр
Vladimir
Ты начинай, бояре придут
Ilya
окей
Ilya
короче, есть у меня такой вот JSONчик
{
"paymentFields": [
{
"id": "test",
"name": "name",
"fieldType": "Text",
"value": "7348567384657834"
}, {
"id": "date",
"name": "date",
"fieldType": "Time",
"value": {
"milliseconds": 1411416000000
}
}, {
"id": "test2",
"name": "test2",
"fieldType": "Text",
"value": "18810015140000024684"
}
]
}
Отсюда видно, что поле value может быть строкой или объектом, так вот, чтобы его распарсить в Golang, как мне построить структуру, в которой поле могло бы принимать либо строку, либо другую структуру?
Anonymous
о, ребят. А GoLang(еров) нет кто хочет поковырятся в чужом коде и поправить несколько моментов за денежку конечно. Если есть, ко в лс
Sergey
отличное предложение в чате ноджс
Vladimir
Можно в map распарсить
Vladimir
Или мб просто value как interface{} объявить
Ilya
Ilya
оно автоматически тип подгонит?
Ilya
так что норм предложение
Ilya
ладно, буду эксперементировать
Vladimir
> @Perkovec
оно автоматически тип подгонит?
думаю map будет там где объекты
Vladimir
его можно потом руками на структуру заменить
Vladimir
видел где то мэппер универсальный
Ilya
Anonymous
А тем временем вышла седьмая версия Node.js, несущая радости async/await без транспиляции.... Подробнее: https://vk.com/wall-97408246_17102
Anonymous
Paul
Она не несёт радости async/await
Мир js вчера познал силу желтых заголовков по полной
Paul
Сюда всему чату смотреть:
https://github.com/nodejs/promises/issues/4#issuecomment-254159118
Nikita
а стандартную либу с интерфейсами в промисах не собираются сделать все еще?
Vlad
Vlad
ты про ядро?
Vlad
там всё плохо с промисами в ядре
Nikita
fs, например
Vlad
ага
Vlad
ядро
Vlad
всё плохо
Nikita
не понятно, что мешает добавить методы с суффиксом Async
Vlad
неа
Nikita
ровно как делает bluebird
Vlad
как раз из-за блюбёрда и не могут
Nikita
лол, типо BC поломают?)
Vlad
типа проекты на bluebird сломают
Nikita
bluebird я думаю не обломается мажорную версию бампнуть и поставить ограничение на версию ноды
Nikita
а bluebird не перезаписывает методы?
Vlad
Nikita
никто не мешает объявить их все deprecated
Nikita
это стандартный процесс, а тянуть BC на столько - это то, что всех и всегда бесит
Vlad
что такое BC?
Nikita
backwards compatibility
Nikita
те, кто сейчас тут же перейдут на 7 ноду на столько хипстеры, что убрать bluebird где не надо и добавить где надо - прям не очень сложно.
А кому сложно - сидит на LTS
Vlad
не-не
Vlad
ты перейдёшь
Vlad
свои либы переведешь
Vlad
обновишься на 7.5 с асинками
Vlad
а часть либ не обновили у себя блубёрд
Vlad
и у тебя всё взорвалось
Vlad
примерно так
Vlad
и даже этот кейс сложнее
Vlad
остальные тоже
Vlad
изначальный ПР заглох
Vlad
инициатива тоже
Vlad
Vlad
Vlad
https://github.com/nodejs/node/pull/5020
Vlad
там в соседнем треде @vkurchatkin предлагает идеи https://github.com/nodejs/NG/issues/4
Nikita
о, там импорты... вообще с введением импортов можно было бы впринципе поломать это)
Nikita
то есть хочешь импортировать - используй версию с промисами
Vlad
ещё постмортем тоже заноза с промисами
https://github.com/nodejs/post-mortem/issues/16
Andrey
А что делает bluebird с fs? А то тоже удивляло, зачем самому писать враперы для промиссов
Nikita
мм, вроде ничего. просто оборачивает
Nikita
причем петька не рекомендует это делать втупую, return new Promise..., типо не эффективно, на солько я помню
Nikita
кароч многабукф, мельком пробежался, опять понятно, что хрен кто договорится)
Andrey
Нашел, у него есть метод bluebird.promisifyAll
Nikita
меня не обламывало никогда использовать bluebird и оборачивать ручками, но хочется чтобы и стандартные средства развивались)
Nikita
Vlad
в общем пост-мортем и соглашение и чтобы коллбек людям было точно также, и чтобы промисы были 1st class citizens
Nikita
а что про варик сказали, как некоторые либы делают, когда последний аргумент не передешь - вернуть промис?
Nikita
mongo и nodegit так вроде делают
Nikita
монго точно
Vlad
тоже не работает
Vlad
некоторые методы просто работают дальше без коллбека
Vlad
кто-то возвращает значение работая синхронно
Nikita
в стандартной либе?
Vlad
в ядре да
Vlad
с доменами вообще провал
Vlad
со стримами тоже кажется не всё так просто
Vlad
вобщем "всё сложно"