Crate expry

source · []

Re-exports

pub use crate::raw_utils::EncodingError;
pub use crate::memorypool::*;
pub use crate::raw_utils::*;
pub use crate::termcolors::*;
pub use crate::parser::*;
pub use crate::stringparser::*;

Modules

Macros

Construct a expry::DecodedValue from a JSON-like literal.

Structs

Reference to expry expression bytecode.

Self-contained expry expression bytecode.

An provided implementation of the custom function handler, that directly throws an error when invoked.

Reference to a expry value.

Self-contained expry value (in encoded form).

Enums

The central data type of Binary. It is modelled similar to JSON, however, contains a couple of noteworthy differences.

Described the different types of value expry supports.

Traits

Trait that can be used to pass a custom user-provided function handler to expry eval functions.

Functions

Compiles an expression to bytecode that can quickly be evaluated using expry_eval and expry_slice.

Formats errors from compilation with a nice layout and underlines on the source lines, so that users can easily understand what to do. Returns the line number of the main error, and a string that can be displayed to the user.

Evaluate expression bytecode in the context of the given value, resulting in a decoded object.

Evaluate expression bytecode in the context of the given value, resulting in a decoded object. This version supports custom user defined functions.

create a binary object from individual fields

Creates an object with a single key-value pair inside. Expects value to be binary encoded.

Evaluate expression bytecode in the context of the given value, resulting in an encoded object.

Evaluate expression bytecode in the context of the given value, resulting in an encoded object. This version supports custom user defined functions.

Returns empty key.

Calculates the key as used in this crate from a str. There is also a [u8] version.

Calculates the key as used in this crate from an u8 slice. There is also a str version.

Merges two objects. Left hand side take preference (so the left hand side value of keys occuring in both is taken). Always producing a compact object

Type Definitions

the text for Binary keys (in key-values).

keys in Binary uses a simple 8-bit hash to speed up look ups.