ssc-refer
Version:
React refer component for SSC 3.0
42 lines (27 loc) • 1.14 kB
JavaScript
;
exports.__esModule = true;
var _invariant = require('invariant');
var _invariant2 = _interopRequireDefault(_invariant);
var _lodash = require('lodash');
var _getOptionLabel = require('./getOptionLabel');
var _getOptionLabel2 = _interopRequireDefault(_getOptionLabel);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function addCustomOption(results, text, labelKey) {
results = results.slice();
var exactMatchFound = (0, _lodash.find)(results, function (o) {
return (0, _getOptionLabel2['default'])(o, labelKey) === text;
});
if (!text.trim() || exactMatchFound) {
return results;
}
var newOption = {
id: (0, _lodash.uniqueId)('new-id-'),
customOption: true
};
!(typeof labelKey === 'string') ? process.env.NODE_ENV !== 'production' ? (0, _invariant2['default'])(false, '`labelKey` must be a string when creating new options.') : (0, _invariant2['default'])(false) : void 0;
newOption[labelKey] = text;
results.push(newOption);
return results;
}
exports['default'] = addCustomOption;
module.exports = exports['default'];