@gechiui/compose
Version:
GeChiUI higher-order components (HOCs).
24 lines (21 loc) • 735 B
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import { createElement } from "@gechiui/element";
/**
* Internal dependencies
*/
import createHigherOrderComponent from '../../utils/create-higher-order-component';
import useInstanceId from '../../hooks/use-instance-id';
/**
* A Higher Order Component used to be provide a unique instance ID by
* component.
*/
const withInstanceId = createHigherOrderComponent(WrappedComponent => {
return props => {
const instanceId = useInstanceId(WrappedComponent); // @ts-ignore
return createElement(WrappedComponent, _extends({}, props, {
instanceId: instanceId
}));
};
}, 'withInstanceId');
export default withInstanceId;
//# sourceMappingURL=index.js.map