def get_map_type()

in packages/python-packages/protocol-stub-generator/protocol/protocol_models.py [0:0]


def get_map_type(yaml, name=""):
    # Find yaml type
    key = ""
    m_type = ""
    if name:
        if yaml["requests"][0]["parameters"]:
            for i in yaml["requests"][0]["parameters"]:
                if i["schema"].get("properties", []):
                    for j in i["schema"]["properties"]:
                        if j["serializedName"] == name:
                            m_type = get_type(j["schema"]["elementType"])
                            key = j["schema"]["language"]["default"]["name"]
                    for j in i["schema"]["properties"][0]["schema"].get(
                        "properties", []
                    ):
                        if j["serializedName"] == name:
                            m_type = get_type(j["schema"]["elementType"])
                            key = j["schema"]["language"]["default"]["name"]
                    for j in i["schema"]["properties"][0]["schema"].get(
                        "elementType", []
                    ):
                        for k in i["schema"]["properties"][0]["schema"][
                            "elementType"
                        ].get("properties", []):
                            if k["serializedName"] == name:
                                m_type = get_type(k["schema"]["elementType"])
                                key = k["schema"]["language"]["default"]["name"]
                    if i["schema"]["properties"][0].get("serializedName") == name:
                        m_type = get_type(
                            i["schema"]["properties"][0]["schema"]["elementType"]
                        )
                        key = i["schema"]["properties"][0]["schema"]["language"][
                            "default"
                        ]["name"]
                if i["schema"].get("elementType", []):
                    if i["schema"]["elementType"].get("properties", []):
                        for j in i["schema"]["elementType"].get("properties", []):
                            if j["serializedName"] == name:
                                m_type = get_type(j["schema"]["elementType"])
                                key = j["schema"]["language"]["default"]["name"]
                        for j in i["schema"]["elementType"]["properties"][0][
                            "schema"
                        ].get("elementType", []):
                            for k in i["schema"]["elementType"]["properties"][0][
                                "schema"
                            ]["elementType"].get("properties", []):
                                if k["serializedName"] == name:
                                    m_type = get_type(k["schema"]["elementType"])
                                    key = k["schema"]["language"]["default"]["name"]
        if yaml["responses"][0].get("schema"):
            for i in yaml["responses"][0]["schema"].get("properties", []):
                if i["schema"].get("properties", []):
                    for j in i["schema"]["properties"][0]["schema"].get(
                        "properties", []
                    ):
                        if j["serializedName"] == name:
                            m_type = get_type(j["schema"]["elementType"])
                            key = j["schema"]["language"]["default"]["name"]
                    for j in i["schema"]["properties"][0]["schema"].get(
                        "elementType", []
                    ):
                        for k in i["schema"]["properties"][0]["schema"][
                            "elementType"
                        ].get("properties", []):
                            if k["serializedName"] == name:
                                m_type = get_type(k["schema"]["elementType"])
                                key = k["schema"]["language"]["default"]["name"]
                if i["serializedName"] == name:
                    m_type = get_type(i["schema"]["elementType"])
                    key = i["schema"]["language"]["default"]["name"]
                if i["schema"].get("elementType", []):
                    for j in i["schema"]["elementType"].get("properties", []):
                        if j["serializedName"] == name:
                            m_type = get_type(j["schema"]["elementType"])
                            key = j["schema"]["language"]["default"]["name"]
    return m_type, key