200 lines
		
	
	
	
		
			7.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			200 lines
		
	
	
	
		
			7.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | this["wp"] = this["wp"] || {}; this["wp"]["escapeHtml"] = | ||
|  | /******/ (function(modules) { // webpackBootstrap
 | ||
|  | /******/ 	// The module cache
 | ||
|  | /******/ 	var installedModules = {}; | ||
|  | /******/ | ||
|  | /******/ 	// The require function
 | ||
|  | /******/ 	function __webpack_require__(moduleId) { | ||
|  | /******/ | ||
|  | /******/ 		// Check if module is in cache
 | ||
|  | /******/ 		if(installedModules[moduleId]) { | ||
|  | /******/ 			return installedModules[moduleId].exports; | ||
|  | /******/ 		} | ||
|  | /******/ 		// Create a new module (and put it into the cache)
 | ||
|  | /******/ 		var module = installedModules[moduleId] = { | ||
|  | /******/ 			i: moduleId, | ||
|  | /******/ 			l: false, | ||
|  | /******/ 			exports: {} | ||
|  | /******/ 		}; | ||
|  | /******/ | ||
|  | /******/ 		// Execute the module function
 | ||
|  | /******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | ||
|  | /******/ | ||
|  | /******/ 		// Flag the module as loaded
 | ||
|  | /******/ 		module.l = true; | ||
|  | /******/ | ||
|  | /******/ 		// Return the exports of the module
 | ||
|  | /******/ 		return module.exports; | ||
|  | /******/ 	} | ||
|  | /******/ | ||
|  | /******/ | ||
|  | /******/ 	// expose the modules object (__webpack_modules__)
 | ||
|  | /******/ 	__webpack_require__.m = modules; | ||
|  | /******/ | ||
|  | /******/ 	// expose the module cache
 | ||
|  | /******/ 	__webpack_require__.c = installedModules; | ||
|  | /******/ | ||
|  | /******/ 	// define getter function for harmony exports
 | ||
|  | /******/ 	__webpack_require__.d = function(exports, name, getter) { | ||
|  | /******/ 		if(!__webpack_require__.o(exports, name)) { | ||
|  | /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter }); | ||
|  | /******/ 		} | ||
|  | /******/ 	}; | ||
|  | /******/ | ||
|  | /******/ 	// define __esModule on exports
 | ||
|  | /******/ 	__webpack_require__.r = function(exports) { | ||
|  | /******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | ||
|  | /******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||
|  | /******/ 		} | ||
|  | /******/ 		Object.defineProperty(exports, '__esModule', { value: true }); | ||
|  | /******/ 	}; | ||
|  | /******/ | ||
|  | /******/ 	// create a fake namespace object
 | ||
|  | /******/ 	// mode & 1: value is a module id, require it
 | ||
|  | /******/ 	// mode & 2: merge all properties of value into the ns
 | ||
|  | /******/ 	// mode & 4: return value when already ns object
 | ||
|  | /******/ 	// mode & 8|1: behave like require
 | ||
|  | /******/ 	__webpack_require__.t = function(value, mode) { | ||
|  | /******/ 		if(mode & 1) value = __webpack_require__(value); | ||
|  | /******/ 		if(mode & 8) return value; | ||
|  | /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; | ||
|  | /******/ 		var ns = Object.create(null); | ||
|  | /******/ 		__webpack_require__.r(ns); | ||
|  | /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value }); | ||
|  | /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); | ||
|  | /******/ 		return ns; | ||
|  | /******/ 	}; | ||
|  | /******/ | ||
|  | /******/ 	// getDefaultExport function for compatibility with non-harmony modules
 | ||
|  | /******/ 	__webpack_require__.n = function(module) { | ||
|  | /******/ 		var getter = module && module.__esModule ? | ||
|  | /******/ 			function getDefault() { return module['default']; } : | ||
|  | /******/ 			function getModuleExports() { return module; }; | ||
|  | /******/ 		__webpack_require__.d(getter, 'a', getter); | ||
|  | /******/ 		return getter; | ||
|  | /******/ 	}; | ||
|  | /******/ | ||
|  | /******/ 	// Object.prototype.hasOwnProperty.call
 | ||
|  | /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; | ||
|  | /******/ | ||
|  | /******/ 	// __webpack_public_path__
 | ||
|  | /******/ 	__webpack_require__.p = ""; | ||
|  | /******/ | ||
|  | /******/ | ||
|  | /******/ 	// Load entry module and return exports
 | ||
