@kevisual/oss 0.0.2 → 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.
- package/dist/{index-CQoepWCw.d.ts → index-CcgwzWpW.d.ts} +21 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.js +37 -2
- package/dist/services/config.d.ts +1 -1
- package/dist/services/config.js +37 -2
- package/dist/services/index.d.ts +2 -2
- package/dist/services/index.js +37 -2
- package/package.json +1 -1
|
@@ -92,7 +92,7 @@ type OssBaseOptions<T = {
|
|
|
92
92
|
/**
|
|
93
93
|
* 已经初始化好的minio client
|
|
94
94
|
*/
|
|
95
|
-
client
|
|
95
|
+
client: Client;
|
|
96
96
|
/**
|
|
97
97
|
* 桶名
|
|
98
98
|
*/
|
|
@@ -114,14 +114,31 @@ 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
|
-
|
|
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;
|
|
121
131
|
startAfter?: string;
|
|
122
132
|
}): Promise<IS_FILE extends true ? ListFileObject[] : ListObjectResult[]>;
|
|
123
133
|
fPutObject(objectName: string, filePath: string, metaData?: ItemBucketMetadata): Promise<any>;
|
|
124
|
-
statObject(objectName: string): Promise<minio.BucketItemStat>;
|
|
134
|
+
statObject(objectName: string, checkFile?: boolean): Promise<minio.BucketItemStat>;
|
|
135
|
+
/**
|
|
136
|
+
* 检查文件hash是否一致
|
|
137
|
+
* @param objectName
|
|
138
|
+
* @param hash
|
|
139
|
+
* @returns
|
|
140
|
+
*/
|
|
141
|
+
checkObjectHash(objectName: string, hash: string): Promise<boolean>;
|
|
125
142
|
copyObject(sourceObject: any, targetObject: any): Promise<minio_dist_esm_internal_type_mjs.CopyObjectResult>;
|
|
126
143
|
replaceObject(objectName: string, meta: {
|
|
127
144
|
[key: string]: string;
|
|
@@ -133,4 +150,4 @@ declare class OssBase implements OssBaseOperation {
|
|
|
133
150
|
}): T;
|
|
134
151
|
}
|
|
135
152
|
|
|
136
|
-
export { type ListFileObject as L, OssBase as O, type OssBaseOptions as a, type
|
|
153
|
+
export { type ListFileObject as L, OssBase as O, type StatObjectResult as S, type UploadedObjectInfo as U, type OssBaseOptions as a, type ListDirectoryObject as b, type ListObjectResult as c, type OssBaseOperation as d, type OssService as e };
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -71,7 +71,15 @@ var OssBase = class {
|
|
|
71
71
|
});
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
|
-
|
|
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);
|
|
@@ -117,10 +136,13 @@ var OssBase = class {
|
|
|
117
136
|
const obj = await this.client.fPutObject(bucketName, `${this.prefix}${objectName}`, filePath, metaData);
|
|
118
137
|
return obj;
|
|
119
138
|
}
|
|
120
|
-
async statObject(objectName) {
|
|
139
|
+
async statObject(objectName, checkFile = true) {
|
|
121
140
|
const bucketName = this.bucketName;
|
|
122
141
|
try {
|
|
123
142
|
const obj = await this.client.statObject(bucketName, `${this.prefix}${objectName}`);
|
|
143
|
+
if (obj && checkFile && obj.size === 0) {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
124
146
|
return obj;
|
|
125
147
|
} catch (e) {
|
|
126
148
|
if (e.code === "NotFound") {
|
|
@@ -129,6 +151,19 @@ var OssBase = class {
|
|
|
129
151
|
throw e;
|
|
130
152
|
}
|
|
131
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* 检查文件hash是否一致
|
|
156
|
+
* @param objectName
|
|
157
|
+
* @param hash
|
|
158
|
+
* @returns
|
|
159
|
+
*/
|
|
160
|
+
async checkObjectHash(objectName, hash2) {
|
|
161
|
+
const obj = await this.statObject(`${this.prefix}${objectName}`, true);
|
|
162
|
+
if (!obj) {
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
return obj.etag === hash2;
|
|
166
|
+
}
|
|
132
167
|
async copyObject(sourceObject, targetObject) {
|
|
133
168
|
const bucketName = this.bucketName;
|
|
134
169
|
const obj = await this.client.copyObject(bucketName, sourceObject, targetObject);
|
|
@@ -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,
|
|
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
|
|
package/dist/services/config.js
CHANGED
|
@@ -74,7 +74,15 @@ var OssBase = class {
|
|
|
74
74
|
});
|
|
75
75
|
});
|
|
76
76
|
}
|
|
77
|
-
|
|
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);
|
|
@@ -120,10 +139,13 @@ var OssBase = class {
|
|
|
120
139
|
const obj = await this.client.fPutObject(bucketName, `${this.prefix}${objectName}`, filePath, metaData);
|
|
121
140
|
return obj;
|
|
122
141
|
}
|
|
123
|
-
async statObject(objectName) {
|
|
142
|
+
async statObject(objectName, checkFile = true) {
|
|
124
143
|
const bucketName = this.bucketName;
|
|
125
144
|
try {
|
|
126
145
|
const obj = await this.client.statObject(bucketName, `${this.prefix}${objectName}`);
|
|
146
|
+
if (obj && checkFile && obj.size === 0) {
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
127
149
|
return obj;
|
|
128
150
|
} catch (e) {
|
|
129
151
|
if (e.code === "NotFound") {
|
|
@@ -132,6 +154,19 @@ var OssBase = class {
|
|
|
132
154
|
throw e;
|
|
133
155
|
}
|
|
134
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* 检查文件hash是否一致
|
|
159
|
+
* @param objectName
|
|
160
|
+
* @param hash
|
|
161
|
+
* @returns
|
|
162
|
+
*/
|
|
163
|
+
async checkObjectHash(objectName, hash2) {
|
|
164
|
+
const obj = await this.statObject(`${this.prefix}${objectName}`, true);
|
|
165
|
+
if (!obj) {
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
return obj.etag === hash2;
|
|
169
|
+
}
|
|
135
170
|
async copyObject(sourceObject, targetObject) {
|
|
136
171
|
const bucketName = this.bucketName;
|
|
137
172
|
const obj = await this.client.copyObject(bucketName, sourceObject, targetObject);
|
package/dist/services/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { O as OssBase } from '../index-
|
|
2
|
-
export { a as OssBaseOptions } from '../index-
|
|
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';
|
package/dist/services/index.js
CHANGED
|
@@ -74,7 +74,15 @@ var OssBase = class {
|
|
|
74
74
|
});
|
|
75
75
|
});
|
|
76
76
|
}
|
|
77
|
-
|
|
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);
|
|
@@ -120,10 +139,13 @@ var OssBase = class {
|
|
|
120
139
|
const obj = await this.client.fPutObject(bucketName, `${this.prefix}${objectName}`, filePath, metaData);
|
|
121
140
|
return obj;
|
|
122
141
|
}
|
|
123
|
-
async statObject(objectName) {
|
|
142
|
+
async statObject(objectName, checkFile = true) {
|
|
124
143
|
const bucketName = this.bucketName;
|
|
125
144
|
try {
|
|
126
145
|
const obj = await this.client.statObject(bucketName, `${this.prefix}${objectName}`);
|
|
146
|
+
if (obj && checkFile && obj.size === 0) {
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
127
149
|
return obj;
|
|
128
150
|
} catch (e) {
|
|
129
151
|
if (e.code === "NotFound") {
|
|
@@ -132,6 +154,19 @@ var OssBase = class {
|
|
|
132
154
|
throw e;
|
|
133
155
|
}
|
|
134
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* 检查文件hash是否一致
|
|
159
|
+
* @param objectName
|
|
160
|
+
* @param hash
|
|
161
|
+
* @returns
|
|
162
|
+
*/
|
|
163
|
+
async checkObjectHash(objectName, hash2) {
|
|
164
|
+
const obj = await this.statObject(`${this.prefix}${objectName}`, true);
|
|
165
|
+
if (!obj) {
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
return obj.etag === hash2;
|
|
169
|
+
}
|
|
135
170
|
async copyObject(sourceObject, targetObject) {
|
|
136
171
|
const bucketName = this.bucketName;
|
|
137
172
|
const obj = await this.client.copyObject(bucketName, sourceObject, targetObject);
|