@@ -37,18 +37,23 @@ export function getNormalizedBindingData(request: RpcInvocationRequest): Context
3737export  function  convertKeysToCamelCase ( obj : any )  { 
3838    const  output  =  { } ; 
3939    for  ( const  key  in  obj )  { 
40-         // Only "undefined" will be replaced with original object property. For example: 
41-         //{ string : "0" } -> 0 
42-         //{ string : "false" } -> false 
43-         //"test" -> "test" (undefined returned from fromTypedData) 
44-         const  valueFromDataType  =  fromTypedData ( obj [ key ] ) ; 
45-         const  value  =  valueFromDataType  ===  undefined  ? obj [ key ]  : valueFromDataType ; 
4640        const  camelCasedKey  =  key . charAt ( 0 ) . toLocaleLowerCase ( )  +  key . slice ( 1 ) ; 
47-         // If the value is a JSON object (and not array and not http, which is already cased), convert keys to camel case 
48-         if  ( ! Array . isArray ( value )  &&  typeof  value  ===  'object'  &&  value  &&  value . http  ==  undefined )  { 
49-             output [ camelCasedKey ]  =  convertKeysToCamelCase ( value ) ; 
50-         }  else  { 
51-             output [ camelCasedKey ]  =  value ; 
41+         try  { 
42+             // Only "undefined" will be replaced with original object property. For example: 
43+             //{ string : "0" } -> 0 
44+             //{ string : "false" } -> false 
45+             //"test" -> "test" (undefined returned from fromTypedData) 
46+             const  valueFromDataType  =  fromTypedData ( obj [ key ] ) ; 
47+             const  value  =  valueFromDataType  ===  undefined  ? obj [ key ]  : valueFromDataType ; 
48+             // If the value is a JSON object (and not array and not http, which is already cased), convert keys to camel case 
49+             if  ( ! Array . isArray ( value )  &&  typeof  value  ===  'object'  &&  value  &&  value . http  ==  undefined )  { 
50+                 output [ camelCasedKey ]  =  convertKeysToCamelCase ( value ) ; 
51+             }  else  { 
52+                 output [ camelCasedKey ]  =  value ; 
53+             } 
54+         }  catch  { 
55+             // Just use the original value if we failed to recursively convert for any reason 
56+             output [ camelCasedKey ]  =  obj [ key ] ; 
5257        } 
5358    } 
5459    return  output ; 
0 commit comments