|  | /******/ 	return __webpack_require__(__webpack_require__.s = 274); | ||
|  | /******/ }) | ||
|  | /************************************************************************/ | ||
|  | /******/ ({ | ||
|  | 
 | ||
|  | /***/ 274: | ||
|  | /***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
|  | 
 | ||
|  | "use strict"; | ||
|  | __webpack_require__.r(__webpack_exports__); | ||
|  | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "escapeAmpersand", function() { return escapeAmpersand; }); | ||
|  | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "escapeQuotationMark", function() { return escapeQuotationMark; }); | ||
|  | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "escapeLessThan", function() { return escapeLessThan; }); | ||
|  | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "escapeAttribute", function() { return escapeAttribute; }); | ||
|  | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "escapeHTML", function() { return escapeHTML; }); | ||
|  | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isValidAttributeName", function() { return isValidAttributeName; }); | ||
|  | /** | ||
|  |  * Regular expression matching invalid attribute names. | ||
|  |  * | ||
|  |  * "Attribute names must consist of one or more characters other than controls, | ||
|  |  * U+0020 SPACE, U+0022 ("), U+0027 ('), U+003E (>), U+002F (/), U+003D (=), | ||
|  |  * and noncharacters." | ||
|  |  * | ||
|  |  * @link https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
 | ||
|  |  * | ||
|  |  * @type {RegExp} | ||
|  |  */ | ||
|  | var REGEXP_INVALID_ATTRIBUTE_NAME = /[\u007F-\u009F "'>/="\uFDD0-\uFDEF]/; | ||
|  | /** | ||
|  |  * Returns a string with ampersands escaped. Note that this is an imperfect | ||
|  |  * implementation, where only ampersands which do not appear as a pattern of | ||
|  |  * named, decimal, or hexadecimal character references are escaped. Invalid | ||
|  |  * named references (i.e. ambiguous ampersand) are are still permitted. | ||
|  |  * | ||
|  |  * @link https://w3c.github.io/html/syntax.html#character-references
 | ||
|  |  * @link https://w3c.github.io/html/syntax.html#ambiguous-ampersand
 | ||
|  |  * @link https://w3c.github.io/html/syntax.html#named-character-references
 | ||
|  |  * | ||
|  |  * @param {string} value Original string. | ||
|  |  * | ||
|  |  * @return {string} Escaped string. | ||
|  |  */ | ||
|  | 
 | ||
|  | function escapeAmpersand(value) { | ||
|  |   return value.replace(/&(?!([a-z0-9]+|#[0-9]+|#x[a-f0-9]+);)/gi, '&'); | ||
|  | } | ||
|  | /** | ||
|  |  * Returns a string with quotation marks replaced. | ||
|  |  * | ||
|  |  * @param {string} value Original string. | ||
|  |  * | ||
|  |  * @return {string} Escaped string. | ||
|  |  */ | ||
|  | 
 | ||
|  | function escapeQuotationMark(value) { | ||
|  |   return value.replace(/"/g, '"'); | ||
|  | } | ||
|  | /** | ||
|  |  * Returns a string with less-than sign replaced. | ||
|  |  * | ||
|  |  * @param {string} value Original string. | ||
|  |  * | ||
|  |  * @return {string} Escaped string. | ||
|  |  */ | ||
|  | 
 | ||
|  | function escapeLessThan(value) { | ||
|  |   return value.replace(/</g, '<'); | ||
|  | } | ||
|  | /** | ||
|  |  * Returns an escaped attribute value. | ||
|  |  * | ||
|  |  * @link https://w3c.github.io/html/syntax.html#elements-attributes
 | ||
|  |  * | ||
|  |  * "[...] the text cannot contain an ambiguous ampersand [...] must not contain | ||
|  |  * any literal U+0022 QUOTATION MARK characters (")" | ||
|  |  * | ||
|  |  * @param {string} value Attribute value. | ||
|  |  * | ||
|  |  * @return {string} Escaped attribute value. | ||
|  |  */ | ||
|  | 
 | ||
|  | function escapeAttribute(value) { | ||
|  |   return escapeQuotationMark(escapeAmpersand(value)); | ||
|  | } | ||
|  | /** | ||
|  |  * Returns an escaped HTML element value. | ||
|  |  * | ||
|  |  * @link https://w3c.github.io/html/syntax.html#writing-html-documents-elements
 | ||
|  |  * | ||
|  |  * "the text must not contain the character U+003C LESS-THAN SIGN (<) or an | ||
|  |  * ambiguous ampersand." | ||
|  |  * | ||
|  |  * @param {string} value Element value. | ||
|  |  * | ||
|  |  * @return {string} Escaped HTML element value. | ||
|  |  */ | ||
|  | 
 | ||
|  | function escapeHTML(value) { | ||
|  |   return escapeLessThan(escapeAmpersand(value)); | ||
|  | } | ||
|  | /** | ||
|  |  * Returns true if the given attribute name is valid, or false otherwise. | ||
|  |  * | ||
|  |  * @param {string} name Attribute name to test. | ||
|  |  * | ||
|  |  * @return {boolean} Whether attribute is valid. | ||
|  |  */ | ||
|  | 
 | ||
|  | function isValidAttributeName(name) { | ||
|  |   return !REGEXP_INVALID_ATTRIBUTE_NAME.test(name); | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | /***/ }) | ||
|  | 
 | ||
|  | /******/ }); |