MCPcopy
hub / github.com/webpack/webpack / bufferToDigest

Function bufferToDigest

lib/TemplatedPathPlugin.js:152–172  ·  view source on GitHub ↗
(buffer, digest)

Source from the content-addressed store, hash-verified

150 * @returns {string} encoded hash
151 */
152const bufferToDigest = (buffer, digest) => {
153 const base = BASE_DIGEST.exec(digest);
154 if (base && Number(base[1]) !== 64) {
155 return encodeBase(buffer, /** @type {Base} */ (base[1]));
156 }
157 if (
158 (digest === "base64url" || digest === "base64safe") &&
159 !isBase64UrlSupported
160 ) {
161 return buffer
162 .toString("base64")
163 .replace(/\+/g, "-")
164 .replace(/\//g, "_")
165 .replace(/[=]+$/, "");
166 }
167 return buffer.toString(
168 /** @type {BufferEncoding} */ (
169 digest === "base64safe" ? "base64url" : digest
170 )
171 );
172};
173
174/**
175 * Re-encodes a digested hash into another digest (e.g. `[contenthash:base64]`).

Callers 1

reEncodeDigestFunction · 0.85

Calls 3

execMethod · 0.80
replaceMethod · 0.45
toStringMethod · 0.45

Tested by

no test coverage detected