33namespace RulerZ \Target \Native ;
44
55use RulerZ \Target \Operators \Definitions ;
6+ use RulerZ \Target \Operators \OperatorTools ;
67
78class NativeOperators
89{
@@ -13,37 +14,37 @@ public static function create(Definitions $customOperators)
1314 {
1415 $ defaultInlineOperators = [
1516 'and ' => function ($ a , $ b ) {
16- return sprintf ('(%s && %s ) ' , $ a , $ b );
17+ return sprintf ('(%s) ' , OperatorTools:: inlineMixedInstructions ([ $ a , $ b], ' && ' ) );
1718 },
1819 'or ' => function ($ a , $ b ) {
19- return sprintf ('(%s || %s ) ' , $ a , $ b );
20+ return sprintf ('(%s) ' , OperatorTools:: inlineMixedInstructions ([ $ a , $ b], ' || ' ) );
2021 },
2122 'not ' => function ($ a ) {
22- return sprintf ('!(%s) ' , $ a );
23+ return sprintf ('!(%s) ' , OperatorTools:: inlineMixedInstructions ([ $ a ]) );
2324 },
2425 '= ' => function ($ a , $ b ) {
25- return sprintf ( ' %s == %s ' , $ a , $ b );
26+ return OperatorTools:: inlineMixedInstructions ([ $ a , $ b], ' == ' );
2627 },
2728 'is ' => function ($ a , $ b ) {
28- return sprintf ( ' %s === %s ' , $ a , $ b );
29+ return OperatorTools:: inlineMixedInstructions ([ $ a , $ b], ' === ' );
2930 },
3031 '!= ' => function ($ a , $ b ) {
31- return sprintf ( ' %s != %s ' , $ a , $ b );
32+ return OperatorTools:: inlineMixedInstructions ([ $ a , $ b], ' != ' );
3233 },
3334 '> ' => function ($ a , $ b ) {
34- return sprintf ( ' %s > %s ' , $ a , $ b );
35+ return OperatorTools:: inlineMixedInstructions ([ $ a , $ b], ' > ' );
3536 },
3637 '>= ' => function ($ a , $ b ) {
37- return sprintf ( ' %s >= %s ' , $ a , $ b );
38+ return OperatorTools:: inlineMixedInstructions ([ $ a , $ b], ' >= ' );
3839 },
3940 '< ' => function ($ a , $ b ) {
40- return sprintf ( ' %s < %s ' , $ a , $ b );
41+ return OperatorTools:: inlineMixedInstructions ([ $ a , $ b], ' < ' );
4142 },
4243 '<= ' => function ($ a , $ b ) {
43- return sprintf ( ' %s <= %s ' , $ a , $ b );
44+ return OperatorTools:: inlineMixedInstructions ([ $ a , $ b], ' <= ' );
4445 },
4546 'in ' => function ($ a , $ b ) {
46- return sprintf ('in_array(%s, %s ) ' , $ a , $ b );
47+ return sprintf ('in_array(%s) ' , OperatorTools:: inlineMixedInstructions ([ $ a , $ b], ' , ' ) );
4748 },
4849 ];
4950
0 commit comments