UNPKG

ravendb

Version:
68 lines 3.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BackupUtils = void 0; exports.periodicBackupFileExtensionComparator = periodicBackupFileExtensionComparator; const Constants_js_1 = require("../../Constants.js"); const StringUtil_js_1 = require("../../Utility/StringUtil.js"); const node_path_1 = require("node:path"); class BackupUtils { // eslint-disable-next-line @typescript-eslint/no-empty-function constructor() { // empty } static LEGACY_INCREMENTAL_BACKUP_EXTENSION = ".ravendb-incremental-dump"; static LEGACY_FULL_BACKUP_EXTENSION = ".ravendb-full-dump"; static BACKUP_FILE_SUFFIXES = [ BackupUtils.LEGACY_INCREMENTAL_BACKUP_EXTENSION, BackupUtils.LEGACY_FULL_BACKUP_EXTENSION, Constants_js_1.CONSTANTS.Documents.PeriodicBackup.INCREMENTAL_BACKUP_EXTENSION, Constants_js_1.CONSTANTS.Documents.PeriodicBackup.ENCRYPTED_INCREMENTAL_BACKUP_EXTENSION, Constants_js_1.CONSTANTS.Documents.PeriodicBackup.FULL_BACKUP_EXTENSION, Constants_js_1.CONSTANTS.Documents.PeriodicBackup.ENCRYPTED_FULL_BACKUP_EXTENSION ]; static isFullBackupOrSnapshot(extension) { return BackupUtils.isSnapshot(extension) || BackupUtils.isFullBackup(extension); } static isFullBackup(extension) { return StringUtil_js_1.StringUtil.equalsIgnoreCase(Constants_js_1.CONSTANTS.Documents.PeriodicBackup.FULL_BACKUP_EXTENSION, extension) || StringUtil_js_1.StringUtil.equalsIgnoreCase(Constants_js_1.CONSTANTS.Documents.PeriodicBackup.ENCRYPTED_FULL_BACKUP_EXTENSION, extension); } static isSnapshot(extension) { return StringUtil_js_1.StringUtil.equalsIgnoreCase(Constants_js_1.CONSTANTS.Documents.PeriodicBackup.SNAPSHOT_EXTENSION, extension) || StringUtil_js_1.StringUtil.equalsIgnoreCase(Constants_js_1.CONSTANTS.Documents.PeriodicBackup.ENCRYPTED_FULL_BACKUP_EXTENSION, extension); } static isIncrementalBackupFile(extension) { return StringUtil_js_1.StringUtil.equalsIgnoreCase(Constants_js_1.CONSTANTS.Documents.PeriodicBackup.INCREMENTAL_BACKUP_EXTENSION, extension) || StringUtil_js_1.StringUtil.equalsIgnoreCase(Constants_js_1.CONSTANTS.Documents.PeriodicBackup.ENCRYPTED_INCREMENTAL_BACKUP_EXTENSION, extension) || StringUtil_js_1.StringUtil.equalsIgnoreCase(BackupUtils.LEGACY_INCREMENTAL_BACKUP_EXTENSION, extension); } static comparator(o1, o2, mtimeProvider) { const baseName1 = (0, node_path_1.basename)(o1, (0, node_path_1.extname)(o1)); const baseName2 = (0, node_path_1.basename)(o2, (0, node_path_1.extname)(o2)); if (baseName1 !== baseName2) { return baseName1.localeCompare(baseName2); } const extension1 = (0, node_path_1.extname)(o1); const extension2 = (0, node_path_1.extname)(o2); if (extension1 !== extension2) { return periodicBackupFileExtensionComparator(o1, o2); } const lastModified1 = mtimeProvider(o1); const lastModified2 = mtimeProvider(o2); return lastModified1 - lastModified2; } } exports.BackupUtils = BackupUtils; function periodicBackupFileExtensionComparator(o1, o2) { if ((0, node_path_1.resolve)(o1) === (0, node_path_1.resolve)(o2)) { return 0; } if (StringUtil_js_1.StringUtil.equalsIgnoreCase((0, node_path_1.extname)(o1), "." + Constants_js_1.CONSTANTS.Documents.PeriodicBackup.SNAPSHOT_EXTENSION)) { return -1; } if (StringUtil_js_1.StringUtil.equalsIgnoreCase((0, node_path_1.extname)(o1), "." + Constants_js_1.CONSTANTS.Documents.PeriodicBackup.FULL_BACKUP_EXTENSION)) { return -1; } return 1; } //# sourceMappingURL=BackupUtils.js.map