Documentation
¶
Index ¶
- func Dir(dir string, opts Options) ([]string, error)
- func File(path string, opts Options) (bool, error)
- func FileWithChanges(path string, opts Options, changes *[]KeyChange) (bool, error)
- func IsJSON(path string) bool
- func IsYAML(path string) bool
- func ReportValidationErrors(validationResult *ValidationResult, filePath string) string
- func ValidateAndReportCompositions(root *yaml.Node, filePath string) string
- type DefaultsOptions
- type DefaultsResult
- type FlattenOptions
- type FlattenResult
- type KeyChange
- type Options
- type PaginationOptions
- type PaginationResult
- type RuleEntry
- type TransformationPipeline
- type TransformationResults
- type ValidationError
- type ValidationResult
- type VendorExtensionOptions
- type VendorExtensionResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FileWithChanges ¶
FileWithChanges is like File, but collects key changes for dry-run summary.
func IsYAML ¶ added in v0.2.0
Exported extension helpers for reuse in cmd/root.go IsYAML returns true if the file has a .yaml or .yml extension.
func ReportValidationErrors ¶ added in v0.7.1
func ReportValidationErrors(validationResult *ValidationResult, filePath string) string
ReportValidationErrors formats validation errors for display with improved visual formatting
Types ¶
type DefaultsOptions ¶ added in v0.4.0
type DefaultsOptions struct {
Options
DefaultValues config.DefaultValues
}
DefaultsOptions extends the regular Options with default values settings
type DefaultsResult ¶ added in v0.4.0
type DefaultsResult struct {
Changed bool
ProcessedFiles []string
AppliedDefaults map[string][]string // file -> list of applied defaults
SkippedTargets map[string][]string // file -> list of skipped targets with reasons
}
DefaultsResult represents the result of defaults processing
func ProcessDefaultsInDir ¶ added in v0.4.0
func ProcessDefaultsInDir(dir string, opts DefaultsOptions) (*DefaultsResult, error)
ProcessDefaultsInDir processes default values in all OpenAPI files in a directory
type FlattenOptions ¶ added in v0.2.0
FlattenOptions extends the regular Options with flattening-specific settings
type FlattenResult ¶ added in v0.2.0
type FlattenResult struct {
Changed bool
ProcessedFiles []string
FlattenedRefs map[string][]string // file -> flattened reference paths
RemovedComponents map[string][]string // file -> removed component names
}
FlattenResult represents the result of flattening processing
func ProcessFlatteningInDir ¶ added in v0.2.0
func ProcessFlatteningInDir(dir string, opts FlattenOptions) (*FlattenResult, error)
ProcessFlatteningInDir processes response flattening in all OpenAPI files in a directory
type KeyChange ¶
type KeyChange struct {
File string
OldKey string
NewKey string
Line int // Add line number for YAML changes, 0 for JSON
}
KeyChange represents a change in a key's mapping.
type PaginationOptions ¶ added in v0.2.0
type PaginationOptions struct {
Options
PaginationPriority []string
EndpointRules []config.EndpointPaginationRule
}
PaginationOptions extends the regular Options with pagination-specific settings
type PaginationResult ¶ added in v0.2.0
type PaginationResult struct {
Changed bool
ProcessedFiles []string
RemovedParams map[string][]string // file -> removed param names
RemovedResponses map[string][]string // file -> removed response codes
ModifiedSchemas map[string][]string // file -> modified schema paths
UnusedComponents []string // components that became unused
}
PaginationResult represents the result of pagination processing
func ProcessPaginationInDir ¶ added in v0.2.0
func ProcessPaginationInDir(dir string, opts PaginationOptions) (*PaginationResult, error)
ProcessPaginationInDir processes pagination in all OpenAPI files in a directory
type RuleEntry ¶ added in v0.4.0
type RuleEntry struct {
Name string
Rule config.DefaultRule
}
RuleEntry for sorting rules by priority
type TransformationPipeline ¶ added in v0.6.0
type TransformationPipeline struct {
Config *config.Config
VendorProviders []string
DryRun bool
Backup bool
OutputFile string
}
TransformationPipeline represents the complete transformation pipeline
func NewTransformationPipeline ¶ added in v0.6.0
func NewTransformationPipeline(cfg *config.Config, vendorProviders []string, dryRun bool, backup bool, outputFile string) *TransformationPipeline
NewTransformationPipeline creates a new transformation pipeline
func (*TransformationPipeline) ExecuteFullPipeline ¶ added in v0.6.0
func (tp *TransformationPipeline) ExecuteFullPipeline(inputPath string) (*TransformationResults, error)
ExecuteFullPipeline runs the complete transformation pipeline in the correct order
type TransformationResults ¶ added in v0.6.0
type TransformationResults struct {
Changed []string
PaginationResult *PaginationResult
FlattenResult *FlattenResult
VendorResult *VendorExtensionResult
DefaultsResult *DefaultsResult
AnyTransformations bool
}
TransformationResults aggregates results from all transformation steps
type ValidationError ¶ added in v0.7.1
ValidationError represents validation errors in OpenAPI structures
func (ValidationError) Error ¶ added in v0.7.1
func (e ValidationError) Error() string
type ValidationResult ¶ added in v0.7.1
type ValidationResult struct {
Valid bool
Errors []ValidationError
}
ValidationResult contains validation results
func ValidateCompositionStructures ¶ added in v0.7.1
func ValidateCompositionStructures(root *yaml.Node, filePath string) *ValidationResult
ValidateCompositionStructures validates oneOf/anyOf/allOf structures in OpenAPI documents
type VendorExtensionOptions ¶ added in v0.3.0
type VendorExtensionOptions struct {
Options
VendorExtensions config.VendorExtensions
EnabledProviders []string // specific providers to apply, empty means all
}
VendorExtensionOptions extends the regular Options with vendor extension settings
type VendorExtensionResult ¶ added in v0.3.0
type VendorExtensionResult struct {
Changed bool
ProcessedFiles []string
AddedExtensions map[string][]string // file -> list of added extensions
SkippedOperations map[string][]string // file -> list of skipped operations with reasons
}
VendorExtensionResult represents the result of vendor extension processing
func ProcessVendorExtensionsInDir ¶ added in v0.3.0
func ProcessVendorExtensionsInDir(dir string, opts VendorExtensionOptions) (*VendorExtensionResult, error)
ProcessVendorExtensionsInDir processes vendor extensions in all OpenAPI files in a directory