Итак, DumbQL — это простой язык запросов (или, точнее, фильтрации), созданный под влиянием KQL (языка запросов в эластике) и синтаксиса поиска на гитхабе.
Ключевые особенности
- Выражения с полями:
age >= 18, field.name:"field value", etc.- Логические выражения:
age >= 18 and city = Barcelona, occupation = designer or occupation = "ux analyst"- One-of-выражения:
occupation = [designer, "ux analyst"]
- Выражения с булевыми типами, в том числе с сокращенными синтаксисом: is_active:true, verified and premium- Валидация по схеме
- Интеграция со squirrel из коробки
- Матчинг структур: через рефлексию (медленно, но работает сразу) или кодогенерацию (уже побыстрее)
Буду рад, если поставите звезду на гитхабе. А ещё лучше, если сможете попользоваться и/или заглянуть в ишуи!
Также я опубликовал короткую заметку, где проект раскрыт чуть подробнее с примерами.
---
*Идея показать процесс создания целого языка программирования, хоть и маленького и очень простого оказалась слишком амбициозной. Да и ролик бы тогда длился бог знает сколько. Поэтому решил взяться за язык попроще. Но большинство концепций и подходов, освещаемых в ролике остались прежними.