@kevisual/oss 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -92,7 +92,7 @@ type OssBaseOptions<T = {
92
92
  /**
93
93
  * 已经初始化好的minio client
94
94
  */
95
- client?: Client;
95
+ client: Client;
96
96
  /**
97
97
  * 桶名
98
98
  */
@@ -114,7 +114,17 @@ declare class OssBase implements OssBaseOperation {
114
114
  setPrefix(prefix: string): void;
115
115
  getObject(objectName: string): Promise<stream.Readable>;
116
116
  getJson(objectName: string): Promise<Record<string, any>>;
117
- putObject(objectName: string, data: Buffer | string | Object, metaData?: ItemBucketMetadata): Promise<minio_dist_esm_internal_type_mjs.UploadedObjectInfo>;
117
+ /**
118
+ * 上传文件,
119
+ * @param objectName
120
+ * @param data
121
+ * @param metaData
122
+ * @param options 如果文件本身存在,则复制原有的meta的内容
123
+ * @returns
124
+ */
125
+ putObject(objectName: string, data: Buffer | string | Object, metaData?: ItemBucketMetadata, options?: {
126
+ check?: boolean;
127
+ }): Promise<minio_dist_esm_internal_type_mjs.UploadedObjectInfo>;
118
128
  deleteObject(objectName: string): Promise<void>;
119
129
  listObjects<IS_FILE = false>(objectName: string, opts?: {
120
130
  recursive?: boolean;
@@ -128,7 +138,7 @@ declare class OssBase implements OssBaseOperation {
128
138
  * @param hash
129
139
  * @returns
130
140
  */
131
- checkFileHash(objectName: string, hash: string): Promise<boolean>;
141
+ checkObjectHash(objectName: string, hash: string): Promise<boolean>;
132
142
  copyObject(sourceObject: any, targetObject: any): Promise<minio_dist_esm_internal_type_mjs.CopyObjectResult>;
133
143
  replaceObject(objectName: string, meta: {
134
144
  [key: string]: string;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import 'minio';
2
2
  import 'minio/dist/esm/internal/type.mjs';
3
3
  import 'stream';
4
- export { O as OssBase, a as OssBaseOptions } from './index-z-16S9o1.js';
4
+ export { O as OssBase, a as OssBaseOptions } from './index-CcgwzWpW.js';
package/dist/index.js CHANGED
@@ -71,7 +71,15 @@ var OssBase = class {
71
71
  });
72
72
  });
73
73
  }
74
- async putObject(objectName, data, metaData) {
74
+ /**
75
+ * 上传文件,
76
+ * @param objectName
77
+ * @param data
78
+ * @param metaData
79
+ * @param options 如果文件本身存在,则复制原有的meta的内容
80
+ * @returns
81
+ */
82
+ async putObject(objectName, data, metaData = {}, options) {
75
83
  let putData;
76
84
  let size;
77
85
  if (typeof data === "object") {
@@ -80,6 +88,17 @@ var OssBase = class {
80
88
  } else if (typeof data === "string") {
81
89
  putData = data;
82
90
  size = putData.length;
91
+ } else {
92
+ putData = data;
93
+ }
94
+ if (options?.check) {
95
+ const obj2 = await this.statObject(objectName, true);
96
+ if (obj2) {
97
+ metaData = {
98
+ ...obj2.metaData,
99
+ ...metaData
100
+ };
101
+ }
83
102
  }
84
103
  const bucketName = this.bucketName;
85
104
  const obj = await this.client.putObject(bucketName, `${this.prefix}${objectName}`, putData, size, metaData);
@@ -138,7 +157,7 @@ var OssBase = class {
138
157
  * @param hash
139
158
  * @returns
140
159
  */
141
- async checkFileHash(objectName, hash2) {
160
+ async checkObjectHash(objectName, hash2) {
142
161
  const obj = await this.statObject(`${this.prefix}${objectName}`, true);
143
162
  if (!obj) {
144
163
  return false;
@@ -1,5 +1,5 @@
1
1
  import * as minio_dist_esm_internal_type_mjs from 'minio/dist/esm/internal/type.mjs';
2
- import { O as OssBase, e as OssService, a as OssBaseOptions, L as ListFileObject, c as ListObjectResult } from '../index-z-16S9o1.js';
2
+ import { O as OssBase, e as OssService, a as OssBaseOptions, L as ListFileObject, c as ListObjectResult } from '../index-CcgwzWpW.js';
3
3
  import 'minio';
4
4
  import 'stream';
5
5
 
@@ -74,7 +74,15 @@ var OssBase = class {
74
74
  });
75
75
  });
76
76
  }
77
- async putObject(objectName, data, metaData) {
77
+ /**
78
+ * 上传文件,
79
+ * @param objectName
80
+ * @param data
81
+ * @param metaData
82
+ * @param options 如果文件本身存在,则复制原有的meta的内容
83
+ * @returns
84
+ */
85
+ async putObject(objectName, data, metaData = {}, options) {
78
86
  let putData;
79
87
  let size;
80
88
  if (typeof data === "object") {
@@ -83,6 +91,17 @@ var OssBase = class {
83
91
  } else if (typeof data === "string") {
84
92
  putData = data;
85
93
  size = putData.length;
94
+ } else {
95
+ putData = data;
96
+ }
97
+ if (options?.check) {
98
+ const obj2 = await this.statObject(objectName, true);
99
+ if (obj2) {
100
+ metaData = {
101
+ ...obj2.metaData,
102
+ ...metaData
103
+ };
104
+ }
86
105
  }
87
106
  const bucketName = this.bucketName;
88
107
  const obj = await this.client.putObject(bucketName, `${this.prefix}${objectName}`, putData, size, metaData);
@@ -141,7 +160,7 @@ var OssBase = class {
141
160
  * @param hash
142
161
  * @returns
143
162
  */
144
- async checkFileHash(objectName, hash2) {
163
+ async checkObjectHash(objectName, hash2) {
145
164
  const obj = await this.statObject(`${this.prefix}${objectName}`, true);
146
165
  if (!obj) {
147
166
  return false;
@@ -1,5 +1,5 @@
1
- import { O as OssBase } from '../index-z-16S9o1.js';
2
- export { b as ListDirectoryObject, L as ListFileObject, c as ListObjectResult, d as OssBaseOperation, a as OssBaseOptions, e as OssService, S as StatObjectResult, U as UploadedObjectInfo } from '../index-z-16S9o1.js';
1
+ import { O as OssBase } from '../index-CcgwzWpW.js';
2
+ export { b as ListDirectoryObject, L as ListFileObject, c as ListObjectResult, d as OssBaseOperation, a as OssBaseOptions, e as OssService, S as StatObjectResult, U as UploadedObjectInfo } from '../index-CcgwzWpW.js';
3
3
  export { ConfigOssService } from './config.js';
4
4
  import * as stream from 'stream';
5
5
  import { ServerResponse } from 'node:http';
@@ -74,7 +74,15 @@ var OssBase = class {
74
74
  });
75
75
  });
76
76
  }
77
- async putObject(objectName, data, metaData) {
77
+ /**
78
+ * 上传文件,
79
+ * @param objectName
80
+ * @param data
81
+ * @param metaData
82
+ * @param options 如果文件本身存在,则复制原有的meta的内容
83
+ * @returns
84
+ */
85
+ async putObject(objectName, data, metaData = {}, options) {
78
86
  let putData;
79
87
  let size;
80
88
  if (typeof data === "object") {
@@ -83,6 +91,17 @@ var OssBase = class {
83
91
  } else if (typeof data === "string") {
84
92
  putData = data;
85
93
  size = putData.length;
94
+ } else {
95
+ putData = data;
96
+ }
97
+ if (options?.check) {
98
+ const obj2 = await this.statObject(objectName, true);
99
+ if (obj2) {
100
+ metaData = {
101
+ ...obj2.metaData,
102
+ ...metaData
103
+ };
104
+ }
86
105
  }
87
106
  const bucketName = this.bucketName;
88
107
  const obj = await this.client.putObject(bucketName, `${this.prefix}${objectName}`, putData, size, metaData);
@@ -141,7 +160,7 @@ var OssBase = class {
141
160
  * @param hash
142
161
  * @returns
143
162
  */
144
- async checkFileHash(objectName, hash2) {
163
+ async checkObjectHash(objectName, hash2) {
145
164
  const obj = await this.statObject(`${this.prefix}${objectName}`, true);
146
165
  if (!obj) {
147
166
  return false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kevisual/oss",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {