public static IEnumerable <Inverse> InvertConditionals(Conditional conditional, Pipeline backward, string affectedTag, ImmutableList <CollectionIdentifier> collectionIdentifiers) { return(InvertPipeline(conditional.ChildPipeline) .Select(childInverse => new Inverse( childInverse.InversePipeline.Compose(backward), Subset.Empty.Add(affectedTag), conditional.Exists ? Operation.Add : Operation.Remove, Subset.FromPipeline(backward), childInverse.Projection, collectionIdentifiers))); }
public Pipeline AddConditional(Conditional conditional) { return(new Pipeline(starts, paths, conditionals.Add(conditional), false)); }