Tags: ejpcmac/typed_struct
Tags
typed_struct 0.3.0 Added: - [Plugin] Add the field/4 callback with an additional env argument. This is the same as field/3 but gives access to the environment of the field definition. Deprecated: - [Plugin] Deprecate the field/3 callback in favour of field/4. You should migrate to field/4, simply by adding _env as the last argument in your implementation. Currently, if a plugin implements field/3, field/4 is derived from it and a compilation warning is emitted. field/3 will be removed in TypedStruct 1.0.0. Removed: - Drop support for unsupported Elixir versions in the tests and CI. The library may still be compatible, but this is not tested. Fixed: - Fix the lexical scope of the typestruct block, so it covers it completely. Previously, anything defined inside the typedstruct block, such as aliases, would not be available for the field definitions. See #22 and #21 for details. - Fix a typo in the documentation.
typed_struct v0.2.1+docfix-1 Changed: - Enhance the documentation. - Mention Domo and TypedEctoSchema. - Fix the shell.nix.
typed_struct 0.2.1
Added:
- Add the module: ModuleName top-level option to create the typed struct in a
submodule.
Changed:
- Update the @TypeDoc example in the documentation to put it inside the
typedstruct block and not above. While putting it above works in the
general case, it is mandatory to put it inside the block when defining a
submodule.
typed_struct 0.2.0
Added:
- Add a plugin API.
Removed:
- Remove reflection support through the __keys__/0, __defaults__/0 and
__types__/0 function which where defined by TypedStruct in the user modules.
If you rely on these functions, please use the TypedStructLegacyReflection
plugin to enable them again, and consider creating a plugin for your needs.
Fixed:
- Do not enforce fields with a default value set to nil (fixes #14).
- Prefix all internal module attributes and clean them after use (fixes #15).
- Create a scope in the `typedstruct` block to avoid import leaks.