#edge-db #database-client #protocols #low-level #model #applications #type

edgedb-protocol

EdgeDB数据库客户端的低级协议实现。请使用edgedb-tokio应用于应用程序

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

Download history 53/week @ 2024-04-15 61/week @ 2024-04-22 114/week @ 2024-04-29 202/week @ 2024-05-06 61/week @ 2024-05-13 128/week @ 2024-05-20 127/week @ 2024-05-27 116/week @ 2024-06-03 256/week @ 2024-06-10 150/week @ 2024-06-17 106/week @ 2024-06-24 191/week @ 2024-07-01 102/week @ 2024-07-08 155/week @ 2024-07-15 111/week @ 2024-07-22 85/week @ 2024-07-29

每月下载量 472
7 个Crate 中使用

MIT/Apache

340KB
9K SLoC

EdgeDB Rust绑定:协议包

此包包含EdgeDB客户端的数据模型类型和内部协议实现。

许可证

许可协议为以下之一

任选其一。


lib.rs:

(网站参考) Edgedb-Rust的EdgeDB协议。

用于数据建模的EdgeDB类型可以在模型包中看到,其中Value枚举提供了使用客户端遇到的所有可能类型的快速概述。许多变体包含Rust标准库类型,而其他类型包含在此协议中定义的类型。一些类型,如Duration,看起来是标准库类型,但仅适用于EdgeDB协议。

此包的其余部分涉及EdgeDB协议的其他部分(例如,客户端+服务器消息格式),以及用于与客户端一起工作的各种特质,例如

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