pub type Picoschema = Value;Expand description
Picoschema type.
Picoschema is the lightweight schema format from Dotprompt. In Intentry it is represented as raw JSON (parsed from YAML) to keep the parser simple and to remain forward-compatible as the schema language evolves.
Common examples:
schema:
name: string # required string field
age?: number # optional number field
tags: string[] # array of stringsAliased Type§
pub enum Picoschema {
Null,
Bool(bool),
Number(Number),
String(String),
Array(Vec<Value>),
Object(Map<String, Value>),
}Variants§
Null
Represents a JSON null value.
let v = json!(null);Bool(bool)
Represents a JSON boolean.
let v = json!(true);Number(Number)
Represents a JSON number, whether integer or floating point.
let v = json!(12.5);String(String)
Represents a JSON string.
let v = json!("a string");Array(Vec<Value>)
Represents a JSON array.
let v = json!(["an", "array"]);Object(Map<String, Value>)
Represents a JSON object.
By default the map is backed by a BTreeMap. Enable the preserve_order
feature of serde_json to use IndexMap instead, which preserves
entries in the order they are inserted into the map. In particular, this
allows JSON data to be deserialized into a Value and serialized to a
string while retaining the order of map keys in the input.
let v = json!({ "an": "object" });