@kaltura-ng/kaltura-client
Version:
Kaltura Typescript client
88 lines • 3.91 kB
JavaScript
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
import { KalturaRequestBase } from "./kaltura-request-base";
import { KalturaMultiResponse } from "./kaltura-multi-response";
import { KalturaAPIException } from "./kaltura-api-exception";
var KalturaMultiRequest = (function (_super) {
__extends(KalturaMultiRequest, _super);
function KalturaMultiRequest() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var _this = _super.call(this, {}) || this;
_this.requests = [];
_this.requests = args;
return _this;
}
KalturaMultiRequest.prototype.toRequestObject = function () {
var result = _super.prototype.toRequestObject.call(this);
for (var i = 0, length_1 = this.requests.length; i < length_1; i++) {
result[i] = this.requests[i].toRequestObject();
}
return result;
};
KalturaMultiRequest.prototype._getMetadata = function () {
var result = _super.prototype._getMetadata.call(this);
Object.assign(result.properties, {
service: { default: 'multirequest', type: 'c' }
});
return result;
};
KalturaMultiRequest.prototype._unwrapResponse = function (response) {
// if response is object without 'objectType' property and with 'result' property -> it is ott response
if (response && typeof response === 'object' && !response.objectType && response.result) {
// if response.result is object without 'objectType' property and with 'error' property -> it is ott error response
if (typeof response.result === 'object' && !response.result.objectType && response.result.error) {
return response.result.error;
}
else {
return response.result;
}
}
else {
return response;
}
};
KalturaMultiRequest.prototype.setCompletion = function (callback) {
this.callback = callback;
return this;
};
KalturaMultiRequest.prototype.handleResponse = function (responses) {
var kalturaResponses = [];
var unwrappedResponse = this._unwrapResponse(responses);
var responseObject = null;
if (!unwrappedResponse || !(unwrappedResponse instanceof Array) || unwrappedResponse.length !== this.requests.length) {
var response = new KalturaAPIException('client::response_type_error', "server response is invalid, expected array of " + this.requests.length);
for (var i = 0, len = this.requests.length; i < len; i++) {
kalturaResponses.push(this.requests[i].handleResponse(response));
}
}
else {
for (var i = 0, len = this.requests.length; i < len; i++) {
var serverResponse = unwrappedResponse[i];
kalturaResponses.push(this.requests[i].handleResponse(serverResponse));
}
if (this.callback) {
try {
this.callback(new KalturaMultiResponse(kalturaResponses));
}
catch (ex) {
// do nothing by design
}
}
}
return new KalturaMultiResponse(kalturaResponses);
};
return KalturaMultiRequest;
}(KalturaRequestBase));
export { KalturaMultiRequest };
//# sourceMappingURL=kaltura-multi-request.js.map