forked from cujojs/when
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconsole.js
More file actions
51 lines (40 loc) · 1.63 KB
/
console.js
File metadata and controls
51 lines (40 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/** @license MIT License (c) copyright 2010-2013 original author or authors */
/**
* Licensed under the MIT License at:
* http://www.opensource.org/licenses/mit-license.php
*
* @author: Brian Cavalier
* @author: John Hann
*/
(function(define) { 'use strict';
define(function(require) {
var createAggregator, throttleReporter, simpleReporter, aggregator,
formatter, stackFilter, excludeRx, filter, reporter, logger,
rejectionMsg, reasonMsg, filteredFramesMsg, stackJumpMsg, attachPoint;
createAggregator = require('./aggregator');
throttleReporter = require('./throttledReporter');
simpleReporter = require('./simpleReporter');
formatter = require('./simpleFormatter');
stackFilter = require('./stackFilter');
logger = require('./logger/consoleGroup');
rejectionMsg = '=== Unhandled rejection escaped at ===';
reasonMsg = '=== Caused by reason ===';
stackJumpMsg = ' --- new call stack ---';
filteredFramesMsg = ' ...[filtered frames]...';
excludeRx = /when\.js|(module|node)\.js:\d|when\/monitor\//i;
filter = stackFilter(exclude, mergePromiseFrames);
reporter = simpleReporter(formatter(filter, rejectionMsg, reasonMsg, stackJumpMsg), logger);
aggregator = createAggregator(throttleReporter(200, reporter));
attachPoint = typeof console !== 'undefined'
? aggregator.publish(console)
: aggregator;
return aggregator;
function mergePromiseFrames(/* frames */) {
return filteredFramesMsg;
}
function exclude(line) {
var rx = attachPoint.promiseStackFilter || excludeRx;
return rx.test(line);
}
});
}(typeof define === 'function' && define.amd ? define : function(factory) { module.exports = factory(require); }));