Skip to content

VladyBarvy/frontend-project-46

Repository files navigation

Тесты

Github Actions:

my-tests

Hexlet tests:

Actions Status

Code Climate:

Maintainability

Code Climate Test Coverage:

Test Coverage

Описание

Консольное приложение "Вычислитель отличий" - утилита, определяющая разницу между двумя структурами данных, представленных в виде объектов.

Программа поддерживает файлы с расширением .json, .yaml или .yml. Генерация отчётов осуществляется в виде текстового сообщения, структурированного вывода или в json-формате.

Установка

  1. Склонировать репозиторий
  2. Выполнить команду make install
git clone git@github.com:VladyBarvy/frontend-project-46.git
cd frontend-project-46
make install

Применение утилиты

Вывод справки для данной утилиты осуществляется по команде "gendiff -h".

$ gendiff -h
Usage: gendiff [options] <filepath1> <filepath2>

Compares two configuration files and shows a difference.

Options:
  -V, --version       output the version number
  -f --format <type>  output format (default: "stylish")
  -h, --help          display help for command

Программа умеет выводить различия в трех форматах:

  • stylish (по умолчанию)
  • plain
  • json

Чтобы указать конкретный тип вывода данных, необходимо указать его название с флагом -f.

Например, ниже представлен вывод в плоском формате plain результатов вычисления отличий двух файлов:

gendiff -f plain file1.json file2.json

Property 'common.follow' was added with value: false
Property 'common.setting2' was removed
Property 'common.setting3' was updated. From true to null
Property 'common.setting4' was added with value: 'blah blah'
Property 'common.setting5' was added with value: [complex value]
Property 'common.setting6.doge.wow' was updated. From '' to 'so much'
Property 'common.setting6.ops' was added with value: 'vops'
Property 'group1.baz' was updated. From 'bas' to 'bars'
Property 'group1.nest' was updated. From [complex value] to 'str'
Property 'group2' was removed
Property 'group3' was added with value: [complex value]

Демонстрация

Пример работы пакета:

Сравнение двух файлов с расширением .json в формате stylish: https://asciinema.org/a/t94ZksWdlHxGk9QWsQz6BTvgH asciicast

Сравнение двух файлов с расширением .yml в формате stylish: https://asciinema.org/a/5r50XDQPvrwoRllRud2egbMb4 asciicast

Сравнение двух файлов с выводом результата в формате plain: https://asciinema.org/a/dc4GmULoySdMXPImwQxDSgpfH asciicast

Сравнение двух файлов с выводом результата в формате json: https://asciinema.org/a/IFY7ii2s8y1Q1NKuF2Ytojhxl asciicast

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors