1个不稳定版本

0.1.0 2023年8月11日

#11 in #minification

MIT许可协议

30KB
789

graphql-minify

这是从stripIgnoredCharactersGraphQL.js参考实现中的Rust重实现。它使用Logos进行词法分析。

所有相关测试都已从参考实现迁移到Rust实现并运行。

注意:它不测试GraphQL文档的有效性,其唯一目的是尽可能地将文档最小化。

⚡️ 使用WASM构建的演示

详细信息

删除对GraphQL文档的有效性或执行不重要的字符

  • UnicodeBOM
  • 空白字符
  • 行终止符
  • 注释
  • 逗号
  • 块字符串缩进

注意:在相邻的非标点符号标记之间需要一个分隔符字符,并且此函数始终使用单个空格作为分隔符。

保证输入和输出文档如果解析,会生成除节点位置之外完全相同的AST。

用法

use graphql_minify::minify;

fn main() {
  let minified = minify("query { user { id name } }");

  assert_eq!(minified.unwrap(), "query{user{id name}}");
}

依赖关系

~1.5MB