Compare commits

..

No commits in common. "bf52f013655af91ea495fae3c13faebf709dcdf1" and "fb2880c9954945f83bc4d2d109211bb80632bc80" have entirely different histories.

4 changed files with 4 additions and 32 deletions

View File

@ -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",

View File

@ -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.'
} }

View File

@ -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;
}
} }

View File

@ -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;
}
}
}