Skip to content

Commit f34ac1e

Browse files
committed
add exists function for EOptional
1 parent 7b847fc commit f34ac1e

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

Sources/EnumeratorMacroImpl/Types/EOptional.swift

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,21 @@ extension EOptional: MustacheTransformable {
7676
switch name {
7777
case "bool":
7878
return false
79+
case "exists":
80+
return false
7981
default:
8082
return nil
8183
}
8284
case let .some(value):
83-
if let value = value as? MustacheTransformable {
84-
return value.transform(name)
85-
} else {
86-
return nil
85+
switch name {
86+
case "exists":
87+
return true
88+
default:
89+
if let value = value as? MustacheTransformable {
90+
return value.transform(name)
91+
} else {
92+
return nil
93+
}
8794
}
8895
}
8996
}

Tests/EnumeratorMacroTests/EnumeratorMacroTests.swift

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -257,15 +257,19 @@ final class EnumeratorMacroTests: XCTestCase {
257257
""")
258258
public enum ErrorMessage {
259259
case case1 // business_error
260-
case case2
260+
case case2 // business_error: true
261+
case case3 // business_error: false
262+
case case4 // business_error: adfasdfdsff
261263
case somethingSomething(integration: String)
262264
case otherCase(error: Error, isViolation: Bool) // business_error; l8n_params:
263265
}
264266
"""#,
265267
expandedSource: #"""
266268
public enum ErrorMessage {
267269
case case1 // business_error
268-
case case2
270+
case case2 // business_error: true
271+
case case3 // business_error: false
272+
case case4 // business_error: adfasdfdsff
269273
case somethingSomething(integration: String)
270274
case otherCase(error: Error, isViolation: Bool) // business_error; l8n_params:
271275
@@ -274,6 +278,10 @@ final class EnumeratorMacroTests: XCTestCase {
274278
case .case1:
275279
return true
276280
case .case2:
281+
return true
282+
case .case3:
283+
return false
284+
case .case4:
277285
return false
278286
case .somethingSomething:
279287
return false

0 commit comments

Comments
 (0)