htc 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 месяцев назад
..
test 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 месяцев назад
.editorconfig 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 месяцев назад
.eslintrc 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 месяцев назад
.nycrc 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 месяцев назад
CHANGELOG.md 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 месяцев назад
LICENSE 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 месяцев назад
README.md 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 месяцев назад
auto.js 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 месяцев назад
implementation.js 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 месяцев назад
index.js 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 месяцев назад
package.json 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 месяцев назад
polyfill.js 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 месяцев назад
shim.js 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 месяцев назад

README.md

TypedArray.prototype.slice Version Badge

github actions coverage License Downloads

npm badge

An ES spec-compliant TypedArray.prototype.slice shim. Invoke its "shim" method to shim TypedArray.prototype.slice if it is unavailable.

This package implements the es-shim API interface. It works in an ES5-supported environment and complies with the spec.

Most common usage:

var assert = require('assert');
var slice = require('typedarray.prototype.slice');

var arr = new Uint8Array([1, 2, 3]);

var arr2 = slice(arr);

arr2[0] = 2;
arr2[1] = 3;

assert.deepEqual(arr, new Uint8Array([1, 2, 3]));
assert.deepEqual(arr2, new Uint8Array([2, 3, 3]));
assert.notEqual(arr.buffer, arr2.buffer);

if (!Uint8Array.prototype.slice) {
	slice.shim();
}

var arr3 = arr.slice();
arr3[0] = 2;
arr3[1] = 3;

assert.deepEqual(arr, new Uint8Array([1, 2, 3]));
assert.deepEqual(arr3, new Uint8Array([2, 3, 3]));
assert.notEqual(arr.buffer, arr3.buffer);

Engines where this is needed

- node v0.11.4 - v4: no prototype or own `slice` method
- node < v0.11.3: own `slice` method that fails to clone the underlying buffer

Tests

Simply clone the repo, npm install, and run npm test