包详细信息

safe-push-apply

ljharb58.6mMIT1.0.0

Push an array of items into an array, while being robust against prototype modification

array, push, apply, pushApply

自述文件

safe-push-apply Version Badge

github actions coverage License Downloads

npm badge

Push an array of items into an array, while being robust against prototype modification.

Getting started

npm install --save safe-push-apply

Usage/Examples

var safePushApply = require('safe-push-apply');
var assert = require('assert');

var arr = [1, 2, 3];

var orig = Array.prototype[Symbol.iterator];
delete Array.prototype[Symbol.iterator];
assert.throws(() => {
    try {
        arr.push(...[3, 4, 5]);
    } finally {
        Array.prototype[Symbol.iterator] = orig;
    }
}, 'array is not iterable anymore');

delete Array.prototype.push;
safePushApply(arr, [3, 4, 5]);

assert.deepEqual(arr, [1, 2, 3, 3, 4, 5]);

Tests

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

更新日志

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

v1.0.0 - 2024-12-28

Commits