Documentation ¶
Index ¶
- type LeetCodeGraphQlClient
- func (c *LeetCodeGraphQlClient) GetDailyQuestionSlug(ctx context.Context, date time.Time) (string, error)
- func (c *LeetCodeGraphQlClient) GetDailyTask(ctx context.Context, date time.Time) (LeetCodeTask, error)
- func (c *LeetCodeGraphQlClient) GetQuestionDetailsByTitleSlug(ctx context.Context, titleSlug string) (LeetCodeTask, error)
- type LeetCodeTask
- type LeetcodeClient
- type LeetcodeDate
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LeetCodeGraphQlClient ¶
type LeetCodeGraphQlClient struct {
// contains filtered or unexported fields
}
LeetCodeGraphQlClient realization of GraphQL client. Potentially supports different requester types
func NewLeetCodeGraphQlClient ¶
func NewLeetCodeGraphQlClient() *LeetCodeGraphQlClient
NewLeetCodeGraphQlClient construct LeetCode client with default values
func (*LeetCodeGraphQlClient) GetDailyQuestionSlug ¶
func (c *LeetCodeGraphQlClient) GetDailyQuestionSlug(ctx context.Context, date time.Time) (string, error)
GetDailyQuestionSlug provides slug for daily for the particular date
func (*LeetCodeGraphQlClient) GetDailyTask ¶
func (c *LeetCodeGraphQlClient) GetDailyTask(ctx context.Context, date time.Time) (LeetCodeTask, error)
GetDailyTask shortcut of GetDailyTaskItemID and GetQuestionDetailsByTitleSlug
func (*LeetCodeGraphQlClient) GetQuestionDetailsByTitleSlug ¶
func (c *LeetCodeGraphQlClient) GetQuestionDetailsByTitleSlug(ctx context.Context, titleSlug string) (LeetCodeTask, error)
GetQuestionDetailsByTitleSlug provides all details of the question: title, text, hints, difficulty by provided titleSlug
type LeetCodeTask ¶
type LeetCodeTask struct { QuestionID uint64 `json:"questionId,string"` TitleSlug string `json:"titleSlug"` Title string `json:"questionTitle"` Content string `json:"content"` Hints []string `json:"hints"` Difficulty string `json:"difficulty"` }
LeetCodeTask is a necessary information about task at LeetCode
type LeetcodeClient ¶
type LeetcodeClient interface { GetDailyQuestionSlug(context.Context, time.Time) (string, error) GetQuestionDetailsByTitleSlug(context.Context, string) (LeetCodeTask, error) GetDailyTask(context.Context, time.Time) (LeetCodeTask, error) }
LeetcodeClient represents abstract set of methods required from any possible kind of Leetcode client
type LeetcodeDate ¶
LeetcodeDate time.Time with specific json unmarshaller to parse json dates
func (*LeetcodeDate) UnmarshalJSON ¶
func (j *LeetcodeDate) UnmarshalJSON(b []byte) error
UnmarshalJSON parsing date in format "2006-01-02" in json