JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 190
  • Score
    100M100P100Q88767F
  • License MIT

A commonly used array copy utility. (arrayCopy and arrayCopyTo)

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

alt text tsdotnet / array-copy

GitHub license npm-publish npm version

A commonly used array copy utility.

Docs

tsdotnet.github.io/array-copy

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[]