From 1aa823fde11a7293c54ab999e26a0903c9d359ec Mon Sep 17 00:00:00 2001 From: supppppppbro <113025477+supppppppbro@users.noreply.github.com> Date: Wed, 22 Nov 2023 17:34:29 +0300 Subject: [PATCH] Update encoding.go --- encoding/encoding.go | 74 +++++++------------------------------------- 1 file changed, 11 insertions(+), 63 deletions(-) diff --git a/encoding/encoding.go b/encoding/encoding.go index 43535b2..ed8fea5 100644 --- a/encoding/encoding.go +++ b/encoding/encoding.go @@ -1,25 +1,21 @@ -package encoding +package precode import ( - "encoding/json" - "os" - "github.com/Yandex-Practicum/final-project-encoding-go/models" - "gopkg.in/yaml.v3" ) // JSONData тип для перекодирования из JSON в YAML type JSONData struct { - DockerCompose *models.DockerCompose // данные для сериализации и десериализации - FileInput string // имя файла, который нужно перекодировать - FileOutput string // имя файла с результатом перекодирования + DockerCompose *models.DockerCompose + FileInput string + FileOutput string } // YAMLData тип для перекодирования из YAML в JSON type YAMLData struct { - DockerCompose *models.DockerCompose // данные для сериализации и десериализации - FileInput string // имя файла, который нужно перекодировать - FileOutput string // имя файла с результатом перекодирования + DockerCompose *models.DockerCompose + FileInput string + FileOutput string } // MyEncoder интерфейс для структур YAMLData и JSONData @@ -29,64 +25,16 @@ type MyEncoder interface { // Encoding перекодирует файл из JSON в YAML func (j *JSONData) Encoding() error { - jsonFile, err := os.ReadFile(j.FileInput) - if err != nil { - return err - } - - err = json.Unmarshal(jsonFile, &j.DockerCompose) - if err != nil { - return err - } - - yamlData, err := yaml.Marshal(&j.DockerCompose) - if err != nil { - return err - } - - yamlFile, err := os.Create(j.FileOutput) - if err != nil { - return err - } - - defer yamlFile.Close() - - _, err = yamlFile.Write(yamlData) - if err != nil { - return err - } + // ниже реализуйте метод + // ... return nil } // Encoding перекодирует файл из YAML в JSON func (y *YAMLData) Encoding() error { - yamlFile, err := os.ReadFile(y.FileInput) - if err != nil { - return err - } - - err = yaml.Unmarshal(yamlFile, &y.DockerCompose) - if err != nil { - return err - } - - jsonData, err := json.Marshal(&y.DockerCompose) - if err != nil { - return err - } - - jsonFile, err := os.Create(y.FileOutput) - if err != nil { - return err - } - - defer jsonFile.Close() - - _, err = jsonFile.Write(jsonData) - if err != nil { - return err - } + // Ниже реализуйте метод + // ... return nil }