opennms
Version:
Client API for the OpenNMS network monitoring platform
1 lines • 30.7 kB
JSON
{"remainingRequest":"/data/node_modules/babel-loader/lib/index.js!/data/node_modules/source-map/lib/util.js","dependencies":[{"path":"/data/node_modules/source-map/lib/util.js","mtime":1553611387364},{"path":"/data/.babelrc","mtime":1553611371556},{"path":"/data/node_modules/cache-loader/dist/cjs.js","mtime":1553611387012},{"path":"/data/node_modules/babel-loader/lib/index.js","mtime":1553611386992}],"contextDependencies":[],"result":["'use strict';\n\n/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.]*)(?::(\\d+))?(\\S*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port;\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '<dir>/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nfunction normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n\n var parts = path.split(/\\/+/);\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n}\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/' ? aPath : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}();\n\nfunction identity(s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ || s.charCodeAt(length - 2) !== 95 /* '_' */ || s.charCodeAt(length - 3) !== 111 /* 'o' */ || s.charCodeAt(length - 4) !== 116 /* 't' */ || s.charCodeAt(length - 5) !== 111 /* 'o' */ || s.charCodeAt(length - 6) !== 114 /* 'r' */ || s.charCodeAt(length - 7) !== 112 /* 'p' */ || s.charCodeAt(length - 8) !== 95 /* '_' */ || s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = mappingA.source - mappingB.source;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return mappingA.name - mappingB.name;\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = mappingA.source - mappingB.source;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return mappingA.name - mappingB.name;\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;",{"version":3,"sources":["node_modules/source-map/lib/util.js"],"names":["getArg","aArgs","aName","aDefaultValue","arguments","length","Error","exports","urlRegexp","dataUrlRegexp","urlParse","aUrl","match","scheme","auth","host","port","path","urlGenerate","aParsedUrl","url","normalize","aPath","isAbsolute","parts","split","part","up","i","splice","join","aRoot","aPathUrl","aRootUrl","joined","charAt","replace","relative","level","indexOf","index","lastIndexOf","slice","Array","substr","supportsNullProto","obj","Object","create","identity","s","toSetString","aStr","isProtoString","fromSetString","charCodeAt","compareByOriginalPositions","mappingA","mappingB","onlyCompareOriginal","cmp","source","originalLine","originalColumn","generatedColumn","generatedLine","name","compareByGeneratedPositionsDeflated","onlyCompareGenerated","strcmp","aStr1","aStr2","compareByGeneratedPositionsInflated"],"mappings":"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","file":"util.js","sourceRoot":"/data","sourcesContent":["/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.]*)(?::(\\d+))?(\\S*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '<dir>/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nfunction normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n\n var parts = path.split(/\\/+/);\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n}\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = mappingA.source - mappingB.source;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return mappingA.name - mappingB.name;\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = mappingA.source - mappingB.source;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return mappingA.name - mappingB.name;\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n"]}]}