Comparing version 0.1.2 to 0.1.3
26
ar.js
@@ -47,2 +47,3 @@ /* | ||
self.emit("open"); | ||
self.fd = fd; | ||
var readChunks = function(buf, off, pos, left, cb) { | ||
@@ -73,2 +74,3 @@ if(pos>=self.size && left>0) { | ||
} | ||
self.fd = undefined; | ||
self.emit("close"); | ||
@@ -99,8 +101,7 @@ }); | ||
} else { | ||
entry.stream = fs.createReadStream(self.file, { | ||
fd: fd, | ||
autoClose: false, | ||
entry.streamParam = { | ||
file: self.file, | ||
start: offset+60+bsdNameSize, | ||
end: offset+60+entry.dataSize()-1 | ||
}); | ||
}; | ||
self.emit("entry", entry, next); | ||
@@ -308,3 +309,18 @@ } | ||
ArEntry.prototype.fileData = function () { | ||
return this.stream; | ||
if(this.streamParam) { | ||
if(this.archive && this.archive.fd!==undefined) { | ||
return fs.createReadStream(this.streamParam.file, { | ||
fd: this.archive.fd, | ||
autoClose: false, | ||
start: this.streamParam.start, | ||
end: this.streamParam.end | ||
}); | ||
} else { | ||
return fs.createReadStream(this.streamParam.file, { | ||
start: this.streamParam.start, | ||
end: this.streamParam.end | ||
}); | ||
} | ||
} | ||
}; | ||
@@ -311,0 +327,0 @@ |
{ | ||
"name": "ar-async", | ||
"description": "Asynchronously read and write Unix archive files.", | ||
"version": "0.1.2", | ||
"version": "0.1.3", | ||
"homepage": "https://github.com/JayCanuck/node-ar-async", | ||
@@ -6,0 +6,0 @@ "author": { |
@@ -22,6 +22,6 @@ ar | ||
// entry is an instance of ArEntry | ||
fs.writeFile(path.join(outputDir, entry.fileName()), entry.fileData(), function() { | ||
if (err) throw err; | ||
next(); | ||
}); | ||
var name = entry.fileName(); | ||
entry.fileData() | ||
.pipe(fs.createWriteStream(name)) | ||
.on("finish", next); | ||
}); | ||
@@ -80,3 +80,3 @@ reader.on("error", function(err) { | ||
* [ArEntry].fileSize() - Number - Number of bytes the file takes up | ||
* [ArEntry].fileData() - Buffer - Data buffer for file data | ||
* [ArEntry].fileData() - Stream - Readable stream for file data | ||
* [ArEntry].date() - Date - Last modified date of the file | ||
@@ -83,0 +83,0 @@ * [ArEntry].uid() - Number - UID of the file |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
19067
448