Raxol.Recording.Asciicast (Raxol v2.3.0)

View Source

Serializes and deserializes asciinema v2 .cast files.

The asciicast v2 format is:

  • Line 1: JSON header with version, width, height, timestamp, env
  • Remaining lines: [elapsed_seconds, "o", "output_data"] (newline-delimited JSON)

See: https://docs.asciinema.org/manual/asciicast/v2/

Summary

Functions

Decodes an asciicast v2 format string into a session.

Encodes a session to asciicast v2 format string.

Reads a .cast file into a session. Returns {:ok, session} or {:error, reason}.

Reads a .cast file into a session. Raises on failure.

Writes a session to a .cast file.

Functions

decode(content)

@spec decode(String.t()) :: Raxol.Recording.Session.t()

Decodes an asciicast v2 format string into a session.

encode(session)

@spec encode(Raxol.Recording.Session.t()) :: String.t()

Encodes a session to asciicast v2 format string.

read(path)

@spec read(Path.t()) :: {:ok, Raxol.Recording.Session.t()} | {:error, term()}

Reads a .cast file into a session. Returns {:ok, session} or {:error, reason}.

read!(path)

@spec read!(Path.t()) :: Raxol.Recording.Session.t()

Reads a .cast file into a session. Raises on failure.

write!(session, path)

@spec write!(Raxol.Recording.Session.t(), Path.t()) :: :ok

Writes a session to a .cast file.