stabilizaiton work - projects rework for maintenanceability and ui livening

This commit is contained in:
master
2026-02-03 23:40:04 +02:00
parent 074ce117ba
commit 557feefdc3
3305 changed files with 186813 additions and 107843 deletions

View File

@@ -0,0 +1,47 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
namespace StellaOps.Provenance;
public class DocumentArray : DocumentValue, IEnumerable<DocumentValue>
{
private readonly List<object?> _items = new();
public DocumentArray()
{
}
public DocumentArray(IEnumerable items)
{
foreach (var item in items)
{
Add(item);
}
}
public DocumentArray(IEnumerable<object?> items)
: this()
{
foreach (var item in items)
{
Add(item);
}
}
public DocumentValue this[int index] => DocumentValue.Wrap(_items[index]);
public void Add(DocumentObject doc) => _items.Add(doc);
public void Add(object? value) => _items.Add(value);
public int Count => _items.Count;
public override object? Value => this;
public override DocumentArray AsDocumentArray => this;
public IEnumerator<DocumentValue> GetEnumerator() =>
_items.Select(DocumentValue.Wrap).GetEnumerator();
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}