Files
portfolio/node_modules/.cache/babel-loader/651233deb1d099285e087d37e2d364d0.json
2021-09-20 16:54:47 -04:00

1 line
26 KiB
JSON

{"ast":null,"code":"// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\nvar pathModule = require('path');\n\nvar isWindows = process.platform === 'win32';\n\nvar fs = require('fs'); // JavaScript implementation of realpath, ported from node pre-v6\n\n\nvar DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG);\n\nfunction rethrow() {\n // Only enable in debug mode. A backtrace uses ~1000 bytes of heap space and\n // is fairly slow to generate.\n var callback;\n\n if (DEBUG) {\n var backtrace = new Error();\n callback = debugCallback;\n } else callback = missingCallback;\n\n return callback;\n\n function debugCallback(err) {\n if (err) {\n backtrace.message = err.message;\n err = backtrace;\n missingCallback(err);\n }\n }\n\n function missingCallback(err) {\n if (err) {\n if (process.throwDeprecation) throw err; // Forgot a callback but don't know where? Use NODE_DEBUG=fs\n else if (!process.noDeprecation) {\n var msg = 'fs: missing callback ' + (err.stack || err.message);\n if (process.traceDeprecation) console.trace(msg);else console.error(msg);\n }\n }\n }\n}\n\nfunction maybeCallback(cb) {\n return typeof cb === 'function' ? cb : rethrow();\n}\n\nvar normalize = pathModule.normalize; // Regexp that finds the next partion of a (partial) path\n// result is [base_with_slash, base], e.g. ['somedir/', 'somedir']\n\nif (isWindows) {\n var nextPartRe = /(.*?)(?:[\\/\\\\]+|$)/g;\n} else {\n var nextPartRe = /(.*?)(?:[\\/]+|$)/g;\n} // Regex to find the device root, including trailing slash. E.g. 'c:\\\\'.\n\n\nif (isWindows) {\n var splitRootRe = /^(?:[a-zA-Z]:|[\\\\\\/]{2}[^\\\\\\/]+[\\\\\\/][^\\\\\\/]+)?[\\\\\\/]*/;\n} else {\n var splitRootRe = /^[\\/]*/;\n}\n\nexports.realpathSync = function realpathSync(p, cache) {\n // make p is absolute\n p = pathModule.resolve(p);\n\n if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {\n return cache[p];\n }\n\n var original = p,\n seenLinks = {},\n knownHard = {}; // current character position in p\n\n var pos; // the partial path so far, including a trailing slash if any\n\n var current; // the partial path without a trailing slash (except when pointing at a root)\n\n var base; // the partial path scanned in the previous round, with slash\n\n var previous;\n start();\n\n function start() {\n // Skip over roots\n var m = splitRootRe.exec(p);\n pos = m[0].length;\n current = m[0];\n base = m[0];\n previous = ''; // On windows, check that the root exists. On unix there is no need.\n\n if (isWindows && !knownHard[base]) {\n fs.lstatSync(base);\n knownHard[base] = true;\n }\n } // walk down the path, swapping out linked pathparts for their real\n // values\n // NB: p.length changes.\n\n\n while (pos < p.length) {\n // find the next part\n nextPartRe.lastIndex = pos;\n var result = nextPartRe.exec(p);\n previous = current;\n current += result[0];\n base = previous + result[1];\n pos = nextPartRe.lastIndex; // continue if not a symlink\n\n if (knownHard[base] || cache && cache[base] === base) {\n continue;\n }\n\n var resolvedLink;\n\n if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {\n // some known symbolic link. no need to stat again.\n resolvedLink = cache[base];\n } else {\n var stat = fs.lstatSync(base);\n\n if (!stat.isSymbolicLink()) {\n knownHard[base] = true;\n if (cache) cache[base] = base;\n continue;\n } // read the link if it wasn't read before\n // dev/ino always return 0 on windows, so skip the check.\n\n\n var linkTarget = null;\n\n if (!isWindows) {\n var id = stat.dev.toString(32) + ':' + stat.ino.toString(32);\n\n if (seenLinks.hasOwnProperty(id)) {\n linkTarget = seenLinks[id];\n }\n }\n\n if (linkTarget === null) {\n fs.statSync(base);\n linkTarget = fs.readlinkSync(base);\n }\n\n resolvedLink = pathModule.resolve(previous, linkTarget); // track this, if given a cache.\n\n if (cache) cache[base] = resolvedLink;\n if (!isWindows) seenLinks[id] = linkTarget;\n } // resolve the link, then start over\n\n\n p = pathModule.resolve(resolvedLink, p.slice(pos));\n start();\n }\n\n if (cache) cache[original] = p;\n return p;\n};\n\nexports.realpath = function realpath(p, cache, cb) {\n if (typeof cb !== 'function') {\n cb = maybeCallback(cache);\n cache = null;\n } // make p is absolute\n\n\n p = pathModule.resolve(p);\n\n if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {\n return process.nextTick(cb.bind(null, null, cache[p]));\n }\n\n var original = p,\n seenLinks = {},\n knownHard = {}; // current character position in p\n\n var pos; // the partial path so far, including a trailing slash if any\n\n var current; // the partial path without a trailing slash (except when pointing at a root)\n\n var base; // the partial path scanned in the previous round, with slash\n\n var previous;\n start();\n\n function start() {\n // Skip over roots\n var m = splitRootRe.exec(p);\n pos = m[0].length;\n current = m[0];\n base = m[0];\n previous = ''; // On windows, check that the root exists. On unix there is no need.\n\n if (isWindows && !knownHard[base]) {\n fs.lstat(base, function (err) {\n if (err) return cb(err);\n knownHard[base] = true;\n LOOP();\n });\n } else {\n process.nextTick(LOOP);\n }\n } // walk down the path, swapping out linked pathparts for their real\n // values\n\n\n function LOOP() {\n // stop if scanned past end of path\n if (pos >= p.length) {\n if (cache) cache[original] = p;\n return cb(null, p);\n } // find the next part\n\n\n nextPartRe.lastIndex = pos;\n var result = nextPartRe.exec(p);\n previous = current;\n current += result[0];\n base = previous + result[1];\n pos = nextPartRe.lastIndex; // continue if not a symlink\n\n if (knownHard[base] || cache && cache[base] === base) {\n return process.nextTick(LOOP);\n }\n\n if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {\n // known symbolic link. no need to stat again.\n return gotResolvedLink(cache[base]);\n }\n\n return fs.lstat(base, gotStat);\n }\n\n function gotStat(err, stat) {\n if (err) return cb(err); // if not a symlink, skip to the next path part\n\n if (!stat.isSymbolicLink()) {\n knownHard[base] = true;\n if (cache) cache[base] = base;\n return process.nextTick(LOOP);\n } // stat & read the link if not read before\n // call gotTarget as soon as the link target is known\n // dev/ino always return 0 on windows, so skip the check.\n\n\n if (!isWindows) {\n var id = stat.dev.toString(32) + ':' + stat.ino.toString(32);\n\n if (seenLinks.hasOwnProperty(id)) {\n return gotTarget(null, seenLinks[id], base);\n }\n }\n\n fs.stat(base, function (err) {\n if (err) return cb(err);\n fs.readlink(base, function (err, target) {\n if (!isWindows) seenLinks[id] = target;\n gotTarget(err, target);\n });\n });\n }\n\n function gotTarget(err, target, base) {\n if (err) return cb(err);\n var resolvedLink = pathModule.resolve(previous, target);\n if (cache) cache[base] = resolvedLink;\n gotResolvedLink(resolvedLink);\n }\n\n function gotResolvedLink(resolvedLink) {\n // resolve the link, then start over\n p = pathModule.resolve(resolvedLink, p.slice(pos));\n start();\n }\n};","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/fs.realpath/old.js"],"names":["pathModule","require","isWindows","process","platform","fs","DEBUG","env","NODE_DEBUG","test","rethrow","callback","backtrace","Error","debugCallback","missingCallback","err","message","throwDeprecation","noDeprecation","msg","stack","traceDeprecation","console","trace","error","maybeCallback","cb","normalize","nextPartRe","splitRootRe","exports","realpathSync","p","cache","resolve","Object","prototype","hasOwnProperty","call","original","seenLinks","knownHard","pos","current","base","previous","start","m","exec","length","lstatSync","lastIndex","result","resolvedLink","stat","isSymbolicLink","linkTarget","id","dev","toString","ino","statSync","readlinkSync","slice","realpath","nextTick","bind","lstat","LOOP","gotResolvedLink","gotStat","gotTarget","readlink","target"],"mappings":"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","sourcesContent":["// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar pathModule = require('path');\nvar isWindows = process.platform === 'win32';\nvar fs = require('fs');\n\n// JavaScript implementation of realpath, ported from node pre-v6\n\nvar DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG);\n\nfunction rethrow() {\n // Only enable in debug mode. A backtrace uses ~1000 bytes of heap space and\n // is fairly slow to generate.\n var callback;\n if (DEBUG) {\n var backtrace = new Error;\n callback = debugCallback;\n } else\n callback = missingCallback;\n\n return callback;\n\n function debugCallback(err) {\n if (err) {\n backtrace.message = err.message;\n err = backtrace;\n missingCallback(err);\n }\n }\n\n function missingCallback(err) {\n if (err) {\n if (process.throwDeprecation)\n throw err; // Forgot a callback but don't know where? Use NODE_DEBUG=fs\n else if (!process.noDeprecation) {\n var msg = 'fs: missing callback ' + (err.stack || err.message);\n if (process.traceDeprecation)\n console.trace(msg);\n else\n console.error(msg);\n }\n }\n }\n}\n\nfunction maybeCallback(cb) {\n return typeof cb === 'function' ? cb : rethrow();\n}\n\nvar normalize = pathModule.normalize;\n\n// Regexp that finds the next partion of a (partial) path\n// result is [base_with_slash, base], e.g. ['somedir/', 'somedir']\nif (isWindows) {\n var nextPartRe = /(.*?)(?:[\\/\\\\]+|$)/g;\n} else {\n var nextPartRe = /(.*?)(?:[\\/]+|$)/g;\n}\n\n// Regex to find the device root, including trailing slash. E.g. 'c:\\\\'.\nif (isWindows) {\n var splitRootRe = /^(?:[a-zA-Z]:|[\\\\\\/]{2}[^\\\\\\/]+[\\\\\\/][^\\\\\\/]+)?[\\\\\\/]*/;\n} else {\n var splitRootRe = /^[\\/]*/;\n}\n\nexports.realpathSync = function realpathSync(p, cache) {\n // make p is absolute\n p = pathModule.resolve(p);\n\n if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {\n return cache[p];\n }\n\n var original = p,\n seenLinks = {},\n knownHard = {};\n\n // current character position in p\n var pos;\n // the partial path so far, including a trailing slash if any\n var current;\n // the partial path without a trailing slash (except when pointing at a root)\n var base;\n // the partial path scanned in the previous round, with slash\n var previous;\n\n start();\n\n function start() {\n // Skip over roots\n var m = splitRootRe.exec(p);\n pos = m[0].length;\n current = m[0];\n base = m[0];\n previous = '';\n\n // On windows, check that the root exists. On unix there is no need.\n if (isWindows && !knownHard[base]) {\n fs.lstatSync(base);\n knownHard[base] = true;\n }\n }\n\n // walk down the path, swapping out linked pathparts for their real\n // values\n // NB: p.length changes.\n while (pos < p.length) {\n // find the next part\n nextPartRe.lastIndex = pos;\n var result = nextPartRe.exec(p);\n previous = current;\n current += result[0];\n base = previous + result[1];\n pos = nextPartRe.lastIndex;\n\n // continue if not a symlink\n if (knownHard[base] || (cache && cache[base] === base)) {\n continue;\n }\n\n var resolvedLink;\n if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {\n // some known symbolic link. no need to stat again.\n resolvedLink = cache[base];\n } else {\n var stat = fs.lstatSync(base);\n if (!stat.isSymbolicLink()) {\n knownHard[base] = true;\n if (cache) cache[base] = base;\n continue;\n }\n\n // read the link if it wasn't read before\n // dev/ino always return 0 on windows, so skip the check.\n var linkTarget = null;\n if (!isWindows) {\n var id = stat.dev.toString(32) + ':' + stat.ino.toString(32);\n if (seenLinks.hasOwnProperty(id)) {\n linkTarget = seenLinks[id];\n }\n }\n if (linkTarget === null) {\n fs.statSync(base);\n linkTarget = fs.readlinkSync(base);\n }\n resolvedLink = pathModule.resolve(previous, linkTarget);\n // track this, if given a cache.\n if (cache) cache[base] = resolvedLink;\n if (!isWindows) seenLinks[id] = linkTarget;\n }\n\n // resolve the link, then start over\n p = pathModule.resolve(resolvedLink, p.slice(pos));\n start();\n }\n\n if (cache) cache[original] = p;\n\n return p;\n};\n\n\nexports.realpath = function realpath(p, cache, cb) {\n if (typeof cb !== 'function') {\n cb = maybeCallback(cache);\n cache = null;\n }\n\n // make p is absolute\n p = pathModule.resolve(p);\n\n if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {\n return process.nextTick(cb.bind(null, null, cache[p]));\n }\n\n var original = p,\n seenLinks = {},\n knownHard = {};\n\n // current character position in p\n var pos;\n // the partial path so far, including a trailing slash if any\n var current;\n // the partial path without a trailing slash (except when pointing at a root)\n var base;\n // the partial path scanned in the previous round, with slash\n var previous;\n\n start();\n\n function start() {\n // Skip over roots\n var m = splitRootRe.exec(p);\n pos = m[0].length;\n current = m[0];\n base = m[0];\n previous = '';\n\n // On windows, check that the root exists. On unix there is no need.\n if (isWindows && !knownHard[base]) {\n fs.lstat(base, function(err) {\n if (err) return cb(err);\n knownHard[base] = true;\n LOOP();\n });\n } else {\n process.nextTick(LOOP);\n }\n }\n\n // walk down the path, swapping out linked pathparts for their real\n // values\n function LOOP() {\n // stop if scanned past end of path\n if (pos >= p.length) {\n if (cache) cache[original] = p;\n return cb(null, p);\n }\n\n // find the next part\n nextPartRe.lastIndex = pos;\n var result = nextPartRe.exec(p);\n previous = current;\n current += result[0];\n base = previous + result[1];\n pos = nextPartRe.lastIndex;\n\n // continue if not a symlink\n if (knownHard[base] || (cache && cache[base] === base)) {\n return process.nextTick(LOOP);\n }\n\n if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {\n // known symbolic link. no need to stat again.\n return gotResolvedLink(cache[base]);\n }\n\n return fs.lstat(base, gotStat);\n }\n\n function gotStat(err, stat) {\n if (err) return cb(err);\n\n // if not a symlink, skip to the next path part\n if (!stat.isSymbolicLink()) {\n knownHard[base] = true;\n if (cache) cache[base] = base;\n return process.nextTick(LOOP);\n }\n\n // stat & read the link if not read before\n // call gotTarget as soon as the link target is known\n // dev/ino always return 0 on windows, so skip the check.\n if (!isWindows) {\n var id = stat.dev.toString(32) + ':' + stat.ino.toString(32);\n if (seenLinks.hasOwnProperty(id)) {\n return gotTarget(null, seenLinks[id], base);\n }\n }\n fs.stat(base, function(err) {\n if (err) return cb(err);\n\n fs.readlink(base, function(err, target) {\n if (!isWindows) seenLinks[id] = target;\n gotTarget(err, target);\n });\n });\n }\n\n function gotTarget(err, target, base) {\n if (err) return cb(err);\n\n var resolvedLink = pathModule.resolve(previous, target);\n if (cache) cache[base] = resolvedLink;\n gotResolvedLink(resolvedLink);\n }\n\n function gotResolvedLink(resolvedLink) {\n // resolve the link, then start over\n p = pathModule.resolve(resolvedLink, p.slice(pos));\n start();\n }\n};\n"]},"metadata":{},"sourceType":"script"}