From 3b88d6bb06b20b3182bb5d6229e351440309ec18 Mon Sep 17 00:00:00 2001 From: multi prise Date: Thu, 17 Sep 2020 22:33:34 +0200 Subject: add typespecs --- lib/matrix_app_service/client.ex | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/matrix_app_service/client.ex b/lib/matrix_app_service/client.ex index ff5efa1..5cb720d 100644 --- a/lib/matrix_app_service/client.ex +++ b/lib/matrix_app_service/client.ex @@ -1,9 +1,13 @@ defmodule MatrixAppService.Client do + @type client_options :: [user_id: String.t(), storage: Polyjuice.Client.Storage.t()] + + @spec client(String.t() | nil, Polyjuice.Client.Storage.t() | nil) :: + Polyjuice.Client.LowLevel.t() def client(user_id \\ nil, storage \\ nil) do base_url = Application.get_env(:matrix_app_service, :base_url) access_token = Application.get_env(:matrix_app_service, :access_token) - Polyjuice.Client.LowLevel.create(base_url, + Polyjuice.Client.LowLevel.create(base_url, access_token: access_token, # "@alice:matrix.imago.local", user_id: user_id, @@ -12,16 +16,19 @@ defmodule MatrixAppService.Client do ) end + @spec create_room(Keyword.t()) :: {:ok, String.t()} | Any def create_room(options) do client_with_options(options) |> Polyjuice.Client.Room.create_room(options) end + @spec create_alias(String.t(), String.t(), client_options()) :: {:ok, String.t()} | Any def create_alias(room_id, room_alias, options \\ []) do client_with_options(options) |> Polyjuice.Client.Room.create_alias(room_id, room_alias) end + @spec client(client_options(), Polyjuice.Client.Storage.t()) :: Polyjuice.Client.LowLevel.t() defp client_with_options(options) do user_id = Keyword.get(options, :user_id, nil) storage = Keyword.get(options, :storage, nil) -- cgit v1.2.3