Skip to main content

Picoschema

Type Alias Picoschema 

Source
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 strings

Aliased 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" });