UNPKG

ssc-refer

Version:
42 lines (27 loc) 1.14 kB
'use strict'; 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'];