/
TON618OFF
/
Unity-Project-RTU
Обзор
Документация
Войти
/
TON618OFF
/
Unity-Project-RTU
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Library/PackageCache/com.unity.visualscripting@1.9.4/Runtime/VisualScripting.Core/Ensure/EnsureThat.Collections.cs
239 строк
7 KB
TON618OFF
release
03 окт 2024, 22:20
03 окт 2024, 22:20
7c70e9f
Код
Авторство
О чём код?
using System; using System.Collections; using System.Collections.Generic; using System.Linq; namespace Unity.VisualScripting { public partial class EnsureThat { public void HasItems<T>(T value) where T : class, ICollection { if (!Ensure.IsActive) { return; } IsNotNull(value); if (value.Count < 1) { throw new ArgumentException(ExceptionMessages.Collections_HasItemsFailed, paramName); } } public void HasItems<T>(ICollection<T> value) { if (!Ensure.IsActive) { return; } IsNotNull(value); if (value.Count < 1) { throw new ArgumentException(ExceptionMessages.Collections_HasItemsFailed, paramName); } } public void HasItems<T>(T[] value) { if (!Ensure.IsActive) { return; } IsNotNull(value); if (value.Length < 1) { throw new ArgumentException(ExceptionMessages.Collections_HasItemsFailed, paramName); } } public void HasNoNullItem<T>(T value) where T : class, IEnumerable { if (!Ensure.IsActive) { return; } IsNotNull(value); foreach (var item in value) { if (item == null) { throw new ArgumentException(ExceptionMessages.Collections_HasNoNullItemFailed, paramName); } } } public void HasItems<T>(IList<T> value) => HasItems(value as ICollection<T>); public void HasItems<TKey, TValue>(IDictionary<TKey, TValue> value) { if (!Ensure.IsActive) { return; } IsNotNull(value); if (value.Count < 1) { throw new ArgumentException(ExceptionMessages.Collections_HasItemsFailed, paramName); } } public void SizeIs<T>(T[] value, int expected) { if (!Ensure.IsActive) { return; } if (value.Length != expected) { throw new ArgumentException(ExceptionMessages.Collections_SizeIs_Failed.Inject(expected, value.Length), paramName); } } public void SizeIs<T>(T[] value, long expected) { if (!Ensure.IsActive) { return; } if (value.Length != expected) { throw new ArgumentException(ExceptionMessages.Collections_SizeIs_Failed.Inject(expected, value.Length), paramName); } } public void SizeIs<T>(T value, int expected) where T : ICollection { if (!Ensure.IsActive) { return; } if (value.Count != expected) { throw new ArgumentException(ExceptionMessages.Collections_SizeIs_Failed.Inject(expected, value.Count), paramName); } } public void SizeIs<T>(T value, long expected) where T : ICollection { if (!Ensure.IsActive) { return; } if (value.Count != expected) { throw new ArgumentException(ExceptionMessages.Collections_SizeIs_Failed.Inject(expected, value.Count), paramName); } } public void SizeIs<T>(ICollection<T> value, int expected) { if (!Ensure.IsActive) { return; } if (value.Count != expected) { throw new ArgumentException(ExceptionMessages.Collections_SizeIs_Failed.Inject(expected, value.Count), paramName); } } public void SizeIs<T>(ICollection<T> value, long expected) { if (!Ensure.IsActive) { return; } if (value.Count != expected) { throw new ArgumentException(ExceptionMessages.Collections_SizeIs_Failed.Inject(expected, value.Count), paramName); } } public void SizeIs<T>(IList<T> value, int expected) => SizeIs(value as ICollection<T>, expected); public void SizeIs<T>(IList<T> value, long expected) => SizeIs(value as ICollection<T>, expected); public void SizeIs<TKey, TValue>(IDictionary<TKey, TValue> value, int expected) { if (!Ensure.IsActive) { return; } if (value.Count != expected) { throw new ArgumentException(ExceptionMessages.Collections_SizeIs_Failed.Inject(expected, value.Count), paramName); } } public void SizeIs<TKey, TValue>(IDictionary<TKey, TValue> value, long expected) { if (!Ensure.IsActive) { return; } if (value.Count != expected) { throw new ArgumentException(ExceptionMessages.Collections_SizeIs_Failed.Inject(expected, value.Count), paramName); } } public void IsKeyOf<TKey, TValue>(IDictionary<TKey, TValue> value, TKey expectedKey, string keyLabel = null) { if (!Ensure.IsActive) { return; } if (!value.ContainsKey(expectedKey)) { throw new ArgumentException(ExceptionMessages.Collections_ContainsKey_Failed.Inject(expectedKey, keyLabel ?? paramName.Prettify()), paramName); } } public void Any<T>(IList<T> value, Func<T, bool> predicate) => Any(value as ICollection<T>, predicate); public void Any<T>(ICollection<T> value, Func<T, bool> predicate) { if (!Ensure.IsActive) { return; } if (!value.Any(predicate)) { throw new ArgumentException(ExceptionMessages.Collections_Any_Failed, paramName); } } public void Any<T>(T[] value, Func<T, bool> predicate) { if (!Ensure.IsActive) { return; } if (!value.Any(predicate)) { throw new ArgumentException(ExceptionMessages.Collections_Any_Failed, paramName); } } } }