Socket
Socket
Sign inDemoInstall

backup

Package Overview
Dependencies
0
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.0-7 to 1.0.0-8

98

index.js

@@ -41,3 +41,3 @@ // Copyright Peter Širka, Web Site Design s.r.o. (www.petersirka.sk)

function Walker() {
function Walker(addDirectory) {
this.pending = [];

@@ -48,2 +48,3 @@ this.pendingDirectory = [];

this.complete = null;
this.addDirectory = addDirectory || false;
};

@@ -58,3 +59,3 @@

if (arr.length === 0)
if (arr.length === 0 || self.addDirectory)
self.directory.push(path);

@@ -315,2 +316,78 @@

Backup.prototype.clear = function(path, callback, filter) {
var self = this;
var walker = new Walker(true);
if (callback)
self.complete = callback;
if (filter)
self.filter = filter;
walker.complete = function(directory, files) {
self.file = [];
self.directory = [];
if (typeof(filter) !== 'function')
filter = function(o) { return true; };
files.forEach(function(o) {
if (filter(o))
self.file.push(o);
});
directory.forEach(function(o) {
if (o === path)
return;
if (filter(o))
self.directory.push(o);
});
self.directory.sort(function(a, b) {
if (a.length < b.length)
return 1;
else
return -1;
});
self.removeFile();
};
walker.walk(path);
};
Backup.prototype.removeFile = function() {
var self = this;
var filename = self.file.shift();
if (typeof(filename) === 'undefined') {
self.removeDirectory();
return;
}
fs.unlink(filename, function() {
self.removeFile();
});
};
Backup.prototype.removeDirectory = function() {
var self = this;
var directory = self.directory.shift();
if (typeof(directory) === 'undefined') {
self.complete();
return;
}
fs.rmdir(directory, function() {
self.removeDirectory();
});
};
/*

@@ -349,7 +426,20 @@ @max {Number}

exports.restore = function(fileName, path, callback, filter) {
exports.clear = function(path, callback, filter) {
var backup = new Backup();
backup.restore(fileName, path, callback, filter);
backup.clear(path, callback, filter);
};
exports.restore = function(fileName, path, callback, filter, clear) {
var backup = new Backup();
if (!clear) {
backup.restore(fileName, path, callback, filter);
return;
}
backup.clear(path, function() {
backup.restore(fileName, path, callback, filter);
});
};
exports.Backup = Backup;

2

package.json
{
"name": "backup",
"version": "1.0.0-7",
"version": "1.0.0-8",
"description": "Web Site backup & restore",

@@ -5,0 +5,0 @@ "main": "./index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc