Add public facade value wrappers
This commit is contained in:
91
internal/facade/conversion.go
Normal file
91
internal/facade/conversion.go
Normal file
@@ -0,0 +1,91 @@
|
||||
package configkit
|
||||
|
||||
import "gitea.maximumdirect.net/eric/ConfigKit/internal/engine"
|
||||
|
||||
func fromEngineLocation(value engine.Location) Location {
|
||||
return Location{SourceID: value.SourceID, Line: value.Line, Column: value.Column}
|
||||
}
|
||||
func toEngineLocation(value Location) engine.Location {
|
||||
return engine.Location{SourceID: value.SourceID, Line: value.Line, Column: value.Column}
|
||||
}
|
||||
func fromEngineLocationPointer(value *engine.Location) *Location {
|
||||
if value == nil {
|
||||
return nil
|
||||
}
|
||||
result := fromEngineLocation(*value)
|
||||
return &result
|
||||
}
|
||||
func toEngineLocationPointer(value *Location) *engine.Location {
|
||||
if value == nil {
|
||||
return nil
|
||||
}
|
||||
result := toEngineLocation(*value)
|
||||
return &result
|
||||
}
|
||||
func fromEngineLocations(values []engine.Location) []Location {
|
||||
if values == nil {
|
||||
return nil
|
||||
}
|
||||
result := make([]Location, len(values))
|
||||
for i := range values {
|
||||
result[i] = fromEngineLocation(values[i])
|
||||
}
|
||||
return result
|
||||
}
|
||||
func toEngineLocations(values []Location) []engine.Location {
|
||||
if values == nil {
|
||||
return nil
|
||||
}
|
||||
result := make([]engine.Location, len(values))
|
||||
for i := range values {
|
||||
result[i] = toEngineLocation(values[i])
|
||||
}
|
||||
return result
|
||||
}
|
||||
func fromEngineSourceInfo(value engine.SourceInfo) SourceInfo {
|
||||
return SourceInfo{ID: value.ID, Label: value.Label, Path: value.Path, Layer: Layer(value.Layer), ImportedFrom: fromEngineLocationPointer(value.ImportedFrom)}
|
||||
}
|
||||
func toEngineSourceInfo(value SourceInfo) engine.SourceInfo {
|
||||
return engine.SourceInfo{ID: value.ID, Label: value.Label, Path: value.Path, Layer: engine.Layer(value.Layer), ImportedFrom: toEngineLocationPointer(value.ImportedFrom)}
|
||||
}
|
||||
func fromEngineOrigin(value engine.Origin) Origin {
|
||||
return Origin{Layer: Layer(value.Layer), Locations: fromEngineLocations(value.Locations), Operation: ChangeKind(value.Operation)}
|
||||
}
|
||||
func toEngineOrigin(value Origin) engine.Origin {
|
||||
return engine.Origin{Layer: engine.Layer(value.Layer), Locations: toEngineLocations(value.Locations), Operation: engine.ChangeKind(value.Operation)}
|
||||
}
|
||||
func fromEngineDiagnostic(value engine.Diagnostic) Diagnostic {
|
||||
return Diagnostic{Code: Code(value.Code), Severity: Severity(value.Severity), Path: fromEnginePath(value.Path), Message: value.Message, Primary: fromEngineLocationPointer(value.Primary), Related: fromEngineLocations(value.Related)}
|
||||
}
|
||||
func toEngineDiagnostic(value Diagnostic) engine.Diagnostic {
|
||||
return engine.Diagnostic{Code: engine.Code(value.Code), Severity: engine.Severity(value.Severity), Path: toEnginePath(value.Path), Message: value.Message, Primary: toEngineLocationPointer(value.Primary), Related: toEngineLocations(value.Related)}
|
||||
}
|
||||
func toEngineDiagnostics(values []Diagnostic) []engine.Diagnostic {
|
||||
if values == nil {
|
||||
return nil
|
||||
}
|
||||
result := make([]engine.Diagnostic, len(values))
|
||||
for i := range values {
|
||||
result[i] = toEngineDiagnostic(values[i])
|
||||
}
|
||||
return result
|
||||
}
|
||||
func fromEngineFieldInfo(value engine.FieldInfo) FieldInfo {
|
||||
return FieldInfo{Explicit: value.Explicit, Null: value.Null, Origin: fromEngineOrigin(value.Origin)}
|
||||
}
|
||||
func fromEngineChange(value engine.Change) Change {
|
||||
result := Change{Path: fromEnginePath(value.Path), Origin: fromEngineOrigin(value.Origin), Reasons: append([]string(nil), value.Reasons...)}
|
||||
if value.Previous != nil {
|
||||
result.Previous = make([]Origin, len(value.Previous))
|
||||
for i := range value.Previous {
|
||||
result.Previous[i] = fromEngineOrigin(value.Previous[i])
|
||||
}
|
||||
}
|
||||
if value.Dependencies != nil {
|
||||
result.Dependencies = make([]Path, len(value.Dependencies))
|
||||
for i := range value.Dependencies {
|
||||
result.Dependencies[i] = fromEnginePath(value.Dependencies[i])
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
Reference in New Issue
Block a user