Files
react-native-devtools-frontend/node_modules/ramda/es/splitWhen.js
T
Tim van der Lippe 16aca394c5 Update ESLint and related packages
Major update breaking changes:
- ESLint 7.0.0 (https://eslint.org/docs/user-guide/migrating-to-7.0.0) now includes
.eslint.rc.js in its list, which is fine for us. Other changes are not applicable
for us.
- eslint-plugin-mocha (https://github.com/lo1tuma/eslint-plugin-mocha/blob/master/CHANGELOG.md#700-may-13-2020)
drops support for ESLint <7, but this CL updates to 7+. Other changes are
not applicable for us.

DISABLE_THIRD_PARTY_CHECK=Updating ESLint
R=petermarshall@chromium.org

Change-Id: I7760e084ef87f73a92f9ea4e075fb4c065047f5a
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2534873
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
2020-11-13 12:28:15 +00:00

37 lines
1.0 KiB
JavaScript

import _curry2 from "./internal/_curry2.js";
/**
* Takes a list and a predicate and returns a pair of lists with the following properties:
*
* - the result of concatenating the two output lists is equivalent to the input list;
* - none of the elements of the first output list satisfies the predicate; and
* - if the second output list is non-empty, its first element satisfies the predicate.
*
* @func
* @memberOf R
* @since v0.19.0
* @category List
* @sig (a -> Boolean) -> [a] -> [[a], [a]]
* @param {Function} pred The predicate that determines where the array is split.
* @param {Array} list The array to be split.
* @return {Array}
* @example
*
* R.splitWhen(R.equals(2), [1, 2, 3, 1, 2, 3]); //=> [[1], [2, 3, 1, 2, 3]]
*/
var splitWhen =
/*#__PURE__*/
_curry2(function splitWhen(pred, list) {
var idx = 0;
var len = list.length;
var prefix = [];
while (idx < len && !pred(list[idx])) {
prefix.push(list[idx]);
idx += 1;
}
return [prefix, Array.prototype.slice.call(list, idx)];
});
export default splitWhen;