Packages
livebook
0.2.1
0.19.8
0.19.7
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.6
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.3
0.17.2
0.17.1
0.17.0
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.14.0-rc.1
0.14.0-rc.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
Automate code & data workflows with interactive notebooks
Current section
Files
Jump to
Current section
Files
lib/livebook/notebook/cell/elixir.ex
defmodule Livebook.Notebook.Cell.Elixir do
@moduledoc false
# A cell with Elixir code.
#
# It consists of text content that the user can edit
# and produces some output once evaluated.
defstruct [:id, :metadata, :source, :outputs]
alias Livebook.Utils
alias Livebook.Notebook.Cell
@type t :: %__MODULE__{
id: Cell.id(),
metadata: Cell.metadata(),
source: String.t(),
outputs: list(output())
}
@typedoc """
For more details on output types see `t:Kino.Output.t/0`.
"""
@type output ::
:ignored
# Regular text, adjacent such outputs can be treated as a whole
| binary()
# Standalone text block
| {:text, binary()}
# A raw image in the given format.
| {:image, content :: binary(), mime_type :: binary()}
# Vega-Lite graphic
| {:vega_lite_static, spec :: map()}
# Vega-Lite graphic with dynamic data
| {:vega_lite_dynamic, widget_process :: pid()}
# Interactive data table
| {:table_dynamic, widget_process :: pid()}
# Internal output format for errors
| {:error, message :: binary()}
@doc """
Returns an empty cell.
"""
@spec new() :: t()
def new() do
%__MODULE__{
id: Utils.random_id(),
metadata: %{},
source: "",
outputs: []
}
end
end