opennms
Version:
Client API for the OpenNMS network monitoring platform
1 lines • 35.5 kB
JSON
{"remainingRequest":"/data/node_modules/babel-loader/lib/index.js!/data/node_modules/stacktrace-gps/stacktrace-gps.js","dependencies":[{"path":"/data/node_modules/stacktrace-gps/stacktrace-gps.js","mtime":1553611386808},{"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\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n(function (root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n\n if (typeof define === 'function' && define.amd) {\n define('stacktrace-gps', ['source-map', 'stackframe'], factory);\n } else if ((typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) === 'object') {\n module.exports = factory(require('source-map/lib/source-map-consumer'), require('stackframe'));\n } else {\n root.StackTraceGPS = factory(root.SourceMap || root.sourceMap, root.StackFrame);\n }\n})(undefined, function (SourceMap, StackFrame) {\n 'use strict';\n\n /**\n * Make a X-Domain request to url and callback.\n *\n * @param {String} url\n * @returns {Promise} with response text if fulfilled\n */\n\n function _xdr(url) {\n return new Promise(function (resolve, reject) {\n var req = new XMLHttpRequest();\n req.open('get', url);\n req.onerror = reject;\n req.onreadystatechange = function onreadystatechange() {\n if (req.readyState === 4) {\n if (req.status >= 200 && req.status < 300) {\n resolve(req.responseText);\n } else {\n reject(new Error('HTTP status: ' + req.status + ' retrieving ' + url));\n }\n }\n };\n req.send();\n });\n }\n\n /**\n * Convert a Base64-encoded string into its original representation.\n * Used for inline sourcemaps.\n *\n * @param {String} b64str Base-64 encoded string\n * @returns {String} original representation of the base64-encoded string.\n */\n function _atob(b64str) {\n if (typeof window !== 'undefined' && window.atob) {\n return window.atob(b64str);\n } else {\n throw new Error('You must supply a polyfill for window.atob in this environment');\n }\n }\n\n function _parseJson(string) {\n if (typeof JSON !== 'undefined' && JSON.parse) {\n return JSON.parse(string);\n } else {\n throw new Error('You must supply a polyfill for JSON.parse in this environment');\n }\n }\n\n function _findFunctionName(source, lineNumber /*, columnNumber*/) {\n // function {name}({args}) m[1]=name m[2]=args\n var reFunctionDeclaration = /function\\s+([^(]*?)\\s*\\(([^)]*)\\)/;\n // {name} = function ({args}) TODO args capture\n var reFunctionExpression = /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*function\\b/;\n // {name} = eval()\n var reFunctionEvaluation = /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*(?:eval|new Function)\\b/;\n var lines = source.split('\\n');\n\n // Walk backwards in the source lines until we find the line which matches one of the patterns above\n var code = '';\n var maxLines = Math.min(lineNumber, 20);\n var m;\n for (var i = 0; i < maxLines; ++i) {\n // lineNo is 1-based, source[] is 0-based\n var line = lines[lineNumber - i - 1];\n var commentPos = line.indexOf('//');\n if (commentPos >= 0) {\n line = line.substr(0, commentPos);\n }\n\n if (line) {\n code = line + code;\n m = reFunctionExpression.exec(code);\n if (m && m[1]) {\n return m[1];\n }\n m = reFunctionDeclaration.exec(code);\n if (m && m[1]) {\n return m[1];\n }\n m = reFunctionEvaluation.exec(code);\n if (m && m[1]) {\n return m[1];\n }\n }\n }\n return undefined;\n }\n\n function _ensureSupportedEnvironment() {\n if (typeof Object.defineProperty !== 'function' || typeof Object.create !== 'function') {\n throw new Error('Unable to consume source maps in older browsers');\n }\n }\n\n function _ensureStackFrameIsLegit(stackframe) {\n if ((typeof stackframe === 'undefined' ? 'undefined' : _typeof(stackframe)) !== 'object') {\n throw new TypeError('Given StackFrame is not an object');\n } else if (typeof stackframe.fileName !== 'string') {\n throw new TypeError('Given file name is not a String');\n } else if (typeof stackframe.lineNumber !== 'number' || stackframe.lineNumber % 1 !== 0 || stackframe.lineNumber < 1) {\n throw new TypeError('Given line number must be a positive integer');\n } else if (typeof stackframe.columnNumber !== 'number' || stackframe.columnNumber % 1 !== 0 || stackframe.columnNumber < 0) {\n throw new TypeError('Given column number must be a non-negative integer');\n }\n return true;\n }\n\n function _findSourceMappingURL(source) {\n var m = /\\/\\/[#@] ?sourceMappingURL=([^\\s'\"]+)\\s*$/.exec(source);\n if (m && m[1]) {\n return m[1];\n } else {\n throw new Error('sourceMappingURL not found');\n }\n }\n\n function _extractLocationInfoFromSourceMap(stackframe, rawSourceMap, sourceCache) {\n return new Promise(function (resolve, reject) {\n var mapConsumer = new SourceMap.SourceMapConsumer(rawSourceMap);\n\n var loc = mapConsumer.originalPositionFor({\n line: stackframe.lineNumber,\n column: stackframe.columnNumber\n });\n\n if (loc.source) {\n var mappedSource = mapConsumer.sourceContentFor(loc.source);\n if (mappedSource) {\n sourceCache[loc.source] = mappedSource;\n }\n resolve(new StackFrame(loc.name || stackframe.functionName, stackframe.args, loc.source, loc.line, loc.column));\n } else {\n reject(new Error('Could not get original source for given stackframe and source map'));\n }\n });\n }\n\n /**\n * @constructor\n * @param {Object} opts\n * opts.sourceCache = {url: \"Source String\"} => preload source cache\n * opts.offline = True to prevent network requests.\n * Best effort without sources or source maps.\n * opts.ajax = Promise returning function to make X-Domain requests\n */\n return function StackTraceGPS(opts) {\n if (!(this instanceof StackTraceGPS)) {\n return new StackTraceGPS(opts);\n }\n opts = opts || {};\n\n this.sourceCache = opts.sourceCache || {};\n\n this.ajax = opts.ajax || _xdr;\n\n this._atob = opts.atob || _atob;\n\n this._get = function _get(location) {\n return new Promise(function (resolve, reject) {\n var isDataUrl = location.substr(0, 5) === 'data:';\n if (this.sourceCache[location]) {\n resolve(this.sourceCache[location]);\n } else if (opts.offline && !isDataUrl) {\n reject(new Error('Cannot make network requests in offline mode'));\n } else {\n if (isDataUrl) {\n // data URLs can have parameters.\n // see http://tools.ietf.org/html/rfc2397\n var supportedEncodingRegexp = /^data:application\\/json;([\\w=:\"-]+;)*base64,/;\n var match = location.match(supportedEncodingRegexp);\n if (match) {\n var sourceMapStart = match[0].length;\n var encodedSource = location.substr(sourceMapStart);\n var source = this._atob(encodedSource);\n this.sourceCache[location] = source;\n resolve(source);\n } else {\n reject(new Error('The encoding of the inline sourcemap is not supported'));\n }\n } else {\n var xhrPromise = this.ajax(location, { method: 'get' });\n // Cache the Promise to prevent duplicate in-flight requests\n this.sourceCache[location] = xhrPromise;\n xhrPromise.then(resolve, reject);\n }\n }\n }.bind(this));\n };\n\n /**\n * Given a StackFrame, enhance function name and use source maps for a\n * better StackFrame.\n *\n * @param {StackFrame} stackframe object\n * @returns {Promise} that resolves with with source-mapped StackFrame\n */\n this.pinpoint = function StackTraceGPS$$pinpoint(stackframe) {\n return new Promise(function (resolve, reject) {\n this.getMappedLocation(stackframe).then(function (mappedStackFrame) {\n function resolveMappedStackFrame() {\n resolve(mappedStackFrame);\n }\n\n this.findFunctionName(mappedStackFrame).then(resolve, resolveMappedStackFrame)['catch'](resolveMappedStackFrame);\n }.bind(this), reject);\n }.bind(this));\n };\n\n /**\n * Given a StackFrame, guess function name from location information.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.findFunctionName = function StackTraceGPS$$findFunctionName(stackframe) {\n return new Promise(function (resolve, reject) {\n _ensureStackFrameIsLegit(stackframe);\n this._get(stackframe.fileName).then(function getSourceCallback(source) {\n var lineNumber = stackframe.lineNumber;\n var columnNumber = stackframe.columnNumber;\n var guessedFunctionName = _findFunctionName(source, lineNumber, columnNumber);\n // Only replace functionName if we found something\n if (guessedFunctionName) {\n resolve(new StackFrame(guessedFunctionName, stackframe.args, stackframe.fileName, lineNumber, columnNumber));\n } else {\n resolve(stackframe);\n }\n }, reject)['catch'](reject);\n }.bind(this));\n };\n\n /**\n * Given a StackFrame, seek source-mapped location and return new enhanced StackFrame.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.getMappedLocation = function StackTraceGPS$$getMappedLocation(stackframe) {\n return new Promise(function (resolve, reject) {\n _ensureSupportedEnvironment();\n _ensureStackFrameIsLegit(stackframe);\n\n var sourceCache = this.sourceCache;\n var fileName = stackframe.fileName;\n this._get(fileName).then(function (source) {\n var sourceMappingURL = _findSourceMappingURL(source);\n var isDataUrl = sourceMappingURL.substr(0, 5) === 'data:';\n var base = fileName.substring(0, fileName.lastIndexOf('/') + 1);\n\n if (sourceMappingURL[0] !== '/' && !isDataUrl && !/^https?:\\/\\/|^\\/\\//i.test(sourceMappingURL)) {\n sourceMappingURL = base + sourceMappingURL;\n }\n\n this._get(sourceMappingURL).then(function (sourceMap) {\n if (typeof sourceMap === 'string') {\n sourceMap = _parseJson(sourceMap.replace(/^\\)\\]\\}'/, ''));\n }\n if (typeof sourceMap.sourceRoot === 'undefined') {\n sourceMap.sourceRoot = base;\n }\n\n _extractLocationInfoFromSourceMap(stackframe, sourceMap, sourceCache).then(resolve)['catch'](function () {\n resolve(stackframe);\n });\n }, reject)['catch'](reject);\n }.bind(this), reject)['catch'](reject);\n }.bind(this));\n };\n };\n});",{"version":3,"sources":["node_modules/stacktrace-gps/stacktrace-gps.js"],"names":["root","factory","define","amd","exports","module","require","StackTraceGPS","SourceMap","sourceMap","StackFrame","_xdr","url","Promise","resolve","reject","req","XMLHttpRequest","open","onerror","onreadystatechange","readyState","status","responseText","Error","send","_atob","b64str","window","atob","_parseJson","string","JSON","parse","_findFunctionName","source","lineNumber","reFunctionDeclaration","reFunctionExpression","reFunctionEvaluation","lines","split","code","maxLines","Math","min","m","i","line","commentPos","indexOf","substr","exec","undefined","_ensureSupportedEnvironment","Object","defineProperty","create","_ensureStackFrameIsLegit","stackframe","TypeError","fileName","columnNumber","_findSourceMappingURL","_extractLocationInfoFromSourceMap","rawSourceMap","sourceCache","mapConsumer","SourceMapConsumer","loc","originalPositionFor","column","mappedSource","sourceContentFor","name","functionName","args","opts","ajax","_get","location","isDataUrl","offline","supportedEncodingRegexp","match","sourceMapStart","length","encodedSource","xhrPromise","method","then","bind","pinpoint","StackTraceGPS$$pinpoint","getMappedLocation","mappedStackFrame","resolveMappedStackFrame","findFunctionName","StackTraceGPS$$findFunctionName","getSourceCallback","guessedFunctionName","StackTraceGPS$$getMappedLocation","sourceMappingURL","base","substring","lastIndexOf","test","replace","sourceRoot"],"mappings":"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","file":"stacktrace-gps.js","sourceRoot":"/data","sourcesContent":["(function(root, factory) {\n 'use strict';\n // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, Rhino, and browsers.\n\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define('stacktrace-gps', ['source-map', 'stackframe'], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory(require('source-map/lib/source-map-consumer'), require('stackframe'));\n } else {\n root.StackTraceGPS = factory(root.SourceMap || root.sourceMap, root.StackFrame);\n }\n}(this, function(SourceMap, StackFrame) {\n 'use strict';\n\n /**\n * Make a X-Domain request to url and callback.\n *\n * @param {String} url\n * @returns {Promise} with response text if fulfilled\n */\n function _xdr(url) {\n return new Promise(function(resolve, reject) {\n var req = new XMLHttpRequest();\n req.open('get', url);\n req.onerror = reject;\n req.onreadystatechange = function onreadystatechange() {\n if (req.readyState === 4) {\n if (req.status >= 200 && req.status < 300) {\n resolve(req.responseText);\n } else {\n reject(new Error('HTTP status: ' + req.status + ' retrieving ' + url));\n }\n }\n };\n req.send();\n });\n\n }\n\n /**\n * Convert a Base64-encoded string into its original representation.\n * Used for inline sourcemaps.\n *\n * @param {String} b64str Base-64 encoded string\n * @returns {String} original representation of the base64-encoded string.\n */\n function _atob(b64str) {\n if (typeof window !== 'undefined' && window.atob) {\n return window.atob(b64str);\n } else {\n throw new Error('You must supply a polyfill for window.atob in this environment');\n }\n }\n\n function _parseJson(string) {\n if (typeof JSON !== 'undefined' && JSON.parse) {\n return JSON.parse(string);\n } else {\n throw new Error('You must supply a polyfill for JSON.parse in this environment');\n }\n }\n\n function _findFunctionName(source, lineNumber/*, columnNumber*/) {\n // function {name}({args}) m[1]=name m[2]=args\n var reFunctionDeclaration = /function\\s+([^(]*?)\\s*\\(([^)]*)\\)/;\n // {name} = function ({args}) TODO args capture\n var reFunctionExpression = /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*function\\b/;\n // {name} = eval()\n var reFunctionEvaluation = /['\"]?([$_A-Za-z][$_A-Za-z0-9]*)['\"]?\\s*[:=]\\s*(?:eval|new Function)\\b/;\n var lines = source.split('\\n');\n\n // Walk backwards in the source lines until we find the line which matches one of the patterns above\n var code = '';\n var maxLines = Math.min(lineNumber, 20);\n var m;\n for (var i = 0; i < maxLines; ++i) {\n // lineNo is 1-based, source[] is 0-based\n var line = lines[lineNumber - i - 1];\n var commentPos = line.indexOf('//');\n if (commentPos >= 0) {\n line = line.substr(0, commentPos);\n }\n\n if (line) {\n code = line + code;\n m = reFunctionExpression.exec(code);\n if (m && m[1]) {\n return m[1];\n }\n m = reFunctionDeclaration.exec(code);\n if (m && m[1]) {\n return m[1];\n }\n m = reFunctionEvaluation.exec(code);\n if (m && m[1]) {\n return m[1];\n }\n }\n }\n return undefined;\n }\n\n function _ensureSupportedEnvironment() {\n if (typeof Object.defineProperty !== 'function' || typeof Object.create !== 'function') {\n throw new Error('Unable to consume source maps in older browsers');\n }\n }\n\n function _ensureStackFrameIsLegit(stackframe) {\n if (typeof stackframe !== 'object') {\n throw new TypeError('Given StackFrame is not an object');\n } else if (typeof stackframe.fileName !== 'string') {\n throw new TypeError('Given file name is not a String');\n } else if (typeof stackframe.lineNumber !== 'number' ||\n stackframe.lineNumber % 1 !== 0 ||\n stackframe.lineNumber < 1) {\n throw new TypeError('Given line number must be a positive integer');\n } else if (typeof stackframe.columnNumber !== 'number' ||\n stackframe.columnNumber % 1 !== 0 ||\n stackframe.columnNumber < 0) {\n throw new TypeError('Given column number must be a non-negative integer');\n }\n return true;\n }\n\n function _findSourceMappingURL(source) {\n var m = /\\/\\/[#@] ?sourceMappingURL=([^\\s'\"]+)\\s*$/.exec(source);\n if (m && m[1]) {\n return m[1];\n } else {\n throw new Error('sourceMappingURL not found');\n }\n }\n\n function _extractLocationInfoFromSourceMap(stackframe, rawSourceMap, sourceCache) {\n return new Promise(function(resolve, reject) {\n var mapConsumer = new SourceMap.SourceMapConsumer(rawSourceMap);\n\n var loc = mapConsumer.originalPositionFor({\n line: stackframe.lineNumber,\n column: stackframe.columnNumber\n });\n\n if (loc.source) {\n var mappedSource = mapConsumer.sourceContentFor(loc.source);\n if (mappedSource) {\n sourceCache[loc.source] = mappedSource;\n }\n resolve(\n new StackFrame(\n loc.name || stackframe.functionName,\n stackframe.args,\n loc.source,\n loc.line,\n loc.column));\n } else {\n reject(new Error('Could not get original source for given stackframe and source map'));\n }\n });\n }\n\n /**\n * @constructor\n * @param {Object} opts\n * opts.sourceCache = {url: \"Source String\"} => preload source cache\n * opts.offline = True to prevent network requests.\n * Best effort without sources or source maps.\n * opts.ajax = Promise returning function to make X-Domain requests\n */\n return function StackTraceGPS(opts) {\n if (!(this instanceof StackTraceGPS)) {\n return new StackTraceGPS(opts);\n }\n opts = opts || {};\n\n this.sourceCache = opts.sourceCache || {};\n\n this.ajax = opts.ajax || _xdr;\n\n this._atob = opts.atob || _atob;\n\n this._get = function _get(location) {\n return new Promise(function(resolve, reject) {\n var isDataUrl = location.substr(0, 5) === 'data:';\n if (this.sourceCache[location]) {\n resolve(this.sourceCache[location]);\n } else if (opts.offline && !isDataUrl) {\n reject(new Error('Cannot make network requests in offline mode'));\n } else {\n if (isDataUrl) {\n // data URLs can have parameters.\n // see http://tools.ietf.org/html/rfc2397\n var supportedEncodingRegexp =\n /^data:application\\/json;([\\w=:\"-]+;)*base64,/;\n var match = location.match(supportedEncodingRegexp);\n if (match) {\n var sourceMapStart = match[0].length;\n var encodedSource = location.substr(sourceMapStart);\n var source = this._atob(encodedSource);\n this.sourceCache[location] = source;\n resolve(source);\n } else {\n reject(new Error('The encoding of the inline sourcemap is not supported'));\n }\n } else {\n var xhrPromise = this.ajax(location, {method: 'get'});\n // Cache the Promise to prevent duplicate in-flight requests\n this.sourceCache[location] = xhrPromise;\n xhrPromise.then(resolve, reject);\n }\n }\n }.bind(this));\n };\n\n /**\n * Given a StackFrame, enhance function name and use source maps for a\n * better StackFrame.\n *\n * @param {StackFrame} stackframe object\n * @returns {Promise} that resolves with with source-mapped StackFrame\n */\n this.pinpoint = function StackTraceGPS$$pinpoint(stackframe) {\n return new Promise(function(resolve, reject) {\n this.getMappedLocation(stackframe).then(function(mappedStackFrame) {\n function resolveMappedStackFrame() {\n resolve(mappedStackFrame);\n }\n\n this.findFunctionName(mappedStackFrame)\n .then(resolve, resolveMappedStackFrame)\n ['catch'](resolveMappedStackFrame);\n }.bind(this), reject);\n }.bind(this));\n };\n\n /**\n * Given a StackFrame, guess function name from location information.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.findFunctionName = function StackTraceGPS$$findFunctionName(stackframe) {\n return new Promise(function(resolve, reject) {\n _ensureStackFrameIsLegit(stackframe);\n this._get(stackframe.fileName).then(function getSourceCallback(source) {\n var lineNumber = stackframe.lineNumber;\n var columnNumber = stackframe.columnNumber;\n var guessedFunctionName = _findFunctionName(source, lineNumber, columnNumber);\n // Only replace functionName if we found something\n if (guessedFunctionName) {\n resolve(new StackFrame(guessedFunctionName,\n stackframe.args,\n stackframe.fileName,\n lineNumber,\n columnNumber));\n } else {\n resolve(stackframe);\n }\n }, reject)['catch'](reject);\n }.bind(this));\n };\n\n /**\n * Given a StackFrame, seek source-mapped location and return new enhanced StackFrame.\n *\n * @param {StackFrame} stackframe\n * @returns {Promise} that resolves with enhanced StackFrame.\n */\n this.getMappedLocation = function StackTraceGPS$$getMappedLocation(stackframe) {\n return new Promise(function(resolve, reject) {\n _ensureSupportedEnvironment();\n _ensureStackFrameIsLegit(stackframe);\n\n var sourceCache = this.sourceCache;\n var fileName = stackframe.fileName;\n this._get(fileName).then(function(source) {\n var sourceMappingURL = _findSourceMappingURL(source);\n var isDataUrl = sourceMappingURL.substr(0, 5) === 'data:';\n var base = fileName.substring(0, fileName.lastIndexOf('/') + 1);\n\n if (sourceMappingURL[0] !== '/' && !isDataUrl && !(/^https?:\\/\\/|^\\/\\//i).test(sourceMappingURL)) {\n sourceMappingURL = base + sourceMappingURL;\n }\n\n this._get(sourceMappingURL).then(function(sourceMap) {\n if (typeof sourceMap === 'string') {\n sourceMap = _parseJson(sourceMap.replace(/^\\)\\]\\}'/, ''));\n }\n if (typeof sourceMap.sourceRoot === 'undefined') {\n sourceMap.sourceRoot = base;\n }\n\n _extractLocationInfoFromSourceMap(stackframe, sourceMap, sourceCache)\n .then(resolve)['catch'](function() {\n resolve(stackframe);\n });\n }, reject)['catch'](reject);\n }.bind(this), reject)['catch'](reject);\n }.bind(this));\n };\n };\n}));\n"]}]}