@sanity/observable
Advanced tools
Comparing version 0.105.6 to 0.105.8
@@ -17,15 +17,32 @@ 'use strict'; | ||
this._observer = null; | ||
this._observable = new Observable(function (observer) { | ||
_this.next = function (val) { | ||
return observer.next(val); | ||
if (_this._observer) { | ||
throw new Error('Duplicate observers. This should never happen!'); | ||
} | ||
_this._observer = observer; | ||
return function () { | ||
_this._observer = null; | ||
}; | ||
_this.complete = function () { | ||
return observer.complete(); | ||
}; | ||
_this.error = function (err) { | ||
return observer.error(err); | ||
}; | ||
}).share(); | ||
} | ||
Multicast.prototype.next = function next(val) { | ||
if (this._observer) { | ||
this._observer.next(val); | ||
} | ||
}; | ||
Multicast.prototype.error = function error(err) { | ||
if (this._observer) { | ||
this._observer.error(err); | ||
} | ||
}; | ||
Multicast.prototype.complete = function complete() { | ||
if (this._observer) { | ||
this._observer.complete(); | ||
} | ||
}; | ||
Multicast.prototype.asObservable = function asObservable() { | ||
@@ -32,0 +49,0 @@ var _this2 = this; |
{ | ||
"name": "@sanity/observable", | ||
"description": "A small-ish RxJS based Observable implementation for Sanity", | ||
"version": "0.105.6", | ||
"version": "0.105.8", | ||
"main": "index.js", | ||
@@ -6,0 +6,0 @@ "scripts": { |
@@ -13,6 +13,11 @@ const Observable = require('./SanityObservable') | ||
function Multicast() { | ||
this._observer = null | ||
this._observable = new Observable(observer => { | ||
this.next = val => observer.next(val) | ||
this.complete = () => observer.complete() | ||
this.error = err => observer.error(err) | ||
if (this._observer) { | ||
throw new Error('Duplicate observers. This should never happen!') | ||
} | ||
this._observer = observer | ||
return () => { | ||
this._observer = null | ||
} | ||
}) | ||
@@ -22,2 +27,20 @@ .share() | ||
Multicast.prototype.next = function next(val) { | ||
if (this._observer) { | ||
this._observer.next(val) | ||
} | ||
} | ||
Multicast.prototype.error = function error(err) { | ||
if (this._observer) { | ||
this._observer.error(err) | ||
} | ||
} | ||
Multicast.prototype.complete = function complete() { | ||
if (this._observer) { | ||
this._observer.complete() | ||
} | ||
} | ||
Multicast.prototype.asObservable = function asObservable() { | ||
@@ -24,0 +47,0 @@ return new Observable(observer => this._observable.subscribe(observer)) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
28216
741