cnpmcore
Version:
130 lines • 9.07 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);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.NFSAdapter = void 0;
const tegg_1 = require("@eggjs/tegg");
const aop_1 = require("@eggjs/tegg/aop");
const AsyncTimer_1 = require("../aop/AsyncTimer");
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);
}
};
exports.NFSAdapter = NFSAdapter;
__decorate([
(0, tegg_1.Inject)(),
__metadata("design:type", Object)
], NFSAdapter.prototype, "nfsClient", void 0);
__decorate([
(0, tegg_1.Inject)(),
__metadata("design:type", Object)
], NFSAdapter.prototype, "logger", void 0);
__decorate([
(0, aop_1.Pointcut)(AsyncTimer_1.AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String, Uint8Array]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "uploadBytes", null);
__decorate([
(0, aop_1.Pointcut)(AsyncTimer_1.AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String, Uint8Array, String, Object]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "appendBytes", null);
__decorate([
(0, aop_1.Pointcut)(AsyncTimer_1.AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String, String]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "uploadFile", null);
__decorate([
(0, aop_1.Pointcut)(AsyncTimer_1.AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String, String, Number]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "downloadFile", null);
__decorate([
(0, aop_1.Pointcut)(AsyncTimer_1.AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "remove", null);
__decorate([
(0, aop_1.Pointcut)(AsyncTimer_1.AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "getStream", null);
__decorate([
(0, aop_1.Pointcut)(AsyncTimer_1.AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "getBytes", null);
__decorate([
(0, aop_1.Pointcut)(AsyncTimer_1.AsyncTimer),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", Promise)
], NFSAdapter.prototype, "getDownloadUrl", null);
exports.NFSAdapter = NFSAdapter = __decorate([
(0, tegg_1.SingletonProto)({
name: INSTANCE_NAME,
accessLevel: tegg_1.AccessLevel.PUBLIC,
})
], NFSAdapter);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTkZTQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2FwcC9jb21tb24vYWRhcHRlci9ORlNBZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLHNDQUlxQjtBQUNyQix5Q0FBMkM7QUFFM0Msa0RBQStDO0FBSS9DLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQztBQU01QixJQUFNLFVBQVUsR0FBaEIsTUFBTSxVQUFVO0lBUWYsQUFBTixLQUFLLENBQUMsV0FBVyxDQUFDLFFBQWdCLEVBQUUsS0FBaUI7UUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUNBQXFDLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0YsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsa0NBQWtDO0lBRTVCLEFBQU4sS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFnQixFQUFFLEtBQWlCLEVBQUUsUUFBaUIsRUFBRSxPQUE2QjtRQUNyRyxvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLFFBQVE7WUFBRSxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQ3BDLE1BQU0sT0FBTyxHQUFHO1lBQ2QsR0FBRyxFQUFFLFFBQVE7WUFDYixRQUFRO1lBQ1IsT0FBTztTQUNSLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoRSxJQUFJLE1BQU0sRUFBRSxrQkFBa0I7WUFBRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBR0ssQUFBTixLQUFLLENBQUMsVUFBVSxDQUFDLFFBQWdCLEVB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