refun
Version:
A collection of React Hook-enabled functions that compose harmoniously with each other. Similar to `recompose`, but:
26 lines (25 loc) • 1 kB
JavaScript
/* eslint-disable @typescript-eslint/consistent-type-definitions */
// Generator
// let str = 'export function component<T1, T2, R> (fn1: (p: T1) => T2, fn2: (p: T2) => R): (Component: FC<R>) => TComponent<T1>'
// for (let i = 0; i < 100; i++) {
// const regexpResult = /^export function component<(T(\d+), )+R>.*$/.exec(str)
// const last = Number(regexpResult[regexpResult.length - 1])
// const next = last + 1
// str = str
// .replace(`T${last}, R>`, `T${last}, T${next}, R>`)
// .replace(`fn${last}: (p: T${last}) => R`, `fn${last}: (p: T${last}) => T${next}, fn${next}: (p: T${next}) => R`)
// console.log(str)
// }
export function component() {
for (var _len = arguments.length, uses = new Array(_len), _key = 0; _key < _len; _key++) {
uses[_key] = arguments[_key];
}
return function (Component) {
return function (props) {
return Component(uses.reduce(function (props, use) {
return use(props);
}, props));
};
};
}
//# sourceMappingURL=component.js.map