public IEnumerator GetEnumerator()

in src/Elastic.Transport/Responses/Dynamic/DynamicValue.cs [909:922]


	public IEnumerator<DynamicValue> GetEnumerator()
	{
		if (Value is ICollection c) return c.OfType<object>().Select(v => SelfOrNew(v)).GetEnumerator();
		else if (Value is IList l) return l.OfType<object>().Select(v => SelfOrNew(v)).GetEnumerator();
		else if (Value is IDictionary<string, object> d) return d.Select(kv=> SelfOrNew(kv.Value)).GetEnumerator();
		else if (Value is IDictionary<string, DynamicValue> dv) return dv.Values.GetEnumerator();
		else if (Value is JsonElement e && e.ValueKind == JsonValueKind.Array) return e.EnumerateArray().Select(a=> SelfOrNew(a)).GetEnumerator();
		else if (Value is JsonElement el && el.ValueKind == JsonValueKind.Object)
			return ToDictionary().Values.Select(v => SelfOrNew(v)).GetEnumerator();

		return Value == null
			? Enumerable.Empty<DynamicValue>().GetEnumerator()
			: new List<DynamicValue>() { this }.GetEnumerator();
	}