Skip to content

Instantly share code, notes, and snippets.

@savonarola
Created January 9, 2017 20:21
Show Gist options
  • Select an option

  • Save savonarola/b1fc923aebeaf614adabeb56cac058c3 to your computer and use it in GitHub Desktop.

Select an option

Save savonarola/b1fc923aebeaf614adabeb56cac058c3 to your computer and use it in GitHub Desktop.

Revisions

  1. savonarola created this gist Jan 9, 2017.
    19 changes: 19 additions & 0 deletions parse_result.ex
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,19 @@
    defmodule ParseResult do
    @type arg_value :: term
    @type flag_value :: boolean | pos_integer
    @type option_value :: term | [term]

    @type t :: %ParseResult{
    args: %{atom => arg_value},
    flags: %{atom => flag_value},
    options: %{atom => option_value},
    unknown: [String.t]
    }

    defstruct [
    args: %{},
    flags: %{},
    options: %{},
    unknown: []
    ]
    end