JSFiddle - React, Tailwind, and code Playground

by amindunited

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.2.2/rxjs.umd.min.js"></script>

JavaScript

/**
 * USER
 */
const initUser = {
	'name': 'initUserName'
}

const userStore = new rxjs.BehaviorSubject(initUser);

userStore.next({
  'name': 'next_1'
});


/**
 * COUNTER
 */
const initCounter = {
	'count': 0
}
const counterStore = new rxjs.BehaviorSubject(initCounter);


const myStore = new rxjs.BehaviorSubject({
	'user': userStore,
  'counter': counterStore
});

myStore.subscribe((state) => {
	console.log('state', state);
});

console.log('filter', rxjs);

myStore.pipe(rxjs.operators.filter((fil) => {
	console.log('fil', fil);
  return fil;
})).subscribe((state) => {
	console.log('state', state);
});


const delayFn = (fn, delay) => {
	setTimeout(fn, delay);
}

delayFn(() => {
  console.log('in delay', myStore);
  myStore.value.user.next({ 'name': 'delay_1'});
  /** 
  myStore.next({
  	'user': myStore.user.next({ 'name': 'Goober'}),
    'counter': myStore.value.counter
  });
  */
}, 1000);

delayFn(() => {
	
}, 2000);