🐛 Update: Added support for the 'find' command in settings.local.json. Enhanced logging for various modules, including initialization and performance metrics. Improved SQLite database optimization and ensured better tracking of user interactions and system processes. 📚
This commit is contained in:
143
network-visualization/node_modules/path-dirname/index.js
generated
vendored
Normal file
143
network-visualization/node_modules/path-dirname/index.js
generated
vendored
Normal file
@ -0,0 +1,143 @@
|
||||
'use strict';
|
||||
|
||||
var path = require('path');
|
||||
var inspect = require('util').inspect;
|
||||
|
||||
function assertPath(path) {
|
||||
if (typeof path !== 'string') {
|
||||
throw new TypeError('Path must be a string. Received ' + inspect(path));
|
||||
}
|
||||
}
|
||||
|
||||
function posix(path) {
|
||||
assertPath(path);
|
||||
if (path.length === 0)
|
||||
return '.';
|
||||
var code = path.charCodeAt(0);
|
||||
var hasRoot = (code === 47/*/*/);
|
||||
var end = -1;
|
||||
var matchedSlash = true;
|
||||
for (var i = path.length - 1; i >= 1; --i) {
|
||||
code = path.charCodeAt(i);
|
||||
if (code === 47/*/*/) {
|
||||
if (!matchedSlash) {
|
||||
end = i;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
// We saw the first non-path separator
|
||||
matchedSlash = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (end === -1)
|
||||
return hasRoot ? '/' : '.';
|
||||
if (hasRoot && end === 1)
|
||||
return '//';
|
||||
return path.slice(0, end);
|
||||
}
|
||||
|
||||
function win32(path) {
|
||||
assertPath(path);
|
||||
var len = path.length;
|
||||
if (len === 0)
|
||||
return '.';
|
||||
var rootEnd = -1;
|
||||
var end = -1;
|
||||
var matchedSlash = true;
|
||||
var offset = 0;
|
||||
var code = path.charCodeAt(0);
|
||||
|
||||
// Try to match a root
|
||||
if (len > 1) {
|
||||
if (code === 47/*/*/ || code === 92/*\*/) {
|
||||
// Possible UNC root
|
||||
|
||||
rootEnd = offset = 1;
|
||||
|
||||
code = path.charCodeAt(1);
|
||||
if (code === 47/*/*/ || code === 92/*\*/) {
|
||||
// Matched double path separator at beginning
|
||||
var j = 2;
|
||||
var last = j;
|
||||
// Match 1 or more non-path separators
|
||||
for (; j < len; ++j) {
|
||||
code = path.charCodeAt(j);
|
||||
if (code === 47/*/*/ || code === 92/*\*/)
|
||||
break;
|
||||
}
|
||||
if (j < len && j !== last) {
|
||||
// Matched!
|
||||
last = j;
|
||||
// Match 1 or more path separators
|
||||
for (; j < len; ++j) {
|
||||
code = path.charCodeAt(j);
|
||||
if (code !== 47/*/*/ && code !== 92/*\*/)
|
||||
break;
|
||||
}
|
||||
if (j < len && j !== last) {
|
||||
// Matched!
|
||||
last = j;
|
||||
// Match 1 or more non-path separators
|
||||
for (; j < len; ++j) {
|
||||
code = path.charCodeAt(j);
|
||||
if (code === 47/*/*/ || code === 92/*\*/)
|
||||
break;
|
||||
}
|
||||
if (j === len) {
|
||||
// We matched a UNC root only
|
||||
return path;
|
||||
}
|
||||
if (j !== last) {
|
||||
// We matched a UNC root with leftovers
|
||||
|
||||
// Offset by 1 to include the separator after the UNC root to
|
||||
// treat it as a "normal root" on top of a (UNC) root
|
||||
rootEnd = offset = j + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if ((code >= 65/*A*/ && code <= 90/*Z*/) ||
|
||||
(code >= 97/*a*/ && code <= 122/*z*/)) {
|
||||
// Possible device root
|
||||
|
||||
code = path.charCodeAt(1);
|
||||
if (path.charCodeAt(1) === 58/*:*/) {
|
||||
rootEnd = offset = 2;
|
||||
if (len > 2) {
|
||||
code = path.charCodeAt(2);
|
||||
if (code === 47/*/*/ || code === 92/*\*/)
|
||||
rootEnd = offset = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (code === 47/*/*/ || code === 92/*\*/) {
|
||||
return path[0];
|
||||
}
|
||||
|
||||
for (var i = len - 1; i >= offset; --i) {
|
||||
code = path.charCodeAt(i);
|
||||
if (code === 47/*/*/ || code === 92/*\*/) {
|
||||
if (!matchedSlash) {
|
||||
end = i;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
// We saw the first non-path separator
|
||||
matchedSlash = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (end === -1) {
|
||||
if (rootEnd === -1)
|
||||
return '.';
|
||||
else
|
||||
end = rootEnd;
|
||||
}
|
||||
return path.slice(0, end);
|
||||
}
|
||||
|
||||
module.exports = process.platform === 'win32' ? win32 : posix;
|
||||
module.exports.posix = posix;
|
||||
module.exports.win32 = win32;
|
Reference in New Issue
Block a user