RenderJson

io.eezo.db.cli.RenderJson
object RenderJson

The machine front end: the same result values Render turns into text, as JSON.

This is design/objective.md's "every step emits machine-readable output" landing: an agent drives the loop on --json and never parses prose. It exists this cheaply only because layer 1 returns values; every function here is a fold over one of them.

The encoding is deliberately hand rolled over Json rather than derived: these shapes are a public contract for tools, and a contract should not silently change because a field was renamed in a Scala case class. Each object carries a "command" discriminator so a stream of results needs no out of band context.

Every change carries its sql alongside the classification, because the reader most likely to be here is deciding whether to run it.

Attributes

Source
RenderJson.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
RenderJson.type

Members list

Value members

Concrete methods

def ddl(statements: List[String]): String

Attributes

Source
RenderJson.scala
def drop(r: DropResult): String

Attributes

Source
RenderJson.scala
def dump(snapshot: SchemaSnap): String

Attributes

Source
RenderJson.scala
def freeze(r: FreezeResult): String

Attributes

Source
RenderJson.scala
def migrate(r: MigrateResult): String

Attributes

Source
RenderJson.scala
def reset(r: ResetResult): String

Attributes

Source
RenderJson.scala
def status(r: StatusResult): String

Attributes

Source
RenderJson.scala
def sync(r: SyncResult, applyRequested: Boolean): String

Attributes

Source
RenderJson.scala