* Some initial cleanups * Make it lint * Small s/type/interface/ additions * Small minor s/type/interface/ * More type -> interface * Add lint:new rule * Some small updates * Cleanup dangling tslint issues * Small updates * ui-signer cleanups * ui-reactive updated * Make lint:new run * Mini ui-params cleanups * Some additions * Tiny... and done for now. * 1950 problems (1241 errors, 709 warnings) * 1829 problems (1181 errors, 648 warnings) * 1674 problems (1181 errors, 493 warnings) (no any... for now) * Small additions. * Array<T> -> T[] (all)
18 lines
696 B
TypeScript
18 lines
696 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 React from 'react';
|
|
|
|
type HOC = (Component: React.ComponentType<any>) => React.ComponentType<any>;
|
|
|
|
export default function withMulti<T> (Component: React.ComponentType<T>, ...hocs: HOC[]): React.ComponentType<any> {
|
|
// NOTE: Order is reversed so it makes sense in the props, i.e. component
|
|
// after something can use the value of the preceding version
|
|
return hocs
|
|
.reverse()
|
|
.reduce((Component, hoc): React.ComponentType<any> => {
|
|
return hoc(Component);
|
|
}, Component);
|
|
}
|