@@ -9,13 +9,6 @@ use std::{collections::HashMap, sync::Arc};
99use base64ct:: { Base64 , Base64Unpadded , Base64Url , Base64UrlUnpadded , Encoding } ;
1010use minijinja:: { Environment , Error , ErrorKind , Value } ;
1111
12- fn split ( value : & str , separator : Option < & str > ) -> Vec < String > {
13- value
14- . split ( separator. unwrap_or ( " " ) )
15- . map ( ToOwned :: to_owned)
16- . collect :: < Vec < _ > > ( )
17- }
18-
1912fn b64decode ( value : & str ) -> Result < Value , Error > {
2013 // We're not too concerned about the performance of this filter, so we'll just
2114 // try all the base64 variants when decoding
@@ -78,12 +71,15 @@ fn string(value: &Value) -> String {
7871pub fn environment ( ) -> Environment < ' static > {
7972 let mut env = Environment :: new ( ) ;
8073
81- env. add_filter ( "split" , split) ;
74+ minijinja_contrib:: add_to_environment ( & mut env) ;
75+
8276 env. add_filter ( "b64decode" , b64decode) ;
8377 env. add_filter ( "b64encode" , b64encode) ;
8478 env. add_filter ( "tlvdecode" , tlvdecode) ;
8579 env. add_filter ( "string" , string) ;
8680
81+ env. set_unknown_method_callback ( minijinja_contrib:: pycompat:: unknown_method_callback) ;
82+
8783 env
8884}
8985
0 commit comments