Signed-off-by: yxxhero <aiopsclub@163.com> |
||
|---|---|---|
| .. | ||
| README.md | ||
| bool_flag.go | ||
| bool_flag_test.go | ||
| map_flag.go | ||
| map_flag_test.go | ||
| string_array_flag.go | ||
| string_array_flag_test.go | ||
| string_flag.go | ||
| string_flag_test.go | ||
README.md
Common Package
Overview
The pkg/common package provides common utilities, types, and interfaces used throughout the Helmfile application. This package contains shared functionality that doesn't belong to any specific domain but is used by multiple components.
Current File Structure
pkg/common/
├── README.md # This documentation file
├── bool_flag.go # Boolean flag implementation
├── bool_flag_test.go # Tests for boolean flag
├── string_flag.go # String flag implementation
├── string_flag_test.go # Tests for string flag
├── string_array_flag.go # String array flag implementation
├── string_array_flag_test.go # Tests for array flag
├── map_flag.go # Map flag implementation
├── map_flag_test.go # Tests for map flag
Planned Future Implementations
The following files are planned for future development:
├── constants.go # Common constants used throughout the application
├── errors.go # Common error types and error handling utilities
├── errors_test.go # Tests for error utilities
├── logging.go # Logging utilities and interfaces
├── logging_test.go # Tests for logging utilities
├── types.go # Common type definitions
├── types_test.go # Tests for common types
├── utils.go # General utility functions
└── utils_test.go # Tests for utility functions
Components
Currently Implemented
Flag Types
- BoolFlag: A boolean flag implementation with value tracking
- StringFlag: A string flag implementation with value tracking
- StringArrayFlag: A string array flag implementation with value tracking
- MapFlag: A map flag implementation with value tracking
Planned for Future Implementation
Utilities
- Constants: Common constants used throughout the application
- Error Handling: Standardized error types and handling
- Logging: Consistent logging interfaces and utilities
- Types: Common type definitions
- Utilities: General utility functions
Key Features
Currently Available
- Flag Implementations: Reusable flag implementations with value tracking
Planned Features
- Error Handling: Standardized error types and handling
- Logging: Consistent logging interfaces and utilities
- Type Safety: Common type definitions for consistent usage
Usage
Flag Usage
// Create a boolean flag
includeFlag := common.NewBoolFlag(false)
// Set the flag value
includeFlag.Set(true)
// Get the flag value
value := includeFlag.Value()
Future Error Handling (Planned)
// Create a common error
err := common.NewError("operation failed")
// Check if an error is of a specific type
if common.IsNotFoundError(err) {
// Handle not found error
}
Future Logging (Planned)
// Create a logger
logger := common.NewLogger()
// Log messages
logger.Info("Operation started")
logger.Error("Operation failed: %v", err)
Related Packages
pkg/config: Uses common flag types for option configurationpkg/flags: Integrates with common flag types for flag handlingpkg/app: Uses common utilities for application functionality