1 | "use strict";
|
2 |
|
3 | function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
4 |
|
5 |
|
6 | var React = require('react');
|
7 |
|
8 |
|
9 | var getName = function getName(name, C) {
|
10 | return name + "(" + (C.displayName || C.name || C) + ")";
|
11 | };
|
12 |
|
13 | function mapProps(mapper) {
|
14 | return function (Component) {
|
15 | return Object.assign(React.forwardRef(function (p, ref) {
|
16 | return React.createElement(Component, _extends({
|
17 | ref: ref
|
18 | }, mapper(p)));
|
19 | }), {
|
20 | isAstroturf: true,
|
21 | displayName: getName('mapProps', Component)
|
22 | });
|
23 | };
|
24 | }
|
25 |
|
26 | function withProps(objOrMapper) {
|
27 | return function (Component) {
|
28 | return Object.assign(React.forwardRef(function (p, ref) {
|
29 | return React.createElement(Component, _extends({
|
30 | ref: ref
|
31 | }, p, typeof objOrMapper === 'function' ? objOrMapper(p) : objOrMapper));
|
32 | }), {
|
33 | isAstroturf: true,
|
34 | displayName: getName('withProps', Component)
|
35 | });
|
36 | };
|
37 | }
|
38 |
|
39 | module.exports = {
|
40 | mapProps: mapProps,
|
41 | withProps: withProps
|
42 | }; |
\ | No newline at end of file |