2 * EJS Embedded JavaScript templates
3 * Copyright 2112 Matthew Eernisse (mde@fleegix.org)
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
21 var regExpChars = /[|\\{}()[\]^$+*?.]/g;
23 exports.escapeRegExpChars = function (string) {
28 return String(string).replace(regExpChars, '\\$&');
31 var encodeHTMLRules = {
38 , matchHTML = /[&<>\'"]/g;
40 exports.escapeFuncStr =
41 'var encodeHTMLRules = {'
48 + ', matchHTML = /[&<>\'"]/g;';
50 exports.escapeXML = function (markup) {
51 return markup == undefined
54 .replace(matchHTML, function(m) {
55 return encodeHTMLRules[m] || m;
59 exports.shallowCopy = function (to, from) {