A set of utilities for working with the AT Protocol in Elixir.

Initial commit

ovyerus.com faaa3c31

verified
+4
.formatter.exs
···
+
# Used by "mix format"
+
[
+
inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"]
+
]
+26
.gitignore
···
+
# The directory Mix will write compiled artifacts to.
+
/_build/
+
+
# If you run "mix test --cover", coverage assets end up here.
+
/cover/
+
+
# The directory Mix downloads your dependencies sources to.
+
/deps/
+
+
# Where third-party dependencies like ExDoc output generated docs.
+
/doc/
+
+
# If the VM crashes, it generates a dump, let's ignore it too.
+
erl_crash.dump
+
+
# Also ignore archive artifacts (built via "mix archive.build").
+
*.ez
+
+
# Ignore package tarball (built via "mix hex.build").
+
atex-*.tar
+
+
# Temporary files, for example, from tests.
+
/tmp/
+
+
.envrc
+
.direnv
+21
README.md
···
+
# Atex
+
+
**TODO: Add description**
+
+
## Installation
+
+
If [available in Hex](https://hex.pm/docs/publish), the package can be installed
+
by adding `atex` to your list of dependencies in `mix.exs`:
+
+
```elixir
+
def deps do
+
[
+
{:atex, "~> 0.1.0"}
+
]
+
end
+
```
+
+
Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
+
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
+
be found at <https://hexdocs.pm/atex>.
+
+27
flake.lock
···
+
{
+
"nodes": {
+
"nixpkgs": {
+
"locked": {
+
"lastModified": 1749143949,
+
"narHash": "sha256-QuUtALJpVrPnPeozlUG/y+oIMSLdptHxb3GK6cpSVhA=",
+
"owner": "nixos",
+
"repo": "nixpkgs",
+
"rev": "d3d2d80a2191a73d1e86456a751b83aa13085d7d",
+
"type": "github"
+
},
+
"original": {
+
"owner": "nixos",
+
"ref": "nixos-unstable",
+
"repo": "nixpkgs",
+
"type": "github"
+
}
+
},
+
"root": {
+
"inputs": {
+
"nixpkgs": "nixpkgs"
+
}
+
}
+
},
+
"root": "root",
+
"version": 7
+
}
+21
flake.nix
···
+
{
+
inputs = {
+
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
+
};
+
+
outputs = {nixpkgs, ...}: let
+
forSystems = fn:
+
nixpkgs.lib.genAttrs [
+
"aarch64-linux"
+
"aarch64-darwin"
+
"x86_64-darwin"
+
"x86_64-linux"
+
] (system: fn nixpkgs.legacyPackages.${system});
+
defaultForSystems = fn: forSystems (pkgs: {default = fn pkgs;});
+
in {
+
devShells = defaultForSystems (pkgs:
+
pkgs.mkShell {
+
nativeBuildInputs = with pkgs; [elixir erlang];
+
});
+
};
+
}
+2
lib/atex.ex
···
+
defmodule Atex do
+
end
+26
mix.exs
···
+
defmodule Atex.MixProject do
+
use Mix.Project
+
+
def project do
+
[
+
app: :atex,
+
version: "0.1.0",
+
elixir: "~> 1.18",
+
start_permanent: Mix.env() == :prod,
+
deps: deps()
+
]
+
end
+
+
def application do
+
[
+
extra_applications: [:logger]
+
]
+
end
+
+
# Run "mix help deps" to learn about dependencies.
+
defp deps do
+
[
+
{:typedstruct, "~> 0.5"}
+
]
+
end
+
end
+3
mix.lock
···
+
%{
+
"typedstruct": {:hex, :typedstruct, "0.5.3", "d68ae424251a41b81a8d0c485328ab48edbd3858f3565bbdac21b43c056fc9b4", [:make, :mix], [], "hexpm", "b53b8186701417c0b2782bf02a2db5524f879b8488f91d1d83b97d84c2943432"},
+
}
+8
test/atex_test.exs
···
+
defmodule AtexTest do
+
use ExUnit.Case
+
doctest Atex
+
+
test "greets the world" do
+
assert Atex.hello() == :world
+
end
+
end
+1
test/test_helper.exs
···
+
ExUnit.start()