#![no_std]
#![deny(unsafe_code)]
#[doc(hidden)]
pub use protoflow_core::prelude;
mod block_config;
pub use block_config::*;
mod block_connections;
pub use block_connections::*;
mod block_instantiation;
pub use block_instantiation::*;
mod block_tag;
pub use block_tag::*;
#[cfg(feature = "std")]
mod stdio;
#[cfg(feature = "std")]
pub use stdio::*;
mod system;
pub use system::*;
pub mod types;
pub use types::*;
pub use protoflow_core::{SystemBuilding, SystemExecution};
include!("blocks/core.rs"); include!("blocks/flow.rs"); include!("blocks/hash.rs"); include!("blocks/io.rs"); include!("blocks/math.rs"); include!("blocks/sys.rs"); include!("blocks/text.rs"); pub trait AllBlocks:
CoreBlocks + FlowBlocks + HashBlocks + IoBlocks + MathBlocks + SysBlocks + TextBlocks
{
}
#[cfg(feature = "std")]
#[doc(hidden)]
pub fn build_stdio_system(
system_name: prelude::String,
config: StdioConfig,
) -> Result<System, StdioError> {
use prelude::String;
Ok(match system_name.as_ref() {
"Buffer" => Buffer::<String>::build_system(config)?,
"Const" => Const::<String>::build_system(config)?,
"Count" => Count::<String>::build_system(config)?,
"Delay" => Delay::<String>::build_system(config)?,
"Drop" => Drop::<String>::build_system(config)?,
"Random" => Random::<u64>::build_system(config)?,
#[cfg(feature = "hash")]
"Hash" => Hash::build_system(config)?,
"Decode" => Decode::build_system(config)?,
"Encode" => Encode::build_system(config)?,
"EncodeHex" => EncodeHex::build_system(config)?,
"ReadDir" => ReadDir::build_system(config)?,
"ReadEnv" => ReadEnv::<String>::build_system(config)?,
"ReadFile" => ReadFile::build_system(config)?,
"ReadStdin" => ReadStdin::build_system(config)?,
"WriteFile" => WriteFile::build_system(config)?,
"WriteStderr" => WriteStderr::build_system(config)?,
"WriteStdout" => WriteStdout::build_system(config)?,
_ => return Err(StdioError::UnknownSystem(system_name))?,
})
}