@@ -1703,5 +1703,75 @@ extension SnapshotTests {
17031703 """#
17041704 }
17051705 }
1706+
1707+ @Test func commentAfterOptionalID( ) {
1708+ assertMacro {
1709+ """
1710+ @Table
1711+ struct Reminder {
1712+ let id: Int? // TODO: Migrate to UUID
1713+ var title = " "
1714+ }
1715+ """
1716+ } expansion: {
1717+ #"""
1718+ struct Reminder {
1719+ let id: Int? // TODO: Migrate to UUID
1720+ var title = ""
1721+ }
1722+
1723+ extension Reminder: StructuredQueriesCore.Table, StructuredQueriesCore.PrimaryKeyedTable {
1724+ public struct TableColumns: StructuredQueriesCore.TableDefinition, StructuredQueriesCore.PrimaryKeyedTableDefinition {
1725+ public typealias QueryValue = Reminder
1726+ public let id = StructuredQueriesCore.TableColumn<QueryValue, Int?>("id", keyPath: \QueryValue.id)
1727+ public let title = StructuredQueriesCore.TableColumn<QueryValue, Swift.String>("title", keyPath: \QueryValue.title, default: "")
1728+ public var primaryKey: StructuredQueriesCore.TableColumn<QueryValue, Int?> {
1729+ self.id
1730+ }
1731+ public static var allColumns: [any StructuredQueriesCore.TableColumnExpression] {
1732+ [QueryValue.columns.id, QueryValue.columns.title]
1733+ }
1734+ }
1735+ public struct Draft: StructuredQueriesCore.TableDraft {
1736+ public typealias PrimaryTable = Reminder
1737+ @Column(primaryKey: false)
1738+ let id: Int?
1739+ var title = ""
1740+ public struct TableColumns: StructuredQueriesCore.TableDefinition {
1741+ public typealias QueryValue = Reminder.Draft
1742+ public let id = StructuredQueriesCore.TableColumn<QueryValue, Int?>("id", keyPath: \QueryValue.id)
1743+ public let title = StructuredQueriesCore.TableColumn<QueryValue, Swift.String>("title", keyPath: \QueryValue.title, default: "")
1744+ public static var allColumns: [any StructuredQueriesCore.TableColumnExpression] {
1745+ [QueryValue.columns.id, QueryValue.columns.title]
1746+ }
1747+ }
1748+ public static let columns = TableColumns()
1749+ public static let tableName = Reminder.tableName
1750+ public init(decoder: inout some StructuredQueriesCore.QueryDecoder) throws {
1751+ self.id = try decoder.decode(Int.self)
1752+ self.title = try decoder.decode(Swift.String.self) ?? ""
1753+ }
1754+ public init(_ other: Reminder) {
1755+ self.id = other.id
1756+ self.title = other.title
1757+ }
1758+ public init(
1759+ id: Int? = nil,
1760+ title: Swift.String = ""
1761+ ) {
1762+ self.id = id
1763+ self.title = title
1764+ }
1765+ }
1766+ public static let columns = TableColumns()
1767+ public static let tableName = "reminders"
1768+ public init(decoder: inout some StructuredQueriesCore.QueryDecoder) throws {
1769+ self.id = try decoder.decode(Int.self)
1770+ self.title = try decoder.decode(Swift.String.self) ?? ""
1771+ }
1772+ }
1773+ """#
1774+ }
1775+ }
17061776 }
17071777}
0 commit comments