Fixing also and cut bugs
This commit is contained in:
parent
2211fb2225
commit
cc7f55a253
|
@ -94,6 +94,10 @@ function loopNode(request, params, method) {
|
|||
|
||||
/* Iterator for strings belonging to HTML Node elements */
|
||||
function loopNodeValue(request, params, method) {
|
||||
if (params.looping == false) {
|
||||
params.looping = true;
|
||||
return;
|
||||
}
|
||||
if (request.input.nodeValue.match(params.regexp) == null) { return; }
|
||||
request.input.nodeValue = method(request.input.nodeValue, params);
|
||||
loopNodeValue(request, params, method);
|
||||
|
@ -101,6 +105,10 @@ function loopNodeValue(request, params, method) {
|
|||
|
||||
/* Iterator for string elements */
|
||||
function loopString(request, params, method) {
|
||||
if (params.looping == false) {
|
||||
params.looping = true;
|
||||
return;
|
||||
}
|
||||
if (request.input.match(params.regexp) == null) { return; }
|
||||
request.input = method(request.input, params);
|
||||
loopString(request, params, method);
|
||||
|
@ -253,8 +261,10 @@ function plv(request) {
|
|||
function yn(request) {
|
||||
request.loop(request, {
|
||||
regexp: /\by\/n\b|\(y\/n\)|\[y\/n\]/ig,
|
||||
replacement: request.options["name"]
|
||||
replacement: request.options["name"],
|
||||
looping: true
|
||||
}, (input, params) => {
|
||||
params.looping = false;
|
||||
return input.replaceAll(params.regexp, params.replacement);
|
||||
});
|
||||
}
|
||||
|
@ -314,8 +324,14 @@ function prn(request) {
|
|||
/* Replaces specific words indicated in the options */
|
||||
function also(request) {
|
||||
Object.entries(request.options.also).forEach(([key, replacement]) => {
|
||||
const regexp = new RegExp(RegExp.escape(key), "gi");
|
||||
request.input = request.input.replaceAll(regexp, replacement);
|
||||
request.loop(request, {
|
||||
regexp: new RegExp(RegExp.escape(key), "gi"),
|
||||
replacement: replacement,
|
||||
looping: true
|
||||
}, (input, params) => {
|
||||
params.looping = false;
|
||||
return input.replaceAll(params.regexp, params.replacement);
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -441,6 +457,10 @@ function cut(request) {
|
|||
}, (input, params) => {
|
||||
const vars = input.match(params.regexp).groups;
|
||||
const length = vars.target.length;
|
||||
if (length == 1) {
|
||||
return input.replace(params.regexp, vars.target);
|
||||
}
|
||||
|
||||
let start, end;
|
||||
if (vars.offonly.toLowerCase() == "only") {
|
||||
if (vars.firstlast.toLowerCase() == "first") { // only first n
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "metamorpov",
|
||||
"title": "MetamorPOV",
|
||||
"version": "1.0.1",
|
||||
"version": "1.0.2",
|
||||
"description": "Enables customization of reader-insert stories by translating text hooks such as Y/n, pov/s, and vrb/present/do/.",
|
||||
"main": "metamorpov.js",
|
||||
"scripts": {
|
||||
|
|
Loading…
Reference in New Issue