prism3_function/transformers/
mod.rs

1/*******************************************************************************
2 *
3 *    Copyright (c) 2025.
4 *    3-Prism Co. Ltd.
5 *
6 *    All rights reserved.
7 *
8 ******************************************************************************/
9//! # Transformers Module
10//!
11//! This module provides transformer-related functional programming
12//! abstractions for converting values from one type to another, including
13//! single-parameter transformers, bi-transformers, and their stateful
14//! variants.
15//!
16//! # Author
17//!
18//! Haixing Hu
19
20pub mod bi_transformer;
21pub mod bi_transformer_once;
22pub mod macros;
23pub mod stateful_bi_transformer;
24pub mod stateful_transformer;
25pub mod transformer;
26pub mod transformer_once;
27
28pub use bi_transformer::{
29    ArcBiTransformer,
30    ArcBinaryOperator,
31    BiTransformer,
32    BinaryOperator,
33    BoxBiTransformer,
34    BoxBinaryOperator,
35    FnBiTransformerOps,
36    RcBiTransformer,
37    RcBinaryOperator,
38};
39pub use bi_transformer_once::{
40    BiTransformerOnce,
41    BinaryOperatorOnce,
42    BoxBiTransformerOnce,
43    BoxBinaryOperatorOnce,
44    FnBiTransformerOnceOps,
45};
46pub use stateful_bi_transformer::{
47    ArcConditionalStatefulBiTransformer,
48    ArcStatefulBiTransformer,
49    BoxConditionalStatefulBiTransformer,
50    BoxStatefulBiTransformer,
51    FnStatefulBiTransformerOps,
52    RcConditionalStatefulBiTransformer,
53    RcStatefulBiTransformer,
54    StatefulBiTransformer,
55};
56pub use stateful_transformer::{
57    ArcConditionalStatefulTransformer,
58    ArcStatefulTransformer,
59    BoxConditionalStatefulTransformer,
60    BoxStatefulTransformer,
61    FnStatefulTransformerOps,
62    RcConditionalStatefulTransformer,
63    RcStatefulTransformer,
64    StatefulTransformer,
65};
66pub use transformer::{
67    ArcConditionalTransformer,
68    ArcTransformer,
69    ArcUnaryOperator,
70    BoxConditionalTransformer,
71    BoxTransformer,
72    BoxUnaryOperator,
73    FnTransformerOps,
74    RcConditionalTransformer,
75    RcTransformer,
76    RcUnaryOperator,
77    Transformer,
78    UnaryOperator,
79};
80pub use transformer_once::{
81    BoxConditionalTransformerOnce,
82    BoxTransformerOnce,
83    BoxUnaryOperatorOnce,
84    FnTransformerOnceOps,
85    TransformerOnce,
86    UnaryOperatorOnce,
87};