UNPKG

kentico-cloud-delivery

Version:

Official Kentico Cloud Delivery SDK

65 lines 3.33 kB
"use strict"; exports.__esModule = true; var rxjs_1 = require("rxjs"); var operators_1 = require("rxjs/operators"); var models_1 = require("./models"); var ObservableFactory = /** @class */ (function () { function ObservableFactory() { this.movieCodename = 'warrior'; this.taxonomyCodename = 'movietype'; this.typeCodename = 'movie'; this.elementCodename = 'title'; } /** * Gets single observable containing all test object types * @param client * @param queryConfig */ ObservableFactory.prototype.getAllTestObjects = function (client, queryConfig) { var all = new models_1.AllTestObjects(); if (!queryConfig) { queryConfig = {}; } var observables = []; var itemObs = client.item(this.movieCodename).queryConfig(queryConfig).getObservable().pipe(operators_1.map(function (r) { return all.item = r; })); var itemsObs = client.items().queryConfig(queryConfig).getObservable().pipe(operators_1.map(function (r) { return all.items = r; })); var taxonomyObs = client.taxonomy(this.taxonomyCodename).queryConfig(queryConfig).getObservable().pipe(operators_1.map(function (r) { return all.taxonomy = r; })); var taxonomiesObs = client.taxonomies().queryConfig(queryConfig).getObservable().pipe(operators_1.map(function (r) { return all.taxonomies = r; })); var typeObs = client.type(this.typeCodename).queryConfig(queryConfig).getObservable().pipe(operators_1.map(function (r) { return all.type = r; })); var typesObs = client.types().queryConfig(queryConfig).getObservable().pipe(operators_1.map(function (r) { return all.types = r; })); var elementObs = client.element(this.typeCodename, this.elementCodename).queryConfig(queryConfig).getObservable().pipe(operators_1.map(function (r) { return all.element = r; })); observables.push(itemObs); observables.push(itemsObs); observables.push(taxonomyObs); observables.push(taxonomiesObs); observables.push(typeObs); observables.push(typesObs); observables.push(elementObs); var zippedObservable = this.zipObservables(observables); return zippedObservable.pipe(operators_1.map(function () { return all; })); }; ObservableFactory.prototype.zipObservables = function (observables) { if (!observables) { throw Error("Given observables are not valid"); } if (!Array.isArray(observables)) { throw Error("Given observables are not in array"); } if (observables.length === 0) { throw Error("Observables array doesn't contain any observable"); } if (observables.length === 1) { return observables[0]; } var zippedObservable = observables[0]; for (var i = 1; i < observables.length; i++) { var currentObservable = observables[i]; zippedObservable = rxjs_1.zip(zippedObservable, currentObservable); } return zippedObservable; }; return ObservableFactory; }()); exports.ObservableFactory = ObservableFactory; exports.observableFactory = new ObservableFactory(); //# sourceMappingURL=observable-factory.js.map