Консольное приложение "Вычислитель отличий" - утилита, определяющая разницу между двумя структурами данных, представленных в виде объектов.
Программа поддерживает файлы с расширением .json, .yaml или .yml. Генерация отчётов осуществляется в виде текстового сообщения, структурированного вывода или в json-формате.
- Склонировать репозиторий
- Выполнить команду 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
Сравнение двух файлов с расширением .yml в формате stylish:
https://asciinema.org/a/5r50XDQPvrwoRllRud2egbMb4
Сравнение двух файлов с выводом результата в формате plain:
https://asciinema.org/a/dc4GmULoySdMXPImwQxDSgpfH
Сравнение двух файлов с выводом результата в формате json:
https://asciinema.org/a/IFY7ii2s8y1Q1NKuF2Ytojhxl