1 | "use strict";
|
2 | var __extends = (this && this.__extends) || function (d, b) {
|
3 | for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
|
4 | function __() { this.constructor = d; }
|
5 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
6 | };
|
7 | var Subject_1 = require('rxjs/Subject');
|
8 | var PromiseObservable_1 = require('rxjs/observable/PromiseObservable');
|
9 | var toPromise_1 = require('rxjs/operator/toPromise');
|
10 | var lang_1 = require('./lang');
|
11 | var Observable_1 = require('rxjs/Observable');
|
12 | exports.Observable = Observable_1.Observable;
|
13 | var Subject_2 = require('rxjs/Subject');
|
14 | exports.Subject = Subject_2.Subject;
|
15 | var promise_1 = require('./promise');
|
16 | exports.PromiseCompleter = promise_1.PromiseCompleter;
|
17 | exports.PromiseWrapper = promise_1.PromiseWrapper;
|
18 | var TimerWrapper = (function () {
|
19 | function TimerWrapper() {
|
20 | }
|
21 | TimerWrapper.setTimeout = function (fn, millis) {
|
22 | return lang_1.global.setTimeout(fn, millis);
|
23 | };
|
24 | TimerWrapper.clearTimeout = function (id) { lang_1.global.clearTimeout(id); };
|
25 | TimerWrapper.setInterval = function (fn, millis) {
|
26 | return lang_1.global.setInterval(fn, millis);
|
27 | };
|
28 | TimerWrapper.clearInterval = function (id) { lang_1.global.clearInterval(id); };
|
29 | return TimerWrapper;
|
30 | }());
|
31 | exports.TimerWrapper = TimerWrapper;
|
32 | var ObservableWrapper = (function () {
|
33 | function ObservableWrapper() {
|
34 | }
|
35 |
|
36 | ObservableWrapper.subscribe = function (emitter, onNext, onError, onComplete) {
|
37 | if (onComplete === void 0) { onComplete = function () { }; }
|
38 | onError = (typeof onError === 'function') && onError || lang_1.noop;
|
39 | onComplete = (typeof onComplete === 'function') && onComplete || lang_1.noop;
|
40 | return emitter.subscribe({ next: onNext, error: onError, complete: onComplete });
|
41 | };
|
42 | ObservableWrapper.isObservable = function (obs) { return !!obs.subscribe; };
|
43 | |
44 |
|
45 |
|
46 | ObservableWrapper.hasSubscribers = function (obs) { return obs.observers.length > 0; };
|
47 | ObservableWrapper.dispose = function (subscription) { subscription.unsubscribe(); };
|
48 | |
49 |
|
50 |
|
51 | ObservableWrapper.callNext = function (emitter, value) { emitter.next(value); };
|
52 | ObservableWrapper.callEmit = function (emitter, value) { emitter.emit(value); };
|
53 | ObservableWrapper.callError = function (emitter, error) { emitter.error(error); };
|
54 | ObservableWrapper.callComplete = function (emitter) { emitter.complete(); };
|
55 | ObservableWrapper.fromPromise = function (promise) {
|
56 | return PromiseObservable_1.PromiseObservable.create(promise);
|
57 | };
|
58 | ObservableWrapper.toPromise = function (obj) { return toPromise_1.toPromise.call(obj); };
|
59 | return ObservableWrapper;
|
60 | }());
|
61 | exports.ObservableWrapper = ObservableWrapper;
|
62 |
|
63 |
|
64 |
|
65 |
|
66 |
|
67 |
|
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 |
|
74 |
|
75 |
|
76 |
|
77 |
|
78 |
|
79 |
|
80 |
|
81 |
|
82 |
|
83 |
|
84 |
|
85 |
|
86 |
|
87 |
|
88 |
|
89 |
|
90 |
|
91 |
|
92 |
|
93 |
|
94 |
|
95 |
|
96 |
|
97 |
|
98 |
|
99 |
|
100 |
|
101 |
|
102 |
|
103 |
|
104 |
|
105 |
|
106 |
|
107 |
|
108 |
|
109 | var EventEmitter = (function (_super) {
|
110 | __extends(EventEmitter, _super);
|
111 | |
112 |
|
113 |
|
114 |
|
115 | function EventEmitter(isAsync) {
|
116 | if (isAsync === void 0) { isAsync = false; }
|
117 | _super.call(this);
|
118 | this.__isAsync = isAsync;
|
119 | }
|
120 | EventEmitter.prototype.emit = function (value) { _super.prototype.next.call(this, value); };
|
121 | |
122 |
|
123 |
|
124 | EventEmitter.prototype.next = function (value) { _super.prototype.next.call(this, value); };
|
125 | EventEmitter.prototype.subscribe = function (generatorOrNext, error, complete) {
|
126 | var schedulerFn;
|
127 | var errorFn = function (err) { return null; };
|
128 | var completeFn = function () { return null; };
|
129 | if (generatorOrNext && typeof generatorOrNext === 'object') {
|
130 | schedulerFn = this.__isAsync ? function (value /** TODO #9100 */) {
|
131 | setTimeout(function () { return generatorOrNext.next(value); });
|
132 | } : function (value /** TODO #9100 */) { generatorOrNext.next(value); };
|
133 | if (generatorOrNext.error) {
|
134 | errorFn = this.__isAsync ? function (err) { setTimeout(function () { return generatorOrNext.error(err); }); } :
|
135 | function (err) { generatorOrNext.error(err); };
|
136 | }
|
137 | if (generatorOrNext.complete) {
|
138 | completeFn = this.__isAsync ? function () { setTimeout(function () { return generatorOrNext.complete(); }); } :
|
139 | function () { generatorOrNext.complete(); };
|
140 | }
|
141 | }
|
142 | else {
|
143 | schedulerFn = this.__isAsync ? function (value /** TODO #9100 */) {
|
144 | setTimeout(function () { return generatorOrNext(value); });
|
145 | } : function (value /** TODO #9100 */) { generatorOrNext(value); };
|
146 | if (error) {
|
147 | errorFn =
|
148 | this.__isAsync ? function (err) { setTimeout(function () { return error(err); }); } : function (err) { error(err); };
|
149 | }
|
150 | if (complete) {
|
151 | completeFn =
|
152 | this.__isAsync ? function () { setTimeout(function () { return complete(); }); } : function () { complete(); };
|
153 | }
|
154 | }
|
155 | return _super.prototype.subscribe.call(this, schedulerFn, errorFn, completeFn);
|
156 | };
|
157 | return EventEmitter;
|
158 | }(Subject_1.Subject));
|
159 | exports.EventEmitter = EventEmitter;
|
160 |
|
\ | No newline at end of file |