Lines Matching refs:backup
50 validateBackup?: (backup) => Promiseable<boolean>;
51 shouldUseBackup?: (backup) => Promiseable<boolean>;
52 restoreBackup?: (backup, ...args: Args) => Promiseable<void>;
54 backupValidationFailed?: (backup) => void;
104 readonly validateBackup: (backup: TasksRunnerBackup<BackupDataType>) => Promiseable<boolean> =
107 readonly shouldUseBackup: (backup: TasksRunnerBackup<BackupDataType>) => Promiseable<boolean> =
111 backup: TasksRunnerBackup<BackupDataType>,
117 readonly backupValidationFailed?: (backup) => void;
156 const backup = await JsonFile.readAsync<TasksRunnerBackup<BackupDataType>>(this.backupFilePath); constant
158 if (!(await this.isBackupValid(backup))) {
159 await this.backupValidationFailed?.(backup);
162 return !this.shouldUseBackup || (await this.shouldUseBackup(backup)) ? backup : null;
168 async isBackupValid(backup: TasksRunnerBackup<BackupDataType>): Promise<boolean> {
172 Date.now() - backup.timestamp < this.backupExpirationTime &&
173 arraysCompare(backup.resolvedTasks, this.resolvedTasks, tasksComparator) &&
174 arraysCompare(backup.tasks, this.tasks, tasksComparator)
176 return (await this.validateBackup?.(backup)) ?? true;
190 const backup: TasksRunnerBackup<BackupDataType> = { constant
197 await fs.outputFile(this.backupFilePath, JSON.stringify(backup, null, 2));
213 const backup = await this.getBackupAsync(); constant
214 const startingIndex = backup
215 ? this.resolvedTasks.findIndex((task) => task.name === backup.lastTask) + 1
218 if (backup) {
219 await this.restoreBackup(backup, ...args);