MCPcopy
hub / github.com/webpack/webpack / walkFullHashPlaceholders

Function walkFullHashPlaceholders

lib/util/publicPathPlaceholder.js:31–60  ·  view source on GitHub ↗
(content, onMatch)

Source from the content-addressed store, hash-verified

29 * @returns {void}
30 */
31const walkFullHashPlaceholders = (content, onMatch) => {
32 const prefix = PUBLIC_PATH_FULL_HASH;
33 const prefixLen = prefix.length;
34 const len = content.length;
35 let idx = content.indexOf(prefix);
36 while (idx !== -1) {
37 let digitEnd = idx + prefixLen;
38 while (digitEnd < len) {
39 const cc = content.charCodeAt(digitEnd);
40 if (cc < 48 || cc > 57) break;
41 digitEnd++;
42 }
43 // Well-formed placeholder: at least one digit followed by `__`.
44 if (
45 digitEnd > idx + prefixLen &&
46 digitEnd + 1 < len &&
47 content.charCodeAt(digitEnd) === 95 &&
48 content.charCodeAt(digitEnd + 1) === 95
49 ) {
50 const length = Number.parseInt(
51 content.slice(idx + prefixLen, digitEnd),
52 10
53 );
54 onMatch(idx, digitEnd + 2, length);
55 idx = content.indexOf(prefix, digitEnd + 2);
56 } else {
57 idx = content.indexOf(prefix, idx + prefixLen);
58 }
59 }
60};
61
62module.exports.PUBLIC_PATH_AUTO = PUBLIC_PATH_AUTO;
63module.exports.PUBLIC_PATH_FULL_HASH = PUBLIC_PATH_FULL_HASH;

Callers 2

_cssToJsLiteralMethod · 0.85

Calls 1

sliceMethod · 0.80

Tested by

no test coverage detected