Skip to content

Tags: ejpcmac/typed_struct

Tags

v0.3.0

Toggle v0.3.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
ejpcmac Jean-Philippe Cugnet
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.

v0.2.1+docfix-1

Toggle v0.2.1+docfix-1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
ejpcmac Jean-Philippe Cugnet
typed_struct v0.2.1+docfix-1

Changed:

- Enhance the documentation.
- Mention Domo and TypedEctoSchema.
- Fix the shell.nix.

v0.2.1

Toggle v0.2.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
ejpcmac Jean-Philippe Cugnet
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.

v0.2.0

Toggle v0.2.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
ejpcmac Jean-Philippe Cugnet
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.

v0.1.4

Toggle v0.1.4's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
ejpcmac Jean-Philippe Cugnet
typed_struct 0.1.4

- Add the ability to generate an opaque type

v0.1.3

Toggle v0.1.3's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
ejpcmac Jean-Philippe Cugnet
typed_struct 0.1.3

- Fix a bug where fields with `default: false` where still enforced when setting
    `enforce: true` at top-level

v0.1.2

Toggle v0.1.2's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
ejpcmac Jean-Philippe Cugnet
typed_struct 0.1.2

- Add the ability to enforce keys by default (#6)
- Clarify the documentation about `runtime: false`

v0.1.1

Toggle v0.1.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
ejpcmac Jean-Philippe Cugnet
typed_struct 0.1.1

- Do not make the type nullable when there is a default value

v0.1.0

Toggle v0.1.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
ejpcmac Jean-Philippe Cugnet
typed_struct 0.1.0

- Initial version
    - Struct definition
    - Type definition
    - Default values
    - Enforced keys