Comments (8)
Thank you for your issue! Overall I'm supportive of the idea. At the very least it can make it easier to ensure all ids are using the correct type (it's currently inconsistent). In terms of implementation I think my preference would be for a macro_rules macro which creates the types for each of the structs, so that they can all share the same methods, while still being distinct types.
from octocrab.
What methods do the newtypes need though? #[derive(Copy, Clone, Debug, Eq, PartialEq, Hash)] and maybe Ord/PartialOrd is all I can think of.
from octocrab.
Well they'll need ways to extract and map the raw IDs, I don't think the type should be completely opaque, so I think we should have methods and trait impls such as into_inner
and Deref
/DerefMut
implementations, and fmt::Display
implementations, as they should still print the numbers.
from octocrab.
I would just make the inner number pub
, but ok...
from octocrab.
I mean would also do that. I think it's important for it to be flexible as there are different cases where one style is more preferable than the other.
from octocrab.
I see you've made ids be mostly i64
. Do you know of any ids that can actually be negative?
from octocrab.
Another question: what is parse_u64
for? It doesn't do anything usefully different AFAICT
from octocrab.
If there was a reason, I have since forgot it, so feel free to disregard the current setup and make everything u64
for now. If it turns out to be needed we can change that part later.
from octocrab.
Related Issues (20)
- Reference::Commit is based on a documentation error
- Authentication breaks for "child" clients HOT 1
- Should `RateLimit::reset` be a `u64`? HOT 1
- create_workflow_dispatch failed with GitHubError HOT 2
- Model bug in DiffEntry: Submodules have `"blob_url": null` and `"raw_url": null`
- Superseded by #625
- [pulls] Pull request review create/edit API HOT 1
- list_collaborators with permission
- Support remove_assignees on issue API
- Creating pr request with "head_repo" parameter
- field 'author' and 'committer' of type 'RepoCommitPage' are wrong HOT 1
- Support procuring a user access token from an oauth code HOT 1
- no method to create a repository hook
- Return result instead of panic when returning an `installation` Octocrab instance HOT 1
- Builder add_retry_config requires intermediate variable binding
- Add support for `latest` in the `UpdateReleaseBuilder` HOT 1
- auto_squash_enabled Issue/Pull Error HOT 1
- ***BUG*** octocrab::users can not parse name=null users HOT 2
- Easily remove backtraces from error messages
- Page fields are not filled for different handlers like Issues, PRs, ... HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from octocrab.