Dumpify 0.6.6
dotnet add package Dumpify --version 0.6.6
NuGet\Install-Package Dumpify -Version 0.6.6
<PackageReference Include="Dumpify" Version="0.6.6" />
paket add Dumpify --version 0.6.6
#r "nuget: Dumpify, 0.6.6"
// Install Dumpify as a Cake Addin #addin nuget:?package=Dumpify&version=0.6.6 // Install Dumpify as a Cake Tool #tool nuget:?package=Dumpify&version=0.6.6
Dumpify
Improve productivity and debuggability by adding .Dump()
extension methods to Console Applications.
Dump
any object in a structured and colorful way into the Console, Trace, Debug events or your own custom output.
Features
- Dump any object in a structured, colorful way to Console, Debug, Trace or any other custom output
- Support Properties, Fields and non-public members
- Support max nesting levels
- Support circular dependencies and references
- Support styling and customizations
- Highly Configurable
- Support for different output targets: Console, Trace, Debug, Text, Custom
- Fast!
Examples:
Anonymous types
new { Name = "Dumpify", Description = "Dump any object to Console" }.Dump();
Support nesting and circular references
var moaid = new Person { FirstName = "Moaid", LastName = "Hathot", Profession = Profession.Software };
var haneeni = new Person { FirstName = "Haneeni", LastName = "Shibli", Profession = Profession.Health };
moaid.Spouse = haneeni;
haneeni.Spouse = moaid;
moaid.Dump();
//You can define max depth as well, e.g `moaid.Dump(maxDepth: 2)`
Support for Arrays, Dictionaries and Collections
var arr = new[] { 1, 2, 3, 4 }.Dump();
var arr2d = new int[,] { {1, 2}, {3, 4} }.Dump();
new Dictionary<string, string>
{
["Moaid"] = "Hathot",
["Haneeni"] = "Shibli",
["Eren"] = "Yeager",
["Mikasa"] = "Ackerman",
}.Dump();
You can turn on or off fields and private members
public class AdditionValue
{
private readonly int _a;
private readonly int _b;
public AdditionValue(int a, int b)
{
_a = a;
_b = b;
}
private int Value => _a + _b;
}
new AdditionValue(1, 2).Dump(members: new MembersConfig { IncludeFields = true, IncludeNonPublicMembers = true });
You can turn on or off row separators and a type column
//globally
DumpConfig.Default.TableConfig.ShowMemberTypes = true;
DumpConfig.Default.TableConfig.ShowRowSeparators = true;
new { Name = "Dumpify", Description = "Dump any object to Console" }.Dump();
//or Per dump
new { Name = "Dumpify", Description = "Dump any object to Console" }.Dump(tableConfig: new TableConfig { ShowRowSeparators = true, ShowMemberTypes = true });
You can set custom labels or auto-labels
new { Description = "You can manually specify labels to objects" }.Dump("Manual label");
//Set auto-label globally for all dumps if a custom label wasn't provider
DumpConfig.Default.UseAutoLabels = true;
new { Description = "Or set labels automatically with auto-labels" }.Dump();
You can customize colors
var package = new { Name = "Dumpify", Description = "Dump any object to Console" };
package.Dump(colors: ColorConfig.NoColors);
package.Dump(colors: new ColorConfig { PropertyValueColor = new DumpColor(Color.RoyalBlue)});
You can turn on or off type names, headers, lables and much more
var moaid = new Person { FirstName = "Moaid", LastName = "Hathot", Profession = Profession.Software };
var haneeni = new Person { FirstName = "Haneeni", LastName = "Shibli", Profession = Profession.Health };
moaid.Spouse = haneeni;
haneeni.Spouse = moaid;
moaid.Dump(typeNames: new TypeNamingConfig { ShowTypeNames = false }, tableConfig: new TableConfig { ShowTableHeaders = false });
There are multiple output options (Console, Trace, Debug, Text) or provide your own
var package = new { Name = "Dumpify", Description = "Dump any object to Console" };
package.Dump(); //Similar to `package.DumpConsole()` and `package.Dump(output: Outputs.Console))`
package.DumpDebug(); //Dump to Visual Studio's Debug source
package.DumpTrace(); //Dump to Trace
var text = package.DumpText(); //The table in a text format
using var writer = new StringWriter();
package.Dump(output: new DumpOutput(writer)); //Custom output
Every configuration can be defined per-Dump or globally for all Dumps, e.g:
DumpConfig.Default.TypeNamingConfig.UseAliases = true;
DumpConfig.Default.TypeNamingConfig.ShowTypeNames = false;
DumpConfig.Default.ColorConfig.TypeNameColor = Color.Gold;
DumpConfig.Default.MaxDepth = 3;
//Much more...
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Spectre.Console (>= 0.48.0)
-
.NETStandard 2.1
- Spectre.Console (>= 0.48.0)
-
net8.0
- Spectre.Console (>= 0.48.0)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Dumpify:
Package | Downloads |
---|---|
rna.Base.Extensions
Number, String, Enum, Expression Extensions and Object Property Filters |
|
EluciusFTW.SpectreCoff
A thin, opinionated wrapper around Spectre.Console in FSharp. |
|
PowerFx.NET.Interactive
This is a Kernel extension for Polyglot Notebooks that helps you to run Power Fx code |
|
FluentConsole.Templates
提供「现代化的控制台应用的开发体验」脚手架,能像 Web 应用那样很优雅地整合各种组件,包括依赖注入、配置、日志等功能。 |
|
ProduceSelf.Base
文件操作类优化删除文件夹和移动文件夹功能 |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.6.6 | 52,260 | 5/5/2024 |
0.6.5 | 53,212 | 2/17/2024 |
0.6.4 | 5,996 | 12/30/2023 |
0.6.3 | 6,827 | 12/4/2023 |
0.6.2 | 142 | 12/4/2023 |
0.6.1 | 3,502 | 11/25/2023 |
0.6.0 | 27,929 | 7/17/2023 |
0.5.4 | 18,669 | 5/17/2023 |
0.5.3 | 451 | 5/8/2023 |
0.5.2 | 523 | 4/15/2023 |
0.5.1 | 207 | 4/14/2023 |
0.5.0 | 202 | 4/14/2023 |
0.4.1 | 278 | 4/7/2023 |
0.4.0 | 203 | 4/6/2023 |
0.3.0 | 204 | 4/3/2023 |
0.2.0 | 204 | 4/3/2023 |
0.1.0 | 297 | 3/29/2023 |