Expand description
Shared type metadata for the prosaic template engine.
Owns ValueType, the PIPE_SPECS registry, and const-eval helpers used
by both prosaic-core (at runtime) and prosaic-derive (at macro
expansion time). This crate is no_std and has no dependencies so it
can be included anywhere the other two crates run.
Structs§
- Pipe
Spec - The type contract of a named pipe: the
ValueTypeof its input value and theValueTypeof its output.
Enums§
- Value
Type - A linguistic type that a template slot or pipe can carry.
Constants§
- PIPE_
SPECS - The complete set of pipes recognised by the Prosaic engine.
Functions§
- pipe_
spec - Look up a pipe by name.
const fnso it is usable insideconst _: () = { ... }assertion blocks emitted by theprosaic_template!macro. - schema_
lookup - Look up a slot’s declared
ValueTypein aHasProsaicSchema-style schema slice.const fnso it is usable inside compile-time assertion blocks emitted by theprosaic_template!macro. - types_
compatible - Returns
truewhen a value of typeactualcan satisfy a slot or pipe that expects typeexpected.ValueType::Anyis compatible with every concrete type in either direction; concrete types are compatible only with themselves.