src/qrkit@types.erl

-module(qrkit@types).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/qrkit/types.gleam").
-export_type([error_correction/0, mode/0, mode_preference/0, symbol/0]).

-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.

?MODULEDOC(
    " Configuration enums shared by the qrkit public API and internal modules.\n"
    "\n"
    " These intentionally live in a leaf module so that both `qrkit` and every\n"
    " `qrkit/internal/*` module can import them without creating a cycle.\n"
).

-type error_correction() :: low | medium | quartile | high.

-type mode() :: numeric | alphanumeric | byte | kanji.

-type mode_preference() :: auto | force_byte.

-type symbol() :: standard | micro | rectangular.