-
-
Notifications
You must be signed in to change notification settings - Fork 32
/
index.js
41 lines (33 loc) 路 927 Bytes
/
index.js
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
'use strict';
const htmlEscape = string => string
.replace(/&/g, '&')
.replace(/"/g, '"')
.replace(/'/g, ''')
.replace(/</g, '<')
.replace(/>/g, '>');
const htmlUnescape = htmlString => htmlString
.replace(/>/g, '>')
.replace(/</g, '<')
.replace(/�?39;/g, '\'')
.replace(/"/g, '"')
.replace(/&/g, '&');
exports.htmlEscape = (strings, ...values) => {
if (typeof strings === 'string') {
return htmlEscape(strings);
}
let output = strings[0];
for (const [index, value] of values.entries()) {
output = output + htmlEscape(String(value)) + strings[index + 1];
}
return output;
};
exports.htmlUnescape = (strings, ...values) => {
if (typeof strings === 'string') {
return htmlUnescape(strings);
}
let output = strings[0];
for (const [index, value] of values.entries()) {
output = output + htmlUnescape(String(value)) + strings[index + 1];
}
return output;
};