Command execution, CreateContainer command WIP

This commit is contained in:
2022-05-23 18:12:22 +02:00
parent 6b3a8f7127
commit d4bd9d3ba1
29 changed files with 499 additions and 26 deletions

View File

@@ -2,10 +2,11 @@ namespace FileTime.Core.Timeline;
public class PointInTime
{
private readonly List<Difference> _differences;
public static readonly PointInTime Eternal = new PointInTime();
public static readonly PointInTime Present = new PointInTime();
private readonly List<Difference> _differences;
public IReadOnlyList<Difference> Differences { get; }
private PointInTime() : this(new List<Difference>())
@@ -26,6 +27,14 @@ public class PointInTime
public PointInTime WithDifferences(IEnumerable<Difference> differences) =>
new(this, differences);
public PointInTime WithDifferences(Func<PointInTime, IEnumerable<Difference>> differenceGenerator)
{
var newPointInTime = new PointInTime();
newPointInTime._differences.AddRange(differenceGenerator(newPointInTime));
return newPointInTime;
}
private static List<Difference> MergeDifferences(IEnumerable<Difference> previouses,
IEnumerable<Difference> differences)
{