using HtmlAgilityPack; namespace Beam.Dynamic { public record class DataBindings { public Binding? Title { get; set; } public Binding? Authors { get; set; } public Binding? Description { get; set; } public Binding? Content { get; set; } public Binding? Language { get; set; } public Binding? Tags { get; set; } public virtual ResolvedBindings Resolve(HtmlDocument doc) { return new ResolvedBindings() { Title = Title?.Resolve(doc), Authors = Authors?.Resolve(doc) ?? Array.Empty(), Language = Language?.Resolve(doc) ?? Array.Empty(), Content = Content?.Resolve(doc), Description = Description?.Resolve(doc), Tags = Tags?.Resolve(doc) ?? Array.Empty() }; } } public record class ResolvedBindings { public string? Title { get; set; } public string[]? Authors { get; set; } public string? Description { get; set; } public string? Content { get; set; } public string[]? Language { get; set; } public string[]? Tags { get; set; } } }