diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/raw_sql_skeleton/Namespace.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/raw_sql_skeleton/Namespace.kt index d0a3c49..55a4560 100644 --- a/src/commonMain/kotlin/ru/landgrafhomyak/db/raw_sql_skeleton/Namespace.kt +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/raw_sql_skeleton/Namespace.kt @@ -27,5 +27,12 @@ public class Namespace( return constructor.createTable(table, TableConstructor.Scope(table)) } + public fun table(name: String, constructor: (table: Table, members: TableConstructor.Scope) -> tUE): tUE = + this.table(name, DefaultTableConstructorWrapper(constructor)) + public val path: List = this._path.asList() + + private class DefaultTableConstructorWrapper(private val fn: (table: Table, members: TableConstructor.Scope) -> tUE) : TableConstructor { + override fun createTable(table: Table, members: TableConstructor.Scope): tUE = this.fn(table, members) + } } \ No newline at end of file diff --git a/src/commonMain/kotlin/ru/landgrafhomyak/db/raw_sql_skeleton/_TableUserExtensionTemplate.kt b/src/commonMain/kotlin/ru/landgrafhomyak/db/raw_sql_skeleton/_TableUserExtensionTemplate.kt new file mode 100644 index 0000000..ecc3ab8 --- /dev/null +++ b/src/commonMain/kotlin/ru/landgrafhomyak/db/raw_sql_skeleton/_TableUserExtensionTemplate.kt @@ -0,0 +1,9 @@ +package ru.landgrafhomyak.db.raw_sql_skeleton + +public abstract class _TableUserExtensionTemplate(private val __table: Table) { + public val __namespace: Namespace get() = this.__table.namespace + public val __name: String get() = this.__table.name + public val __asSqlReference: String get() = this.__table.asSqlReference + public val __asSqlString: String get() = this.__table.asSqlString + override fun toString(): String = this.__table.toString() +} \ No newline at end of file