Updated common abstractions

This commit is contained in:
Toastie (DCS Team) 2024-06-26 17:59:28 +12:00
parent 4fe4c4eff2
commit b045015efb
Signed by: toastie_t0ast
GPG key ID: 27F3B6855AFD40A4
23 changed files with 47 additions and 51 deletions

View file

@ -1,4 +1,4 @@
using OneOf; using OneOf;
using OneOf.Types; using OneOf.Types;
namespace Ellie.Common; namespace Ellie.Common;

View file

@ -63,7 +63,7 @@ public sealed class MemoryBotCache : IBotCache
{ {
lock (_cacheLock) lock (_cacheLock)
{ {
var toReturn = _cache.TryGetValue(key.Key, out var old) && old is not null; var toReturn = _cache.TryGetValue(key.Key, out var old ) && old is not null;
_cache.Remove(key.Key); _cache.Remove(key.Key);
return new(toReturn); return new(toReturn);
} }

View file

@ -1,4 +1,4 @@
using System.Diagnostics; using System.Diagnostics;
namespace System.Collections.Generic; namespace System.Collections.Generic;
@ -46,12 +46,8 @@ public sealed class ConcurrentHashSet<T> : IReadOnlyCollection<T>, ICollection<T
public void CopyTo(T[] array, int arrayIndex) public void CopyTo(T[] array, int arrayIndex)
{ {
ArgumentNullException.ThrowIfNull(array); ArgumentNullException.ThrowIfNull(array);
ArgumentOutOfRangeException.ThrowIfNegative(arrayIndex);
if (arrayIndex < 0) ArgumentOutOfRangeException.ThrowIfGreaterThanOrEqual(arrayIndex, array.Length);
throw new ArgumentOutOfRangeException(nameof(arrayIndex));
if (arrayIndex >= array.Length)
throw new ArgumentOutOfRangeException(nameof(arrayIndex));
CopyToInternal(array, arrayIndex); CopyToInternal(array, arrayIndex);
} }

View file

@ -1,4 +1,4 @@
using System.Collections; using System.Collections;
namespace Ellie.Common; namespace Ellie.Common;

View file

@ -1,4 +1,4 @@
using System.Security.Cryptography; using System.Security.Cryptography;
namespace Ellie.Common; namespace Ellie.Common;

View file

@ -1,4 +1,4 @@
using System.Security.Cryptography; using System.Security.Cryptography;
namespace Ellie.Common; namespace Ellie.Common;

View file

@ -1,4 +1,4 @@
namespace Ellie.Common; namespace Ellie.Common;
public static class Extensions public static class Extensions
{ {

View file

@ -1,4 +1,4 @@
using EllieBot.Common.Yml; using EllieBot.Common.Yml;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
@ -82,14 +82,14 @@ public static class StringExtensions
// Step 3 // Step 3
for (var i = 1; i <= n; i++) for (var i = 1; i <= n; i++)
//Step 4 //Step 4
for (var j = 1; j <= m; j++) for (var j = 1; j <= m; j++)
{ {
// Step 5 // Step 5
var cost = t[j - 1] == s[i - 1] ? 0 : 1; var cost = t[j - 1] == s[i - 1] ? 0 : 1;
// Step 6 // Step 6
d[i, j] = Math.Min(Math.Min(d[i - 1, j] + 1, d[i, j - 1] + 1), d[i - 1, j - 1] + cost); d[i, j] = Math.Min(Math.Min(d[i - 1, j] + 1, d[i, j - 1] + 1), d[i - 1, j - 1] + cost);
} }
// Step 7 // Step 7
return d[n, m]; return d[n, m];

View file

@ -1,4 +1,4 @@
namespace Ellie.Common; namespace Ellie.Common;
public static class StandardConversions public static class StandardConversions
{ {

View file

@ -50,9 +50,9 @@ public class EventPubSub : IPubSub
{ {
// get subscriptions for this action // get subscriptions for this action
if (_actions.TryGetValue(key.Key, out var actions)) if (_actions.TryGetValue(key.Key, out var actions))
// get subscriptions which have the same action hash code // get subscriptions which have the same action hash code
// note: having this as a list allows for multiple subscriptions of // note: having this as a list allows for multiple subscriptions of
// the same insance's/static method // the same insance's/static method
{ {
if (actions.TryGetValue(action, out var sameActions)) if (actions.TryGetValue(action, out var sameActions))
{ {

View file

@ -1,4 +1,4 @@
namespace Ellie.Common; namespace Ellie.Common;
public interface IPubSub public interface IPubSub
{ {

View file

@ -1,4 +1,4 @@
namespace Ellie.Common; namespace Ellie.Common;
public interface ISeria public interface ISeria
{ {

View file

@ -1,4 +1,4 @@
namespace Ellie.Common; namespace Ellie.Common;
public readonly struct TypedKey<TData> public readonly struct TypedKey<TData>
{ {

View file

@ -1,11 +1,12 @@
#nullable disable #nullable disable
namespace EllieBot; namespace EllieBot;
public interface IBotCredentials public interface IBotCredentials
{ {
string Token { get; } string Token { get; }
string GoogleApiKey { get; } string EllieAiToken { get; }
ICollection<ulong> OwnerIds { get; set; } ICollection<ulong> OwnerIds { get; set; }
string GoogleApiKey { get; }
bool UsePrivilegedIntents { get; } bool UsePrivilegedIntents { get; }
string RapidApiKey { get; } string RapidApiKey { get; }

View file

@ -1,4 +1,4 @@
#nullable disable #nullable disable
using System.Globalization; using System.Globalization;
namespace EllieBot.Common; namespace EllieBot.Common;

View file

@ -1,4 +1,4 @@
#nullable disable #nullable disable
namespace EllieBot.Services; namespace EllieBot.Services;
/// <summary> /// <summary>

View file

@ -1,5 +1,4 @@
#nullable disable #nullable disable
namespace EllieBot.Services; namespace EllieBot.Services;
/// <summary> /// <summary>