From 73920390713f44e7462fdbadf7daf526f3b15cc5 Mon Sep 17 00:00:00 2001 From: Anthony Mineo Date: Wed, 13 Apr 2022 17:48:55 -0400 Subject: [PATCH] refactor(spec): add type specs --- lib/t2_server_query.ex | 4 ++-- lib/t2_server_query/packet_parser.ex | 4 ++-- lib/t2_server_query/query_result.ex | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/lib/t2_server_query.ex b/lib/t2_server_query.ex index c729a79..77d0da3 100644 --- a/lib/t2_server_query.ex +++ b/lib/t2_server_query.ex @@ -70,7 +70,7 @@ defmodule T2ServerQuery do }} """ - @spec query(String.t(), integer(), integer()) :: {atom(), %T2ServerQuery.QueryResult{}} + @spec query(String.t(), integer(), integer()) :: {atom(), T2ServerQuery.QueryResult.t()} def query(server_ip, port \\ 28_000, timeout \\ 3_500) do Logger.info "query: #{server_ip}" case is_valid_ip?(server_ip) do @@ -79,7 +79,7 @@ defmodule T2ServerQuery do end end - @spec handle_query(String.t(), integer(), integer()) :: {atom(), %T2ServerQuery.QueryResult{}} + @spec handle_query(String.t(), integer(), integer()) :: {atom(), T2ServerQuery.QueryResult.t()} defp handle_query(server_ip, port, timeout) do {:ok, socket} = :gen_udp.open(0, [:binary, {:active, false}]) diff --git a/lib/t2_server_query/packet_parser.ex b/lib/t2_server_query/packet_parser.ex index 4519389..d4bb592 100644 --- a/lib/t2_server_query/packet_parser.ex +++ b/lib/t2_server_query/packet_parser.ex @@ -66,7 +66,7 @@ defmodule T2ServerQuery.PacketParser do } end - @spec init(binary(), binary()) :: {:ok, %QueryResult{}} + @spec init(binary(), binary()) :: {:ok, QueryResult.t()} def init(info_packet, status_packet) when is_binary(info_packet) and is_binary(status_packet) do info_results = info_packet @@ -83,7 +83,7 @@ defmodule T2ServerQuery.PacketParser do pack_results({:ok, status_results, info_results}) end - @spec pack_results({:ok, map(), map()}) :: {:ok, %QueryResult{}} + @spec pack_results({:ok, map(), map()}) :: {:ok, QueryResult.t()} defp pack_results({:ok, status_results, info_results}) do results = %QueryResult{} diff --git a/lib/t2_server_query/query_result.ex b/lib/t2_server_query/query_result.ex index e61dc2c..a7c680b 100644 --- a/lib/t2_server_query/query_result.ex +++ b/lib/t2_server_query/query_result.ex @@ -48,6 +48,21 @@ defmodule T2ServerQuery.QueryResult do } """ + @type t() :: %__MODULE__{ + server_status: atom(), + server_name: String.t(), + game_type: String.t(), + mission_type: String.t(), + map_name: String.t(), + player_count: integer(), + max_player_count: integer(), + bot_count: integer(), + server_description: String.t(), + team_count: integer(), + teams: list(), + players: list() + } + defstruct [ server_status: :offline, server_name: "",