MCPcopy Index your code
hub / github.com/apache/fory / _to_snake_case

Function _to_snake_case

python/pyfory/struct.py:979–997  ·  view source on GitHub ↗
(name: str)

Source from the content-addressed store, hash-verified

977
978
979def _to_snake_case(name: str) -> str:
980 result = []
981 previous = ""
982 for index, char in enumerate(name):
983 if char == "_":
984 result.append(char)
985 previous = char
986 continue
987 if char.isupper():
988 next_is_lower = index + 1 < len(name) and name[index + 1].islower()
989 previous_lower_or_digit = previous.islower() or previous.isdigit()
990 previous_upper = previous.isupper()
991 if result and result[-1] != "_" and (previous_lower_or_digit or (previous_upper and next_is_lower)):
992 result.append("_")
993 result.append(char.lower())
994 else:
995 result.append(char)
996 previous = char
997 return "".join(result).rstrip("_")
998
999
1000def _sort_fields(type_resolver, field_names, serializers, nullable_map=None, field_infos_list=None):

Callers 2

group_fieldsFunction · 0.85

Calls 1

appendMethod · 0.45

Tested by

no test coverage detected