@@ -14,6 +14,8 @@ public static class Config
14
14
public const string VarsName = "vars.json" ;
15
15
16
16
public static Action < object > VarsFilter { get ; set ; } = DefaultVarsFilter ;
17
+
18
+ public static Func < object , string > DumpTableFilter { get ; set ; }
17
19
18
20
public static void DefaultVarsFilter ( object anonArgs )
19
21
{
@@ -34,7 +36,7 @@ public static void DefaultVarsFilter(object anonArgs)
34
36
}
35
37
catch ( Exception ex )
36
38
{
37
- Tracer . Instance . WriteError ( "Inspect.Vars () Error: " + ex ) ;
39
+ Tracer . Instance . WriteError ( "Inspect.vars () Error: " + ex ) ;
38
40
}
39
41
}
40
42
}
@@ -45,5 +47,27 @@ public static void DefaultVarsFilter(object anonArgs)
45
47
/// <param name="anonArgs">Anonymous object with named value</param>
46
48
// ReSharper disable once InconsistentNaming
47
49
public static void vars ( object anonArgs ) => Config . VarsFilter ? . Invoke ( anonArgs ) ;
50
+
51
+ /// <summary>
52
+ /// Recursively prints the contents of any POCO object in a human-friendly, readable format
53
+ /// </summary>
54
+ public static string dump < T > ( this T instance ) => instance . Dump ( ) ;
55
+
56
+ /// <summary>
57
+ /// Print Dump to Console.WriteLine
58
+ /// </summary>
59
+ public static void printDump < T > ( this T instance ) => instance . PrintDump ( ) ;
60
+
61
+ /// <summary>
62
+ /// Dump object in Ascii Markdown table
63
+ /// </summary>
64
+ public static string dumpTable ( object instance ) => Config . DumpTableFilter != null
65
+ ? Config . DumpTableFilter ( instance )
66
+ : throw new NotImplementedException ( "Config.DumpTableFilter is not configured, call JS.Configure()" ) ;
67
+
68
+ /// <summary>
69
+ /// Print Dump object in Ascii Markdown table
70
+ /// </summary>
71
+ public static void printDumpTable ( this object target ) => PclExport . Instance . WriteLine ( dumpTable ( target ) ) ;
48
72
}
49
73
}
0 commit comments