@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) }