This commit is contained in:
2024-10-31 19:04:55 -05:00
parent fa1ad5f6d0
commit 9cd1ad8883
11 changed files with 48 additions and 70 deletions

View File

@@ -49,7 +49,6 @@ public static class ContractsExtensions
public static Dictionary<string, Piece?> ToContract(this ReadOnlyDictionary<string, Domain.ValueObjects.Piece?> boardState) =>
boardState.ToDictionary(kvp => kvp.Key, kvp => kvp.Value?.ToContract());
public static Domain.ValueObjects.WhichPiece? ToDomain(this WhichPiece? piece) => piece.HasValue ? piece.Value.ToDomain() : null;
public static Domain.ValueObjects.WhichPiece ToDomain(this WhichPiece piece)
{
return piece switch

View File

@@ -1,21 +0,0 @@
using System.Net.WebSockets;
using System.Text;
namespace Shogi.Api.Extensions
{
public static class WebSocketExtensions
{
public static async Task SendTextAsync(this WebSocket self, string message)
{
await self.SendAsync(Encoding.UTF8.GetBytes(message), WebSocketMessageType.Text, true, CancellationToken.None);
}
public static async Task<string> ReceiveTextAsync(this WebSocket self)
{
var buffer = new ArraySegment<byte>(new byte[2048]);
var receive = await self.ReceiveAsync(buffer, CancellationToken.None);
return Encoding.UTF8.GetString(buffer.Slice(0, receive.Count));
// TODO: Make this robust to multi-frame messages.
}
}
}