From efbc2ffe6a1ee5ec38a4396305561d6515d0943e Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Fri, 30 Aug 2024 17:21:18 +0800 Subject: node fixes, updates --- node_modules/webpack-sources/lib/RawSource.js | 81 +++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 node_modules/webpack-sources/lib/RawSource.js (limited to 'node_modules/webpack-sources/lib/RawSource.js') diff --git a/node_modules/webpack-sources/lib/RawSource.js b/node_modules/webpack-sources/lib/RawSource.js new file mode 100644 index 00000000..71f1341c --- /dev/null +++ b/node_modules/webpack-sources/lib/RawSource.js @@ -0,0 +1,81 @@ +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + +"use strict"; + +const streamChunksOfRawSource = require("./helpers/streamChunksOfRawSource"); +const Source = require("./Source"); + +class RawSource extends Source { + constructor(value, convertToString = false) { + super(); + const isBuffer = Buffer.isBuffer(value); + if (!isBuffer && typeof value !== "string") { + throw new TypeError("argument 'value' must be either string of Buffer"); + } + this._valueIsBuffer = !convertToString && isBuffer; + this._value = convertToString && isBuffer ? undefined : value; + this._valueAsBuffer = isBuffer ? value : undefined; + this._valueAsString = isBuffer ? undefined : value; + } + + isBuffer() { + return this._valueIsBuffer; + } + + source() { + if (this._value === undefined) { + this._value = this._valueAsBuffer.toString("utf-8"); + } + return this._value; + } + + buffer() { + if (this._valueAsBuffer === undefined) { + this._valueAsBuffer = Buffer.from(this._value, "utf-8"); + } + return this._valueAsBuffer; + } + + map(options) { + return null; + } + + /** + * @param {object} options options + * @param {function(string, number, number, number, number, number, number): void} onChunk called for each chunk of code + * @param {function(number, string, string)} onSource called for each source + * @param {function(number, string)} onName called for each name + * @returns {void} + */ + streamChunks(options, onChunk, onSource, onName) { + if (this._value === undefined) { + this._value = Buffer.from(this._valueAsBuffer, "utf-8"); + } + if (this._valueAsString === undefined) { + this._valueAsString = + typeof this._value === "string" + ? this._value + : this._value.toString("utf-8"); + } + return streamChunksOfRawSource( + this._valueAsString, + onChunk, + onSource, + onName, + !!(options && options.finalSource) + ); + } + + updateHash(hash) { + if (this._valueAsBuffer === undefined) { + this._valueAsBuffer = Buffer.from(this._value, "utf-8"); + } + hash.update("RawSource"); + hash.update(this._valueAsBuffer); + } +} + +module.exports = RawSource; -- cgit v1.2.3