IvanRublev Domo Versions Save

A library to validate values of nested structs with their type spec t() and associated precondition functions

v1.5.15

1 month ago
  • Support sum types as element of a list: [a | b]
  • Improve compatibility with Elixir 1.16

v1.5.14

10 months ago
  • Fix validate_type/* function to run without Ecto validate_required warning.
  • Add __t__/0 reflection function to each struct using Domo, which returns a binary description of the struct's type spec t(). Useful when you want to know the type Domo validation is built on.

v1.5.10

1 year ago
  • Improve compatibility with ElixirLS. After running mix deps.update domo, please, remove .elixir_ls in your project directory and reopen VSCode.

v1.5.9

1 year ago
  • Fix the crash when running in the root of the umbrella project having Phoenix hot reload configured in one of the apps.
  • Fix to use the current group leader of the caller in ResolvePlanner server for verbose IO messages.
  • Rename option name_of_new_function to gen_constructor_name. Please, update your project.
  • Make Domo generated new!/1/0 and new/2/1/0 composable instead of overridable, see Custom constructor function section in README.

v1.5.8

1 year ago
  • Support validation of the following Ecto.Schema types: belongs_to(t), has_one(t), has_many(t), many_to_many(t), embeds_one(t), and embeds_many(t).
  • The validate_type/2 function for changesets:
    • validates required fields automatically for the given Ecto schema.
    • doesn't validate fields of Ecto.Schema types are listed above, so the user can explicitly call cast_assoc/2/3 for these fields.
  • Validates any combination of the term() with other types as the term().
  • Domo generated constructor functions new!/1/0 and new/2/1/0 become overridable.

v1.5.7

1 year ago
  • Fix to resolve mfa() type correctly
  • Fix tests to acknowledge the random order of keys in map

v1.5.6

1 year ago
  • Fix to remove unnecessary code path to make mix dialyzer pass on generated code.

v1.5.5

2 years ago
  • Fix to repeatedly run mix test and mix dialyzer without crashes.

v1.5.4

2 years ago
  • Fix to reenable the support of Phoenix hot-reload. If you use it then, please, add :domo_phoenix_hot_reload after :elixir to compilers list in the mix.exs file and to reloadable_compilers list in the config file.
  • Add test_coverage configuration example to exclude generated TypeEnsurer modules from the test coverage report

v1.5.3

2 years ago
  • Fix to generate type ensurers only in the scope of the given app in umbrella

  • Fix for Elixir v1.13 to recompile depending module's type ensurer on the change of type in another module by deleting .beam file

  • Deprecate ensure_struct_defaults: false for skip_defaults: true, the former option is supported till the next version. Please, migrate to the latter one.