SDK ReferenceKotlin SDK

Kotlin SDK Reference

Maven Central

Installation

Gradle (Kotlin DSL)

dependencies {
    implementation("io.github.issadicko:kodi-script:0.1.1")
}

Gradle (Groovy)

implementation 'io.github.issadicko:kodi-script:0.1.1'

Maven

<dependency>
    <groupId>io.github.issadicko</groupId>
    <artifactId>kodi-script</artifactId>
    <version>0.1.1</version>
</dependency>

Quick Start

import com.kodi.script.KodiScript
 
val result = KodiScript.run("""
    let name = "World"
    print("Hello " + name)
""")
 
result.output.forEach { println(it) }

Variable Injection

val variables = mapOf(
    "user" to mapOf(
        "name" to "Alice",
        "role" to "admin"
    )
)
 
val result = KodiScript.run("""
    let greeting = "Hello " + user.name
    let status = user?.active ?: "offline"
    print(greeting)
""", variables)

Builder Pattern

val result = KodiScript.builder("""
    let greeting = customGreet("World")
    print(greeting)
""")
    .withVariable("version", 1.0)
    .registerFunction("customGreet") { args ->
        "Hello, ${args[0]}!"
    }
    .execute()

Spring Boot Integration

@Service
class ScriptService {
    fun executeUserScript(script: String, context: Map<String, Any?>): ScriptResult {
        return KodiScript.builder(script)
            .withVariables(context)
            .execute()
    }
}
 
@RestController
@RequestMapping("/api/scripts")
class ScriptController(private val scriptService: ScriptService) {
    @PostMapping("/execute")
    fun execute(@RequestBody request: ScriptRequest): ScriptResult {
        return scriptService.executeUserScript(request.script, request.context)
    }
}