Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit a08c2ea

Browse files
committed
Add missing APIs in Inspect to match APIs alt languages
1 parent c1d3620 commit a08c2ea

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

src/ServiceStack.Text/Inspect.cs

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ public static class Config
1414
public const string VarsName = "vars.json";
1515

1616
public static Action<object> VarsFilter { get; set; } = DefaultVarsFilter;
17+
18+
public static Func<object,string> DumpTableFilter { get; set; }
1719

1820
public static void DefaultVarsFilter(object anonArgs)
1921
{
@@ -34,7 +36,7 @@ public static void DefaultVarsFilter(object anonArgs)
3436
}
3537
catch (Exception ex)
3638
{
37-
Tracer.Instance.WriteError("Inspect.Vars() Error: " + ex);
39+
Tracer.Instance.WriteError("Inspect.vars() Error: " + ex);
3840
}
3941
}
4042
}
@@ -45,5 +47,27 @@ public static void DefaultVarsFilter(object anonArgs)
4547
/// <param name="anonArgs">Anonymous object with named value</param>
4648
// ReSharper disable once InconsistentNaming
4749
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));
4872
}
4973
}

0 commit comments

Comments
 (0)