~canonical-sysadmins/wordpress/5.0

« back to all changes in this revision

Viewing changes to wp-includes/js/dist/escape-html.js

  • Committer: Barry Price
  • Date: 2018-12-12 05:08:33 UTC
  • mfrom: (1.2.8 upstream)
  • Revision ID: barry.price@canonical.com-20181212050833-y090hmrbmlxy37aa
Merge WP5.0 from upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
this["wp"] = this["wp"] || {}; this["wp"]["escapeHtml"] =
 
2
/******/ (function(modules) { // webpackBootstrap
 
3
/******/        // The module cache
 
4
/******/        var installedModules = {};
 
5
/******/
 
6
/******/        // The require function
 
7
/******/        function __webpack_require__(moduleId) {
 
8
/******/
 
9
/******/                // Check if module is in cache
 
10
/******/                if(installedModules[moduleId]) {
 
11
/******/                        return installedModules[moduleId].exports;
 
12
/******/                }
 
13
/******/                // Create a new module (and put it into the cache)
 
14
/******/                var module = installedModules[moduleId] = {
 
15
/******/                        i: moduleId,
 
16
/******/                        l: false,
 
17
/******/                        exports: {}
 
18
/******/                };
 
19
/******/
 
20
/******/                // Execute the module function
 
21
/******/                modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
 
22
/******/
 
23
/******/                // Flag the module as loaded
 
24
/******/                module.l = true;
 
25
/******/
 
26
/******/                // Return the exports of the module
 
27
/******/                return module.exports;
 
28
/******/        }
 
29
/******/
 
30
/******/
 
31
/******/        // expose the modules object (__webpack_modules__)
 
32
/******/        __webpack_require__.m = modules;
 
33
/******/
 
34
/******/        // expose the module cache
 
35
/******/        __webpack_require__.c = installedModules;
 
36
/******/
 
37
/******/        // define getter function for harmony exports
 
38
/******/        __webpack_require__.d = function(exports, name, getter) {
 
39
/******/                if(!__webpack_require__.o(exports, name)) {
 
40
/******/                        Object.defineProperty(exports, name, { enumerable: true, get: getter });
 
41
/******/                }
 
42
/******/        };
 
43
/******/
 
44
/******/        // define __esModule on exports
 
45
/******/        __webpack_require__.r = function(exports) {
 
46
/******/                if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
 
47
/******/                        Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
 
48
/******/                }
 
49
/******/                Object.defineProperty(exports, '__esModule', { value: true });
 
50
/******/        };
 
51
/******/
 
52
/******/        // create a fake namespace object
 
53
/******/        // mode & 1: value is a module id, require it
 
54
/******/        // mode & 2: merge all properties of value into the ns
 
55
/******/        // mode & 4: return value when already ns object
 
56
/******/        // mode & 8|1: behave like require
 
57
/******/        __webpack_require__.t = function(value, mode) {
 
58
/******/                if(mode & 1) value = __webpack_require__(value);
 
59
/******/                if(mode & 8) return value;
 
60
/******/                if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
 
61
/******/                var ns = Object.create(null);
 
62
/******/                __webpack_require__.r(ns);
 
63
/******/                Object.defineProperty(ns, 'default', { enumerable: true, value: value });
 
64
/******/                if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
 
65
/******/                return ns;
 
66
/******/        };
 
67
/******/
 
68
/******/        // getDefaultExport function for compatibility with non-harmony modules
 
69
/******/        __webpack_require__.n = function(module) {
 
70
/******/                var getter = module && module.__esModule ?
 
71
/******/                        function getDefault() { return module['default']; } :
 
72
/******/                        function getModuleExports() { return module; };
 
73
/******/                __webpack_require__.d(getter, 'a', getter);
 
74
/******/                return getter;
 
75
/******/        };
 
76
/******/
 
77
/******/        // Object.prototype.hasOwnProperty.call
 
78
/******/        __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
 
79
/******/
 
80
/******/        // __webpack_public_path__
 
81
/******/        __webpack_require__.p = "";
 
82
/******/
 
83
/******/
 
84
/******/        // Load entry module and return exports
 
85
/******/        return __webpack_require__(__webpack_require__.s = 274);
 
86
/******/ })
 
87
/************************************************************************/
 
