declslides.application

Members list

Type members

Classlikes

Errors raised while turning a valid CLI request into a rendered document.

Errors raised while turning a valid CLI request into a rendered document.

These errors belong to the application layer: they describe invalid inputs, unsupported formats, runtime execution failures, and other problems that can happen while rendering a presentation.

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Produces the bootstrap Scala source executed by the script runner.

Produces the bootstrap Scala source executed by the script runner.

The generated source wraps the user script, resolves the presentation, picks the requested renderer, and writes the final document to disk.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Default validator for DeclSlides input scripts.

Default validator for DeclSlides input scripts.

The default policy is intentionally simple: the file must exist and must use the .sc extension.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object ErrorMessage

Normalizes throwable messages for user-facing error reporting.

Normalizes throwable messages for user-facing error reporting.

This object turns exceptions into readable messages without leaking null or blank strings into the rest of the application.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Validates that an input path is usable as a DeclSlides script.

Validates that an input path is usable as a DeclSlides script.

Validation is kept separate from script execution so that the rules stay explicit and easy to evolve.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Reads the source code of an input presentation script.

Reads the source code of an input presentation script.

Keeping file reading behind an abstraction makes the runner easier to test and keeps I/O details out of the orchestration flow.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

File-system based InputSourceReader backed by os-lib.

File-system based InputSourceReader backed by os-lib.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Format resolver backed by a declslides.rendering.RendererRegistry.

Format resolver backed by a declslides.rendering.RendererRegistry.

Attributes

Supertypes
class Object
trait Matchable
class Any
final class RenderCommand

Application use case that renders a presentation script into an output file.

Application use case that renders a presentation script into an output file.

The command resolves the requested format and delegates the actual execution to a ScriptRunner. It does not deal with command-line concerns or with low-level process wiring.

Value parameters

formatResolver

component that turns raw format labels into render targets

runner

component that executes the actual rendering

Attributes

Supertypes
class Object
trait Matchable
class Any

Resolves a raw format label into a concrete rendering target.

Resolves a raw format label into a concrete rendering target.

This abstraction separates format lookup from the render use case itself, making the command easier to test and easier to extend.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
final case class RenderRequest(input: Path, requestedFormat: String, output: Path)

Rendering request expressed in application-layer terms.

Rendering request expressed in application-layer terms.

Grouping input, output, and format into one value makes the render use case easier to pass around and evolve over time.

Value parameters

input

input script to render

output

destination file for the rendered document

requestedFormat

raw format requested by the caller

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Default bootstrap source factory for the Scala CLI runner.

Default bootstrap source factory for the Scala CLI runner.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Constants and small internal models used by ScalaCliScriptRunner.

Constants and small internal models used by ScalaCliScriptRunner.

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
final class ScalaCliScriptRunner(declslidesDependency: String, scalaCliBinary: String = ..., scalaVersion: Option[String] = ..., inputValidator: InputScriptValidator = ..., inputReader: InputSourceReader = ..., bootstrapSourceFactory: BootstrapSourceFactory = ...) extends ScriptRunner

ScriptRunner implementation that evaluates presentation scripts with Scala CLI.

ScriptRunner implementation that evaluates presentation scripts with Scala CLI.

This runner validates the input, reads the user source, generates a small bootstrap program, executes it through Scala CLI, and cleans up the temporary workspace afterward.

Value parameters

bootstrapSourceFactory

factory used to generate the bootstrap script

declslidesDependency

dependency coordinate used inside the generated bootstrap script

inputReader

reader for the input script source

inputValidator

validator for the input script path

scalaCliBinary

binary used to invoke Scala CLI

scalaVersion

optional Scala version pin for the bootstrap script

Attributes

Companion
object
Supertypes
trait ScriptRunner
class Object
trait Matchable
class Any
trait ScriptRunner

Executes the concrete rendering of a presentation script.

Executes the concrete rendering of a presentation script.

A ScriptRunner hides the details of how the script is evaluated. The current production implementation uses Scala CLI, but the rest of the application does not need to know that.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes