ghost-portal/packages/ui-react-rx/src/util/intervalSubscribe.js
Jaco Greeff 9c89026e6e
Copyright project authors (#95)
* Copyright project authors

* Add contributors
2018-06-13 22:32:49 +02:00

23 lines
685 B
JavaScript

// Copyright 2017-2018 @polkadot/ui-react-rx authors & contributors
// This software may be modified and distributed under the terms
// of the ISC license. See the LICENSE file for details.
// @flow
import type { RxProps } from '../types';
import { interval } from 'rxjs/observable/interval';
const interval$ = interval(500);
export default function intervalSubscribe<T, Props, State: RxProps<T>> (that: React$Component<Props, State>): rxjs$ISubscription {
return interval$.subscribe(() => {
const rxUpdated = (Date.now() - (that.state.rxUpdatedAt || 0)) <= 1500;
if (rxUpdated !== that.state.rxUpdated) {
that.setState({
rxUpdated
});
}
});
}