in Sources/MockoloFramework/Models/Import.swift [122:146]
func resolved() -> [Import] {
var modifierByModuleName = [String: Import.Modifier]()
for imp in self {
switch (imp.modifier, modifierByModuleName[imp.moduleName]) {
case let (.acl(acl), .acl(existingACL)):
if acl.rank > existingACL.rank {
modifierByModuleName[imp.moduleName] = .acl(acl)
}
case (.testable, .acl(.internal)), (.testable, .acl(.package)):
modifierByModuleName[imp.moduleName] = .testable
case (.some(let modifier), .none):
modifierByModuleName[imp.moduleName] = modifier
default:
break
}
}
return Set(map(\.moduleName)).sorted().map {
Import(
moduleName: $0,
modifier: modifierByModuleName[$0]
)
}
}