using aeqw89.DataKeys; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Beam.Temporary.Cli { public class TextResource : IKeyed { public required DataKey Key { get; set; } public string? FriendlyName { get; set; } public DataKey? AssociatedSource { get; set; } public DataKey? AssociatedMetaSource { get; set; } public required State TemplateInitialData { get; set; } public State? MetaTemplateInitialData { get; set; } public TextResourceRecord ToRecord(BeamDataDictionary sdd) { return new(this, AssociatedSource is null ? null : sdd.Aggregators[AssociatedSource], AssociatedMetaSource is null ? null : sdd.Auxillaries[AssociatedMetaSource]); } } public record TextResourceRecord(TextResource Resource, WebResource? AssociatedSource, WebResource? AssociatedMetaSource); }