/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
lib/internal/util/diff.js
42 строки
1 KB
Yagiz Nizipli
meta: enable jsdoc/check-tag-names rule
18 июл 2025, 12:28
Не верифицирован
18 июл 2025, 12:28
0fd1ecd
Код
Авторство
О чём код?
'use strict'; const { ArrayIsArray, ArrayPrototypeReverse, } = primordials; const { validateStringArray, validateString } = require('internal/validators'); const { myersDiff } = require('internal/assert/myers_diff'); function validateInput(value, name) { if (!ArrayIsArray(value)) { validateString(value, name); return; } validateStringArray(value, name); } /** * Generate a difference report between two values * @param {Array | string} actual - The first value to compare * @param {Array | string} expected - The second value to compare * @returns {Array} - An array of differences between the two values. * The returned data is an array of arrays, where each sub-array has two elements: * 1. The operation to perform: -1 for delete, 0 for no-op, 1 for insert * 2. The value to perform the operation on */ function diff(actual, expected) { if (actual === expected) { return []; } validateInput(actual, 'actual'); validateInput(expected, 'expected'); return ArrayPrototypeReverse(myersDiff(actual, expected)); } module.exports = { diff, };