namespace AssetRipper.SourceGenerated.Extensions; public static class EnumerableExtensions { public static IEnumerable WhereNotNull(this IEnumerable enumerable) where T : notnull { foreach (T? item in enumerable) { if (item is not null) { yield return item; } } } public static IEnumerable ThrowIfNull(this IEnumerable enumerable) where T : notnull { foreach (T? item in enumerable) { if (item is null) { throw new NullReferenceException(); } yield return item; } } public static IEnumerable MaybeAppend(this IEnumerable enumerable, T? item) { return item is not null ? enumerable.Append(item) : enumerable; } }