#实体 #生成 #OData #定义 #客户端 #强类型 #模型

odata_client_codegen

强类型OData客户端代码生成

1 个不稳定版本

0.1.0 2021年1月24日

#2011 in 过程宏


用于 2 软件包

Apache-2.0

295KB
7K SLoC

OData架构

将OData架构解析为Rust类型,旨在支持Dynamics 365 OData操作。

路线图

https://en.wikipedia.org/wiki/Open_Data_Protocol#Architecture

  • 反序列化 $metadata 文档
  • 构建一致的实体模型
    • 引用/包含
    • 注解/注解组(注解目前尚未为“完成”项构建)
    • 类型
    • 操作
    • 函数
    • 术语
    • 实体容器
      • 实体集
      • 操作导入
      • 函数导入
      • 单例
      • 扩展
    • 处理元数据不一致的定制/处理
      • 用户指定处理有资格的名称/目标路径解析错误
  • 代码生成
    • 类型定义
    • 实体容器定义
    • 实体集定义
    • 操作
    • 函数
    • 生成的类型黑名单/白名单(带有存根依赖项)
  • 客户端功能
    • 检索
    • 过滤/查询
    • 创建/更新/删除
    • 调用操作和函数
    • ETag支持
    • 检索/设置开放类型
    • 批量请求
  • 消耗软件包绑定
    • 过程宏
    • 过程宏属性
    • build.rs 代码生成
  • 假设/试运行

lib.rs:

生成表示OData端点实体数据模型项的Rust源代码模块的功能。此生成可以通过来自 odata_client_derive 软件包的过程宏执行,或作为 build.rs 操作执行,使用 write_module_build_artifactgenerate_module 函数。

依赖项

~9–20MB
~283K SLoC