TypeGraphToJsonObjectSchemaTransformer

class TypeGraphToJsonObjectSchemaTransformer @JvmOverloads constructor(val config: JsonSchemaConfig = JsonSchemaConfig.Default, json: Json = Json { encodeDefaults = true }, jsonSchemaTransformer: TypeGraphToJsonSchemaTransformer = TypeGraphToJsonSchemaTransformer(config, json)) : AbstractTypeGraphTransformer<JsonObject, JsonSchemaConfig> (source)

Transforms TypeGraph IR into JSON Schema as a JsonObject.

This transformer delegates to TypeGraphToJsonSchemaTransformer to produce a kotlinx.schema.json.JsonSchema object first, then serializes it to JsonObject.

This two-step approach ensures:

  • Both reflection and KSP generators use the same TypeGraphToJsonSchemaTransformer

  • The JsonSchema type provides a structured, type-safe intermediate representation

  • JsonObject can be produced when needed by serializing the JsonSchema

Parameters

json

JSON encoder for serialization

Constructors

Link copied to clipboard
constructor(config: JsonSchemaConfig = JsonSchemaConfig.Default, json: Json = Json { encodeDefaults = true }, jsonSchemaTransformer: TypeGraphToJsonSchemaTransformer = TypeGraphToJsonSchemaTransformer(config, json))

Properties

Link copied to clipboard
open override val config: JsonSchemaConfig

JSON Schema generation configuration

Functions

Link copied to clipboard
open override fun transform(graph: TypeGraph, rootName: String): JsonObject

Transforms a type graph into a JSON Schema JsonObject.