├── .formatter.exs ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── LICENSE ├── README.md ├── config └── config.exs ├── lib ├── ex_type.ex ├── ex_type │ ├── argument_expander.ex │ ├── assert.ex │ ├── checker.ex │ ├── context.ex │ ├── custom_env.ex │ ├── debug.ex │ ├── emoji.ex │ ├── filter.ex │ ├── helper.ex │ ├── parser.ex │ ├── type.ex │ ├── typespec.ex │ ├── typespec │ │ ├── elixir │ │ │ ├── collectable.ex │ │ │ ├── enum.ex │ │ │ ├── enumerable.ex │ │ │ ├── inspect.ex │ │ │ ├── map.ex │ │ │ ├── map_set.ex │ │ │ ├── path.ex │ │ │ └── stream.ex │ │ ├── erlang.ex │ │ └── maps.ex │ ├── typespecable.ex │ └── unification.ex ├── example │ └── foo.ex └── mix │ └── tasks │ └── type.ex ├── mix.exs ├── mix.lock ├── test ├── ex_type │ ├── argument_expander_test.exs │ ├── checker_test_case.ex │ ├── typespec │ │ └── elixir │ │ │ ├── enum_test_case.ex │ │ │ ├── enumerable_test_case.ex │ │ │ └── stream_test_case.ex │ ├── typespec_test.exs │ └── typespecable_test.exs ├── ex_type_test.exs └── test_helper.exs └── type.exs /.formatter.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/.formatter.exs -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/README.md -------------------------------------------------------------------------------- /config/config.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/config/config.exs -------------------------------------------------------------------------------- /lib/ex_type.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type.ex -------------------------------------------------------------------------------- /lib/ex_type/argument_expander.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/argument_expander.ex -------------------------------------------------------------------------------- /lib/ex_type/assert.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/assert.ex -------------------------------------------------------------------------------- /lib/ex_type/checker.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/checker.ex -------------------------------------------------------------------------------- /lib/ex_type/context.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/context.ex -------------------------------------------------------------------------------- /lib/ex_type/custom_env.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/custom_env.ex -------------------------------------------------------------------------------- /lib/ex_type/debug.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/debug.ex -------------------------------------------------------------------------------- /lib/ex_type/emoji.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/emoji.ex -------------------------------------------------------------------------------- /lib/ex_type/filter.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/filter.ex -------------------------------------------------------------------------------- /lib/ex_type/helper.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/helper.ex -------------------------------------------------------------------------------- /lib/ex_type/parser.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/parser.ex -------------------------------------------------------------------------------- /lib/ex_type/type.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/type.ex -------------------------------------------------------------------------------- /lib/ex_type/typespec.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/typespec.ex -------------------------------------------------------------------------------- /lib/ex_type/typespec/elixir/collectable.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/typespec/elixir/collectable.ex -------------------------------------------------------------------------------- /lib/ex_type/typespec/elixir/enum.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/typespec/elixir/enum.ex -------------------------------------------------------------------------------- /lib/ex_type/typespec/elixir/enumerable.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/typespec/elixir/enumerable.ex -------------------------------------------------------------------------------- /lib/ex_type/typespec/elixir/inspect.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/typespec/elixir/inspect.ex -------------------------------------------------------------------------------- /lib/ex_type/typespec/elixir/map.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/typespec/elixir/map.ex -------------------------------------------------------------------------------- /lib/ex_type/typespec/elixir/map_set.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/typespec/elixir/map_set.ex -------------------------------------------------------------------------------- /lib/ex_type/typespec/elixir/path.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/typespec/elixir/path.ex -------------------------------------------------------------------------------- /lib/ex_type/typespec/elixir/stream.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/typespec/elixir/stream.ex -------------------------------------------------------------------------------- /lib/ex_type/typespec/erlang.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/typespec/erlang.ex -------------------------------------------------------------------------------- /lib/ex_type/typespec/maps.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/typespec/maps.ex -------------------------------------------------------------------------------- /lib/ex_type/typespecable.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/typespecable.ex -------------------------------------------------------------------------------- /lib/ex_type/unification.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/ex_type/unification.ex -------------------------------------------------------------------------------- /lib/example/foo.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/example/foo.ex -------------------------------------------------------------------------------- /lib/mix/tasks/type.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/lib/mix/tasks/type.ex -------------------------------------------------------------------------------- /mix.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/mix.exs -------------------------------------------------------------------------------- /mix.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/mix.lock -------------------------------------------------------------------------------- /test/ex_type/argument_expander_test.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/test/ex_type/argument_expander_test.exs -------------------------------------------------------------------------------- /test/ex_type/checker_test_case.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/test/ex_type/checker_test_case.ex -------------------------------------------------------------------------------- /test/ex_type/typespec/elixir/enum_test_case.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/test/ex_type/typespec/elixir/enum_test_case.ex -------------------------------------------------------------------------------- /test/ex_type/typespec/elixir/enumerable_test_case.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/test/ex_type/typespec/elixir/enumerable_test_case.ex -------------------------------------------------------------------------------- /test/ex_type/typespec/elixir/stream_test_case.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/test/ex_type/typespec/elixir/stream_test_case.ex -------------------------------------------------------------------------------- /test/ex_type/typespec_test.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/test/ex_type/typespec_test.exs -------------------------------------------------------------------------------- /test/ex_type/typespecable_test.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/test/ex_type/typespecable_test.exs -------------------------------------------------------------------------------- /test/ex_type_test.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/test/ex_type_test.exs -------------------------------------------------------------------------------- /test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start() 2 | -------------------------------------------------------------------------------- /type.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gyson/ex_type/HEAD/type.exs --------------------------------------------------------------------------------