ghost-portal/packages/ui-api/src/util/triggerChange.ts
2019-01-16 15:34:06 +01:00

22 lines
662 B
TypeScript

// Copyright 2017-2019 @polkadot/ui-api authors & contributors
// This software may be modified and distributed under the terms
// of the Apache-2.0 license. See the LICENSE file for details.
import { OnChangeCb } from '../types';
import { isFunction, isObservable } from '@polkadot/util';
export default function triggerChange (value?: any, ...callOnResult: Array<OnChangeCb | undefined>): void {
if (!callOnResult || !callOnResult.length) {
return;
}
callOnResult.forEach((callOnResult) => {
if (isObservable(callOnResult)) {
callOnResult.next(value);
} else if (isFunction(callOnResult)) {
callOnResult(value);
}
});
}