utils

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 4, 2026 License: MIT Imports: 6 Imported by: 0

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

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyTimeout

func ApplyTimeout(ctx context.Context, timeoutSeconds int) (context.Context, context.CancelFunc)

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

func FindProjectRoot(startPath string, markers []string) (string, error)

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

func UniqueStringSlice(items []string) []string

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

func (fp *FileProcessor) WriteFile(filename string, content []byte, perm os.FileMode) error

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.

Jump to

Keyboard shortcuts

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