Meta tweaks
This commit is contained in:
parent
af4a078245
commit
655653bb0c
16 changed files with 19 additions and 24 deletions
39
source/util.js
Normal file
39
source/util.js
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
'use strict';
|
||||
|
||||
const stringReplaceAll = (string, substring, replacer) => {
|
||||
let index = string.indexOf(substring);
|
||||
if (index === -1) {
|
||||
return string;
|
||||
}
|
||||
|
||||
const subLen = substring.length;
|
||||
let end = 0;
|
||||
let res = '';
|
||||
do {
|
||||
res += string.substr(end, index - end) + replacer;
|
||||
end = index + subLen;
|
||||
index = string.indexOf(substring, end);
|
||||
} while (index !== -1);
|
||||
|
||||
res += string.substr(end);
|
||||
return res;
|
||||
};
|
||||
|
||||
const stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {
|
||||
let end = 0;
|
||||
let res = '';
|
||||
do {
|
||||
const gotCR = string[index - 1] === '\r';
|
||||
res += string.substr(end, (gotCR ? index - 1 : index) - end) + prefix + (gotCR ? '\r\n' : '\n') + postfix;
|
||||
end = index + 1;
|
||||
index = string.indexOf('\n', end);
|
||||
} while (index !== -1);
|
||||
|
||||
res += string.substr(end);
|
||||
return res;
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
stringReplaceAll,
|
||||
stringEncaseCRLFWithFirstIndex
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue