Skip to content

Commit 0465e23

Browse files
committed
wip
1 parent 20148be commit 0465e23

File tree

2 files changed

+36
-28
lines changed

2 files changed

+36
-28
lines changed

Sources/StructuredQueriesMacros/TableMacro.swift

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1325,15 +1325,17 @@ extension TableMacro: MemberMacro {
13251325
let staticColumns = selectedColumns.map {
13261326
$0 == identifier ? "\($0)" : "\(valueType)?(queryOutput: nil)" as ExprSyntax
13271327
}
1328+
let staticInitialization = staticColumns
1329+
.map { "allColumns.append(contentsOf: \($0)._allColumns)\n" }
1330+
.joined()
1331+
13281332
selectionInitializers.append(
13291333
"""
13301334
public static func \(identifier)(
13311335
\(firstName) \(identifier): some \(moduleName).QueryExpression<\(valueType)>
13321336
) -> Self {
1333-
Self(
1334-
allColumns: [\(staticColumns.map { "\($0)._allColumns" as ExprSyntax }, separator: ", ")]\
1335-
.flatMap(\\.self)
1336-
)
1337+
var allColumns: [any StructuredQueriesCore.QueryExpression] = []
1338+
\(raw: staticInitialization)return Self(allColumns: allColumns)
13371339
}
13381340
"""
13391341
)

Tests/StructuredQueriesMacrosTests/TableMacroTests.swift

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2293,16 +2293,18 @@ extension SnapshotTests {
22932293
public static func photo(
22942294
_ photo: some StructuredQueriesCore.QueryExpression<Photo>
22952295
) -> Self {
2296-
Self(
2297-
allColumns: [photo._allColumns, Photo?(queryOutput: nil)._allColumns].flatMap(\.self)
2298-
)
2296+
var allColumns: [any StructuredQueriesCore.QueryExpression] = []
2297+
allColumns.append(contentsOf: photo._allColumns)
2298+
allColumns.append(contentsOf: Photo?(queryOutput: nil)._allColumns)
2299+
return Self(allColumns: allColumns)
22992300
}
23002301
public static func note(
23012302
_ note: some StructuredQueriesCore.QueryExpression<String>
23022303
) -> Self {
2303-
Self(
2304-
allColumns: [String?(queryOutput: nil)._allColumns, note._allColumns].flatMap(\.self)
2305-
)
2304+
var allColumns: [any StructuredQueriesCore.QueryExpression] = []
2305+
allColumns.append(contentsOf: String?(queryOutput: nil)._allColumns)
2306+
allColumns.append(contentsOf: note._allColumns)
2307+
return Self(allColumns: allColumns)
23062308
}
23072309
}
23082310
}
@@ -2395,16 +2397,18 @@ extension SnapshotTests {
23952397
public static func photo(
23962398
_ photo: some StructuredQueriesCore.QueryExpression<Photo>
23972399
) -> Self {
2398-
Self(
2399-
allColumns: [photo._allColumns, Photo?(queryOutput: nil)._allColumns].flatMap(\.self)
2400-
)
2400+
var allColumns: [any StructuredQueriesCore.QueryExpression] = []
2401+
allColumns.append(contentsOf: photo._allColumns)
2402+
allColumns.append(contentsOf: Photo?(queryOutput: nil)._allColumns)
2403+
return Self(allColumns: allColumns)
24012404
}
24022405
public static func note(
24032406
_ note: some StructuredQueriesCore.QueryExpression<String>
24042407
) -> Self {
2405-
Self(
2406-
allColumns: [String?(queryOutput: nil)._allColumns, note._allColumns].flatMap(\.self)
2407-
)
2408+
var allColumns: [any StructuredQueriesCore.QueryExpression] = []
2409+
allColumns.append(contentsOf: String?(queryOutput: nil)._allColumns)
2410+
allColumns.append(contentsOf: note._allColumns)
2411+
return Self(allColumns: allColumns)
24082412
}
24092413
}
24102414
}
@@ -2478,16 +2482,18 @@ extension SnapshotTests {
24782482
public static func photo(
24792483
_ photo: some StructuredQueriesCore.QueryExpression<Photo>
24802484
) -> Self {
2481-
Self(
2482-
allColumns: [photo._allColumns, Photo?(queryOutput: nil)._allColumns].flatMap(\.self)
2483-
)
2485+
var allColumns: [any StructuredQueriesCore.QueryExpression] = []
2486+
allColumns.append(contentsOf: photo._allColumns)
2487+
allColumns.append(contentsOf: Photo?(queryOutput: nil)._allColumns)
2488+
return Self(allColumns: allColumns)
24842489
}
24852490
public static func note(
24862491
text note: some StructuredQueriesCore.QueryExpression<String>
24872492
) -> Self {
2488-
Self(
2489-
allColumns: [String?(queryOutput: nil)._allColumns, note._allColumns].flatMap(\.self)
2490-
)
2493+
var allColumns: [any StructuredQueriesCore.QueryExpression] = []
2494+
allColumns.append(contentsOf: String?(queryOutput: nil)._allColumns)
2495+
allColumns.append(contentsOf: note._allColumns)
2496+
return Self(allColumns: allColumns)
24912497
}
24922498
}
24932499
}
@@ -2557,9 +2563,9 @@ extension SnapshotTests {
25572563
public static func note(
25582564
text note: some StructuredQueriesCore.QueryExpression<String>
25592565
) -> Self {
2560-
Self(
2561-
allColumns: [note._allColumns].flatMap(\.self)
2562-
)
2566+
var allColumns: [any StructuredQueriesCore.QueryExpression] = []
2567+
allColumns.append(contentsOf: note._allColumns)
2568+
return Self(allColumns: allColumns)
25632569
}
25642570
}
25652571
}
@@ -2627,9 +2633,9 @@ extension SnapshotTests {
26272633
public static func timestamp(
26282634
_ timestamp: some StructuredQueriesCore.QueryExpression<Date.UnixTimeRepresentation>
26292635
) -> Self {
2630-
Self(
2631-
allColumns: [timestamp._allColumns].flatMap(\.self)
2632-
)
2636+
var allColumns: [any StructuredQueriesCore.QueryExpression] = []
2637+
allColumns.append(contentsOf: timestamp._allColumns)
2638+
return Self(allColumns: allColumns)
26332639
}
26342640
}
26352641
}

0 commit comments

Comments
 (0)