Ash.Type.Map (ash v3.5.9)

View Source

Represents a map stored in the database.

In postgres, for example, this represents binary encoded json

A builtin type that can be referenced via :map

  • :fields (keyword/0) - The types of the fields in the map, and their constraints.
    If constraints are specified, only those fields will be in the casted map.
    For example:
    fields:  [
      amount: [
        type: :integer,
        description: "The amount of the transaction",
        constraints: [
          max: 10
        ]
      ],
      currency: [
        type: :string,
        allow_nil?: false,
        description: "The currency code of the transaction",
        constraints: [
          max_length: 3
        ]
      ]
    ]  
    allow_nil? is true by default

Summary

Functions

handle_change?()

prepare_change?()