Anonymous
Vlad
Там явно нужно проверять на статус коды и самому парсить бади
Vlad
Не троллинг
Vlad
Просто fetch стандарт
Vlad
https://annevankesteren.nl/2016/07/fetch-101
Smooth Operator
Smooth Operator
console.log не парсит json
Vladimir
fetch в ноде это так себе
Vlad
Anonymous
Anonymous
Vladimir
Слишком ограниченное API
Vladimir
Ни отмены, ни стриминга
Anonymous
https://medium.com/@shahata/why-i-wont-be-using-fetch-api-in-my-apps-6900e6c6fe78#.l6yfsnz1g
Anonymous
Вот статейка о фетче
Anonymous
Вроде аргументы там годные
AlexMist
Привет, может кто поскажет. Как лучше сделать фильтры с условиями через REST api ? Фильты вида price>100 and price < 1000 ?
AlexMist
Может есть библиотеки, желательно универсальные )
Smooth Operator
console.log
https://console.spec.whatwg.org/#logger
Anonymous
Anonymous
То мне выдает в консоль вот это
Smooth Operator
Anonymous
Yuriy
Тогда в чем вопрос? Ты подаешь на вход console.log строку с переводом строк, и удивляешься, что вывод форматированный? :) Про парсинг уже выше написали — console.log JSON не парсит.
Anonymous
Даже если я зашкварился, меня это не особо волнует
Yuriy
Ох. Пожалуйста, всё-таки почитай спеки, что скинули выше.
Denis
Друзья, мы понимаем, что иногда хочется пошутить/потроллить/похоливарить, да и просто расслабиться. Здесь этого делать не стоит из уважения ко всем участникам группы и начиная с этого момента весь оффтоп и флуд 👻 давайте выности сюда:
+ https://t.me/js_flood
Vlad
Vlad
Vladimir
Vladimir
Anonymous
Т.е. я принял чистый json за объект. Ну, это моя ошибка. Я уже понял, что проверять через console.log нельзя
Dmitry
ребят, как написать регулярку для поиска символов кроме \n ?
Rendol
/[^\n]+/ ?
Dmitry
черт, а ведь точно :D
Dmitry
спасибо)
Dmitry
я уж было собрался писать ((\S|[^\n])+)
Rendol
Зачем обратными слэшами обрамление регулярки?
A
Привет, может кто поскажет. Как лучше сделать фильтры с условиями через REST api ? Фильты вида price>100 and price < 1000 ?
У нас свой велосипед. Хороший, едет. По мотивам strongloop query language.
Показать реализацию не могу, но можешь глянуть на то, как это реализовано в strongloop.
Тут, понимаешь, самый главные вопрос не в том, как передать, а в том, как это в конечном итоге ты преобразуешь в запрос базы данных.
В лоб проще всего работать с query by example, когда ты передаешь набор полей, и условий на них. Парсер для такого в любой язык запросов с валидацией и вырезкой всего лишнего пишется за пару вечеров.
Всё чуть сложнее становится в тот момент, когда тебе нужны логические операторы and/or. Тут ты уже в целом попадаешь на написание полноценного парсера своего языка запросов со всеми вытекающими.
A
Ни отмены, ни стриминга
Плюсую. Фетч выглядит огрызком. Этого всего в нем действительно не хватает. Да, как и в стандартных промисах cancellation-a
AlexMist
У нас свой велосипед. Хороший, едет. По мотивам strongloop query language.
Показать реализацию не могу, но можешь глянуть на то, как это реализовано в strongloop.
Тут, понимаешь, самый главные вопрос не в том, как передать, а в том, как это в конечном итоге ты преобразуешь в запрос базы данных.
В лоб проще всего работать с query by example, когда ты передаешь набор полей, и условий на них. Парсер для такого в любой язык запросов с валидацией и вырезкой всего лишнего пишется за пару вечеров.
Всё чуть сложнее становится в тот момент, когда тебе нужны логические операторы and/or. Тут ты уже в целом попадаешь на написание полноценного парсера своего языка запросов со всеми вытекающими.
Спасибо! А то я уже думал, что гуглить разучился.
Вменяемого ничего не нашёл.
A
А бд какая?
AlexMist
https://parseplatform.github.io/docs/rest/guide/#query-constraints
AlexMist
Parse так реализовали
AlexMist
JSON string похоже
AlexMist
БД Mongo но это не приципиально, набор операторов пока минимальный.
A
я про базу спросил не просто так)
На монгу все это ложится очень просто и прямо))
A
А вот на реляционку - уже не так просто и прямо.
AlexMist
Я просто думал какой формат урл существует или рекомендации. Но их нигде НЕТ ! Реально
AlexMist
Всякие лучшие практи пресмотрел, везде строной обходят
A
Мне кажется тут у каждого свой велосипед. У FB самый необычный велосипед - graphql ))
A
Опять же надо понимать, что то, о чем ты спрашиваешь долгое время считалось практически антипаттерном. И, на самом деле, весьма НЕ безосновательно.
AlexMist
хм , а как же тогда в web app фильтовать по 5 полям например ?
AlexMist
В ODATA там это в стандарте прописано например
A
Ну вообще идея такая, что очень затруднительно сделать так, чтобы "произвольный" пользовательский запрос отрабатывал быстро. Предполагается, что данных у тебя много, и обычно ты знаешь, какие запросы выполняешь, по этому поводу вешаешь, обычно, индексы. А тут произвольные запросы от пользователя - придётся обвесить свою БД индексами как ёлку)
AlexMist
=))
A
Но это всё было давно и, хоть и имеет смысл, но лично я не знаю, как строить софт так, чтобы фронтенд не хотел фильтровать по некоторому, хоть и ограниченному, но все же не малому подмножеству полей
AlexMist
Вот вот. Я например знаю, что мне нужно по 3-5 поялм фильтровать с условиями (цена, количество, дата ).
И в своём ресурсе прописываю разрешённые поля для такой фильтрации, остальные запрет. А так полчится много лишнего кода на кажды endpoint =(
AlexMist
В Django например из коробки такой функционал.
A
Ну если у тебя база - монга, то самый прямой путь - это пихать в запрос прям монговский запрос, а на стороне сервера вытирать всё, кроме разрешенный полей.
Если у тебя не будет $or и $and, то это очень прямая задача прогона в цикле оператора delete ))
A
Ну, в ноде джангу похоже не построят))))
A
Точнее попытки-то есть. Но я бы очень сильно не рекомендовал всем этим пользоваться. По крайней мере у меня есть ярко-негативный опыт с искоробочными фулл-стек (или как их правильно назвать) веб-фреймворками в ноде.
AlexMist
Согласен. Я к тому, что даже нет популярного модуля.
Вот что нашёл например
https://github.com/Turistforeningen/node-mongo-querystring
A
Ага, я на него смотрел год назад - тогда всё там было плохо.
Но сейчас вроде как получше выглядит, да
Алексей
Михаил Макарычев
Алексей
последний коммит 22 дня назад
Алексей
я его использую для своего бота, который ещё не дописан
A
Складывается ощущение, что одна половина чата пишет ботов для телеграмм, а вторая для вк )
Завтра
Завтра
Тоже что ли написать