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

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

26 lines
754 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 { OnChangeCb } from '../types';
import isFunction from '@polkadot/util/is/function';
import isObservable from '@polkadot/util/is/observable';
export default function triggerChange<T> (value?: T, ...onChange: Array<?OnChangeCb<T>>): void {
if (!onChange || !onChange.length) {
return;
}
onChange.forEach((onChange) => {
if (isObservable(onChange)) {
// $FlowFixMe type determined
onChange.next(value);
} else if (isFunction(onChange)) {
// $FlowFixMe type determined
onChange(value);
}
});
}