#parser #pest #operator #query #comparison #fiql #fiql-rsql

rsql

用 Rust 和 Pest 编写的 FIQL/RSQL 解析器

5 个版本

0.4.3 2019年11月28日
0.4.2 2019年11月28日
0.4.1 2019年11月28日
0.4.0 2019年11月27日
0.3.0 2019年11月22日

#68#pest

MIT 许可证

31KB
688 行代码(不含注释)

rsql-rs

包名已更改为 rsql,请知悉

Build Status crates.io

用 Rust 和 Pest 编写的简单 RSQL/FIQL 解析器

特性

  • 将 FIQL/RSQL 查询解码为 AST
  • 基本的解析测试
  • 将 AST 编码为 FIQL/RSQL 查询
  • 更好的错误系统
  • 注册自己的 Comparison

关于 RSQL/FIQL

RSQL 是一种用于 REST API 的查询语言。它基于 FIQL(Feed Item Query Language,订阅项查询语言)——一种在 Atom Feed 中条目上表达过滤器的 URI 友好语法。FIQL 适用于 URI 使用。没有不安全的字符,因此不需要 URL 编码。另一方面,FIQL 的语法不是很直观,URL 编码也不一定是坏事,因此 RSQL 还提供了更友好的逻辑运算符和部分比较运算符的语法。

依赖项

~6–16MB
~194K SLoC