summaryrefslogtreecommitdiffstats
path: root/wp-includes/js/dist/html-entities.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 07:56:49 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 07:56:49 +0000
commita415c29efee45520ae252d2aa28f1083a521cd7b (patch)
treef4ade4b6668ecc0765de7e1424f7c1427ad433ff /wp-includes/js/dist/html-entities.js
parentInitial commit. (diff)
downloadwordpress-a415c29efee45520ae252d2aa28f1083a521cd7b.tar.xz
wordpress-a415c29efee45520ae252d2aa28f1083a521cd7b.zip
Adding upstream version 6.4.3+dfsg1.upstream/6.4.3+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'wp-includes/js/dist/html-entities.js')
-rw-r--r--wp-includes/js/dist/html-entities.js98
1 files changed, 98 insertions, 0 deletions
diff --git a/wp-includes/js/dist/html-entities.js b/wp-includes/js/dist/html-entities.js
new file mode 100644
index 0000000..40435fa
--- /dev/null
+++ b/wp-includes/js/dist/html-entities.js
@@ -0,0 +1,98 @@
+/******/ (function() { // webpackBootstrap
+/******/ "use strict";
+/******/ // The require scope
+/******/ var __webpack_require__ = {};
+/******/
+/************************************************************************/
+/******/ /* webpack/runtime/define property getters */
+/******/ !function() {
+/******/ // define getter functions for harmony exports
+/******/ __webpack_require__.d = function(exports, definition) {
+/******/ for(var key in definition) {
+/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
+/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
+/******/ }
+/******/ }
+/******/ };
+/******/ }();
+/******/
+/******/ /* webpack/runtime/hasOwnProperty shorthand */
+/******/ !function() {
+/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
+/******/ }();
+/******/
+/******/ /* webpack/runtime/make namespace object */
+/******/ !function() {
+/******/ // 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 });
+/******/ };
+/******/ }();
+/******/
+/************************************************************************/
+var __webpack_exports__ = {};
+__webpack_require__.r(__webpack_exports__);
+/* harmony export */ __webpack_require__.d(__webpack_exports__, {
+/* harmony export */ decodeEntities: function() { return /* binding */ decodeEntities; }
+/* harmony export */ });
+/** @type {HTMLTextAreaElement} */
+let _decodeTextArea;
+
+/**
+ * Decodes the HTML entities from a given string.
+ *
+ * @param {string} html String that contain HTML entities.
+ *
+ * @example
+ * ```js
+ * const result = decodeEntities( '&aacute;' );
+ * console.log( result ); // result will be "รก"
+ * ```
+ *
+ * @return {string} The decoded string.
+ */
+function decodeEntities(html) {
+ // Not a string, or no entities to decode.
+ if ('string' !== typeof html || -1 === html.indexOf('&')) {
+ return html;
+ }
+
+ // Create a textarea for decoding entities, that we can reuse.
+ if (undefined === _decodeTextArea) {
+ if (document.implementation && document.implementation.createHTMLDocument) {
+ _decodeTextArea = document.implementation.createHTMLDocument('').createElement('textarea');
+ } else {
+ _decodeTextArea = document.createElement('textarea');
+ }
+ }
+ _decodeTextArea.innerHTML = html;
+ const decoded = _decodeTextArea.textContent;
+ _decodeTextArea.innerHTML = '';
+
+ /**
+ * Cast to string, HTMLTextAreaElement should always have `string` textContent.
+ *
+ * > The `textContent` property of the `Node` interface represents the text content of the
+ * > node and its descendants.
+ * >
+ * > Value: A string or `null`
+ * >
+ * > * If the node is a `document` or a Doctype, `textContent` returns `null`.
+ * > * If the node is a CDATA section, comment, processing instruction, or text node,
+ * > textContent returns the text inside the node, i.e., the `Node.nodeValue`.
+ * > * For other node types, `textContent returns the concatenation of the textContent of
+ * > every child node, excluding comments and processing instructions. (This is an empty
+ * > string if the node has no children.)
+ *
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent
+ */
+ return (/** @type {string} */decoded
+ );
+}
+
+(window.wp = window.wp || {}).htmlEntities = __webpack_exports__;
+/******/ })()
+; \ No newline at end of file