Kotlin SDK Reference
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)
}
}