defmodule Cli do def call(command) do case command do "map" -> input() |> PortingTools.Mappings.map() |> output(:map) "resourceloc" -> input() |> PortingTools.ResourceLoc.resolve() |> output(:map) _ -> raise "Invalid command!" end end def input() do IO.gets(nil) |> String.trim() end def output(response, type) do case {response, type} do {s, _} when is_binary(s) -> s {nil, :map} -> "" {nil, :resourceloc} -> "" end |> IO.puts() end end