aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/rxjs/internal/observable/generate.js
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/rxjs/internal/observable/generate.js')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/rxjs/internal/observable/generate.js127
1 files changed, 127 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/rxjs/internal/observable/generate.js b/sandbox/testAppNevena/Front/node_modules/rxjs/internal/observable/generate.js
new file mode 100644
index 00000000..4aa193e6
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/rxjs/internal/observable/generate.js
@@ -0,0 +1,127 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+var Observable_1 = require("../Observable");
+var identity_1 = require("../util/identity");
+var isScheduler_1 = require("../util/isScheduler");
+function generate(initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler) {
+ var resultSelector;
+ var initialState;
+ if (arguments.length == 1) {
+ var options = initialStateOrOptions;
+ initialState = options.initialState;
+ condition = options.condition;
+ iterate = options.iterate;
+ resultSelector = options.resultSelector || identity_1.identity;
+ scheduler = options.scheduler;
+ }
+ else if (resultSelectorOrObservable === undefined || isScheduler_1.isScheduler(resultSelectorOrObservable)) {
+ initialState = initialStateOrOptions;
+ resultSelector = identity_1.identity;
+ scheduler = resultSelectorOrObservable;
+ }
+ else {
+ initialState = initialStateOrOptions;
+ resultSelector = resultSelectorOrObservable;
+ }
+ return new Observable_1.Observable(function (subscriber) {
+ var state = initialState;
+ if (scheduler) {
+ return scheduler.schedule(dispatch, 0, {
+ subscriber: subscriber,
+ iterate: iterate,
+ condition: condition,
+ resultSelector: resultSelector,
+ state: state
+ });
+ }
+ do {
+ if (condition) {
+ var conditionResult = void 0;
+ try {
+ conditionResult = condition(state);
+ }
+ catch (err) {
+ subscriber.error(err);
+ return undefined;
+ }
+ if (!conditionResult) {
+ subscriber.complete();
+ break;
+ }
+ }
+ var value = void 0;
+ try {
+ value = resultSelector(state);
+ }
+ catch (err) {
+ subscriber.error(err);
+ return undefined;
+ }
+ subscriber.next(value);
+ if (subscriber.closed) {
+ break;
+ }
+ try {
+ state = iterate(state);
+ }
+ catch (err) {
+ subscriber.error(err);
+ return undefined;
+ }
+ } while (true);
+ return undefined;
+ });
+}
+exports.generate = generate;
+function dispatch(state) {
+ var subscriber = state.subscriber, condition = state.condition;
+ if (subscriber.closed) {
+ return undefined;
+ }
+ if (state.needIterate) {
+ try {
+ state.state = state.iterate(state.state);
+ }
+ catch (err) {
+ subscriber.error(err);
+ return undefined;
+ }
+ }
+ else {
+ state.needIterate = true;
+ }
+ if (condition) {
+ var conditionResult = void 0;
+ try {
+ conditionResult = condition(state.state);
+ }
+ catch (err) {
+ subscriber.error(err);
+ return undefined;
+ }
+ if (!conditionResult) {
+ subscriber.complete();
+ return undefined;
+ }
+ if (subscriber.closed) {
+ return undefined;
+ }
+ }
+ var value;
+ try {
+ value = state.resultSelector(state.state);
+ }
+ catch (err) {
+ subscriber.error(err);
+ return undefined;
+ }
+ if (subscriber.closed) {
+ return undefined;
+ }
+ subscriber.next(value);
+ if (subscriber.closed) {
+ return undefined;
+ }
+ return this.schedule(state);
+}
+//# sourceMappingURL=generate.js.map \ No newline at end of file