Server : nginx/1.18.0 System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64 User : www-data ( 33) PHP Version : 8.0.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/ecommerce/node_modules/webpack-sources/lib/ |
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
var Source = require("./Source");
var SourceNode = require("source-map").SourceNode;
var REPLACE_REGEX = /\n(?=.|\s)/g;
function cloneAndPrefix(node, prefix, append) {
if(typeof node === "string") {
var result = node.replace(REPLACE_REGEX, "\n" + prefix);
if(append.length > 0) result = append.pop() + result;
if(/\n$/.test(node)) append.push(prefix);
return result;
} else {
var newNode = new SourceNode(
node.line,
node.column,
node.source,
node.children.map(function(node) {
return cloneAndPrefix(node, prefix, append);
}),
node.name
);
newNode.sourceContents = node.sourceContents;
return newNode;
}
};
class PrefixSource extends Source {
constructor(prefix, source) {
super();
this._source = source;
this._prefix = prefix;
}
source() {
var node = typeof this._source === "string" ? this._source : this._source.source();
var prefix = this._prefix;
return prefix + node.replace(REPLACE_REGEX, "\n" + prefix);
}
node(options) {
var node = this._source.node(options);
var prefix = this._prefix;
var output = [];
var result = new SourceNode();
node.walkSourceContents(function(source, content) {
result.setSourceContent(source, content);
});
var needPrefix = true;
node.walk(function(chunk, mapping) {
var parts = chunk.split(/(\n)/);
for(var i = 0; i < parts.length; i += 2) {
var nl = i + 1 < parts.length;
var part = parts[i] + (nl ? "\n" : "");
if(part) {
if(needPrefix) {
output.push(prefix);
}
output.push(new SourceNode(mapping.line, mapping.column, mapping.source, part, mapping.name));
needPrefix = nl;
}
}
});
result.add(output);
return result;
}
listMap(options) {
var prefix = this._prefix;
var map = this._source.listMap(options);
return map.mapGeneratedCode(function(code) {
return prefix + code.replace(REPLACE_REGEX, "\n" + prefix);
});
}
updateHash(hash) {
if(typeof this._source === "string")
hash.update(this._source);
else
this._source.updateHash(hash);
if(typeof this._prefix === "string")
hash.update(this._prefix);
else
this._prefix.updateHash(hash);
}
}
require("./SourceAndMapMixin")(PrefixSource.prototype);
module.exports = PrefixSource;