Skip to content

Commit

Permalink
refactor: move failSilently to DumpEditableOptions
Browse files Browse the repository at this point in the history
  • Loading branch information
rdavisau committed Apr 27, 2019
1 parent 6a3e930 commit 061dfdd
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 18 deletions.
17 changes: 7 additions & 10 deletions src/DumpEditable/EditableDumpContainer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ namespace LINQPad.DumpEditable
public partial class EditableDumpContainer<T> : DumpContainer
{
private readonly object _obj;
private readonly bool _failSilently;
private readonly Dictionary<PropertyInfo, Action<T, object>> _changeHandlers
= new Dictionary<PropertyInfo, Action<T, object>>();

Expand All @@ -39,7 +38,7 @@ public void AddEditorRule(EditorRule rule)
SetContent();
}

public EditableDumpContainer(T obj, bool failSilently = false)
public EditableDumpContainer(T obj)
{
if (obj.GetType().GetArrayLikeElementType() != null)
throw new Exception("You must Dump enumerable-like objects with the DumpEnumerable overload.");
Expand All @@ -51,13 +50,12 @@ public EditableDumpContainer(T obj, bool failSilently = false)
}

_obj = obj;
_failSilently = failSilently;

SetContent();
}


public EditableDumpContainer(IEnumerable<T> obj, bool failSilently = false)
public EditableDumpContainer(IEnumerable<T> obj)
{
if (EditableDumpContainer.DefaultOptions.AutomaticallyKeepQueryRunning)
{
Expand All @@ -66,7 +64,6 @@ public EditableDumpContainer(IEnumerable<T> obj, bool failSilently = false)
}

_obj = obj;
_failSilently = failSilently;

SetContent();
}
Expand All @@ -86,7 +83,7 @@ private void SetContent()
}
catch
{
if (!_failSilently)
if (!EditableDumpContainer.DefaultOptions.FailSilently)
throw;
}

Expand Down Expand Up @@ -174,11 +171,11 @@ public static class EditableDumpContainer
{
public static readonly CompositeDisposable KeepRunningTokens = new CompositeDisposable();
public static DumpEditableOptions DefaultOptions = DumpEditableOptions.Defaults;
public static EditableDumpContainer<T> For<T>(T obj, bool failSilently = false)
=> new EditableDumpContainer<T>(obj, failSilently);
public static EditableDumpContainer<T> For<T>(T obj)
=> new EditableDumpContainer<T>(obj);

public static EditableDumpContainer<T> ForEnumerable<T>(IEnumerable<T> obj, bool failSilently = false)
=> new EditableDumpContainer<T>(obj, failSilently);
public static EditableDumpContainer<T> ForEnumerable<T>(IEnumerable<T> obj)
=> new EditableDumpContainer<T>(obj);

public static void AddGlobalEditorRule(EditorRule rule)
=> GlobalEditorRules.Insert(0, rule);
Expand Down
16 changes: 8 additions & 8 deletions src/DumpEditable/Extensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,23 @@ namespace LINQPad.DumpEditable
{
public static class Extensions
{
public static T DumpEditable<T>(this T obj, bool failSilently = false)
=> DumpEditable(obj, out _, failSilently);
public static T DumpEditable<T>(this T obj)
=> DumpEditable(obj, out _);

public static T DumpEditable<T>(this T obj, out EditableDumpContainer<T> container, bool failSilently = false)
public static T DumpEditable<T>(this T obj, out EditableDumpContainer<T> container)
{
container = new EditableDumpContainer<T>(obj, failSilently);
container = new EditableDumpContainer<T>(obj);
container.Dump();

return obj;
}

public static IEnumerable<T> DumpEditableEnumerable<T>(this IEnumerable<T> obj, bool failSilently = false)
=> DumpEditableEnumerable<T>(obj, out _, failSilently);
public static IEnumerable<T> DumpEditableEnumerable<T>(this IEnumerable<T> obj)
=> DumpEditableEnumerable<T>(obj, out _);

public static IEnumerable<T> DumpEditableEnumerable<T>(this IEnumerable<T> obj, out EditableDumpContainer<T> container, bool failSilently = false)
public static IEnumerable<T> DumpEditableEnumerable<T>(this IEnumerable<T> obj, out EditableDumpContainer<T> container)
{
container = new EditableDumpContainer<T>(obj, failSilently);
container = new EditableDumpContainer<T>(obj);
container.Dump();

return obj;
Expand Down
1 change: 1 addition & 0 deletions src/DumpEditable/Models/DumpEditableOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@ public class DumpEditableOptions
{
public static DumpEditableOptions Defaults => new DumpEditableOptions();
public bool AutomaticallyKeepQueryRunning { get; set; } = true;
public bool FailSilently { get; set; } = false;
}
}

0 comments on commit 061dfdd

Please sign in to comment.