safe-push-apply
Push an array of items into an array, while being robust against prototype modification
Last updated a year ago by ljharb .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install safe-push-apply 
SYNC missed versions from official npm registry.

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

Current Tags

  • 1.0.0                                ...           latest (a year ago)

1 Versions

  • 1.0.0                                ...           a year ago
Maintainers (1)
Downloads
Today 0
This Week 36
This Month 54
Last Day 2
Last Week 25
Last Month 68
Dependencies (2)
Dev Dependencies (15)
Dependents (2)

Copyright 2013 - present © cnpmjs.org | Home |