lang

package
v0.4.0-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2023 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (

	// TODO scala, erlang, dart, racket, Elixir
	SupportedLangs = []Lang{
		golangGen,
		python3Gen,
		cppGen,
		rustGen,
		javaGen,
		jsGen,
		tsGen,
		phpGen,
		cGen,
		csharpGen,
		rubyGen,
		swiftGen,
		kotlinGen,
		bashGen,
		mysqlGen,
		mssqlGen,
		oraclesqlGen,
	}
)

Functions

func GetSolutionCode

func GetSolutionCode(q *leetcode.QuestionData) (string, error)

func RunLocalTest

func RunLocalTest(q *leetcode.QuestionData) (bool, error)

func UpdateSolutionCode added in v0.2.2

func UpdateSolutionCode(q *leetcode.QuestionData, newCode string) error

Types

type FileOutput

type FileOutput struct {
	Filename string
	Type     FileType
	Content  string
	Written  bool
	// contains filtered or unexported fields
}

func (*FileOutput) GetContent added in v1.3.1

func (f *FileOutput) GetContent() (string, error)

func (*FileOutput) GetPath added in v1.3.1

func (f *FileOutput) GetPath() string

type FileType

type FileType int
const (
	CodeFile FileType = 1 << iota
	TestFile
	TestCasesFile
	DocFile
	OtherFile
)

type GenerateResult

type GenerateResult struct {
	Question *leetcode.QuestionData
	Lang     Lang
	OutDir   string
	SubDir   string
	Files    []FileOutput
	// contains filtered or unexported fields
}

func Generate

func Generate(q *leetcode.QuestionData) (*GenerateResult, error)

func GenerateContest

func GenerateContest(ct *leetcode.Contest) ([]*GenerateResult, error)

func GeneratePathsOnly

func GeneratePathsOnly(q *leetcode.QuestionData) (*GenerateResult, error)

GeneratePathsOnly runs generate process but does not generate real content.

func (*GenerateResult) AddFile added in v1.3.1

func (r *GenerateResult) AddFile(f FileOutput) *GenerateResult

func (*GenerateResult) GetFile added in v1.3.1

func (r *GenerateResult) GetFile(typ FileType) *FileOutput

func (*GenerateResult) SetOutDir added in v1.3.1

func (r *GenerateResult) SetOutDir(dir string)

type Lang

type Lang interface {
	Name() string
	ShortName() string
	Slug() string
	// Generate generates code files for the question.
	Generate(q *leetcode.QuestionData) (*GenerateResult, error)
	GeneratePaths(q *leetcode.QuestionData) (*GenerateResult, error)
}

func GetGenerator

func GetGenerator(lang string) (Lang, error)

type LocalTestable

type LocalTestable interface {
	RunLocalTest(q *leetcode.QuestionData, dir string) (bool, error)
}

type ModifierFunc added in v0.1.6

type ModifierFunc = func(string, *leetcode.QuestionData) string

type NeedInitialization

type NeedInitialization interface {
	HasInitialized(dir string) (bool, error)
	Initialize(dir string) error
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL