diff options
| author | Ben Beltran <ben@nsovocal.com> | 2015-09-28 12:39:59 -0500 |
|---|---|---|
| committer | Ben Beltran <ben@nsovocal.com> | 2015-09-28 12:39:59 -0500 |
| commit | 455f099b504ec07dd492ab31987ae05a6f6774c7 (patch) | |
| tree | 22b0c7fd8e492733b97e661750a2d79c46da451d /atom/packages/vim-mode/node_modules/grim/lib/grim.js | |
| parent | 24c7594d62d8d7fbbcdb64b11ce4adc5d8e6991a (diff) | |
Adds atom packages
Diffstat (limited to 'atom/packages/vim-mode/node_modules/grim/lib/grim.js')
| -rw-r--r-- | atom/packages/vim-mode/node_modules/grim/lib/grim.js | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/atom/packages/vim-mode/node_modules/grim/lib/grim.js b/atom/packages/vim-mode/node_modules/grim/lib/grim.js new file mode 100644 index 0000000..52ca968 --- /dev/null +++ b/atom/packages/vim-mode/node_modules/grim/lib/grim.js @@ -0,0 +1,105 @@ +(function() { + var Deprecation, Emitter, grim; + + Emitter = require('emissary').Emitter; + + Deprecation = require('./deprecation'); + + if (global.__grim__ == null) { + grim = global.__grim__ = { + deprecations: {}, + includeDeprecatedAPIs: true, + getDeprecations: function() { + var deprecation, deprecations, deprecationsByLineNumber, deprecationsByPackage, fileName, lineNumber, packageName, _ref; + deprecations = []; + _ref = grim.deprecations; + for (fileName in _ref) { + deprecationsByLineNumber = _ref[fileName]; + for (lineNumber in deprecationsByLineNumber) { + deprecationsByPackage = deprecationsByLineNumber[lineNumber]; + for (packageName in deprecationsByPackage) { + deprecation = deprecationsByPackage[packageName]; + deprecations.push(deprecation); + } + } + } + return deprecations; + }, + getDeprecationsLength: function() { + return this.getDeprecations().length; + }, + clearDeprecations: function() { + grim.deprecations = {}; + }, + logDeprecations: function() { + var deprecation, deprecations, _i, _len; + deprecations = this.getDeprecations(); + deprecations.sort(function(a, b) { + return b.getCallCount() - a.getCallCount(); + }); + console.warn("\nCalls to deprecated functions\n-----------------------------"); + for (_i = 0, _len = deprecations.length; _i < _len; _i++) { + deprecation = deprecations[_i]; + console.warn("(" + (deprecation.getCallCount()) + ") " + (deprecation.getOriginName()) + " : " + (deprecation.getMessage()), deprecation); + } + }, + deprecate: function(message, metadata) { + var deprecation, deprecationSite, error, fileName, lineNumber, originalPrepareStackTrace, originalStackTraceLimit, packageName, stack, _base, _base1, _base2, _ref; + originalStackTraceLimit = Error.stackTraceLimit; + Error.stackTraceLimit = 7; + error = new Error; + Error.captureStackTrace(error); + Error.stackTraceLimit = originalStackTraceLimit; + originalPrepareStackTrace = Error.prepareStackTrace; + Error.prepareStackTrace = function(error, stack) { + return stack; + }; + stack = error.stack.slice(1); + Error.prepareStackTrace = originalPrepareStackTrace; + deprecationSite = stack[0]; + fileName = deprecationSite.getFileName(); + lineNumber = deprecationSite.getLineNumber(); + packageName = (_ref = metadata != null ? metadata.packageName : void 0) != null ? _ref : ""; + if ((_base = grim.deprecations)[fileName] == null) { + _base[fileName] = {}; + } + if ((_base1 = grim.deprecations[fileName])[lineNumber] == null) { + _base1[lineNumber] = {}; + } + if ((_base2 = grim.deprecations[fileName][lineNumber])[packageName] == null) { + _base2[packageName] = new Deprecation(message); + } + deprecation = grim.deprecations[fileName][lineNumber][packageName]; + deprecation.addStack(stack, metadata); + grim.emit("updated", deprecation); + }, + addSerializedDeprecation: function(serializedDeprecation) { + var deprecation, fileName, lineNumber, message, packageName, stack, stacks, _base, _base1, _base2, _i, _len, _ref, _ref1, _ref2; + deprecation = Deprecation.deserialize(serializedDeprecation); + message = deprecation.getMessage(); + fileName = deprecation.fileName, lineNumber = deprecation.lineNumber; + stacks = deprecation.getStacks(); + packageName = (_ref = (_ref1 = stacks[0]) != null ? (_ref2 = _ref1.metadata) != null ? _ref2.packageName : void 0 : void 0) != null ? _ref : ""; + if ((_base = grim.deprecations)[fileName] == null) { + _base[fileName] = {}; + } + if ((_base1 = grim.deprecations[fileName])[lineNumber] == null) { + _base1[lineNumber] = {}; + } + if ((_base2 = grim.deprecations[fileName][lineNumber])[packageName] == null) { + _base2[packageName] = new Deprecation(message, fileName, lineNumber); + } + deprecation = grim.deprecations[fileName][lineNumber][packageName]; + for (_i = 0, _len = stacks.length; _i < _len; _i++) { + stack = stacks[_i]; + deprecation.addStack(stack, stack.metadata); + } + grim.emit("updated", deprecation); + } + }; + Emitter.extend(grim); + } + + module.exports = global.__grim__; + +}).call(this); |