string-multiple-replace
Replace multiple substrings in a string in turn.

Replace all substring matches in a string with an mapping object that is table of replaceThis: withThis, and you can provide a sequencer to decide the order of replacement.
Install
npm install --save string-multiple-replace
or
yarn add string-multiple-replace
Usage
const multiReplace = require('string-multiple-replace');
const input = "abcde";
const matcherObj = {
"a": "b",
"b": "c",
"c": "d",
"d": "e"
}
multiReplace(input, matcherObj, ["a", "b", "c", "d"]);
multiReplace(input, matcherObj);
const multiReplace = require('string-multiple-replace');
const input = "I'm only brave when I have to be. Being brave doesn't mean you go looking for trouble.";
const matcherObj = {
"brave": "cowardly",
"trouble": "escape"
}
const sequencer = ["brave", "trouble"];
multiReplace(input, matcherObj, sequencer);
const multiReplace = require('string-multiple-replace');
const input = "I'm only brave when I have to be. Being brave doesn't mean you go looking for trouble.";
const matcherObj = {
"brave": "cowardly",
"trouble": "escape"
}
multiReplace(input, matcherObj, keys => keys);
API
multiReplace(input, matcherObj[,sequencer])
The original string is replaced in turn according to the matcherObj, where sequencer determines the replacement order, and the existence state of sequencer determines whether the last operation overwrites the previous operation.
input
Type: string
Required
A string to be processed.
matcherObj
Type: object
Required
An object that represents a string replacement mapping.
sequencer
Type: function, array
Required:false
A function that takes the keys of matcherObj, and return an suquence array.
Upgrade Instruction: the existence state of sequencer determines whether the last operation overwrites the previous operation.