@@ -229,79 +229,76 @@ pub struct ParameterStorePy {
229229#[ gen_stub_pymethods]
230230#[ pymethods]
231231impl ParameterStorePy {
232- pub fn get_string ( & self , param_name : & str , fallback : String ) -> String {
232+ pub fn get_string ( & self , param_name : & str , fallback : String ) -> Option < String > {
233233 match self . inner_statsig . upgrade ( ) {
234- Some ( inner_statsig) => inner_statsig
235- . get_string_parameter_from_store (
236- & self . user ,
237- & self . name ,
238- param_name,
239- Some ( fallback. clone ( ) ) ,
240- Some ( self . options ) ,
241- )
242- . unwrap_or ( fallback) ,
234+ Some ( inner_statsig) => inner_statsig. get_string_parameter_from_store (
235+ & self . user ,
236+ & self . name ,
237+ param_name,
238+ Some ( fallback) ,
239+ Some ( self . options ) ,
240+ ) ,
243241 None => {
244242 log_e ! ( TAG , "Failed to upgrade Statsig instance" ) ;
245- fallback
243+ Some ( fallback)
246244 }
247245 }
248246 }
249247
250- pub fn get_float ( & self , param_name : & str , fallback : f64 ) -> f64 {
248+ pub fn get_float ( & self , param_name : & str , fallback : f64 ) -> Option < f64 > {
251249 match self . inner_statsig . upgrade ( ) {
252- Some ( inner_statsig) => inner_statsig
253- . get_float_parameter_from_store (
254- & self . user ,
255- & self . name ,
256- param_name,
257- Some ( fallback) ,
258- Some ( self . options ) ,
259- )
260- . unwrap_or ( fallback) ,
250+ Some ( inner_statsig) => inner_statsig. get_float_parameter_from_store (
251+ & self . user ,
252+ & self . name ,
253+ param_name,
254+ Some ( fallback) ,
255+ Some ( self . options ) ,
256+ ) ,
261257 None => {
262258 log_e ! ( TAG , "Failed to upgrade Statsig instance" ) ;
263- fallback
259+ Some ( fallback)
264260 }
265261 }
266262 }
267263
268- pub fn get_integer ( & self , param_name : & str , fallback : i64 ) -> i64 {
264+ pub fn get_integer ( & self , param_name : & str , fallback : i64 ) -> Option < i64 > {
269265 match self . inner_statsig . upgrade ( ) {
270- Some ( inner_statsig) => inner_statsig
271- . get_integer_parameter_from_store (
272- & self . user ,
273- & self . name ,
274- param_name,
275- Some ( fallback) ,
276- Some ( self . options ) ,
277- )
278- . unwrap_or ( fallback) ,
266+ Some ( inner_statsig) => inner_statsig. get_integer_parameter_from_store (
267+ & self . user ,
268+ & self . name ,
269+ param_name,
270+ Some ( fallback) ,
271+ Some ( self . options ) ,
272+ ) ,
279273 None => {
280274 log_e ! ( TAG , "Failed to upgrade Statsig instance" ) ;
281- fallback
275+ Some ( fallback)
282276 }
283277 }
284278 }
285279
286- pub fn get_bool ( & self , param_name : & str , fallback : bool ) -> bool {
280+ pub fn get_bool ( & self , param_name : & str , fallback : bool ) -> Option < bool > {
287281 match self . inner_statsig . upgrade ( ) {
288- Some ( inner_statsig) => inner_statsig
289- . get_boolean_parameter_from_store (
290- & self . user ,
291- & self . name ,
292- param_name,
293- Some ( fallback) ,
294- Some ( self . options ) ,
295- )
296- . unwrap_or ( fallback) ,
282+ Some ( inner_statsig) => inner_statsig. get_boolean_parameter_from_store (
283+ & self . user ,
284+ & self . name ,
285+ param_name,
286+ Some ( fallback) ,
287+ Some ( self . options ) ,
288+ ) ,
297289 None => {
298290 log_e ! ( TAG , "Failed to upgrade Statsig instance" ) ;
299- fallback
291+ Some ( fallback)
300292 }
301293 }
302294 }
303295
304- pub fn get_array ( & self , py : Python , param_name : & str , fallback : Bound < PyList > ) -> PyObject {
296+ pub fn get_array (
297+ & self ,
298+ py : Python ,
299+ param_name : & str ,
300+ fallback : Bound < PyList > ,
301+ ) -> Option < PyObject > {
305302 match self . inner_statsig . upgrade ( ) {
306303 Some ( inner_statsig) => {
307304 let result = inner_statsig. get_array_parameter_from_store (
@@ -313,21 +310,26 @@ impl ParameterStorePy {
313310 ) ;
314311 if let Some ( result) = result {
315312 match list_of_values_to_py_list ( py, & result) {
316- Ok ( list) => list,
317- Err ( _) => fallback. into ( ) ,
313+ Ok ( list) => Some ( list) ,
314+ Err ( _) => Some ( fallback. into ( ) ) ,
318315 }
319316 } else {
320- fallback. into ( )
317+ Some ( fallback. into ( ) )
321318 }
322319 }
323320 None => {
324321 log_e ! ( TAG , "Failed to upgrade Statsig instance" ) ;
325- fallback. into ( )
322+ Some ( fallback. into ( ) )
326323 }
327324 }
328325 }
329326
330- pub fn get_map ( & self , py : Python , param_name : & str , fallback : Bound < PyDict > ) -> PyObject {
327+ pub fn get_map (
328+ & self ,
329+ py : Python ,
330+ param_name : & str ,
331+ fallback : Bound < PyDict > ,
332+ ) -> Option < PyObject > {
331333 match self . inner_statsig . upgrade ( ) {
332334 Some ( inner_statsig) => {
333335 let result = inner_statsig. get_object_parameter_from_store (
@@ -338,14 +340,14 @@ impl ParameterStorePy {
338340 Some ( self . options ) ,
339341 ) ;
340342 if let Some ( result) = result {
341- map_to_py_dict ( py, & result)
343+ Some ( map_to_py_dict ( py, & result) )
342344 } else {
343- fallback. into ( )
345+ Some ( fallback. into ( ) )
344346 }
345347 }
346348 None => {
347349 log_e ! ( TAG , "Failed to upgrade Statsig instance" ) ;
348- fallback. into ( )
350+ Some ( fallback. into ( ) )
349351 }
350352 }
351353 }
0 commit comments