7个版本 (破坏性更改)
0.6.1 | 2024年5月9日 |
---|---|
0.6.0 | 2023年6月22日 |
0.5.0 | 2023年5月15日 |
0.4.0 | 2022年7月26日 |
0.1.0 | 2020年10月23日 |
在 数据库接口 中排名 630
每月下载量 472
在 7 个Crate 中使用
340KB
9K SLoC
EdgeDB Rust绑定:协议包
此包包含EdgeDB客户端的数据模型类型和内部协议实现。
许可证
许可协议为以下之一
- Apache License 2.0,(./LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (./LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
lib.rs
:
(网站参考) Edgedb-Rust的EdgeDB协议。
用于数据建模的EdgeDB类型可以在模型包中看到,其中Value枚举提供了使用客户端遇到的所有可能类型的快速概述。许多变体包含Rust标准库类型,而其他类型包含在此协议中定义的类型。一些类型,如Duration,看起来是标准库类型,但仅适用于EdgeDB协议。
此包的其余部分涉及EdgeDB协议的其他部分(例如,客户端+服务器消息格式),以及用于与客户端一起工作的各种特质,例如
- QueryArg:查询的单个参数
- QueryArgs:查询参数的元组
- Queryable:用于Queryable derive宏
- QueryResult:查询的单个结果(标量和元组)
Value枚举
pub enum Value {
Nothing,
Uuid(Uuid),
Str(String),
Bytes(Bytes),
Int16(i16),
Int32(i32),
Int64(i64),
Float32(f32),
Float64(f64),
BigInt(BigInt),
ConfigMemory(ConfigMemory),
Decimal(Decimal),
Bool(bool),
Datetime(Datetime),
LocalDatetime(LocalDatetime),
LocalDate(LocalDate),
LocalTime(LocalTime),
Duration(Duration),
RelativeDuration(RelativeDuration),
DateDuration(DateDuration),
Json(Json),
Set(Vec<Value>),
Object {
shape: ObjectShape,
fields: Vec<Option<Value>>,
},
SparseObject(SparseObject),
Tuple(Vec<Value>),
NamedTuple {
shape: NamedTupleShape,
fields: Vec<Value>,
},
Array(Vec<Value>),
Enum(EnumValue),
Range(Range<Box<Value>>),
}
依赖关系
~0.9–2MB
~41K SLoC