mirror of
https://github.com/livebook-dev/livebook.git
synced 2025-09-14 00:44:58 +08:00
* Add support for scanning smart cell evaluation result * Don't allow moving an evaluating cell across sections * Use consistent naming
22 lines
838 B
Elixir
22 lines
838 B
Elixir
defmodule Livebook.Runtime.Evaluator.Formatter do
|
|
@moduledoc false
|
|
|
|
# Behaviour defining how evaluation results are transformed.
|
|
#
|
|
# The evaluation result is sent to the client as a message and it
|
|
# may potentially be huge. If the client eventually converts the
|
|
# result into some smaller representation, we would unnecessarily
|
|
# send a lot of data. By defining a custom formatter the client can
|
|
# instruct the `Evaluator` to send already transformed data.
|
|
#
|
|
# Additionally, if the results rely on external package installed
|
|
# in the runtime node, then formatting anywhere else wouldn't be
|
|
# accurate, for example using `inspect` on an external struct.
|
|
|
|
alias Livebook.Runtime.Evaluator
|
|
|
|
@doc """
|
|
Transforms the evaluation result.
|
|
"""
|
|
@callback format_result(Evaluator.evaluation_result()) :: term()
|
|
end
|