graphql-python / graphql-python/graphene
non-reversible case conversion
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Python
- Star
- 8.2k
- Fork
- 818
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
- What is the current behavior?
>>> from graphene.utils.str_converters import to_snake_case
>>> from graphene.utils.str_converters import to_camel_case
>>> to_camel_case("my_variable_1")
'myVariable1'
>>> to_snake_case("myVariable1")
'my_variable1'
- What is the expected behavior?
>>> from graphene.utils.str_converters import to_snake_case
>>> from graphene.utils.str_converters import to_camel_case
>>> to_camel_case("my_variable_1")
'myVariable1'
>>> to_snake_case("myVariable1")
'my_variable_1'
- What is the motivation / use case for changing the behavior?
Being able to convert objects/properties back and forth between server and client.
Also useful for introspecting and debugging use cases.
In my particular case, I receive an object on my server that the client got from the api and I want to associate it with the source which I now need an extra mapping for since the conversion is one-directional.
- Please tell us about your environment:
Version: graphene-django 2.10.0
- Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow)
This is where in graphene it is happening: https://github.com/graphql-python/graphene/issues/1204
My current workaround is to add an underscore in case of trailing numbers:
input = re.sub(r'(.*)(\d+)$', r'\1_\2', input)
I have 2 solution suggestions:
- Adding an underscore in case of trailing numbers.
- Not removing the underscore in case of trailing numbers (like
_1).
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu trong graphene.utils.str_converters và tái hiện các ví dụ được ghi lại cho to_camel_case và to_snake_case. So sánh hai cách xử lý được đề xuất đối với các số ở cuối, sau đó xác định hành vi round-trip mong đợi và xác minh rằng việc chuyển đổi giữ nguyên dấu gạch dưới trước số cuối cùng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- api
- Loại issue
- Lỗi
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100