Package Exports
- @tsdotnet/array-copy
- @tsdotnet/array-copy/dist-esm/arrayCopy.js
- @tsdotnet/array-copy/dist/arrayCopy.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@tsdotnet/array-copy) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
tsdotnet / array-copy
A commonly used array copy utility.
Docs
Usage
import arrayCopy, {arrayCopyTo} from '@tsdotnet/array-copy'
const myCopy = arrayCopy(source);
// myCopy is really a shortcut for:
const myOtherCopy = arrayCopyTo([]);
or
import arrayCopy from '@tsdotnet/array-copy'
const myOtherCopy = arrayCopy.to([]); // same as arrayCopyTo.
Exported
For flexibility, these functions can operate on objects that have a length but are not instances of Array. (ArrayLikeWritable<T>
)
arrayCopyTo
/**
* Copies one array to another.
* @param source
* @param destination
* @param sourceIndex
* @param destinationIndex
* @param count An optional limit to stop copying. Finite values must be no more than the source.length minus the sourceIndex.
* @returns The destination array.
*/
export function arrayCopyTo<T, TDestination extends ArrayLikeWritable<T>> (
source: ArrayLike<T>,
destination: TDestination,
sourceIndex: number = 0,
destinationIndex: number = 0,
count: number = Infinity
): TDestination
arrayCopy
/**
* Creates a copy of the array-like object.
* Similar to Array.slice(index, length).
* @param source
* @param sourceIndex
* @param count An optional limit to stop copying. Finite values must be no more than the source.length minus the sourceIndex.
* @returns The copy of the source array.
*/
export default function arrayCopy<T> (
source: ArrayLike<T>,
sourceIndex: number = 0,
count: number = Infinity
): T[]