stdlib-js / stdlib-js/stdlib

RFC: add functional equivalent of `Array.prototype.copyWithin`

オープン
#203 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
difficulty: 3 Feature Help Wanted RFC Utilities
主要言語
JavaScript
スター
6k
フォーク
1.3k
平均マージ
1日 3時間
マージ済み PR(30日)
611

説明

## Checklist

> Please ensure the following tasks are completed before submitting a feature request.

- [x] Read and understood the [Code of Conduct][code-of-conduct].
- [x] Searched for existing issues and pull requests.
- [x] The issue name begins with `RFC:`.

## Description

> Description of the feature request.

This RFC proposes to add a "functional" equivalent of [`Array.prototype.copyWithin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin) and [`TypedArray.prototype.copyWithin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin).

Package: `@stdlib/utils/copy-within`
Alias: `copyWithin`

The interface would be as follows:

```javascript
/**
* @param {Collection} collection - input collection
* @param {integer} target - target index
* @param {integer} [start=0] - source start index
* @param {integer} [end=collection.length] - source end index
* @returns {Collection} modified input collection
*/
function copyWithin( collection, target ) {
if ( !isCollection( collection ) ) {
throw new TypeError( '...' );
}
// implementation...
}
```
If a provided `collection` has a built-in `copyWithin` method, the implementation would defer to that method. Otherwise, the implementation would provide a "polyfill", thus extending `copyWithin` support to environments lacking the built-in API for `Array` and `TypedArray`.

## Related Issues

> Does this feature request have any related issues?

No.

## Questions

> Any questions for reviewers?

No.

## Other

> Any other information relevant to this feature request? This may include screenshots, references, sample output, and/or implementation notes.

No.

[code-of-conduct]: https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。