|
@@ -10,7 +10,10 @@
|
|
|
switch/1]).
|
|
|
|
|
|
%%% Operation querying
|
|
|
--export([in_arity/1, out_arity/1, flatten_arity/1, can_connect/2]).
|
|
|
+-export([is_operation/1,
|
|
|
+ in_arity/1, out_arity/1,
|
|
|
+ flatten_arity/1,
|
|
|
+ can_connect/2]).
|
|
|
|
|
|
%%%-----------------------------------------------------------------------------
|
|
|
%%% Operation construction
|
|
@@ -75,6 +78,17 @@ switch(Map = [{_Tag1, Op1}|Rest]) ->
|
|
|
%%% Operation querying
|
|
|
%%%-----------------------------------------------------------------------------
|
|
|
|
|
|
+is_operation(#func{}) -> true;
|
|
|
+is_operation(#value{}) -> true;
|
|
|
+is_operation(#pipe{}) -> true;
|
|
|
+is_operation(#par{}) -> true;
|
|
|
+is_operation(#route{}) -> true;
|
|
|
+is_operation(#sync{}) -> true;
|
|
|
+is_operation(#split{}) -> true;
|
|
|
+is_operation(#merge{}) -> true;
|
|
|
+is_operation(#switch{}) -> true;
|
|
|
+is_operation(_) -> false.
|
|
|
+
|
|
|
in_arity(#func{in=In}) -> In;
|
|
|
in_arity(#value{}) -> 0;
|
|
|
in_arity(#pipe{in=In}) -> In;
|