Meeseeks v0.7.1 Meeseeks.Accumulator behaviour

Accumulator structs package some means of storing nodes selected during the selection process along with a method for checking if the selection should be terminated early and a method for returning the stored nodes.

Users will not typically need to define, or even know about, accumulators, but for users trying to do things like return selected nodes as Document nodes (or even tuple-tree nodes) instead of as Results, a custom accumulator will provide the solution.

Summary

Functions

Provided a document and a node id, returns an updated accumulator

Checks if an accumulator has reached an arbitrary state of completion and no longer wishes to be added to

Returns the values accumulated by the accumulator

Callbacks

Invoked to add a selected node to the accumulator

Invoked to determine if the accumulator is satisfied

Invoked to return the accumulation

Types

t()
t() :: struct

Functions

add(accumulator, document, id)

Provided a document and a node id, returns an updated accumulator.

complete?(accumulator)
complete?(t) :: boolean

Checks if an accumulator has reached an arbitrary state of completion and no longer wishes to be added to.

return(accumulator)
return(t) :: any

Returns the values accumulated by the accumulator.

Callbacks

add(accumulator, document, id)
add(accumulator :: t, document :: Meeseeks.Document.t, id :: Meeseeks.Document.node_id) :: t

Invoked to add a selected node to the accumulator.

complete?(accumulator)
complete?(accumulator :: t) :: boolean

Invoked to determine if the accumulator is satisfied.

return(accumulator)
return(accumulator :: t) :: any

Invoked to return the accumulation.