Skip to content

Commit c2e7a2f

Browse files
committed
Default nil for optionals
1 parent 36b626c commit c2e7a2f

File tree

6 files changed

+10
-6
lines changed
  • .golden
    • swiftAdvancedRecordSpec
    • swiftBasicDocSpec
    • swiftBasicRecordSpec
    • swiftRecord0DuplicateRecordFieldSpec
    • swiftRecord1DuplicateRecordFieldSpec
  • src/Moat/Pretty

6 files changed

+10
-6
lines changed

.golden/swiftAdvancedRecordSpec/golden

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ public struct Data: CaseIterable, Hashable, Codable {
22
public var field0: Int
33
public var field1: Int?
44

5-
public init(field0: Int, field1: Int?) {
5+
public init(field0: Int, field1: Int? = nil) {
66
self.field0 = field0
77
self.field1 = field1
88
}

.golden/swiftBasicDocSpec/golden

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public struct Data {
3333
/// Second field, it's maybe an Int
3434
public var second: Int?
3535

36-
public init(first: Int, second: Int?) {
36+
public init(first: Int, second: Int? = nil) {
3737
self.first = first
3838
self.second = second
3939
}

.golden/swiftBasicRecordSpec/golden

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ public struct Data {
22
public var field0: Int
33
public var field1: Int?
44

5-
public init(field0: Int, field1: Int?) {
5+
public init(field0: Int, field1: Int? = nil) {
66
self.field0 = field0
77
self.field1 = field1
88
}

.golden/swiftRecord0DuplicateRecordFieldSpec/golden

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ public struct Data0 {
44
/// not a duplicate
55
public var field1: Int?
66

7-
public init(field0: Int, field1: Int?) {
7+
public init(field0: Int, field1: Int? = nil) {
88
self.field0 = field0
99
self.field1 = field1
1010
}

.golden/swiftRecord1DuplicateRecordFieldSpec/golden

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ public struct Data1 {
44
/// not a duplicate
55
public var field2: String?
66

7-
public init(field0: String, field2: String?) {
7+
public init(field0: String, field2: String? = nil) {
88
self.field0 = field0
99
self.field2 = field2
1010
}

src/Moat/Pretty/Swift.hs

+5-1
Original file line numberDiff line numberDiff line change
@@ -305,9 +305,13 @@ prettyStructInitializer indents fields deprecatedFields =
305305
deprecatedFieldNames = map fst deprecatedFields
306306
activeFields = filter (\(Field name _ _) -> name `notElem` deprecatedFieldNames) fields
307307

308+
isOptional :: MoatType -> Bool
309+
isOptional (Optional _) = True
310+
isOptional _ = False
311+
308312
prettyParam :: Field -> String
309313
prettyParam (Field fieldName fieldType _) =
310-
fieldName ++ ": " ++ prettyMoatType fieldType
314+
fieldName ++ ": " ++ prettyMoatType fieldType ++ (if isOptional fieldType then " = nil" else "")
311315

312316
prettyAssignment :: String -> Field -> String
313317
prettyAssignment indentStr (Field fieldName _ _) =

0 commit comments

Comments
 (0)