import { type ModuleId, type ModuleSchemaDefinition, moduleTableName, moduleTablePrefix, parseModuleSchemaDefinition, } from "@ekklesia/contracts"; import { pgTableCreator } from "drizzle-orm/pg-core"; export function createModuleTable(moduleId: ModuleId) { moduleTablePrefix(moduleId); return pgTableCreator((localName) => moduleTableName(moduleId, localName)); } export function defineModuleSchema( definition: Definition, ): Readonly { return parseModuleSchemaDefinition(definition) as Readonly; }