mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-07-09 22:32:52 +02:00
Update:Remove read-chunk dependency
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
'use strict';
|
||||
|
||||
// https://github.com/sindresorhus/read-chunk
|
||||
|
||||
const fs = require('fs');
|
||||
const pify = require('./pify');
|
||||
const withOpenFile = require('./withOpenFile');
|
||||
|
||||
const fsReadP = pify(fs.read, { multiArgs: true });
|
||||
|
||||
const readChunk = (filePath, startPosition, length) => {
|
||||
const buffer = Buffer.alloc(length);
|
||||
|
||||
return withOpenFile(filePath, 'r', fileDescriptor =>
|
||||
fsReadP(fileDescriptor, buffer, 0, length, startPosition)
|
||||
)
|
||||
.then(([bytesRead, buffer]) => {
|
||||
if (bytesRead < length) {
|
||||
buffer = buffer.slice(0, bytesRead);
|
||||
}
|
||||
|
||||
return buffer;
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = readChunk;
|
||||
// TODO: Remove this for the next major release
|
||||
module.exports.default = readChunk;
|
||||
|
||||
module.exports.sync = (filePath, startPosition, length) => {
|
||||
let buffer = Buffer.alloc(length);
|
||||
|
||||
const bytesRead = withOpenFile.sync(filePath, 'r', fileDescriptor =>
|
||||
fs.readSync(fileDescriptor, buffer, 0, length, startPosition)
|
||||
);
|
||||
|
||||
if (bytesRead < length) {
|
||||
buffer = buffer.slice(0, bytesRead);
|
||||
}
|
||||
|
||||
return buffer;
|
||||
};
|
||||
Reference in New Issue
Block a user