private static object GetArgument(this IJavascriptToCSharpConverter converter, IJavascriptObject javascriptObject, Type targetType)
 {
     try
     {
         var found = converter.GetCachedOrCreateBasic(javascriptObject, targetType);
         return(found?.CValue);
     }
     catch (Exception)
     {
         return(null);
     }
 }
        public static Result <T> GetFirstArgument <T>(this IJavascriptToCSharpConverter converter, IJavascriptObject[] javascriptObjects)
        {
            if (javascriptObjects.Length == 0)
            {
                return(new Result <T>());
            }

            try
            {
                var found = converter.GetCachedOrCreateBasic(javascriptObjects[0], typeof(T));
                return(new Result <T>(found));
            }
            catch (Exception)
            {
                return(new Result <T>());
            }
        }
 public IndividualCollectionChange(IndividualJavascriptCollectionChange change, IJavascriptToCSharpConverter converter, Type targetType)
 {
     CollectionChangeType = change.CollectionChangeType;
      Index = change.Index;
      Object = converter.GetCachedOrCreateBasic(change.Object, targetType);
 } 
 public IndividualCollectionChange(IndividualJavascriptCollectionChange change, IJavascriptToCSharpConverter converter, Type targetType)
 {
     CollectionChangeType = change.CollectionChangeType;
     Index  = change.Index;
     Object = converter.GetCachedOrCreateBasic(change.Object, targetType);
 }