Awesome
string.prototype.replaceall <sup></sup>
ES Proposal spec-compliant shim for String.prototype.replaceAll. Invoke its "shim" method to shim String.prototype.replaceAll
if it is unavailable or noncompliant.
This package implements the es-shim API interface. It works in an ES3-supported environment, and complies with the proposed spec.
Most common usage:
const assert = require('assert');
const replaceAll = require('string.prototype.replaceall');
const str = 'aabc';
// replaceAll and replace are the same, when given a global regex to replace
assert.equal(replaceAll(str, /a/g, 'z'), str.replace(/a/g, 'z'));
// replace, with a string, replaces once
assert.equal(str.replace('a', 'z'), 'zabc');
// replaceAll, with a string, replaces all
assert.equal(replaceAll(str, 'a', 'z'), 'zzbc');
replaceAll.shim(); // will be a no-op if not needed
// replaceAll and replace are the same, when given a global regex to replace
assert.equal(str.replaceAll(/a/g, 'z'), str.replace(/a/g, 'z'));
// replace, with a string, replaces once
assert.equal(str.replace('a', 'z'), 'zabc');
// replaceAll, with a string, replaces all
assert.equal(str.replaceAll('a', 'z'), 'zzbc');
Tests
Simply clone the repo, npm install
, and run npm test