1 个不稳定版本

0.1.0 2022年10月23日

#2374 in 数据库接口

MIT/ApacheGPL-3.0-only

120KB
3.5K SLoC

定义语言

定义语言是一个用于捕获信息结构的语言。有点像“JSON/XML模式”但更加强大。下面是一个示例。有关定义语言本身的更多信息,请参阅www.finitio.io

@import finitio/data

Uuid = String( s | s =~ /^[a-z0-9-]{36}$/ )
Name = String( s | s.length > 0 )
Temp = <celsius> Real( f | f >= 33.0 && f <= 45.0 )
{
  patient : {
    id   : Uuid
    name : Name
    dob  : Date( d | alive: d.year > 1890 )
  }
  symptoms : [ String( s | s.size > 0 ) ]
  temperature : Temp
}

定义语言-rs 是一个用 Rust 编写的解析器和验证器。

依赖项

~3–4.5MB
~86K SLoC