using System.Collections.Generic;
using System.Threading;
using MfGames.Gallium;
using MfGames.Nitride.Contents;
namespace MfGames.Nitride.Handlebars;
///
/// An operation that discovers which text files have a Handlebars template
/// inside them.
///
public class IdentifyHandlebarsFromContent : IOperation
{
///
public IEnumerable Run(
IEnumerable input,
CancellationToken cancellationToken = default)
{
return input.SelectEntity(this.ScanContent);
}
private Entity ScanContent(
Entity entity,
ITextContent content)
{
string text = content.GetTextContentString();
if (text.Contains("{{") && text.Contains("}}"))
{
return entity.Set(HasHandlebarsTemplate.Instance);
}
return entity;
}
}