1#![no_std]
4#![deny(unsafe_code)]
5
6#[doc(hidden)]
7pub use protoflow_core::prelude;
8
9mod block_config;
10pub use block_config::*;
11
12mod block_connections;
13pub use block_connections::*;
14
15mod block_instantiation;
16pub use block_instantiation::*;
17
18mod block_tag;
19pub use block_tag::*;
20
21#[cfg(feature = "std")]
22mod stdio;
23#[cfg(feature = "std")]
24pub use stdio::*;
25
26mod system;
27pub use system::*;
28
29pub mod types;
30pub use types::*;
31
32pub use protoflow_core::{SystemBuilding, SystemExecution};
33
34include!("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:
43 CoreBlocks + FlowBlocks + HashBlocks + IoBlocks + MathBlocks + SysBlocks + TextBlocks
44{
45}
46
47#[cfg(feature = "std")]
48#[doc(hidden)]
49pub fn build_stdio_system(
50 system_name: prelude::String,
51 config: StdioConfig,
52) -> Result<System, StdioError> {
53 use prelude::String;
54 Ok(match system_name.as_ref() {
55 "Buffer" => Buffer::<String>::build_system(config)?,
57 "Const" => Const::<String>::build_system(config)?,
58 "Count" => Count::<String>::build_system(config)?,
59 "Delay" => Delay::<String>::build_system(config)?,
60 "Drop" => Drop::<String>::build_system(config)?,
61 "Random" => Random::<u64>::build_system(config)?,
62 #[cfg(feature = "hash")]
65 "Hash" => Hash::build_system(config)?,
66 "Decode" => Decode::build_system(config)?,
68 "DecodeJSON" => DecodeJson::build_system(config)?,
69 "Encode" => Encode::build_system(config)?,
70 "EncodeHex" => EncodeHex::build_system(config)?,
71 "EncodeJSON" => EncodeJson::build_system(config)?,
72 "ReadDir" => ReadDir::build_system(config)?,
75 "ReadEnv" => ReadEnv::<String>::build_system(config)?,
76 "ReadFile" => ReadFile::build_system(config)?,
77 "ReadStdin" => ReadStdin::build_system(config)?,
78 "WriteFile" => WriteFile::build_system(config)?,
79 "WriteStderr" => WriteStderr::build_system(config)?,
80 "WriteStdout" => WriteStdout::build_system(config)?,
81 _ => return Err(StdioError::UnknownSystem(system_name))?,
83 })
84}