镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

About

ES spec-compliant shim for TypedArray.prototype.slice

Resources

Code of conduct

Security policy

Stars

3 stars

Watchers

2 watching

Forks

Repository files navigation

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

About

ES spec-compliant shim for TypedArray.prototype.slice

Resources

Code of conduct

Security policy

Stars

3 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages