| [ Index ] |
PHP Cross Reference of WordPress Trunk (Updated Daily) |
[Summary view] [Print] [Text view]
1 /******/ (() => { // webpackBootstrap 2 /******/ "use strict"; 3 /******/ // The require scope 4 /******/ var __webpack_require__ = {}; 5 /******/ 6 /************************************************************************/ 7 /******/ /* webpack/runtime/define property getters */ 8 /******/ (() => { 9 /******/ // define getter functions for harmony exports 10 /******/ __webpack_require__.d = (exports, definition) => { 11 /******/ for(var key in definition) { 12 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { 13 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); 14 /******/ } 15 /******/ } 16 /******/ }; 17 /******/ })(); 18 /******/ 19 /******/ /* webpack/runtime/hasOwnProperty shorthand */ 20 /******/ (() => { 21 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) 22 /******/ })(); 23 /******/ 24 /******/ /* webpack/runtime/make namespace object */ 25 /******/ (() => { 26 /******/ // define __esModule on exports 27 /******/ __webpack_require__.r = (exports) => { 28 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 29 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 30 /******/ } 31 /******/ Object.defineProperty(exports, '__esModule', { value: true }); 32 /******/ }; 33 /******/ })(); 34 /******/ 35 /************************************************************************/ 36 var __webpack_exports__ = {}; 37 __webpack_require__.r(__webpack_exports__); 38 /* harmony export */ __webpack_require__.d(__webpack_exports__, { 39 /* harmony export */ parse: () => (/* binding */ parse) 40 /* harmony export */ }); 41 let document; 42 let offset; 43 let output; 44 let stack; 45 const tokenizer = /<!--\s+(\/)?wp:([a-z][a-z0-9_-]*\/)?([a-z][a-z0-9_-]*)\s+({(?:(?=([^}]+|}+(?=})|(?!}\s+\/?-->)[^])*)\5|[^]*?)}\s+)?(\/)?-->/g; 46 function Block(blockName, attrs, innerBlocks, innerHTML, innerContent) { 47 return { 48 blockName, 49 attrs, 50 innerBlocks, 51 innerHTML, 52 innerContent 53 }; 54 } 55 function Freeform(innerHTML) { 56 return Block(null, {}, [], innerHTML, [innerHTML]); 57 } 58 function Frame(block, tokenStart, tokenLength, prevOffset, leadingHtmlStart) { 59 return { 60 block, 61 tokenStart, 62 tokenLength, 63 prevOffset: prevOffset || tokenStart + tokenLength, 64 leadingHtmlStart 65 }; 66 } 67 const parse = (doc) => { 68 document = doc; 69 offset = 0; 70 output = []; 71 stack = []; 72 tokenizer.lastIndex = 0; 73 do { 74 } while (proceed()); 75 return output; 76 }; 77 function proceed() { 78 const stackDepth = stack.length; 79 const next = nextToken(); 80 const [tokenType, blockName, attrs, startOffset, tokenLength] = next; 81 const leadingHtmlStart = startOffset > offset ? offset : null; 82 switch (tokenType) { 83 case "no-more-tokens": 84 if (0 === stackDepth) { 85 addFreeform(); 86 return false; 87 } 88 if (1 === stackDepth) { 89 addBlockFromStack(); 90 return false; 91 } 92 while (0 < stack.length) { 93 addBlockFromStack(); 94 } 95 return false; 96 case "void-block": 97 if (0 === stackDepth) { 98 if (null !== leadingHtmlStart) { 99 output.push( 100 Freeform( 101 document.substr( 102 leadingHtmlStart, 103 startOffset - leadingHtmlStart 104 ) 105 ) 106 ); 107 } 108 output.push(Block(blockName, attrs, [], "", [])); 109 offset = startOffset + tokenLength; 110 return true; 111 } 112 addInnerBlock( 113 Block(blockName, attrs, [], "", []), 114 startOffset, 115 tokenLength 116 ); 117 offset = startOffset + tokenLength; 118 return true; 119 case "block-opener": 120 stack.push( 121 Frame( 122 Block(blockName, attrs, [], "", []), 123 startOffset, 124 tokenLength, 125 startOffset + tokenLength, 126 leadingHtmlStart 127 ) 128 ); 129 offset = startOffset + tokenLength; 130 return true; 131 case "block-closer": 132 if (0 === stackDepth) { 133 addFreeform(); 134 return false; 135 } 136 if (1 === stackDepth) { 137 addBlockFromStack(startOffset); 138 offset = startOffset + tokenLength; 139 return true; 140 } 141 const stackTop = stack.pop(); 142 const html = document.substr( 143 stackTop.prevOffset, 144 startOffset - stackTop.prevOffset 145 ); 146 stackTop.block.innerHTML += html; 147 stackTop.block.innerContent.push(html); 148 stackTop.prevOffset = startOffset + tokenLength; 149 addInnerBlock( 150 stackTop.block, 151 stackTop.tokenStart, 152 stackTop.tokenLength, 153 startOffset + tokenLength 154 ); 155 offset = startOffset + tokenLength; 156 return true; 157 default: 158 addFreeform(); 159 return false; 160 } 161 } 162 function parseJSON(input) { 163 try { 164 return JSON.parse(input); 165 } catch (e) { 166 return null; 167 } 168 } 169 function nextToken() { 170 const matches = tokenizer.exec(document); 171 if (null === matches) { 172 return ["no-more-tokens", "", null, 0, 0]; 173 } 174 const startedAt = matches.index; 175 const [ 176 match, 177 closerMatch, 178 namespaceMatch, 179 nameMatch, 180 attrsMatch, 181 , 182 voidMatch 183 ] = matches; 184 const length = match.length; 185 const isCloser = !!closerMatch; 186 const isVoid = !!voidMatch; 187 const namespace = namespaceMatch || "core/"; 188 const name = namespace + nameMatch; 189 const hasAttrs = !!attrsMatch; 190 const attrs = hasAttrs ? parseJSON(attrsMatch) : {}; 191 if (isCloser && (isVoid || hasAttrs)) { 192 } 193 if (isVoid) { 194 return ["void-block", name, attrs, startedAt, length]; 195 } 196 if (isCloser) { 197 return ["block-closer", name, null, startedAt, length]; 198 } 199 return ["block-opener", name, attrs, startedAt, length]; 200 } 201 function addFreeform(rawLength) { 202 const length = rawLength ? rawLength : document.length - offset; 203 if (0 === length) { 204 return; 205 } 206 output.push(Freeform(document.substr(offset, length))); 207 } 208 function addInnerBlock(block, tokenStart, tokenLength, lastOffset) { 209 const parent = stack[stack.length - 1]; 210 parent.block.innerBlocks.push(block); 211 const html = document.substr( 212 parent.prevOffset, 213 tokenStart - parent.prevOffset 214 ); 215 if (html) { 216 parent.block.innerHTML += html; 217 parent.block.innerContent.push(html); 218 } 219 parent.block.innerContent.push(null); 220 parent.prevOffset = lastOffset ? lastOffset : tokenStart + tokenLength; 221 } 222 function addBlockFromStack(endOffset) { 223 const { block, leadingHtmlStart, prevOffset, tokenStart } = stack.pop(); 224 const html = endOffset ? document.substr(prevOffset, endOffset - prevOffset) : document.substr(prevOffset); 225 if (html) { 226 block.innerHTML += html; 227 block.innerContent.push(html); 228 } 229 if (null !== leadingHtmlStart) { 230 output.push( 231 Freeform( 232 document.substr( 233 leadingHtmlStart, 234 tokenStart - leadingHtmlStart 235 ) 236 ) 237 ); 238 } 239 output.push(block); 240 } 241 242 243 (window.wp = window.wp || {}).blockSerializationDefaultParser = __webpack_exports__; 244 /******/ })() 245 ;
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated : Wed Oct 29 08:20:06 2025 | Cross-referenced by PHPXref |