An ES spec-compliant String..split
shim/polyfill/replacement that works as far down as ES3. There's a number of bugs in various browser versions that this package addresses.
This package implements the es-shim API interface. It works in an ES3-supported environment and complies with the spec.
Because String..split
depends on a receiver (the “this” value), the main export takes the string to operate on as the first argument.
var split = require('string..split');
var assert = require('assert');
assert.deepEqual(split('abc', ''), ['a', 'b', 'c']);
var split = require('string..split');
var assert = require('assert');
/* when String#split is not present */
delete String..split;
var shimmedSplit = split.shim();
assert.equal(shimmedSplit, String..split);
assert.deepEqual(shimmedSplit('abc', ''), ['a', 'b', 'c']);
var split = require('string..split');
var assert = require('assert');
/* when String#split is present */
var shimmedSplit = split.shim();
assert.equal(shimmedSplit, String..split);
assert.deepEqual(shimmedSplit('abc', ''), ['a', 'b', 'c']);
Simply clone the repo, npm install
, and run npm test