38 lines
1.3 KiB
JavaScript
38 lines
1.3 KiB
JavaScript
|
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||
|
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||
|
|
import { SubjectSubscription } from "./Utils";
|
||
|
|
/** Stream implementation to stream items to the server. */
|
||
|
|
var Subject = /** @class */ (function () {
|
||
|
|
function Subject() {
|
||
|
|
this.observers = [];
|
||
|
|
}
|
||
|
|
Subject.prototype.next = function (item) {
|
||
|
|
for (var _i = 0, _a = this.observers; _i < _a.length; _i++) {
|
||
|
|
var observer = _a[_i];
|
||
|
|
observer.next(item);
|
||
|
|
}
|
||
|
|
};
|
||
|
|
Subject.prototype.error = function (err) {
|
||
|
|
for (var _i = 0, _a = this.observers; _i < _a.length; _i++) {
|
||
|
|
var observer = _a[_i];
|
||
|
|
if (observer.error) {
|
||
|
|
observer.error(err);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
};
|
||
|
|
Subject.prototype.complete = function () {
|
||
|
|
for (var _i = 0, _a = this.observers; _i < _a.length; _i++) {
|
||
|
|
var observer = _a[_i];
|
||
|
|
if (observer.complete) {
|
||
|
|
observer.complete();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
};
|
||
|
|
Subject.prototype.subscribe = function (observer) {
|
||
|
|
this.observers.push(observer);
|
||
|
|
return new SubjectSubscription(this, observer);
|
||
|
|
};
|
||
|
|
return Subject;
|
||
|
|
}());
|
||
|
|
export { Subject };
|
||
|
|
//# sourceMappingURL=Subject.js.map
|