(map)
| 829 | // Internal helper to generate functions for escaping and unescaping strings |
| 830 | // to/from HTML interpolation. |
| 831 | function createEscaper(map) { |
| 832 | var escaper = function(match) { |
| 833 | return map[match]; |
| 834 | }; |
| 835 | // Regexes for identifying a key that needs to be escaped. |
| 836 | var source = '(?:' + keys(map).join('|') + ')'; |
| 837 | var testRegexp = RegExp(source); |
| 838 | var replaceRegexp = RegExp(source, 'g'); |
| 839 | return function(string) { |
| 840 | string = string == null ? '' : '' + string; |
| 841 | return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; |
| 842 | }; |
| 843 | } |
| 844 | |
| 845 | // Internal list of HTML entities for escaping. |
| 846 | var escapeMap = { |
no test coverage detected
searching dependent graphs…