fix(core): update

This commit is contained in:
Philipp Kunz 2024-06-09 16:02:33 +02:00
parent 559e3da47b
commit 591c99736d
4 changed files with 25 additions and 6 deletions

View File

@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@push.rocks/smartbucket',
version: '3.0.11',
version: '3.0.12',
description: 'A TypeScript library offering simple and cloud-agnostic object storage with advanced features like bucket creation, file and directory management, and data streaming.'
}

View File

@ -216,7 +216,7 @@ export class Bucket {
*/
public async fastPutStream(optionsArg: {
path: string;
dataStream: plugins.stream.Readable | ReadableStream;
readableStream: plugins.stream.Readable | ReadableStream;
nativeMetadata?: { [key: string]: string };
overwrite?: boolean;
}): Promise<void> {
@ -233,7 +233,7 @@ export class Bucket {
console.log(`Creating new object at path '${optionsArg.path}' in bucket '${this.name}'.`);
}
const streamIntake = await plugins.smartstream.StreamIntake.fromStream<Uint8Array>(optionsArg.dataStream);
const streamIntake = await plugins.smartstream.StreamIntake.fromStream<Uint8Array>(optionsArg.readableStream);
// Proceed with putting the object
await this.smartbucketRef.minioClient.putObject(

View File

@ -74,8 +74,9 @@ export class Directory {
return null;
}
if (!exists && optionsArg.createWithContents) {
await this.fastPut({
path: optionsArg.name,
await File.create({
directory: this,
name: optionsArg.name,
contents: optionsArg.createWithContents,
});
}
@ -254,6 +255,20 @@ export class Directory {
return result;
}
/**
* fast put stream
*/
public async fastPutStream(optionsArg: {
path: string;
stream: plugins.stream.Readable;
}): Promise<void> {
const path = plugins.path.join(this.getBasePath(), optionsArg.path);
await this.bucketRef.fastPutStream({
path,
readableStream: optionsArg.stream,
});
}
/**
* removes a file within the directory
* @param optionsArg

View File

@ -33,6 +33,10 @@ export class File {
fileName: optionsArg.name,
});
if (contents instanceof plugins.stream.Readable) {
await optionsArg.directory.fastPutStream({
path: optionsArg.name,
stream: contents,
});
} else {
await optionsArg.directory.fastPut({
path: optionsArg.name,
@ -160,7 +164,7 @@ export class File {
) {
await this.parentDirectoryRef.bucketRef.fastPutStream({
path: this.getBasePath(),
dataStream: optionsArg.contents,
readableStream: optionsArg.contents,
});
} else if (Buffer.isBuffer(optionsArg.contents)) {
await this.parentDirectoryRef.bucketRef.fastPut({