You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

21 lines
837 B
Kotlin

@file:Suppress("UNUSED")
package me.eater.hefbrug.dsl.context
import me.eater.hefbrug.definition.impl.PackageDefinition
import me.eater.hefbrug.definition.impl.ServiceDefinition
import me.eater.hefbrug.dsl.annotation.HefbrugDSL
import me.eater.hefbrug.dsl.context.extension_util.DefinitionHelper.runBlock
import me.eater.hefbrug.dsl.context.impl.PackageContext
import me.eater.hefbrug.dsl.context.impl.ServiceContext
import java.util.*
@HefbrugDSL
abstract class TargetedContext : ContextInterface {
abstract val runtimeUUID: UUID
suspend fun sv(vararg id: String, block: suspend ServiceContext.() -> Unit = {}) =
runBlock(this, ServiceDefinition.factory, id, block)
suspend fun pkg(vararg id: String, block: suspend PackageContext.() -> Unit = {}) =
runBlock(this, PackageDefinition.factory, id, block)
}