SmithyEndpointGen

zio.http.gen.smithy.SmithyEndpointGen
See theSmithyEndpointGen companion class

Generates zio-http Endpoint definitions from Smithy models.

This code generator reads a SmithyModel AST and produces:

  • Endpoint definitions for operations with @http traits
  • Case classes for structure shapes
  • Sealed traits for union shapes
  • Type aliases for simple shapes

Attributes

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

Members list

Value members

Concrete methods

def fromDirectory(dir: Path): Either[String, Files]

Read all .smithy files from a directory and generate combined Code.Files using default config

Read all .smithy files from a directory and generate combined Code.Files using default config

Attributes

Source
SmithyEndpointGen.scala
def fromDirectory(dir: Path, config: SmithyConfig): Either[String, Files]

Read all .smithy files from a directory and generate combined Code.Files

Read all .smithy files from a directory and generate combined Code.Files

Value parameters

config

Configuration options for code generation

dir

Directory containing .smithy files

Attributes

Returns

Either parse/validation errors or the generated code files

Source
SmithyEndpointGen.scala
def fromFile(path: Path): Either[String, Files]

Read a single .smithy file and generate Code.Files using default config

Read a single .smithy file and generate Code.Files using default config

Attributes

Source
SmithyEndpointGen.scala
def fromFile(path: Path, config: SmithyConfig): Either[String, Files]

Read a single .smithy file and generate Code.Files

Read a single .smithy file and generate Code.Files

Value parameters

config

Configuration options for code generation

path

Path to the .smithy file

Attributes

Source
SmithyEndpointGen.scala

Generate Code.Files from a SmithyModel using default config

Generate Code.Files from a SmithyModel using default config

Attributes

Source
SmithyEndpointGen.scala

Generate Code.Files from a SmithyModel

Generate Code.Files from a SmithyModel

Value parameters

config

Configuration options for code generation

model

The SmithyModel to generate code from

Attributes

Source
SmithyEndpointGen.scala

Generate Code.Files from a SmithyModel with validation using default config

Generate Code.Files from a SmithyModel with validation using default config

Value parameters

model

The SmithyModel to generate code from

validate

Whether to validate the model before generation

Attributes

Returns

Either validation errors or the generated code files

Source
SmithyEndpointGen.scala

Generate Code.Files from a SmithyModel with optional validation

Generate Code.Files from a SmithyModel with optional validation

Value parameters

config

Configuration options for code generation

model

The SmithyModel to generate code from

validate

Whether to validate the model before generation (overrides config)

Attributes

Returns

Either validation errors or the generated code files

Source
SmithyEndpointGen.scala
def fromString(smithyIdl: String): Either[String, Files]

Parse a Smithy IDL string and generate Code.Files using default config

Parse a Smithy IDL string and generate Code.Files using default config

Attributes

Source
SmithyEndpointGen.scala
def fromString(smithyIdl: String, config: SmithyConfig): Either[String, Files]

Parse a Smithy IDL string and generate Code.Files

Parse a Smithy IDL string and generate Code.Files

Value parameters

config

Configuration options for code generation

smithyIdl

The Smithy IDL string to parse

Attributes

Source
SmithyEndpointGen.scala
def generate(sourceDir: Path, targetDir: Path, basePackage: String, scalafmtPath: Option[Path] = ...): Either[String, Iterable[Path]]

Generate code from .smithy files and write to target directory using default config

Generate code from .smithy files and write to target directory using default config

Value parameters

basePackage

Base package for generated code

scalafmtPath

Optional path to scalafmt config for formatting

sourceDir

Directory containing .smithy files

targetDir

Directory to write generated Scala files

Attributes

Returns

Either an error message or the list of generated file paths

Source
SmithyEndpointGen.scala
def generate(sourceDir: Path, targetDir: Path, basePackage: String, scalafmtPath: Option[Path], config: SmithyConfig): Either[String, Iterable[Path]]

Generate code from .smithy files and write to target directory

Generate code from .smithy files and write to target directory

Value parameters

basePackage

Base package for generated code

config

Configuration options for code generation

scalafmtPath

Optional path to scalafmt config for formatting

sourceDir

Directory containing .smithy files

targetDir

Directory to write generated Scala files

Attributes

Returns

Either an error message or the list of generated file paths

Source
SmithyEndpointGen.scala
def generateFromFile(sourceFile: Path, targetDir: Path, basePackage: String, scalafmtPath: Option[Path] = ...): Either[String, Iterable[Path]]

Generate code from a single .smithy file and write to target directory using default config

Generate code from a single .smithy file and write to target directory using default config

Value parameters

basePackage

Base package for generated code

scalafmtPath

Optional path to scalafmt config for formatting

sourceFile

Path to the .smithy file

targetDir

Directory to write generated Scala files

Attributes

Returns

Either an error message or the list of generated file paths

Source
SmithyEndpointGen.scala
def generateFromFile(sourceFile: Path, targetDir: Path, basePackage: String, scalafmtPath: Option[Path], config: SmithyConfig): Either[String, Iterable[Path]]

Generate code from a single .smithy file and write to target directory

Generate code from a single .smithy file and write to target directory

Value parameters

basePackage

Base package for generated code

config

Configuration options for code generation

scalafmtPath

Optional path to scalafmt config for formatting

sourceFile

Path to the .smithy file

targetDir

Directory to write generated Scala files

Attributes

Returns

Either an error message or the list of generated file paths

Source
SmithyEndpointGen.scala