You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.3 KiB
45 lines
1.3 KiB
'use strict'; |
|
|
|
exports.__esModule = true; |
|
var createHelper = function createHelper(func, helperName) { |
|
var setDisplayName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; |
|
var noArgs = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; |
|
|
|
if (process.env.NODE_ENV !== 'production' && setDisplayName) { |
|
var _ret = function () { |
|
/* eslint-disable global-require */ |
|
var wrapDisplayName = require('./wrapDisplayName').default; |
|
/* eslint-enable global-require */ |
|
|
|
if (noArgs) { |
|
return { |
|
v: function v(BaseComponent) { |
|
var Component = func(BaseComponent); |
|
Component.displayName = wrapDisplayName(BaseComponent, helperName); |
|
return Component; |
|
} |
|
}; |
|
} |
|
|
|
return { |
|
v: function v() { |
|
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { |
|
args[_key] = arguments[_key]; |
|
} |
|
|
|
return function (BaseComponent) { |
|
var Component = func.apply(undefined, args)(BaseComponent); |
|
Component.displayName = wrapDisplayName(BaseComponent, helperName); |
|
return Component; |
|
}; |
|
} |
|
}; |
|
}(); |
|
|
|
if (typeof _ret === "object") return _ret.v; |
|
} |
|
|
|
return func; |
|
}; |
|
|
|
exports.default = createHelper; |