@@ -86,24 +86,24 @@ public override void ToString(StringBuilder stringBuilder, bool addBrackets)
8686 }
8787 }
8888
89- internal class Function_BASE64TOTEXT : Function_N
89+ internal class Function_BASE64TOTEXT : Function_2
9090 {
91- public Function_BASE64TOTEXT ( FunctionBase [ ] funcs ) : base ( funcs )
91+ public Function_BASE64TOTEXT ( FunctionBase func1 , FunctionBase func2 ) : base ( func1 , func2 )
9292 {
9393 }
9494
9595 public override Operand Calculate ( AlgorithmEngine work )
9696 {
97- var args = new List < Operand > ( ) ; int index = 1 ;
98- foreach ( var item in funcs ) { var a = item . Calculate ( work ) . ToText ( "Function '{0}' parameter {1} is error!" , "Base64ToText" , index ++ ) ; if ( a . IsError ) { return a ; } args . Add ( a ) ; }
97+ var args1 = func1 . Calculate ( work ) ; if ( args1 . Type != OperandType . TEXT ) { args1 = args1 . ToText ( "Function '{0}' parameter {1} is error!" , "Base64ToText" , 1 ) ; if ( args1 . IsError ) return args1 ; }
9998 try {
10099 Encoding encoding ;
101- if ( args . Count == 1 ) {
100+ if ( func2 == null ) {
102101 encoding = Encoding . UTF8 ;
103102 } else {
104- encoding = Encoding . GetEncoding ( args [ 1 ] . TextValue ) ;
103+ var args2 = func2 . Calculate ( work ) ; if ( args2 . Type != OperandType . TEXT ) { args2 = args2 . ToText ( "Function '{0}' parameter {1} is error!" , "Base64ToText" , 2 ) ; if ( args2 . IsError ) return args2 ; }
104+ encoding = Encoding . GetEncoding ( args2 . TextValue ) ;
105105 }
106- var t = encoding . GetString ( Base64 . FromBase64String ( args [ 0 ] . TextValue ) ) ;
106+ var t = encoding . GetString ( Base64 . FromBase64String ( args1 . TextValue ) ) ;
107107 return Operand . Create ( t ) ;
108108 } catch ( Exception ) { }
109109 return Operand . Error ( "Function 'Base64ToText' is error!" ) ;
@@ -114,24 +114,24 @@ public override void ToString(StringBuilder stringBuilder, bool addBrackets)
114114 }
115115 }
116116
117- internal class Function_BASE64URLTOTEXT : Function_N
117+ internal class Function_BASE64URLTOTEXT : Function_2
118118 {
119- public Function_BASE64URLTOTEXT ( FunctionBase [ ] funcs ) : base ( funcs )
119+ public Function_BASE64URLTOTEXT ( FunctionBase func1 , FunctionBase func2 ) : base ( func1 , func2 )
120120 {
121121 }
122122
123123 public override Operand Calculate ( AlgorithmEngine work )
124124 {
125- var args = new List < Operand > ( ) ; int index = 1 ;
126- foreach ( var item in funcs ) { var a = item . Calculate ( work ) . ToText ( "Function '{0}' parameter {1} is error!" , "Base64urlToText" , index ++ ) ; if ( a . IsError ) { return a ; } args . Add ( a ) ; }
125+ var args1 = func1 . Calculate ( work ) ; if ( args1 . Type != OperandType . TEXT ) { args1 = args1 . ToText ( "Function '{0}' parameter {1} is error!" , "Base64urlToText" , 1 ) ; if ( args1 . IsError ) return args1 ; }
127126 try {
128127 Encoding encoding ;
129- if ( args . Count == 1 ) {
128+ if ( func2 == null ) {
130129 encoding = Encoding . UTF8 ;
131130 } else {
132- encoding = Encoding . GetEncoding ( args [ 1 ] . TextValue ) ;
131+ var args2 = func2 . Calculate ( work ) ; if ( args2 . Type != OperandType . TEXT ) { args2 = args2 . ToText ( "Function '{0}' parameter {1} is error!" , "Base64urlToText" , 2 ) ; if ( args2 . IsError ) return args2 ; }
132+ encoding = Encoding . GetEncoding ( args2 . TextValue ) ;
133133 }
134- var t = encoding . GetString ( Base64 . FromBase64ForUrlString ( args [ 0 ] . TextValue ) ) ;
134+ var t = encoding . GetString ( Base64 . FromBase64ForUrlString ( args1 . TextValue ) ) ;
135135 return Operand . Create ( t ) ;
136136 } catch ( Exception ) { }
137137 return Operand . Error ( "Function 'Base64urlToText' is error!" ) ;
@@ -142,28 +142,27 @@ public override void ToString(StringBuilder stringBuilder, bool addBrackets)
142142 }
143143 }
144144
145- internal class Function_TEXTTOBASE64 : Function_N
145+ internal class Function_TEXTTOBASE64 : Function_2
146146 {
147- public Function_TEXTTOBASE64 ( FunctionBase [ ] funcs ) : base ( funcs )
147+ public Function_TEXTTOBASE64 ( FunctionBase func1 , FunctionBase func2 ) : base ( func1 , func2 )
148148 {
149149 }
150150
151151 public override Operand Calculate ( AlgorithmEngine work )
152152 {
153- var args = new List < Operand > ( ) ; int index = 1 ;
154- foreach ( var item in funcs ) { var a = item . Calculate ( work ) . ToText ( "Function '{0}' parameter {1} is error!" , "TextToBase64" , index ++ ) ; if ( a . IsError ) { return a ; } args . Add ( a ) ; }
153+ var args1 = func1 . Calculate ( work ) ; if ( args1 . Type != OperandType . TEXT ) { args1 = args1 . ToText ( "Function '{0}' parameter {1} is error!" , "TextToBase64" , 1 ) ; if ( args1 . IsError ) return args1 ; }
155154 try {
156155 Encoding encoding ;
157- if ( args . Count == 1 ) {
156+ if ( func2 == null ) {
158157 encoding = Encoding . UTF8 ;
159158 } else {
160- encoding = Encoding . GetEncoding ( args [ 1 ] . TextValue ) ;
159+ var args2 = func2 . Calculate ( work ) ; if ( args2 . Type != OperandType . TEXT ) { args2 = args2 . ToText ( "Function '{0}' parameter {1} is error!" , "TextToBase64" , 2 ) ; if ( args2 . IsError ) return args2 ; }
160+ encoding = Encoding . GetEncoding ( args2 . TextValue ) ;
161161 }
162- var bytes = encoding . GetBytes ( args [ 0 ] . TextValue ) ;
162+ var bytes = encoding . GetBytes ( args1 . TextValue ) ;
163163 var t = Base64 . ToBase64String ( bytes ) ;
164164 return Operand . Create ( t ) ;
165- } catch ( Exception ) {
166- }
165+ } catch ( Exception ) { }
167166 return Operand . Error ( "Function 'TextToBase64' is error!" ) ;
168167 }
169168 public override void ToString ( StringBuilder stringBuilder , bool addBrackets )
@@ -172,28 +171,28 @@ public override void ToString(StringBuilder stringBuilder, bool addBrackets)
172171 }
173172 }
174173
175- internal class Function_TEXTTOBASE64URL : Function_N
174+ internal class Function_TEXTTOBASE64URL : Function_2
176175 {
177- public Function_TEXTTOBASE64URL ( FunctionBase [ ] funcs ) : base ( funcs )
176+ public Function_TEXTTOBASE64URL ( FunctionBase func1 , FunctionBase func2 ) : base ( func1 , func2 )
178177 {
179178 }
180179
181180 public override Operand Calculate ( AlgorithmEngine work )
182181 {
183- var args = new List < Operand > ( ) ; int index = 1 ;
184- foreach ( var item in funcs ) { var a = item . Calculate ( work ) . ToText ( "Function '{0}' parameter {1} is error!" , "TextToBase64url" , index ++ ) ; if ( a . IsError ) { return a ; } args . Add ( a ) ; }
182+ var args1 = func1 . Calculate ( work ) ; if ( args1 . Type != OperandType . TEXT ) { args1 = args1 . ToText ( "Function '{0}' parameter {1} is error!" , "TextToBase64" , 1 ) ; if ( args1 . IsError ) return args1 ; }
185183 try {
186184 Encoding encoding ;
187- if ( args . Count == 1 ) {
185+ if ( func2 == null ) {
188186 encoding = Encoding . UTF8 ;
189187 } else {
190- encoding = Encoding . GetEncoding ( args [ 1 ] . TextValue ) ;
188+ var args2 = func2 . Calculate ( work ) ; if ( args2 . Type != OperandType . TEXT ) { args2 = args2 . ToText ( "Function '{0}' parameter {1} is error!" , "TextToBase64" , 2 ) ; if ( args2 . IsError ) return args2 ; }
189+ encoding = Encoding . GetEncoding ( args2 . TextValue ) ;
191190 }
192- var bytes = encoding . GetBytes ( args [ 0 ] . TextValue ) ;
191+ var bytes = encoding . GetBytes ( args1 . TextValue ) ;
193192 var t = Base64 . ToBase64ForUrlString ( bytes ) ;
194193 return Operand . Create ( t ) ;
195194 } catch ( Exception ) { }
196- return Operand . Error ( "Function 'TextToBase64url ' is error!" ) ;
195+ return Operand . Error ( "Function 'TextToBase64 ' is error!" ) ;
197196 }
198197 public override void ToString ( StringBuilder stringBuilder , bool addBrackets )
199198 {
0 commit comments