@@ -229,18 +229,18 @@ extension SnapshotTests {
229229 var baz: Int
230230 }
231231
232- extension Bar: StructuredQueries .Table {
233- public struct TableColumns: StructuredQueries .TableDefinition {
232+ extension Bar: StructuredQueriesCore .Table {
233+ public struct TableColumns: StructuredQueriesCore .TableDefinition {
234234 public typealias QueryValue = Bar
235- public let baz = StructuredQueries .TableColumn<QueryValue, Int>("baz", keyPath: \QueryValue.baz)
236- public static var allColumns: [any StructuredQueries .TableColumnExpression] {
235+ public let baz = StructuredQueriesCore .TableColumn<QueryValue, Int>("baz", keyPath: \QueryValue.baz)
236+ public static var allColumns: [any StructuredQueriesCore .TableColumnExpression] {
237237 [QueryValue.columns.baz]
238238 }
239239 }
240240 public static let columns = TableColumns()
241241 public static let tableName = "bar"
242242 public static let schemaName: Swift.String? = "foo"
243- public init(decoder: inout some StructuredQueries .QueryDecoder) throws {
243+ public init(decoder: inout some StructuredQueriesCore .QueryDecoder) throws {
244244 let baz = try decoder.decode(Int.self)
245245 guard let baz else {
246246 throw QueryDecodingError.missingRequiredColumn
@@ -540,24 +540,33 @@ extension SnapshotTests {
540540 """
541541 } diagnostics: {
542542 """
543- @Table
544- struct Foo {
545- var bar: Date
546- ┬────────────
547- ╰─ 🛑 'Date' column requires a query representation
548- ✏️ Insert '@Column(as: Date.ISO8601Representation.self)'
549- ✏️ Insert '@Column(as: Date.UnixTimeRepresentation.self)'
550- ✏️ Insert '@Column(as: Date.JulianDayRepresentation.self)'
551- }
552- """
553- } fixes: {
543+
554544 """
555- @Table
545+ } expansion: {
546+ #"""
556547 struct Foo {
557- @Column(as: Date.ISO8601Representation.self)
558548 var bar: Date
559549 }
560- """
550+
551+ extension Foo: StructuredQueriesCore.Table {
552+ public struct TableColumns: StructuredQueriesCore.TableDefinition {
553+ public typealias QueryValue = Foo
554+ public let bar = StructuredQueriesCore.TableColumn<QueryValue, Date.ISO8601Representation>("bar", keyPath: \QueryValue.bar)
555+ public static var allColumns: [any StructuredQueriesCore.TableColumnExpression] {
556+ [QueryValue.columns.bar]
557+ }
558+ }
559+ public static let columns = TableColumns()
560+ public static let tableName = "foos"
561+ public init(decoder: inout some StructuredQueriesCore.QueryDecoder) throws {
562+ let bar = try decoder.decode(Date.ISO8601Representation.self)
563+ guard let bar else {
564+ throw QueryDecodingError.missingRequiredColumn
565+ }
566+ self.bar = bar
567+ }
568+ }
569+ """#
561570 } expansion: {
562571 #"""
563572 struct Foo {
@@ -567,15 +576,15 @@ extension SnapshotTests {
567576 extension Foo: StructuredQueriesCore.Table {
568577 public struct TableColumns: StructuredQueriesCore.TableDefinition {
569578 public typealias QueryValue = Foo
570- public let bar = StructuredQueriesCore.TableColumn<QueryValue, Date.ISO8601Representation >("bar", keyPath: \QueryValue.bar)
579+ public let bar = StructuredQueriesCore.TableColumn<QueryValue, Date>("bar", keyPath: \QueryValue.bar)
571580 public static var allColumns: [any StructuredQueriesCore.TableColumnExpression] {
572581 [QueryValue.columns.bar]
573582 }
574583 }
575584 public static let columns = TableColumns()
576585 public static let tableName = "foos"
577586 public init(decoder: inout some StructuredQueriesCore.QueryDecoder) throws {
578- let bar = try decoder.decode(Date.ISO8601Representation. self)
587+ let bar = try decoder.decode(Date.self)
579588 guard let bar else {
580589 throw QueryDecodingError.missingRequiredColumn
581590 }
@@ -596,24 +605,29 @@ extension SnapshotTests {
596605 """
597606 } diagnostics: {
598607 """
599- @Table
600- struct Foo {
601- var bar: Date?
602- ┬─────────────
603- ╰─ 🛑 'Date' column requires a query representation
604- ✏️ Insert '@Column(as: Date.ISO8601Representation?.self)'
605- ✏️ Insert '@Column(as: Date.UnixTimeRepresentation?.self)'
606- ✏️ Insert '@Column(as: Date.JulianDayRepresentation?.self)'
607- }
608- """
609- } fixes: {
608+
610609 """
611- @Table
610+ } expansion: {
611+ #"""
612612 struct Foo {
613- @Column(as: Date.ISO8601Representation?.self)
614613 var bar: Date?
615614 }
616- """
615+
616+ extension Foo: StructuredQueriesCore.Table {
617+ public struct TableColumns: StructuredQueriesCore.TableDefinition {
618+ public typealias QueryValue = Foo
619+ public let bar = StructuredQueriesCore.TableColumn<QueryValue, Date.ISO8601Representation?>("bar", keyPath: \QueryValue.bar)
620+ public static var allColumns: [any StructuredQueriesCore.TableColumnExpression] {
621+ [QueryValue.columns.bar]
622+ }
623+ }
624+ public static let columns = TableColumns()
625+ public static let tableName = "foos"
626+ public init(decoder: inout some StructuredQueriesCore.QueryDecoder) throws {
627+ self.bar = try decoder.decode(Date.ISO8601Representation.self)
628+ }
629+ }
630+ """#
617631 } expansion: {
618632 #"""
619633 struct Foo {
@@ -623,15 +637,15 @@ extension SnapshotTests {
623637 extension Foo: StructuredQueriesCore.Table {
624638 public struct TableColumns: StructuredQueriesCore.TableDefinition {
625639 public typealias QueryValue = Foo
626- public let bar = StructuredQueriesCore.TableColumn<QueryValue, Date.ISO8601Representation ?>("bar", keyPath: \QueryValue.bar)
640+ public let bar = StructuredQueriesCore.TableColumn<QueryValue, Date?>("bar", keyPath: \QueryValue.bar)
627641 public static var allColumns: [any StructuredQueriesCore.TableColumnExpression] {
628642 [QueryValue.columns.bar]
629643 }
630644 }
631645 public static let columns = TableColumns()
632646 public static let tableName = "foos"
633647 public init(decoder: inout some StructuredQueriesCore.QueryDecoder) throws {
634- self.bar = try decoder.decode(Date.ISO8601Representation. self)
648+ self.bar = try decoder.decode(Date.self)
635649 }
636650 }
637651 """#
@@ -648,24 +662,29 @@ extension SnapshotTests {
648662 """
649663 } diagnostics: {
650664 """
651- @Table
652- struct Foo {
653- var bar: Optional<Date>
654- ┬──────────────────────
655- ╰─ 🛑 'Date' column requires a query representation
656- ✏️ Insert '@Column(as: Date.ISO8601Representation?.self)'
657- ✏️ Insert '@Column(as: Date.UnixTimeRepresentation?.self)'
658- ✏️ Insert '@Column(as: Date.JulianDayRepresentation?.self)'
659- }
660- """
661- } fixes: {
665+
662666 """
663- @Table
667+ } expansion: {
668+ #"""
664669 struct Foo {
665- @Column(as: Date.ISO8601Representation?.self)
666670 var bar: Optional<Date>
667671 }
668- """
672+
673+ extension Foo: StructuredQueriesCore.Table {
674+ public struct TableColumns: StructuredQueriesCore.TableDefinition {
675+ public typealias QueryValue = Foo
676+ public let bar = StructuredQueriesCore.TableColumn<QueryValue, Date.ISO8601Representation?>("bar", keyPath: \QueryValue.bar)
677+ public static var allColumns: [any StructuredQueriesCore.TableColumnExpression] {
678+ [QueryValue.columns.bar]
679+ }
680+ }
681+ public static let columns = TableColumns()
682+ public static let tableName = "foos"
683+ public init(decoder: inout some StructuredQueriesCore.QueryDecoder) throws {
684+ self.bar = try decoder.decode(Date.ISO8601Representation.self)
685+ }
686+ }
687+ """#
669688 } expansion: {
670689 #"""
671690 struct Foo {
@@ -675,15 +694,15 @@ extension SnapshotTests {
675694 extension Foo: StructuredQueriesCore.Table {
676695 public struct TableColumns: StructuredQueriesCore.TableDefinition {
677696 public typealias QueryValue = Foo
678- public let bar = StructuredQueriesCore.TableColumn<QueryValue, Date.ISO8601Representation? >("bar", keyPath: \QueryValue.bar)
697+ public let bar = StructuredQueriesCore.TableColumn<QueryValue, Optional< Date> >("bar", keyPath: \QueryValue.bar)
679698 public static var allColumns: [any StructuredQueriesCore.TableColumnExpression] {
680699 [QueryValue.columns.bar]
681700 }
682701 }
683702 public static let columns = TableColumns()
684703 public static let tableName = "foos"
685704 public init(decoder: inout some StructuredQueriesCore.QueryDecoder) throws {
686- self.bar = try decoder.decode(Date.ISO8601Representation .self)
705+ self.bar = try decoder.decode(Optional< Date> .self)
687706 }
688707 }
689708 """#
@@ -700,24 +719,29 @@ extension SnapshotTests {
700719 """
701720 } diagnostics: {
702721 """
703- @Table
704- struct Foo {
705- var bar = Date()
706- ┬───────────────
707- ╰─ 🛑 'Date' column requires a query representation
708- ✏️ Insert '@Column(as: Date.ISO8601Representation.self)'
709- ✏️ Insert '@Column(as: Date.UnixTimeRepresentation.self)'
710- ✏️ Insert '@Column(as: Date.JulianDayRepresentation.self)'
711- }
712- """
713- } fixes: {
722+
714723 """
715- @Table
724+ } expansion: {
725+ #"""
716726 struct Foo {
717- @Column(as: Date.ISO8601Representation.self)
718727 var bar = Date()
719728 }
720- """
729+
730+ extension Foo: StructuredQueriesCore.Table {
731+ public struct TableColumns: StructuredQueriesCore.TableDefinition {
732+ public typealias QueryValue = Foo
733+ public let bar = StructuredQueriesCore.TableColumn<QueryValue, Date.ISO8601Representation>("bar", keyPath: \QueryValue.bar, default: Date())
734+ public static var allColumns: [any StructuredQueriesCore.TableColumnExpression] {
735+ [QueryValue.columns.bar]
736+ }
737+ }
738+ public static let columns = TableColumns()
739+ public static let tableName = "foos"
740+ public init(decoder: inout some StructuredQueriesCore.QueryDecoder) throws {
741+ self.bar = try decoder.decode(Date.ISO8601Representation.self) ?? Date()
742+ }
743+ }
744+ """#
721745 } expansion: {
722746 #"""
723747 struct Foo {
@@ -727,15 +751,15 @@ extension SnapshotTests {
727751 extension Foo: StructuredQueriesCore.Table {
728752 public struct TableColumns: StructuredQueriesCore.TableDefinition {
729753 public typealias QueryValue = Foo
730- public let bar = StructuredQueriesCore.TableColumn<QueryValue, Date.ISO8601Representation >("bar", keyPath: \QueryValue.bar, default: Date())
754+ public let bar = StructuredQueriesCore.TableColumn<QueryValue, _ >("bar", keyPath: \QueryValue.bar, default: Date())
731755 public static var allColumns: [any StructuredQueriesCore.TableColumnExpression] {
732756 [QueryValue.columns.bar]
733757 }
734758 }
735759 public static let columns = TableColumns()
736760 public static let tableName = "foos"
737761 public init(decoder: inout some StructuredQueriesCore.QueryDecoder) throws {
738- self.bar = try decoder.decode(Date.ISO8601Representation.self ) ?? Date()
762+ self.bar = try decoder.decode() ?? Date()
739763 }
740764 }
741765 """#
0 commit comments