/// <summary> /// Log a boolean result - or the reason if <see cref="None{T}"/> /// </summary> /// <param name="this"></param> /// <param name="log"></param> /// <param name="done">Text on success</param> /// <param name="failed">Text on failure</param> public static Maybe <bool> LogBool(this Maybe <bool> @this, ILog log, string done, string failed) => @this.Audit( some: x => { if (x) { log.Inf(done); } else { log.Err(failed); } }, none: log.Msg );
/// <summary> /// Log a result - or the reason if <see cref="None{T}"/> /// </summary> /// <typeparam name="T">Maybe type</typeparam> /// <param name="this"></param> /// <param name="usingLog"></param> /// <param name="message">Log message - must contain one placeholder for the value.</param> public static Maybe <T> Log <T>(this Maybe <T> @this, ILog usingLog, string message) => @this.Audit( some: x => usingLog.Inf(message, x ?? new object()), none: usingLog.Msg );