You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current problem is that we have fields for different types (title of issue, login of user, etc.) and we also have different connections with input parameters (issue by state, pullrequests, etc.). Some connections can be polymorphic, so to abstract further, it's better to separate types.
I propose a new structure with clearer boundaries (and probably avoiding recursive dependencies).
I will write in a shorter syntax for clarity. Mostly duplicates the GitHub API structure:
GitHubTypesConnectionIssueMilestonePullRequestUserIdConnectionsLabelsIssue-- issue by numberIssues-- list of issuesPullRequestsMilestonesInterfaceActor-- has author nameEnumsIssueStatePullRequestStateIssueOrderQueriesRepositoryViewerMutationsCreateIssueAddAssigneesToAssignableGraphQLQueryMutationRenderAPI-- calling remote API, better name neededCommonQueryMutationAbstraction-- local abstractions for better UX and UI, better name neededLensAuthor-- HasAuthor typeclass and instancesTitle-- HasTitle typeclass and instancesRequiredField
With this structure, it's clear what to add and where:
All new types go to GitHub.Types.
All new connections for those types use types and go to GitHub.Connection
New read-only queries and mutations go to the corresponding sections.
Functions to call GitHub API are in the GitHub.API module.
Our local helpers in GitHub.Abstraction
The text was updated successfully, but these errors were encountered:
Current structure of modules is a bit messy:
Current problem is that we have fields for different types (title of issue, login of user, etc.) and we also have different connections with input parameters (issue by state, pullrequests, etc.). Some connections can be polymorphic, so to abstract further, it's better to separate types.
I propose a new structure with clearer boundaries (and probably avoiding recursive dependencies).
I will write in a shorter syntax for clarity. Mostly duplicates the GitHub API structure:
With this structure, it's clear what to add and where:
GitHub.Types
.GitHub.Connection
GitHub.API
module.GitHub.Abstraction
The text was updated successfully, but these errors were encountered: