Ash.Page.Keyset (ash v1.47.3) View Source

A page of results from keyset based pagination.

The results are generated with a keyset metadata, which can be used to fetch the next/previous pages.

Important

Keyset pagination cannot currently be used in conjunction with aggregate and calculation sorting. Combining them will result in an error on the query.

Link to this section Summary

Functions

A restricted version of :erlang.binary_to_term/2 that forbids executable terms, such as anonymous functions. The opts are given to the underlying :erlang.binary_to_term/2 call, with an empty list as a default. By default this function does not restrict atoms, as an atom interned in one node may not yet have been interned on another (except for releases, which preload all code). If you want to avoid atoms from being created, then you can pass [:safe] as options, as that will also enable the safety mechanisms from :erlang.binary_to_term/2 itself. Ripped from https://github.com/elixir-plug/plug_crypto/blob/v1.2.0/lib/plug/crypto.ex

Link to this section Types

Specs

t() :: %Ash.Page.Keyset{
  after: term(),
  before: term(),
  count: term(),
  limit: term(),
  more?: term(),
  rerun: term(),
  results: term()
}

Link to this section Functions

Link to this function

data_with_keyset(results, resource, sort)

View Source
Link to this function

filter(resource, values, sort, after_or_before)

View Source
Link to this function

new(results, count, sort, original_query, more?, opts)

View Source
Link to this function

non_executable_binary_to_term(binary, opts)

View Source

A restricted version of :erlang.binary_to_term/2 that forbids executable terms, such as anonymous functions. The opts are given to the underlying :erlang.binary_to_term/2 call, with an empty list as a default. By default this function does not restrict atoms, as an atom interned in one node may not yet have been interned on another (except for releases, which preload all code). If you want to avoid atoms from being created, then you can pass [:safe] as options, as that will also enable the safety mechanisms from :erlang.binary_to_term/2 itself. Ripped from https://github.com/elixir-plug/plug_crypto/blob/v1.2.0/lib/plug/crypto.ex