Documentation
¶
Overview ¶
Package utils provides utility functions for context management and file processing. Package utils provides utility functions for context management and file processing.
Index ¶
- func ApplyTimeout(ctx context.Context, timeoutSeconds int) (context.Context, context.CancelFunc)
- func FindProjectRoot(startPath string, markers []string) (string, error)
- func UniqueStringSlice(items []string) []string
- type FileProcessor
- func (fp *FileProcessor) ReadFile(filename string) ([]byte, error)
- func (fp *FileProcessor) WriteDuplicateFiles(filenames []string, content string) error
- func (fp *FileProcessor) WriteFile(filename string, content []byte, perm os.FileMode) error
- func (fp *FileProcessor) WriteTestFiles(files map[string]string) error
- func (fp *FileProcessor) WriteTextFile(filename, content string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplyTimeout ¶
ApplyTimeout applies a timeout to the given context if timeoutSeconds is greater than 0. It returns the potentially modified context and a cancel function that should be deferred by the caller. If a timeout is applied, it prints a message to stderr indicating the timeout duration.
func FindProjectRoot ¶
FindProjectRoot searches parent directories for project marker files. It looks for go.mod, .git, or sqlc.yaml to identify the project root. Returns empty string and ErrNotExist if no marker found after searching parents.
func UniqueStringSlice ¶
UniqueStringSlice returns unique strings from a slice.
Types ¶
type FileProcessor ¶
type FileProcessor struct {
// contains filtered or unexported fields
}
FileProcessor provides unified file operations with consistent error handling.
func NewFileProcessor ¶
func NewFileProcessor(baseDir ...string) *FileProcessor
NewFileProcessor creates a new file processor with optional base directory.
func (*FileProcessor) ReadFile ¶
func (fp *FileProcessor) ReadFile(filename string) ([]byte, error)
ReadFile reads file content with consistent error handling.
func (*FileProcessor) WriteDuplicateFiles ¶
func (fp *FileProcessor) WriteDuplicateFiles(filenames []string, content string) error
WriteDuplicateFiles creates files with identical content for testing.
func (*FileProcessor) WriteFile ¶
WriteFile writes content to a file with consistent error handling.
func (*FileProcessor) WriteTestFiles ¶
func (fp *FileProcessor) WriteTestFiles(files map[string]string) error
WriteTestFiles creates multiple test files from content map.
func (*FileProcessor) WriteTextFile ¶
func (fp *FileProcessor) WriteTextFile(filename, content string) error
WriteTextFile writes text content to a file with consistent permissions.