Skip to content

Commit

Permalink
add exists function for EOptional
Browse files Browse the repository at this point in the history
  • Loading branch information
MahdiBM committed Jul 15, 2024
1 parent 7b847fc commit f34ac1e
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 6 deletions.
15 changes: 11 additions & 4 deletions Sources/EnumeratorMacroImpl/Types/EOptional.swift
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,21 @@ extension EOptional: MustacheTransformable {
switch name {
case "bool":
return false
case "exists":
return false
default:
return nil
}
case let .some(value):
if let value = value as? MustacheTransformable {
return value.transform(name)
} else {
return nil
switch name {
case "exists":
return true
default:
if let value = value as? MustacheTransformable {
return value.transform(name)
} else {
return nil
}
}
}
}
Expand Down
12 changes: 10 additions & 2 deletions Tests/EnumeratorMacroTests/EnumeratorMacroTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -257,15 +257,19 @@ final class EnumeratorMacroTests: XCTestCase {
""")
public enum ErrorMessage {
case case1 // business_error
case case2
case case2 // business_error: true
case case3 // business_error: false
case case4 // business_error: adfasdfdsff
case somethingSomething(integration: String)
case otherCase(error: Error, isViolation: Bool) // business_error; l8n_params:
}
"""#,
expandedSource: #"""
public enum ErrorMessage {
case case1 // business_error
case case2
case case2 // business_error: true
case case3 // business_error: false
case case4 // business_error: adfasdfdsff
case somethingSomething(integration: String)
case otherCase(error: Error, isViolation: Bool) // business_error; l8n_params:
Expand All @@ -274,6 +278,10 @@ final class EnumeratorMacroTests: XCTestCase {
case .case1:
return true
case .case2:
return true
case .case3:
return false
case .case4:
return false
case .somethingSomething:
return false
Expand Down

0 comments on commit f34ac1e

Please sign in to comment.