UNPKG

react-bootstrap-typeahead

Version:
37 lines (35 loc) 966 B
var idCounter = 0; export function head(arr) { return Array.isArray(arr) && arr.length ? arr[0] : undefined; } export function isFunction(value) { return typeof value === 'function'; } export function isString(value) { return typeof value === 'string'; } export function noop() {} export function pick(obj, keys) { var result = {}; keys.forEach(function (k) { if (Object.prototype.hasOwnProperty.call(obj, k)) { result[k] = obj[k]; } }); return result; } export function uniqueId(prefix) { idCounter += 1; return (prefix == null ? '' : String(prefix)) + idCounter; } // Export for testing purposes. export function valuesPolyfill(obj) { return Object.keys(obj).reduce(function (accum, key) { if (Object.prototype.propertyIsEnumerable.call(obj, key)) { accum.push(obj[key]); } return accum; }, []); } export function values(obj) { return isFunction(Object.values) ? Object.values(obj) : valuesPolyfill(obj); }