Skip to content

Commit 372a673

Browse files
committed
wip
1 parent 511e61c commit 372a673

File tree

3 files changed

+128
-14
lines changed

3 files changed

+128
-14
lines changed

Sources/StructuredQueriesMacros/TableMacro.swift

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -603,7 +603,7 @@ extension TableMacro: MemberMacro {
603603
}
604604
let type = IdentifierTypeSyntax(name: declaration.name.trimmed)
605605
var allColumns: [TokenSyntax] = []
606-
var selectableColumnsLiterals: [String] = []
606+
var selectedColumns: [TokenSyntax] = []
607607
var columnsProperties: [DeclSyntax] = []
608608
var decodings: [String] = []
609609
var decodingUnwrappings: [String] = []
@@ -725,11 +725,7 @@ extension TableMacro: MemberMacro {
725725
)
726726
}
727727

728-
// Capture all column string literals for the query fragment
729-
selectableColumnsLiterals.append(
730-
columnName.as(StringLiteralExprSyntax.self)?.segments.description
731-
?? identifier.text.trimmingBackticks()
732-
)
728+
selectedColumns.append(identifier)
733729

734730
if !isGenerated {
735731
// NB: A compiler bug prevents us from applying the '@_Draft' macro directly
@@ -989,8 +985,6 @@ extension TableMacro: MemberMacro {
989985
return []
990986
}
991987

992-
let selectableColumns = selectableColumnsLiterals.map { "\"\($0)\"" }.joined(separator: ", ")
993-
994988
var typeAliases: [DeclSyntax] = []
995989
if declaration.hasMacroApplication("Selection") {
996990
conformances.append("\(moduleName).PartialSelectStatement")
@@ -1014,8 +1008,7 @@ extension TableMacro: MemberMacro {
10141008
[\(allColumns.map { "QueryValue.columns.\($0)" as ExprSyntax }, separator: ", ")]
10151009
}
10161010
public var queryFragment: QueryFragment {
1017-
QueryFragment(stringLiteral: [\(raw: selectableColumns)].map { "\\"\\(QueryValue.tableName)\\".\\"\\($0)\\"" }
1018-
.joined(separator: ", "))
1011+
"\(selectedColumns.map { #"\(self.\#($0))"# as ExprSyntax }, separator: ", ")"
10191012
}
10201013
}
10211014
""",

0 commit comments

Comments
 (0)