1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
/*
* EJS Embedded JavaScript templates
* Copyright 2112 Matthew Eernisse (mde@fleegix.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
'use strict';
var regExpChars = /[|\\{}()[\]^$+*?.]/g;
exports.escapeRegExpChars = function (string) {
// istanbul ignore if
if (!string) {
return '';
}
return String(string).replace(regExpChars, '\\$&');
};
var encodeHTMLRules = {
'&': '&'
, '<': '<'
, '>': '>'
, '"': '"'
, "'": '''
}
, matchHTML = /[&<>\'"]/g;
exports.escapeFuncStr =
'var encodeHTMLRules = {'
+ '"&": "&"'
+ ', "<": "<"'
+ ', ">": ">"'
+ ', \'"\': """'
+ ', "\'": "'"'
+ '}'
+ ', matchHTML = /[&<>\'"]/g;';
exports.escapeXML = function (markup) {
return markup == undefined
? ''
: String(markup)
.replace(matchHTML, function(m) {
return encodeHTMLRules[m] || m;
});
};
exports.shallowCopy = function (to, from) {
for (var p in from) {
to[p] = from[p];
}
return to;
};
|