~ruther/NosSmooth.Local

a26a7055aae0025f88e5aa0d5742d323ffef436f — Rutherther 2 years ago c0c354f
feat(binding): use Result instead of IResult
M src/Core/NosSmooth.LocalBinding/Hooks/IHookManager.cs => src/Core/NosSmooth.LocalBinding/Hooks/IHookManager.cs +1 -1
@@ 108,7 108,7 @@ public interface IHookManager
    /// <param name="bindingManager">The binding manager.</param>
    /// <param name="browserManager">The browser manager.</param>
    /// <returns>A result that may or may not have failed.</returns>
    public IResult Initialize(NosBindingManager bindingManager, NosBrowserManager browserManager);
    public Result Initialize(NosBindingManager bindingManager, NosBrowserManager browserManager);

    /// <summary>
    /// Enable hooks from the given list.

M src/Core/NosSmooth.LocalBinding/Hooks/Implementations/HookManager.cs => src/Core/NosSmooth.LocalBinding/Hooks/Implementations/HookManager.cs +5 -6
@@ 57,7 57,7 @@ internal class HookManager : IHookManager
    public IReadOnlyList<INostaleHook> Hooks => _hooks.Values.ToList();

    /// <inheritdoc/>
    public IResult Initialize(NosBindingManager bindingManager, NosBrowserManager browserManager)
    public Result Initialize(NosBindingManager bindingManager, NosBrowserManager browserManager)
    {
        _initialized = true;
        if (_hooks.Count > 0)


@@ 84,7 84,7 @@ internal class HookManager : IHookManager
        return original;
    }

    private IResult HandleResults(params Func<Result<INostaleHook>>[] functions)
    private Result HandleResults(params Func<Result<INostaleHook>>[] functions)
    {
        List<IResult> errorResults = new List<IResult>();
        foreach (var func in functions)


@@ 98,21 98,20 @@ internal class HookManager : IHookManager
                }
                else
                {
                    errorResults.Add(result);
                    errorResults.Add(Result.FromError(result));
                }
            }
            catch (Exception e)
            {
                errorResults.Add((Result)e);
            }

        }

        return errorResults.Count switch
        {
            0 => Result.FromSuccess(),
            1 => errorResults[0],
            _ => (Result)new AggregateError(errorResults)
            1 => (Result)errorResults[0],
            _ => new AggregateError(errorResults)
        };
    }


M src/Core/NosSmooth.LocalBinding/NosBrowserManager.cs => src/Core/NosSmooth.LocalBinding/NosBrowserManager.cs +2 -2
@@ 196,11 196,11 @@ public class NosBrowserManager
    /// Needed to use all of the classes from NosTale.
    /// </remarks>
    /// <returns>A result that may or may not have succeeded.</returns>
    public IResult Initialize()
    public Result Initialize()
    {
        if (!IsNostaleProcess)
        {
            return (Result)new NotNostaleProcessError(Process);
            return new NotNostaleProcessError(Process);
        }

        NostaleObject Map<T>(T val)

M src/Extensions/NosSmooth.Extensions.SharedBinding/Hooks/SharedHookManager.cs => src/Extensions/NosSmooth.Extensions.SharedBinding/Hooks/SharedHookManager.cs +2 -2
@@ 42,10 42,10 @@ public class SharedHookManager
    /// <param name="browserManager">The browser manager.</param>
    /// <param name="options">The initial options to be respected.</param>
    /// <returns>The dictionary containing all of the hooks.</returns>
    public (Dictionary<string, INostaleHook>, IResult) InitializeInstance
    public (Dictionary<string, INostaleHook>, Result) InitializeInstance
        (NosBindingManager bindingManager, NosBrowserManager browserManager, HookManagerOptions options)
    {
        IResult result = Result.FromSuccess();
        Result result = Result.FromSuccess();
        if (!_initialized)
        {
            result = _underlyingManager.Initialize(bindingManager, browserManager);

M src/Extensions/NosSmooth.Extensions.SharedBinding/Hooks/SingleHookManager.cs => src/Extensions/NosSmooth.Extensions.SharedBinding/Hooks/SingleHookManager.cs +1 -1
@@ 62,7 62,7 @@ public class SingleHookManager : IHookManager
    public IReadOnlyList<INostaleHook> Hooks => _hooks.Values.ToList();

    /// <inheritdoc />
    public IResult Initialize(NosBindingManager bindingManager, NosBrowserManager browserManager)
    public Result Initialize(NosBindingManager bindingManager, NosBrowserManager browserManager)
    {
        _initialized = true;
        var (hooks, result) = _sharedHookManager.InitializeInstance(bindingManager, browserManager, _options);

Do not follow this link