Skip to content

Instantly share code, notes, and snippets.

View rarmatei's full-sized avatar
🐔

Rares Matei rarmatei

🐔
  • Nrwl.io
  • Glasgow, UK
View GitHub Profile
@rarmatei
rarmatei / keybase.md
Created November 6, 2016 22:08
verification for keybase.md

Keybase proof

I hereby claim:

  • I am rarmatei on github.
  • I am rarmatei (https://keybase.io/rarmatei) on keybase.
  • I have a public key whose fingerprint is 6655 927D 4FF5 6C27 65A7 ADF3 5EB5 9F4D 663E 9A37

To claim this, I am signing this object:

[
{"albumId": "10", "artistName":"Beyoncé", "collectionName":"Lemonade", "artworkUrl100":"http://is1.mzstatic.com/image/thumb/Music20/v4/23/c1/9e/23c19e53-783f-ae47-7212-03cc9998bd84/source/100x100bb.jpg", "releaseDate":"2016-04-25T07:00:00Z", "primaryGenreName":"Pop", "url": "https://www.youtube.com/embed/PeonBmeFR8o?rel=0&controls=0&showinfo=0"},
{"albumId": "11", "artistName":"Beyoncé", "collectionName":"Dangerously In Love", "artworkUrl100":"http://is1.mzstatic.com/image/thumb/Music/v4/18/93/6d/18936d85-8f6b-7597-87ef-62c4c5211298/source/100x100bb.jpg", "releaseDate":"2003-06-24T07:00:00Z", "primaryGenreName":"Pop", "url": "https://www.youtube.com/embed/ViwtNLUqkMY?rel=0&controls=0&showinfo=0"},
{"albumId": "12", "artistName":"Beyoncé", "collectionName":"I Am... Sasha Fierce", "artworkUrl100":"http://is2.mzstatic.com/image/thumb/Music/v4/1b/93/48/1b9348ed-c859-5ac0-c040-b54d0ec5bc50/source/100x100bb.jpg", "releaseDate":"2008-11-18T08:00:00Z", "primaryGenreName":"Pop", "url":
Rx.Observable.using(
function resourceFactory() {
return {
name: 'my resource',
unsubscribe() {
console.log("resource disposed");
}
};
},
function obsFactory(resource) {
function refCount(source) {
let length = 0;
const onNewSubscriber = () => {
const onUnsubscribe = () => {
length--;
if(length === 0) {
source.connect().unsubscribe();
}
};
length++;
function delayedRefCount(delay) {
return (source) => {
let length = 0;
let timeout;
const onNewSubscriber = () => {
const onUnsubscribe = () => {
length--;
if (length === 0) {
timeout = setTimeout(() => {
source.connect().unsubscribe();
subscribeUpdates
.scan((total, change) => change + total, 0)
.switchMap(count => {
return count === 0
? Observable.timer(delay)
.do(_ => /* tear-down logic */ )
: Observable.never();
});
function delayedRefCount(delay) {
return (source) => {
const subscribeUpdates = new Subject();
let trackerConnection;
let subscriptionTracker = subscribeUpdates.scan((total, change) => change + total, 0)
.switchMap(count => {
return count === 0
? Observable.timer(delay)
.do(_ => source.connect().unsubscribe() || trackerConnection.unsubscribe())
: Observable.never();
class MyService {
constructor() {
this._producer = Rx.Observable.interval(1000)
.publish();
}
private _producer: Rx.ConnectableObservable<number>;
startItUp(): Rx.Observable<number> {
class MyService {
constructor() {
this._producer = Rx.Observable.of(1)
.publish();
}
private _producer: Rx.ConnectableObservable<number>;
startItUp(): Rx.Observable<number> {
class MyService3 {
constructor() {
this._producer = Rx.Observable.of(1)
.publish();
}
private _producer: Rx.ConnectableObservable<number>;
startItUp(): Rx.Observable<number> {