func processTypeParams()

in Sources/MockoloFramework/Utils/TypeParser.swift [571:611]


    func processTypeParams(with typeParamList: [String]) -> String {
        let closureRng = typeName.range(of: String.closureArrow)
        let isEscaping = typeName.hasPrefix(String.escaping)

        let isTypeOptional = isOptional
        var ret = typeName
        if let closureRng = closureRng {
            let left = ret[ret.startIndex..<closureRng.lowerBound]
            let right = ret[closureRng.lowerBound..<ret.endIndex]
            ret = left + right.replacingOccurrences(of: "\(String.some) ", with: "\(String.any) ")
            
            for item in typeParamList {
                if isEscaping, left.literalComponents.contains(item) {
                    ret = String.anyType
                    if isTypeOptional {
                        ret += "?"
                    }
                    return ret
                }
            }

            for item in typeParamList {
                if ret.literalComponents.contains(item) {
                    ret = ret.replacingOccurrences(of: item, with: String.anyType)
                }
            }
            return ret
        } else {
            let hasGenericType = typeParamList.filter{ (item: String) -> Bool in
                ret.literalComponents.contains(item)
            }.isEmpty == false

            if hasGenericType || isOpaqueType {
                ret = .anyType
                if isTypeOptional {
                    ret += "?"
                }
            }
            return ret
        }
    }