@junte/ui
Version:
Quality Angular UI components kit
23 lines • 2.38 kB
JavaScript
import { Observable } from 'rxjs';
export function untilJSONChanged() {
return function (source) {
var prev = null;
return new Observable(function (observer) {
return source.subscribe({
next: function (x) {
if (JSON.stringify(x) !== JSON.stringify(prev)) {
prev = x;
observer.next(x);
}
},
error: function (err) {
observer.error(err);
},
complete: function () {
observer.complete();
}
});
});
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhqcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BqdW50ZS91aS8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL3V0aWxzL3J4anMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE9BQU8sVUFBVSxNQUF1QjtRQUN0QyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxVQUFBLFFBQVE7WUFDNUIsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDO2dCQUN0QixJQUFJLFlBQUMsQ0FBQztvQkFDSixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTt3QkFDOUMsSUFBSSxHQUFHLENBQUMsQ0FBQzt3QkFDVCxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNsQjtnQkFDSCxDQUFDO2dCQUNELEtBQUssWUFBQyxHQUFHO29CQUNQLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RCLENBQUM7Z0JBQ0QsUUFBUTtvQkFDTixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB1bnRpbEpTT05DaGFuZ2VkKCkge1xuICByZXR1cm4gZnVuY3Rpb24gKHNvdXJjZTogT2JzZXJ2YWJsZTxhbnk+KSB7XG4gICAgbGV0IHByZXYgPSBudWxsO1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICByZXR1cm4gc291cmNlLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQoeCkge1xuICAgICAgICAgIGlmIChKU09OLnN0cmluZ2lmeSh4KSAhPT0gSlNPTi5zdHJpbmdpZnkocHJldikpIHtcbiAgICAgICAgICAgIHByZXYgPSB4O1xuICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yKGVycikge1xuICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycik7XG4gICAgICAgIH0sXG4gICAgICAgIGNvbXBsZXRlKCkge1xuICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xufVxuIl19