12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var Observable_1 = require('../Observable');
- function dispatch(state) {
- var obj = state.obj, keys = state.keys, length = state.length, index = state.index, subscriber = state.subscriber;
- if (index === length) {
- subscriber.complete();
- return;
- }
- var key = keys[index];
- subscriber.next([key, obj[key]]);
- state.index = index + 1;
- this.schedule(state);
- }
- var PairsObservable = (function (_super) {
- __extends(PairsObservable, _super);
- function PairsObservable(obj, scheduler) {
- _super.call(this);
- this.obj = obj;
- this.scheduler = scheduler;
- this.keys = Object.keys(obj);
- }
-
- PairsObservable.create = function (obj, scheduler) {
- return new PairsObservable(obj, scheduler);
- };
- PairsObservable.prototype._subscribe = function (subscriber) {
- var _a = this, keys = _a.keys, scheduler = _a.scheduler;
- var length = keys.length;
- if (scheduler) {
- return scheduler.schedule(dispatch, 0, {
- obj: this.obj, keys: keys, length: length, index: 0, subscriber: subscriber
- });
- }
- else {
- for (var idx = 0; idx < length; idx++) {
- var key = keys[idx];
- subscriber.next([key, this.obj[key]]);
- }
- subscriber.complete();
- }
- };
- return PairsObservable;
- }(Observable_1.Observable));
- exports.PairsObservable = PairsObservable;
|