summaryrefslogtreecommitdiff
path: root/desktop/node_modules/dir-compare/build/src/fileCompareHandler/default
diff options
context:
space:
mode:
authorRaindropsSys <raindrops@equestria.dev>2023-10-24 17:43:37 +0200
committerRaindropsSys <raindrops@equestria.dev>2023-10-24 17:43:37 +0200
commitae187b6d75c8079da0be1dc288613bad8466fe61 (patch)
tree5ea0d34185a2270f29ffaa65e1f5258028d7d5d0 /desktop/node_modules/dir-compare/build/src/fileCompareHandler/default
downloadmist-ae187b6d75c8079da0be1dc288613bad8466fe61.tar.gz
mist-ae187b6d75c8079da0be1dc288613bad8466fe61.tar.bz2
mist-ae187b6d75c8079da0be1dc288613bad8466fe61.zip
Initial commit
Diffstat (limited to 'desktop/node_modules/dir-compare/build/src/fileCompareHandler/default')
-rw-r--r--desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.d.ts3
-rw-r--r--desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.d.ts.map1
-rw-r--r--desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.js118
-rw-r--r--desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.js.map1
4 files changed, 123 insertions, 0 deletions
diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.d.ts b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.d.ts
new file mode 100644
index 0000000..2aed22e
--- /dev/null
+++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.d.ts
@@ -0,0 +1,3 @@
+import { CompareFileHandler } from '../../types';
+export declare const defaultFileCompare: CompareFileHandler;
+//# sourceMappingURL=defaultFileCompare.d.ts.map \ No newline at end of file
diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.d.ts.map b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.d.ts.map
new file mode 100644
index 0000000..0725543
--- /dev/null
+++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"defaultFileCompare.d.ts","sourceRoot":"","sources":["../../../../src/fileCompareHandler/default/defaultFileCompare.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAOhD,eAAO,MAAM,kBAAkB,EAAE,kBA+EhC,CAAA"} \ No newline at end of file
diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.js b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.js
new file mode 100644
index 0000000..50ee858
--- /dev/null
+++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.js
@@ -0,0 +1,118 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.defaultFileCompare = void 0;
+const fs_1 = __importDefault(require("fs"));
+const buffer_equal_1 = __importDefault(require("buffer-equal"));
+const FileDescriptorQueue_1 = require("../../fs/FileDescriptorQueue");
+const fsPromise_1 = __importDefault(require("../../fs/fsPromise"));
+const BufferPool_1 = require("../../fs/BufferPool");
+const closeFile_1 = __importDefault(require("../../fs/closeFile"));
+const MAX_CONCURRENT_FILE_COMPARE = 8;
+const BUF_SIZE = 100000;
+const fdQueue = new FileDescriptorQueue_1.FileDescriptorQueue(MAX_CONCURRENT_FILE_COMPARE * 2);
+const bufferPool = new BufferPool_1.BufferPool(BUF_SIZE, MAX_CONCURRENT_FILE_COMPARE); // fdQueue guarantees there will be no more than MAX_CONCURRENT_FILE_COMPARE async processes accessing the buffers concurrently
+exports.defaultFileCompare = {
+ /**
+ * Compares two files by content.
+ */
+ compareSync(path1, stat1, path2, stat2, options) {
+ let fd1;
+ let fd2;
+ if (stat1.size !== stat2.size) {
+ return false;
+ }
+ const bufferPair = bufferPool.allocateBuffers();
+ try {
+ fd1 = fs_1.default.openSync(path1, 'r');
+ fd2 = fs_1.default.openSync(path2, 'r');
+ const buf1 = bufferPair.buf1;
+ const buf2 = bufferPair.buf2;
+ for (;;) {
+ const size1 = fs_1.default.readSync(fd1, buf1, 0, BUF_SIZE, null);
+ const size2 = fs_1.default.readSync(fd2, buf2, 0, BUF_SIZE, null);
+ if (size1 !== size2) {
+ return false;
+ }
+ else if (size1 === 0) {
+ // End of file reached
+ return true;
+ }
+ else if (!compareBuffers(buf1, buf2, size1)) {
+ return false;
+ }
+ }
+ }
+ finally {
+ closeFile_1.default.closeFilesSync(fd1, fd2);
+ bufferPool.freeBuffers(bufferPair);
+ }
+ },
+ /**
+ * Compares two files by content
+ */
+ compareAsync(path1, stat1, path2, stat2, options) {
+ return __awaiter(this, void 0, void 0, function* () {
+ let fd1;
+ let fd2;
+ let bufferPair;
+ if (stat1.size !== stat2.size) {
+ return Promise.resolve(false);
+ }
+ return Promise.all([fdQueue.openPromise(path1, 'r'), fdQueue.openPromise(path2, 'r')])
+ .then(fds => {
+ bufferPair = bufferPool.allocateBuffers();
+ fd1 = fds[0];
+ fd2 = fds[1];
+ const buf1 = bufferPair.buf1;
+ const buf2 = bufferPair.buf2;
+ const compareAsyncInternal = () => Promise.all([
+ fsPromise_1.default.read(fd1, buf1, 0, BUF_SIZE, null),
+ fsPromise_1.default.read(fd2, buf2, 0, BUF_SIZE, null)
+ ])
+ .then((bufferSizes) => {
+ const size1 = bufferSizes[0];
+ const size2 = bufferSizes[1];
+ if (size1 !== size2) {
+ return false;
+ }
+ else if (size1 === 0) {
+ // End of file reached
+ return true;
+ }
+ else if (!compareBuffers(buf1, buf2, size1)) {
+ return false;
+ }
+ else {
+ return compareAsyncInternal();
+ }
+ });
+ return compareAsyncInternal();
+ })
+ .then(
+ // 'finally' polyfill for node 8 and below
+ res => finalizeAsync(fd1, fd2, bufferPair).then(() => res), err => finalizeAsync(fd1, fd2, bufferPair).then(() => { throw err; }));
+ });
+ }
+};
+function compareBuffers(buf1, buf2, contentSize) {
+ return buffer_equal_1.default(buf1.slice(0, contentSize), buf2.slice(0, contentSize));
+}
+function finalizeAsync(fd1, fd2, bufferPair) {
+ if (bufferPair) {
+ bufferPool.freeBuffers(bufferPair);
+ }
+ return closeFile_1.default.closeFilesAsync(fd1, fd2, fdQueue);
+}
+//# sourceMappingURL=defaultFileCompare.js.map \ No newline at end of file
diff --git a/desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.js.map b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.js.map
new file mode 100644
index 0000000..5831652
--- /dev/null
+++ b/desktop/node_modules/dir-compare/build/src/fileCompareHandler/default/defaultFileCompare.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"defaultFileCompare.js","sourceRoot":"","sources":["../../../../src/fileCompareHandler/default/defaultFileCompare.ts"],"names":[],"mappings":"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"} \ No newline at end of file