mirror of
https://github.com/swc-project/swc.git
synced 2024-12-25 14:43:33 +03:00
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
// Loaded from https://deno.land/x/ramda@v0.27.2/source/slice.js
|
|
|
|
|
|
import _checkForMethod from './internal/_checkForMethod.js';
|
|
import _curry3 from './internal/_curry3.js';
|
|
|
|
|
|
/**
|
|
* Returns the elements of the given list or string (or object with a `slice`
|
|
* method) from `fromIndex` (inclusive) to `toIndex` (exclusive).
|
|
*
|
|
* Dispatches to the `slice` method of the third argument, if present.
|
|
*
|
|
* @func
|
|
* @memberOf R
|
|
* @since v0.1.4
|
|
* @category List
|
|
* @sig Number -> Number -> [a] -> [a]
|
|
* @sig Number -> Number -> String -> String
|
|
* @param {Number} fromIndex The start index (inclusive).
|
|
* @param {Number} toIndex The end index (exclusive).
|
|
* @param {*} list
|
|
* @return {*}
|
|
* @example
|
|
*
|
|
* R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c']
|
|
* R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']
|
|
* R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c']
|
|
* R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c']
|
|
* R.slice(0, 3, 'ramda'); //=> 'ram'
|
|
*/
|
|
var slice = _curry3(_checkForMethod('slice', function slice(fromIndex, toIndex, list) {
|
|
return Array.prototype.slice.call(list, fromIndex, toIndex);
|
|
}));
|
|
export default slice;
|