Compare commits
No commits in common. "bf52f013655af91ea495fae3c13faebf709dcdf1" and "fb2880c9954945f83bc4d2d109211bb80632bc80" have entirely different histories.
bf52f01365
...
fb2880c995
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@push.rocks/smartfile",
|
"name": "@push.rocks/smartfile",
|
||||||
"private": false,
|
"private": false,
|
||||||
"version": "11.0.20",
|
"version": "11.0.19",
|
||||||
"description": "Provides comprehensive tools for efficient file management in Node.js using TypeScript, including handling streams, virtual directories, and various file operations.",
|
"description": "Provides comprehensive tools for efficient file management in Node.js using TypeScript, including handling streams, virtual directories, and various file operations.",
|
||||||
"main": "dist_ts/index.js",
|
"main": "dist_ts/index.js",
|
||||||
"typings": "dist_ts/index.d.ts",
|
"typings": "dist_ts/index.d.ts",
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@push.rocks/smartfile',
|
name: '@push.rocks/smartfile',
|
||||||
version: '11.0.20',
|
version: '11.0.19',
|
||||||
description: 'Provides comprehensive tools for efficient file management in Node.js using TypeScript, including handling streams, virtual directories, and various file operations.'
|
description: 'Provides comprehensive tools for efficient file management in Node.js using TypeScript, including handling streams, virtual directories, and various file operations.'
|
||||||
}
|
}
|
||||||
|
@ -306,11 +306,4 @@ export class SmartFile extends plugins.smartjson.Smartjson {
|
|||||||
stream.push(null); // Push null to signify the end of the stream (EOF)
|
stream.push(null); // Push null to signify the end of the stream (EOF)
|
||||||
return stream;
|
return stream;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the size of the file in bytes
|
|
||||||
*/
|
|
||||||
public async getSize(): Promise<number> {
|
|
||||||
return this.contentBuffer.length;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -13,13 +13,9 @@ export class StreamFile {
|
|||||||
// STATIC
|
// STATIC
|
||||||
|
|
||||||
public static async fromPath(filePath: string): Promise<StreamFile> {
|
public static async fromPath(filePath: string): Promise<StreamFile> {
|
||||||
const streamSource: TStreamSource = async (streamFileArg) => smartfileFsStream.createReadStream(filePath);
|
const streamSource: TStreamSource = async (stremFileArg) => smartfileFsStream.createReadStream(filePath);
|
||||||
const streamFile = new StreamFile(streamSource, filePath);
|
const streamFile = new StreamFile(streamSource, filePath);
|
||||||
streamFile.multiUse = true;
|
streamFile.multiUse = true;
|
||||||
streamFile.byteLengthComputeFunction = async () => {
|
|
||||||
const stats = await smartfileFs.stat(filePath);
|
|
||||||
return stats.size;
|
|
||||||
}
|
|
||||||
return streamFile;
|
return streamFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -27,10 +23,6 @@ export class StreamFile {
|
|||||||
const streamSource: TStreamSource = async (streamFileArg) => plugins.smartrequest.getStream(url); // Replace with actual plugin method
|
const streamSource: TStreamSource = async (streamFileArg) => plugins.smartrequest.getStream(url); // Replace with actual plugin method
|
||||||
const streamFile = new StreamFile(streamSource);
|
const streamFile = new StreamFile(streamSource);
|
||||||
streamFile.multiUse = true;
|
streamFile.multiUse = true;
|
||||||
streamFile.byteLengthComputeFunction = async () => {
|
|
||||||
const response = await plugins.smartrequest.getBinary(url); // TODO: switch to future .getBinaryByteLength()
|
|
||||||
return response.body.length;
|
|
||||||
}
|
|
||||||
return streamFile;
|
return streamFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,7 +35,6 @@ export class StreamFile {
|
|||||||
};
|
};
|
||||||
const streamFile = new StreamFile(streamSource, relativeFilePath);
|
const streamFile = new StreamFile(streamSource, relativeFilePath);
|
||||||
streamFile.multiUse = true;
|
streamFile.multiUse = true;
|
||||||
streamFile.byteLengthComputeFunction = async () => buffer.length;
|
|
||||||
return streamFile;
|
return streamFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,7 +86,6 @@ export class StreamFile {
|
|||||||
private cachedStreamBuffer?: Buffer;
|
private cachedStreamBuffer?: Buffer;
|
||||||
public multiUse: boolean;
|
public multiUse: boolean;
|
||||||
public used: boolean = false;
|
public used: boolean = false;
|
||||||
public byteLengthComputeFunction: () => Promise<number>;
|
|
||||||
|
|
||||||
private constructor(streamSource: TStreamSource, relativeFilePath?: string) {
|
private constructor(streamSource: TStreamSource, relativeFilePath?: string) {
|
||||||
this.streamSource = streamSource;
|
this.streamSource = streamSource;
|
||||||
@ -160,15 +150,4 @@ export class StreamFile {
|
|||||||
const contentBuffer = await this.getContentAsBuffer();
|
const contentBuffer = await this.getContentAsBuffer();
|
||||||
return contentBuffer.toString(formatArg);
|
return contentBuffer.toString(formatArg);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the size of the file content in bytes.
|
|
||||||
*/
|
|
||||||
public async getSize(): Promise<number> {
|
|
||||||
if (this.byteLengthComputeFunction) {
|
|
||||||
return this.byteLengthComputeFunction();
|
|
||||||
} else {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user