cnpmcore
Version:
Private NPM Registry for Enterprise
127 lines • 8.77 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { AccessLevel, Inject, SingletonProto } from 'egg';
import { Pointcut } from 'egg/aop';
import { AsyncTimer } from "../aop/AsyncTimer.js";
const INSTANCE_NAME = 'nfsAdapter';
let NFSAdapter = class NFSAdapter {
async uploadBytes(storeKey, bytes) {
this.logger.info('[%s:uploadBytes] key: %s, bytes: %d', INSTANCE_NAME, storeKey, bytes.length);
await this.nfsClient.uploadBytes(bytes, { key: storeKey });
}
// will return next store position
async appendBytes(storeKey, bytes, position, headers) {
// make sure position is undefined by the first time
if (!position)
position = undefined;
const options = {
key: storeKey,
position,
headers,
};
const result = await this.nfsClient.appendBytes(bytes, options);
if (result?.nextAppendPosition)
return String(result.nextAppendPosition);
}
async uploadFile(storeKey, file) {
this.logger.info('[%s:uploadFile] key: %s, file: %s', INSTANCE_NAME, storeKey, file);
await this.nfsClient.upload(file, { key: storeKey });
}
async downloadFile(storeKey, file, timeout) {
this.logger.info('[%s:downloadFile] key: %s, file: %s, timeout: %s', INSTANCE_NAME, storeKey, file, timeout);
await this.nfsClient.download(storeKey, file, { timeout });
}
async remove(storeKey) {
this.logger.info('[%s:remove] key: %s', INSTANCE_NAME, storeKey);
await this.nfsClient.remove(storeKey);
}
async getStream(storeKey) {
return await this.nfsClient.createDownloadStream(storeKey);
}
async getBytes(storeKey) {
return await this.nfsClient.readBytes(storeKey);
}
async getDownloadUrl(storeKey) {
if (typeof this.nfsClient.url === 'function') {
return this.nfsClient.url(storeKey);
}
}
async getDownloadUrlOrStream(storeKey) {
const downloadUrl = await this.getDownloadUrl(storeKey);
if (downloadUrl) {
return downloadUrl;
}
return await this.getStream(storeKey);
}
};
__decorate([
Inject(),
__metadata("design:type", Object)
], NFSAdapter.prototype, "nfsClient", void 0);
__decorate([
Inject(),
__metadata("design:type", Function)
], NFSAdapter.prototype, "logger", void 0);
__decorate([
Pointcut(AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String, Uint8Array]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "uploadBytes", null);
__decorate([
Pointcut(AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String, Uint8Array, String, Object]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "appendBytes", null);
__decorate([
Pointcut(AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String, String]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "uploadFile", null);
__decorate([
Pointcut(AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String, String, Number]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "downloadFile", null);
__decorate([
Pointcut(AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "remove", null);
__decorate([
Pointcut(AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "getStream", null);
__decorate([
Pointcut(AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "getBytes", null);
__decorate([
Pointcut(AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "getDownloadUrl", null);
NFSAdapter = __decorate([
SingletonProto({
name: INSTANCE_NAME,
accessLevel: AccessLevel.PUBLIC,
})
], NFSAdapter);
export { NFSAdapter };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTkZTQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb21tb24vYWRhcHRlci9ORlNBZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBVSxNQUFNLEtBQUssQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRW5DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdsRCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUM7QUFNNUIsSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVTtJQVFmLEFBQU4sS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFnQixFQUFFLEtBQWlCO1FBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9GLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELGtDQUFrQztJQUU1QixBQUFOLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBZ0IsRUFBRSxLQUFpQixFQUFFLFFBQWlCLEVBQUUsT0FBNkI7UUFDckcsb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxRQUFRO1lBQUUsUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUNwQyxNQUFNLE9BQU8sR0FBRztZQUNkLEdBQUcsRUFBRSxRQUFRO1lBQ2IsUUFBUTtZQUNSLE9BQU87U0FDUixDQUFDO1FBQ0YsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEUsSUFBSSxNQUFNLEVBQUUs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