js-uploader
Version:
A JavaScript library for file upload
38 lines • 1.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.handle = void 0;
var tslib_1 = require("tslib");
var rxjs_1 = require("rxjs");
var operators_1 = require("rxjs/operators");
var interface_1 = require("../../interface");
var AwsS3TaskHandler_1 = require("./AwsS3TaskHandler");
var CommonsTaskHandler_1 = require("./CommonsTaskHandler");
var QiniuOSSTaskHandler_1 = require("./QiniuOSSTaskHandler");
var QiniuOSSTaskHandler_v2_1 = require("./QiniuOSSTaskHandler_v2");
function toObserverble(input) {
return input && input instanceof Promise ? rxjs_1.from(input) : rxjs_1.of(input);
}
function handle(task, uploaderOptions) {
var ossOptions = uploaderOptions.ossOptions;
return toObserverble(ossOptions === null || ossOptions === void 0 ? void 0 : ossOptions.enable(task)).pipe(operators_1.map(function (enable) {
if (enable) {
switch (ossOptions === null || ossOptions === void 0 ? void 0 : ossOptions.provider) {
case interface_1.OSSProvider.Qiniu:
return new QiniuOSSTaskHandler_1.QiniuOSSTaskHandler(task, uploaderOptions);
case interface_1.OSSProvider.Qiniu_v2:
return new QiniuOSSTaskHandler_v2_1.QiniuOSSTaskHandler_v2(task, uploaderOptions);
case interface_1.OSSProvider.S3:
return new AwsS3TaskHandler_1.AwsS3TaskHandler(task, uploaderOptions);
default:
throw new Error("unkown OSSProvider:" + (ossOptions === null || ossOptions === void 0 ? void 0 : ossOptions.provider));
}
}
else {
return new CommonsTaskHandler_1.CommonsTaskHandler(task, uploaderOptions);
}
}));
}
exports.handle = handle;
tslib_1.__exportStar(require("./CommonsTaskHandler"), exports);
tslib_1.__exportStar(require("./TaskHandler"), exports);
//# sourceMappingURL=index.js.map