UNPKG

@kaltura-ng/kaltura-client

Version:
88 lines 3.91 kB
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