From ae187b6d75c8079da0be1dc288613bad8466fe61 Mon Sep 17 00:00:00 2001 From: RaindropsSys Date: Tue, 24 Oct 2023 17:43:37 +0200 Subject: Initial commit --- .../lines/compare/CompareLinesResult.d.ts | 15 +++++ .../lines/compare/CompareLinesResult.d.ts.map | 1 + .../lines/compare/CompareLinesResult.js | 3 + .../lines/compare/CompareLinesResult.js.map | 1 + .../lines/compare/compareLineBatches.d.ts | 27 ++++++++ .../lines/compare/compareLineBatches.d.ts.map | 1 + .../lines/compare/compareLineBatches.js | 40 +++++++++++ .../lines/compare/compareLineBatches.js.map | 1 + .../lines/compare/compareLines.d.ts | 4 ++ .../lines/compare/compareLines.d.ts.map | 1 + .../lines/compare/compareLines.js | 78 ++++++++++++++++++++++ .../lines/compare/compareLines.js.map | 1 + 12 files changed, 173 insertions(+) create mode 100644 desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.d.ts create mode 100644 desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.d.ts.map create mode 100644 desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.js create mode 100644 desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.js.map create mode 100644 desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.d.ts create mode 100644 desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.d.ts.map create mode 100644 desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.js create mode 100644 desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.js.map create mode 100644 desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.d.ts create mode 100644 desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.d.ts.map create mode 100644 desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.js create mode 100644 desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.js.map (limited to 'desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare') diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.d.ts b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.d.ts new file mode 100644 index 0000000..e826dd0 --- /dev/null +++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.d.ts @@ -0,0 +1,15 @@ +export interface CompareLinesResult { + /** + * Whether compared lines are identical. + */ + isEqual: boolean; + /** + * Lines that were not compared due to unbalanced buffers. + */ + restLines1: string[]; + /** + * Lines that were not compared due to unbalanced buffers. + */ + restLines2: string[]; +} +//# sourceMappingURL=CompareLinesResult.d.ts.map \ No newline at end of file diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.d.ts.map b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.d.ts.map new file mode 100644 index 0000000..fa1fdd2 --- /dev/null +++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"CompareLinesResult.d.ts","sourceRoot":"","sources":["../../../../../src/fileCompareHandler/lines/compare/CompareLinesResult.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB;;OAEG;IACH,UAAU,EAAE,MAAM,EAAE,CAAA;CACvB"} \ No newline at end of file diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.js b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.js new file mode 100644 index 0000000..3f82bd6 --- /dev/null +++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=CompareLinesResult.js.map \ No newline at end of file diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.js.map b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.js.map new file mode 100644 index 0000000..0500c02 --- /dev/null +++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/CompareLinesResult.js.map @@ -0,0 +1 @@ +{"version":3,"file":"CompareLinesResult.js","sourceRoot":"","sources":["../../../../../src/fileCompareHandler/lines/compare/CompareLinesResult.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.d.ts b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.d.ts new file mode 100644 index 0000000..1c49810 --- /dev/null +++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.d.ts @@ -0,0 +1,27 @@ +import { Options } from '../../../index'; +import { LineBatch } from '../lineReader/LineBatch'; +interface RestLines { + restLines1: string[]; + restLines2: string[]; +} +interface CompareLineBatchResult { + reachedEof: boolean; + batchIsEqual: boolean; + /** + * Lines that were not compared because the two line batches + * contained different number of lines. + * These remaining lines will be compared in the next step. + */ + restLines: RestLines; +} +/** + * Compares two batches of lines. + * + * @param lineBatch1 Batch to compare. + * @param lineBatch2 Batch to compare. + * @param context Comparison context. + * @param options Comparison options. + */ +export declare function compareLineBatches(lineBatch1: LineBatch, lineBatch2: LineBatch, options: Options): CompareLineBatchResult; +export {}; +//# sourceMappingURL=compareLineBatches.d.ts.map \ No newline at end of file diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.d.ts.map b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.d.ts.map new file mode 100644 index 0000000..6697bc4 --- /dev/null +++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"compareLineBatches.d.ts","sourceRoot":"","sources":["../../../../../src/fileCompareHandler/lines/compare/compareLineBatches.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGnD,UAAU,SAAS;IACf,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,UAAU,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,UAAU,sBAAsB;IAC5B,UAAU,EAAE,OAAO,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB;;;;OAIG;IACH,SAAS,EAAE,SAAS,CAAA;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,sBAAsB,CAuBzH"} \ No newline at end of file diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.js b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.js new file mode 100644 index 0000000..26b377d --- /dev/null +++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.js @@ -0,0 +1,40 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.compareLineBatches = void 0; +const compareLines_1 = require("./compareLines"); +/** + * Compares two batches of lines. + * + * @param lineBatch1 Batch to compare. + * @param lineBatch2 Batch to compare. + * @param context Comparison context. + * @param options Comparison options. + */ +function compareLineBatches(lineBatch1, lineBatch2, options) { + const compareResult = compareLines_1.compareLines(lineBatch1.lines, lineBatch2.lines, options); + if (!compareResult.isEqual) { + return { batchIsEqual: false, reachedEof: false, restLines: emptyRestLines() }; + } + const reachedEof = lineBatch1.reachedEof && lineBatch2.reachedEof; + const hasMoreLinesToProcess = compareResult.restLines1.length > 0 || compareResult.restLines2.length > 0; + if (reachedEof && hasMoreLinesToProcess) { + return { batchIsEqual: false, reachedEof: true, restLines: emptyRestLines() }; + } + if (reachedEof) { + return { batchIsEqual: true, reachedEof: true, restLines: emptyRestLines() }; + } + return { batchIsEqual: true, reachedEof: false, + restLines: { + restLines1: compareResult.restLines1, + restLines2: compareResult.restLines2, + } + }; +} +exports.compareLineBatches = compareLineBatches; +function emptyRestLines() { + return { + restLines1: [], + restLines2: [] + }; +} +//# sourceMappingURL=compareLineBatches.js.map \ No newline at end of file diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.js.map b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.js.map new file mode 100644 index 0000000..eab6a39 --- /dev/null +++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLineBatches.js.map @@ -0,0 +1 @@ +{"version":3,"file":"compareLineBatches.js","sourceRoot":"","sources":["../../../../../src/fileCompareHandler/lines/compare/compareLineBatches.ts"],"names":[],"mappings":";;;AAEA,iDAA6C;AAkB7C;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,UAAqB,EAAE,UAAqB,EAAE,OAAgB;IAE7F,MAAM,aAAa,GAAG,2BAAY,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC/E,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;QACxB,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,EAAC,CAAA;KAChF;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAA;IACjE,MAAM,qBAAqB,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;IACxG,IAAI,UAAU,IAAI,qBAAqB,EAAE;QACrC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAG,SAAS,EAAE,cAAc,EAAE,EAAC,CAAA;KAChF;IAED,IAAI,UAAU,EAAE;QACZ,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAG,SAAS,EAAE,cAAc,EAAE,EAAC,CAAA;KAC/E;IAED,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK;QAC1C,SAAS,EAAE;YACP,UAAU,EAAE,aAAa,CAAC,UAAU;YACpC,UAAU,EAAE,aAAa,CAAC,UAAU;SACvC;KACJ,CAAA;AACL,CAAC;AAvBD,gDAuBC;AAED,SAAS,cAAc;IACnB,OAAO;QACH,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,EAAE;KACjB,CAAA;AACL,CAAC"} \ No newline at end of file diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.d.ts b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.d.ts new file mode 100644 index 0000000..2519563 --- /dev/null +++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.d.ts @@ -0,0 +1,4 @@ +import { Options } from "../../../index"; +import { CompareLinesResult } from "./CompareLinesResult"; +export declare function compareLines(lines1: string[], lines2: string[], options: Options): CompareLinesResult; +//# sourceMappingURL=compareLines.d.ts.map \ No newline at end of file diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.d.ts.map b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.d.ts.map new file mode 100644 index 0000000..83bef63 --- /dev/null +++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"compareLines.d.ts","sourceRoot":"","sources":["../../../../../src/fileCompareHandler/lines/compare/compareLines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAMzD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,kBAAkB,CAkBrG"} \ No newline at end of file diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.js b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.js new file mode 100644 index 0000000..132a71e --- /dev/null +++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.js @@ -0,0 +1,78 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.compareLines = void 0; +const TRIM_WHITE_SPACES_REGEXP = /^[ \f\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+|[ \f\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+$/g; +const TRIM_LINE_ENDING_REGEXP = /\r\n|\n$/g; +const REMOVE_WHITE_SPACES_REGEXP = /[ \f\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]/g; +function compareLines(lines1, lines2, options) { + if (options.ignoreEmptyLines) { + lines1 = removeEmptyLines(lines1); + lines2 = removeEmptyLines(lines2); + } + const len = Math.min(lines1.length, lines2.length); + let i = 0; + for (; i < len; i++) { + const isEqual = compareLine(options, lines1[i], lines2[i]); + if (!isEqual) { + return { isEqual: false, restLines1: [], restLines2: [] }; + } + } + return { + isEqual: true, + restLines1: lines1.slice(i), + restLines2: lines2.slice(i) + }; +} +exports.compareLines = compareLines; +function compareLine(options, line1, line2) { + if (options.ignoreLineEnding) { + line1 = trimLineEnding(line1); + line2 = trimLineEnding(line2); + } + if (options.ignoreWhiteSpaces) { + line1 = trimSpaces(line1); + line2 = trimSpaces(line2); + } + if (options.ignoreAllWhiteSpaces) { + line1 = removeSpaces(line1); + line2 = removeSpaces(line2); + } + return line1 === line2; +} +// Trims string like ' abc \n' into 'abc\n' +function trimSpaces(s) { + const { content, lineEnding } = separateEol(s); + const trimmed = content.replace(TRIM_WHITE_SPACES_REGEXP, ''); + return trimmed + lineEnding; +} +function trimLineEnding(s) { + return s.replace(TRIM_LINE_ENDING_REGEXP, ''); +} +function removeSpaces(s) { + return s.replace(REMOVE_WHITE_SPACES_REGEXP, ''); +} +function removeEmptyLines(lines) { + return lines.filter(line => !isEmptyLine(line)); +} +function isEmptyLine(line) { + return line === '\n' || line === '\r\n'; +} +function separateEol(s) { + const len = s.length; + let lineEnding = ''; + let content = s; + if (s[len - 1] === '\n') { + if (s[len - 2] === '\r') { + return { + lineEnding: '\r\n', + content: s.slice(0, len - 2) + }; + } + { + lineEnding = '\n'; + content = s.slice(0, len - 1); + } + } + return { content, lineEnding }; +} +//# sourceMappingURL=compareLines.js.map \ No newline at end of file diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.js.map b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.js.map new file mode 100644 index 0000000..0070f97 --- /dev/null +++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/lines/compare/compareLines.js.map @@ -0,0 +1 @@ +{"version":3,"file":"compareLines.js","sourceRoot":"","sources":["../../../../../src/fileCompareHandler/lines/compare/compareLines.ts"],"names":[],"mappings":"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"} \ No newline at end of file -- cgit