Package-level declarations

Types

Link copied to clipboard

Inspects bytecode or reflective type information to extract Tapik HTTP endpoint signatures.

Link copied to clipboard
class GenerateTask(config: GenerateTaskConfiguration, log: (String, Throwable?) -> Unit, logDebug: (String, Throwable?) -> Unit, logWarn: (String, Throwable?) -> Unit)

A task that generates client code from tapik endpoint definitions.

Link copied to clipboard
data class GenerateTaskConfiguration(val outputDirectory: File, val generatedSourcesDirectory: File, val endpointPackages: List<String>, val compiledClassesDirectory: File, val additionalClasspathDirectories: List<File>, val enabledGeneratorIds: Set<String>)

Configuration for the GenerateTask.

Link copied to clipboard
data class HttpEndpointSignature(val name: String, val packageName: String, val file: String, val path: TypeMetadata, val parameters: TypeMetadata, val input: InputSignature, val outputs: TypeMetadata, val imports: List<String>, val rawType: String, val ownerInternalName: String, val methodName: String)

Captures the essential metadata derived from inspecting a Tapik HTTP endpoint declaration.

Link copied to clipboard
data class InputSignature(val type: TypeMetadata, val headers: TypeMetadata, val body: TypeMetadata)

Captures the input type information of an HTTP endpoint.

Link copied to clipboard

A generator that creates Markdown documentation from tapik endpoint definitions.

Link copied to clipboard
interface TapikGenerator

Contract implemented by Tapik code generators loaded at runtime.

Link copied to clipboard
data class TapikGeneratorContext(val outputDirectory: File, val generatedSourcesDirectory: File, val log: (String) -> Unit, val logDebug: (String) -> Unit, val logWarn: (String, Throwable?) -> Unit)

Carries directories and logging utilities that Tapik generators rely on.

Functions

Link copied to clipboard

Collects the simple names of the receiver type and all of its nested generic arguments.

Link copied to clipboard

Determines a Kotlin type that represents the payload carried by Tapik body metadata.

Link copied to clipboard

Escapes quotes and path separators so that the string can be safely embedded inside annotation arguments.

Link copied to clipboard

Escapes terminator sequences that would prematurely end a KDoc block.

Link copied to clipboard

Splits and trims multi-line documentation text into individual lines suitable for KDoc rendering.

Link copied to clipboard

Renders the receiver type as a Kotlin type literal, including generics and nullability information.

Link copied to clipboard

Quotes Kotlin keywords and other unsafe symbols to produce a valid identifier.

Link copied to clipboard
fun sanitizeIdentifier(rawName: String?, fallback: String): String

Sanitises an arbitrary identifier so that it is safe to use as a Kotlin name.

Link copied to clipboard

Resolves the simple, unqualified name of the receiver type.

Link copied to clipboard

Generates a unique identifier by applying numeric suffixes until an unused variant is discovered.