UNPKG

react-native-cos-sdk

Version:
126 lines (123 loc) 6.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TransferTask = exports.CosTransferManger = void 0; var _reactNativeUuid = _interopRequireDefault(require("react-native-uuid")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } class CosTransferManger { //回调map constructor(transferKey, cosTransferModule) { _defineProperty(this, "cosTransferModule", void 0); _defineProperty(this, "transferKey", void 0); _defineProperty(this, "resultListeners", void 0); _defineProperty(this, "stateCallBacks", void 0); _defineProperty(this, "progressCallBacks", void 0); _defineProperty(this, "initMultipleUploadCallbacks", void 0); this.cosTransferModule = cosTransferModule; this.transferKey = transferKey; this.resultListeners = new Map(); this.stateCallBacks = new Map(); this.progressCallBacks = new Map(); this.initMultipleUploadCallbacks = new Map(); } async upload(bucket, cosPath, fileUri, parameters) { let resultCallbackKey = this.addResultListener(parameters.resultListener); let stateCallbackKey = this.addStateCallBack(parameters.stateCallback); let progressCallbackKey = this.addProgressCallBack(parameters.progressCallback); let initMultipleUploadCallbackKey = this.addInitMultipleUploadCallback(parameters.initMultipleUploadCallback); let taskId = await this.cosTransferModule.upload(this.transferKey, bucket, cosPath, fileUri, parameters.uploadId, resultCallbackKey, stateCallbackKey, progressCallbackKey, initMultipleUploadCallbackKey, parameters.stroageClass, parameters.trafficLimit != undefined ? parameters.trafficLimit.toString() : parameters.trafficLimit, parameters.region); return new TransferTask(this.transferKey, taskId, this.cosTransferModule); } async download(bucket, cosPath, savePath, parameters) { let resultCallbackKey = this.addResultListener(parameters.resultListener); let stateCallbackKey = this.addStateCallBack(parameters.stateCallback); let progressCallbackKey = this.addProgressCallBack(parameters.progressCallback); let taskId = await this.cosTransferModule.download(this.transferKey, bucket, cosPath, savePath, resultCallbackKey, stateCallbackKey, progressCallbackKey, parameters.versionId, parameters.trafficLimit != undefined ? parameters.trafficLimit.toString() : parameters.trafficLimit, parameters.region); return new TransferTask(this.transferKey, taskId, this.cosTransferModule); } runResultSuccessCallBack(key, header) { var _this$resultListeners; (_this$resultListeners = this.resultListeners.get(key)) === null || _this$resultListeners === void 0 ? void 0 : _this$resultListeners.successCallBack(header); this.resultListeners.delete(key); this.stateCallBacks.delete(key); this.progressCallBacks.delete(key); } runResultFailCallBack(key, clientException, serviceException) { var _this$resultListeners2; (_this$resultListeners2 = this.resultListeners.get(key)) === null || _this$resultListeners2 === void 0 ? void 0 : _this$resultListeners2.failCallBack(clientException, serviceException); this.resultListeners.delete(key); this.stateCallBacks.delete(key); this.progressCallBacks.delete(key); } runStateCallBack(key, state) { var _this$stateCallBacks$; (_this$stateCallBacks$ = this.stateCallBacks.get(key)) === null || _this$stateCallBacks$ === void 0 ? void 0 : _this$stateCallBacks$(state); } runProgressCallBack(key, complete, target) { var _this$progressCallBac; (_this$progressCallBac = this.progressCallBacks.get(key)) === null || _this$progressCallBac === void 0 ? void 0 : _this$progressCallBac(complete, target); } runInitMultipleUploadCallback(key, bucket, cosKey, uploadId) { var _this$initMultipleUpl; (_this$initMultipleUpl = this.initMultipleUploadCallbacks.get(key)) === null || _this$initMultipleUpl === void 0 ? void 0 : _this$initMultipleUpl(bucket, cosKey, uploadId); } /// 生成回调key并加入回调map addResultListener(resultListener) { if (resultListener != null && resultListener != undefined) { let resultCallbackKey = _reactNativeUuid.default.v4().toString(); this.resultListeners.set(resultCallbackKey, resultListener); return resultCallbackKey; } return undefined; } addStateCallBack(stateCallback) { if (stateCallback != null && stateCallback != undefined) { let stateCallbackKey = _reactNativeUuid.default.v4().toString(); this.stateCallBacks.set(stateCallbackKey, stateCallback); return stateCallbackKey; } return undefined; } addProgressCallBack(progressCallBack) { if (progressCallBack != null && progressCallBack != undefined) { let progressCallbackKey = _reactNativeUuid.default.v4().toString(); this.progressCallBacks.set(progressCallbackKey, progressCallBack); return progressCallbackKey; } return undefined; } addInitMultipleUploadCallback(initMultipleUploadCallback) { if (initMultipleUploadCallback != null && initMultipleUploadCallback != undefined) { let initMultipleUploadCallbackKey = _reactNativeUuid.default.v4().toString(); this.initMultipleUploadCallbacks.set(initMultipleUploadCallbackKey, initMultipleUploadCallback); return initMultipleUploadCallbackKey; } return undefined; } } exports.CosTransferManger = CosTransferManger; class TransferTask { constructor(transferKey, taskId, cosTransferModule) { _defineProperty(this, "cosTransferModule", void 0); _defineProperty(this, "transferKey", void 0); _defineProperty(this, "taskId", void 0); this.cosTransferModule = cosTransferModule; this.transferKey = transferKey; this.taskId = taskId; } pause() { return this.cosTransferModule.pause(this.transferKey, this.taskId); } resume() { return this.cosTransferModule.resume(this.transferKey, this.taskId); } cancel() { return this.cosTransferModule.cancel(this.transferKey, this.taskId); } } exports.TransferTask = TransferTask; //# sourceMappingURL=cos_transfer.js.map