(schema_list: List[EventSchema])
| 27 | |
| 28 | |
| 29 | def merge_schema(schema_list: List[EventSchema]): |
| 30 | type_set = set() |
| 31 | role_set = set() |
| 32 | type_role_dict = defaultdict(list) |
| 33 | |
| 34 | for schema in schema_list: |
| 35 | |
| 36 | for type_name in schema.type_list: |
| 37 | type_set.add(type_name) |
| 38 | |
| 39 | for role_name in schema.role_list: |
| 40 | role_set.add(role_name) |
| 41 | |
| 42 | for type_name in schema.type_role_dict: |
| 43 | type_role_dict[type_name] += schema.type_role_dict[type_name] |
| 44 | |
| 45 | for type_name in type_role_dict: |
| 46 | type_role_dict[type_name] = list(set(type_role_dict[type_name])) |
| 47 | |
| 48 | return EventSchema(type_list=list(type_set), |
| 49 | role_list=list(role_set), |
| 50 | type_role_dict=type_role_dict, |
| 51 | ) |
nothing calls this directly
no test coverage detected