Skip to content

Commit 9a6aff7

Browse files
authored
Fix comments that are on lines with defaults. (#194)
1 parent cba3b1c commit 9a6aff7

File tree

3 files changed

+23
-13
lines changed

3 files changed

+23
-13
lines changed

Sources/StructuredQueriesMacros/TableMacro.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ extension TableMacro: ExtensionMacro {
295295
\(columnQueryValueType?.rewritten(selfRewriter) ?? "_")\
296296
>(\
297297
\(columnName), \
298-
keyPath: \\QueryValue.\(identifier)\(defaultValue.map { ", default: \($0)" } ?? "")\
298+
keyPath: \\QueryValue.\(identifier)\((defaultValue?.trimmedDescription).map { ", default: \($0)" } ?? "")\
299299
)
300300
"""
301301
)
@@ -794,7 +794,7 @@ extension TableMacro: MemberMacro {
794794
\(columnQueryValueType?.rewritten(selfRewriter) ?? "_")\
795795
>(\
796796
\(columnName), \
797-
keyPath: \\QueryValue.\(identifier)\(defaultValue.map { ", default: \($0)" } ?? "")\
797+
keyPath: \\QueryValue.\(identifier)\((defaultValue?.trimmedDescription).map { ", default: \($0)" } ?? "")\
798798
)
799799
"""
800800
)

Tests/StructuredQueriesMacrosTests/TableMacroTests.swift

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ extension SnapshotTests {
5858
@Table
5959
struct User {
6060
/// The user's identifier.
61-
let id: /* TODO: UUID */Int
61+
let id: /* TODO: UUID */Int // Primary key
6262
/// The user's email.
63-
var email: String? // TODO: Should this be non-optional?
63+
var email: String? = "" // TODO: Should this be non-optional?
6464
/// The user's age.
6565
var age: Int
6666
}
@@ -69,16 +69,16 @@ extension SnapshotTests {
6969
#"""
7070
struct User {
7171
/// The user's identifier.
72-
let id: /* TODO: UUID */Int
72+
let id: /* TODO: UUID */Int // Primary key
7373
/// The user's email.
74-
var email: String? // TODO: Should this be non-optional?
74+
var email: String? = "" // TODO: Should this be non-optional?
7575
/// The user's age.
7676
var age: Int
7777
7878
public nonisolated struct TableColumns: StructuredQueriesCore.TableDefinition, StructuredQueriesCore.PrimaryKeyedTableDefinition {
7979
public typealias QueryValue = User
8080
public let id = StructuredQueriesCore.TableColumn<QueryValue, Int>("id", keyPath: \QueryValue.id)
81-
public let email = StructuredQueriesCore.TableColumn<QueryValue, String?>("email", keyPath: \QueryValue.email)
81+
public let email = StructuredQueriesCore.TableColumn<QueryValue, String?>("email", keyPath: \QueryValue.email, default: "")
8282
public let age = StructuredQueriesCore.TableColumn<QueryValue, Int>("age", keyPath: \QueryValue.age)
8383
public var primaryKey: StructuredQueriesCore.TableColumn<QueryValue, Int> {
8484
self.id
@@ -96,13 +96,13 @@ extension SnapshotTests {
9696
9797
public struct Draft: StructuredQueriesCore.TableDraft {
9898
public typealias PrimaryTable = User
99-
let id: /* TODO: UUID */ Int?
100-
var email: String?
99+
let id: /* TODO: UUID */ Int? // Primary key
100+
var email: String? = ""
101101
var age: Int
102102
public nonisolated struct TableColumns: StructuredQueriesCore.TableDefinition {
103103
public typealias QueryValue = Draft
104104
public let id = StructuredQueriesCore.TableColumn<QueryValue, Int?>("id", keyPath: \QueryValue.id)
105-
public let email = StructuredQueriesCore.TableColumn<QueryValue, String?>("email", keyPath: \QueryValue.email)
105+
public let email = StructuredQueriesCore.TableColumn<QueryValue, String?>("email", keyPath: \QueryValue.email, default: "")
106106
public let age = StructuredQueriesCore.TableColumn<QueryValue, Int>("age", keyPath: \QueryValue.age)
107107
public static var allColumns: [any StructuredQueriesCore.TableColumnExpression] {
108108
[QueryValue.columns.id, QueryValue.columns.email, QueryValue.columns.age]
@@ -124,7 +124,7 @@ extension SnapshotTests {
124124
125125
public nonisolated init(decoder: inout some StructuredQueriesCore.QueryDecoder) throws {
126126
self.id = try decoder.decode(Int.self)
127-
self.email = try decoder.decode(String.self)
127+
self.email = try decoder.decode(String.self) ?? ""
128128
let age = try decoder.decode(Int.self)
129129
guard let age else {
130130
throw QueryDecodingError.missingRequiredColumn
@@ -139,7 +139,7 @@ extension SnapshotTests {
139139
}
140140
public init(
141141
id: /* TODO: UUID */ Int? = nil,
142-
email: String? = nil,
142+
email: String? = "",
143143
age: Int
144144
) {
145145
self.id = id
@@ -158,7 +158,7 @@ extension SnapshotTests {
158158
}
159159
public nonisolated init(decoder: inout some StructuredQueriesCore.QueryDecoder) throws {
160160
let id = try decoder.decode(Int.self)
161-
self.email = try decoder.decode(String.self)
161+
self.email = try decoder.decode(String.self) ?? "" // TODO: Should this be non-optional?
162162
let age = try decoder.decode(Int.self)
163163
guard let id else {
164164
throw QueryDecodingError.missingRequiredColumn

Tests/StructuredQueriesTests/CompileTimeTests.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,13 @@ func dynamicMemberLookup() {
3737
b.baz.is(nil)
3838
}
3939
}
40+
41+
@Table
42+
struct TableWithComments {
43+
/// The user's identifier.
44+
let id: /* TODO: UUID */ Int // Primary key
45+
/// The user's email.
46+
var email: String? = "" // TODO: Should this be non-optional?
47+
/// The user's age.
48+
var age: Int
49+
}

0 commit comments

Comments
 (0)