From 9bdb95c9e34cef640534e5e5a1e2225a80442000 Mon Sep 17 00:00:00 2001 From: HelenHuang <LinHuang@pollex.com.tw> Date: 星期四, 09 六月 2022 15:48:15 +0800 Subject: [PATCH] TODO#139894 [ footer -最下方說明與保經代合作 ] 文案修改 --- PAMapp/node_modules/regjsgen/regjsgen.js | 39 +++++++++++++++++++++++---------------- 1 files changed, 23 insertions(+), 16 deletions(-) diff --git a/PAMapp/node_modules/regjsgen/regjsgen.js b/PAMapp/node_modules/regjsgen/regjsgen.js index fb44a1f..4732b6f 100644 --- a/PAMapp/node_modules/regjsgen/regjsgen.js +++ b/PAMapp/node_modules/regjsgen/regjsgen.js @@ -97,7 +97,7 @@ } // Constructs a string by concatentating the output of each term. - function generateSequence(generator, terms) { + function generateSequence(generator, terms, /* optional */ separator) { var i = -1, length = terms.length, result = '', @@ -105,6 +105,8 @@ while (++i < length) { term = terms[i]; + + if (separator && i > 0) result += separator; // Ensure that `\0` null escapes followed by number symbols are not // treated as backreferences. @@ -161,9 +163,12 @@ function generateCharacterClass(node) { assertType(node.type, 'characterClass'); + var kind = node.kind; + var separator = kind === 'intersection' ? '&&' : kind === 'subtraction' ? '--' : ''; + return '[' + (node.negative ? '^' : '') + - generateSequence(generateClassAtom, node.body) + + generateSequence(generateClassAtom, node.body, separator) + ']'; } @@ -187,28 +192,29 @@ } function generateClassAtom(node) { - assertType(node.type, 'anchor|characterClassEscape|characterClassRange|dot|value'); + assertType(node.type, 'anchor|characterClass|characterClassEscape|characterClassRange|dot|value|unicodePropertyEscape|classStrings'); return generate(node); + } + + function generateClassStrings(node) { + assertType(node.type, 'classStrings'); + + return '(' + generateSequence(generateClassString, node.strings, '|') + ')'; + } + + function generateClassString(node) { + assertType(node.type, 'classString'); + + return generateSequence(generate, node.characters); } function generateDisjunction(node) { assertType(node.type, 'disjunction'); - var body = node.body, - i = -1, - length = body.length, - result = ''; - - while (++i < length) { - if (i != 0) { - result += '|'; - } - result += generate(body[i]); - } - - return result; + return generateSequence(generate, node.body, '|'); } + function generateDot(node) { assertType(node.type, 'dot'); @@ -372,6 +378,7 @@ 'characterClass': generateCharacterClass, 'characterClassEscape': generateCharacterClassEscape, 'characterClassRange': generateCharacterClassRange, + 'classStrings': generateClassStrings, 'disjunction': generateDisjunction, 'dot': generateDot, 'group': generateGroup, -- Gitblit v1.8.0