UNPKG

ramda-extension

Version:

Helpful functions built on top of the mighty Ramda

44 lines (43 loc) 1.08 kB
import { filter, flip, any, call, o, pipe, curryN, useWith } from 'ramda'; import flattenValues from './flattenValues'; var pipe2 = /*#__PURE__*/curryN(2, pipe); var useFilterFnAndWaitForValues = /*#__PURE__*/o( /*#__PURE__*/pipe2(flattenValues), any); /** * Perform fulltext search with given search function. * * @func * @category Array * * @param {Array} searchFn * @param {Array} value * @return {Array} filtered array of values * * @example * * R_.searchInArrayWith(R.contains('hi'),[ * 'hi', * { foo: 'bar' }, * { foo: 'hi' }, * { * foo: { * bar: ['cuuus', { foo: 'hi' }], * }, * }, * ['haha', 'hi'], * ['haha', { foo: 'hi' }], * ]); * // [ * // 'hi', * // { foo: 'hi' }, * // { * // foo: { * // bar: ['cuuus', { foo: 'hi' }], * // }, * // }, * // ['haha', 'hi'], * // ['haha', { foo: 'hi' }], * // ] * */ var searchInArrayWith = /*#__PURE__*/useWith( /*#__PURE__*/flip(call), [useFilterFnAndWaitForValues, /*#__PURE__*/flip(filter)]); export default searchInArrayWith;