//! sugar 模块的 prelude — 一行 `use` 引入全部语法糖
//!
//! ```no_run
//! use darra_ethercat::sugar::prelude::*;
//! ```

// 索引语法
pub use super::index::{Indexable, MasterIndexExt};

// 类型转换 (impl 自动可见, 无需 use 也能用; 列出方便文档)
// 这些 trait 实现是无名的, 编译器自动可见, 此处不重复 re-export.

// Display 实现亦同, 自动可见.

// 状态/紧急流 (channel)
pub use super::state_stream::{
    MasterStateStream, EmergencyStream, MasterStreamExt,
    SlaveStateChangeEvent, EmergencyEvent,
};

// 迭代器扩展
pub use super::iter_ext::{
    SlaveIterExt, ByState, ByGroup, ByVendor, FilterSlave, WithDc,
};

// 错误传播
pub use super::try_slave::{MasterTrySlaveExt, MasterStateTryExt};

// 异步流 (仅 tokio feature)
#[cfg(feature = "async-tokio")]
pub use super::async_stream::{
    MasterStateStreamAsync, EmergencyStreamAsync, MasterStreamAsyncExt,
};
