This is pretty cool, though not quite mature enough to be a viable solution for csl input schemas.
Basic idea is to merge machine-friendliness of JSON with the human-friendliness of YAML, which can be easily converted to and from either.
And also, provide a much simpler schema definition language than JSON schema.
#Conn: {
address: string
port: int
protocol: string
... // any field
}
lossy: #Conn & {
address: "1.2.3.4"
port: 8888
protocol: "udp"
foo: 2
}
Exported to YAML:
lossy:
address: 1.2.3.4
port: 8888
protocol: udp
foo: 2
Also, I tried converting our csl-citation.json
schema into cue, but it complained about not currently supporting “items.”
Still, this is worth keeping an eye on.