Ash.Type.Keyword (ash v3.27.8)

Copy Markdown View Source

Represents a keyword list, stored as a :map in the database.

A builtin type that can be referenced via :keyword

  • :fields (keyword/0) - Required. The types of the fields in the keyword, and their constraints.
    If constraints are specified, only those fields will be in the casted keyword.
    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
    • :type (an Ash.Type) - Required.

    • :description (String.t/0)

    • :allow_nil? (boolean/0) - The default value is true.

    • :constraints (keyword/0) - The default value is [].

    • :init? (boolean/0) - If false, the field's type constraints are not initialised at compile time. Allows for recursive keyword fields. The default value is true.

Summary

Functions

handle_change?()

prepare_change?()