88
/******/ ({
 
89
 
 
90
/***/ 274:
 
91
/***/ (function(module, __webpack_exports__, __webpack_require__) {
 
92
 
 
93
"use strict";
 
94
__webpack_require__.r(__webpack_exports__);
 
95
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "escapeAmpersand", function() { return escapeAmpersand; });
 
96
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "escapeQuotationMark", function() { return escapeQuotationMark; });
 
97
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "escapeLessThan", function() { return escapeLessThan; });
 
98
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "escapeAttribute", function() { return escapeAttribute; });
 
99
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "escapeHTML", function() { return escapeHTML; });
 
100
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isValidAttributeName", function() { return isValidAttributeName; });
 
101
/**
 
102
 * Regular expression matching invalid attribute names.
 
103
 *
 
104
 * "Attribute names must consist of one or more characters other than controls,
 
105
 * U+0020 SPACE, U+0022 ("), U+0027 ('), U+003E (>), U+002F (/), U+003D (=),
 
106
 * and noncharacters."
 
107
 *
 
108
 * @link https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
 
109
 *
 
110
 * @type {RegExp}
 
111
 */
 
112
var REGEXP_INVALID_ATTRIBUTE_NAME = /[\u007F-\u009F "'>/="\uFDD0-\uFDEF]/;
 
113
/**
 
114
 * Returns a string with ampersands escaped. Note that this is an imperfect
 
115
 * implementation, where only ampersands which do not appear as a pattern of
 
116
 * named, decimal, or hexadecimal character references are escaped. Invalid
 
117
 * named references (i.e. ambiguous ampersand) are are still permitted.
 
118
 *
 
119
 * @link https://w3c.github.io/html/syntax.html#character-references
 
120
 * @link https://w3c.github.io/html/syntax.html#ambiguous-ampersand
 
121
 * @link https://w3c.github.io/html/syntax.html#named-character-references
 
122
 *
 
123
 * @param {string} value Original string.
 
124
 *
 
125
 * @return {string} Escaped string.
 
126
 */
 
127
 
 
128
function escapeAmpersand(value) {
 
129
  return value.replace(/&(?!([a-z0-9]+|#[0-9]+|#x[a-f0-9]+);)/gi, '&');
 
130
}
 
131
/**
 
132
 * Returns a string with quotation marks replaced.
 
133
 *
 
134
 * @param {string} value Original string.
 
135
 *
 
136
 * @return {string} Escaped string.
 
137
 */
 
138
 
 
139
function escapeQuotationMark(value) {
 
140
  return value.replace(/"/g, '"');
 
141
}
 
142
/**
 
143
 * Returns a string with less-than sign replaced.
 
144
 *
 
145
 * @param {string} value Original string.
 
146
 *
 
147
 * @return {string} Escaped string.
 
148
 */
 
149
 
 
150
function escapeLessThan(value) {
 
151
  return value.replace(/</g, '&lt;');
 
152
}
 
153
/**
 
154
 * Returns an escaped attribute value.
 
155
 *
 
156
 * @link https://w3c.github.io/html/syntax.html#elements-attributes
 
157
 *
 
158
 * "[...] the text cannot contain an ambiguous ampersand [...] must not contain
 
159
 * any literal U+0022 QUOTATION MARK characters (")"
 
160
 *
 
161
 * @param {string} value Attribute value.
 
162
 *
 
163
 * @return {string} Escaped attribute value.
 
164
 */
 
165
 
 
166
function escapeAttribute(value) {
 
167
  return escapeQuotationMark(escapeAmpersand(value));
 
168
}
 
169
/**
 
170
 * Returns an escaped HTML element value.
 
171
 *
 
172
 * @link https://w3c.github.io/html/syntax.html#writing-html-documents-elements
 
173
 *
 
174
 * "the text must not contain the character U+003C LESS-THAN SIGN (<) or an
 
175
 * ambiguous ampersand."
 
176
 *
 
177
 * @param {string} value Element value.
 
178
 *
 
179
 * @return {string} Escaped HTML element value.
 
180
 */
 
181
 
 
182
function escapeHTML(value) {
 
183
  return escapeLessThan(escapeAmpersand(value));
 
184
}
 
185
/**
 
186
 * Returns true if the given attribute name is valid, or false otherwise.
 
187
 *
 
188
 * @param {string} name Attribute name to test.
 
189
 *
 
190
 * @return {boolean} Whether attribute is valid.
 
191
 */
 
192
 
 
193
function isValidAttributeName(name) {
 
194
  return !REGEXP_INVALID_ATTRIBUTE_NAME.test(name);
 
195
}
 
196
 
 
197
 
 
198
/***/ })
 
199
 
 
200
/******/ });
 
 
b'\\ No newline at end of file'