@haluo/util 1.0.6 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/.eslintrc.js +2 -2
  2. package/dist/index.cjs.js +89 -0
  3. package/dist/index.d.ts +12 -0
  4. package/dist/index.esm.js +87 -0
  5. package/dist/lib-list.d.ts +2 -0
  6. package/dist/modules/cookie/index.d.ts +27 -0
  7. package/dist/modules/cookie/index.js +2 -2
  8. package/dist/modules/date/index.d.ts +1 -0
  9. package/dist/modules/date/index.js +11 -11
  10. package/dist/modules/dom/index.d.ts +1 -0
  11. package/dist/modules/dom/index.js +1 -1
  12. package/dist/modules/filter/index.d.ts +26 -0
  13. package/dist/modules/format/index.d.ts +13 -0
  14. package/dist/modules/match/index.d.ts +1 -0
  15. package/dist/modules/monitor/index.js +14 -0
  16. package/dist/modules/monitor/lib/jsError.js +60 -0
  17. package/dist/modules/monitor/lib/timing.js +69 -0
  18. package/dist/modules/monitor/lib/xhr.js +41 -0
  19. package/dist/modules/monitor/utils/onload.js +11 -0
  20. package/dist/modules/monitor/utils/tracker.js +35 -0
  21. package/dist/modules/number/index.d.ts +39 -0
  22. package/dist/modules/number/index.js +3 -3
  23. package/dist/modules/sentry/index.d.ts +15 -0
  24. package/dist/modules/tools/index.d.ts +1 -0
  25. package/dist/modules/tools/index.js +4 -4
  26. package/package.json +2 -1
  27. package/src/modules/monitor/index.ts +8 -0
  28. package/src/modules/monitor/lib/jsError.ts +54 -0
  29. package/src/modules/monitor/lib/timing.ts +75 -0
  30. package/src/modules/monitor/lib/xhr.ts +35 -0
  31. package/src/modules/monitor/utils/onload.ts +8 -0
  32. package/src/modules/monitor/utils/tracker.ts +22 -0
  33. package/coverage/clover.xml +0 -78
  34. package/coverage/coverage-final.json +0 -2
  35. package/coverage/lcov-report/base.css +0 -224
  36. package/coverage/lcov-report/block-navigation.js +0 -79
  37. package/coverage/lcov-report/favicon.png +0 -0
  38. package/coverage/lcov-report/index.html +0 -111
  39. package/coverage/lcov-report/index.ts.html +0 -668
  40. package/coverage/lcov-report/prettify.css +0 -1
  41. package/coverage/lcov-report/prettify.js +0 -2
  42. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  43. package/coverage/lcov-report/sorter.js +0 -170
  44. package/coverage/lcov.info +0 -170
@@ -0,0 +1,15 @@
1
+ declare class Report {
2
+ static instance: any;
3
+ constructor(Vue: Object, options?: {});
4
+ [key: string]: any;
5
+ static getInstance(Vue: Object, Option: Object): any;
6
+ install(): void;
7
+ /**
8
+ * 主动上报
9
+ * @param {String} data
10
+ * @param {String} type 'info','warning','error'
11
+ * @param {Object} options
12
+ */
13
+ log(data?: any, type?: any, options?: any): void;
14
+ }
15
+ export default Report;
@@ -0,0 +1 @@
1
+ export {};
@@ -25,7 +25,7 @@ var ToolsClass = /** @class */ (function () {
25
25
  body.style.overflow = 'hidden';
26
26
  body.style.height = '100%';
27
27
  if (className) {
28
- var dom = document.querySelector(".".concat(className));
28
+ var dom = document.querySelector("." + className);
29
29
  dom && dom.addEventListener('touchmove', _this.__setDefault__);
30
30
  }
31
31
  };
@@ -45,7 +45,7 @@ var ToolsClass = /** @class */ (function () {
45
45
  body.style.overflow = 'visible';
46
46
  body.style.height = 'auto';
47
47
  if (className) {
48
- var dom = document.querySelector(".".concat(className));
48
+ var dom = document.querySelector("." + className);
49
49
  dom && dom.removeEventListener('touchmove', _this.__setDefault__);
50
50
  }
51
51
  };
@@ -384,9 +384,9 @@ var ToolsClass = /** @class */ (function () {
384
384
  }
385
385
  // 匹配中文、英文、数字
386
386
  var regItem = '[\u4e00-\u9fa5a-zA-Z0-9]';
387
- var regExp = "(".concat(regItem, "{").concat(before, "})").concat(regItem, "*(").concat(regItem, "{").concat(after, "})");
387
+ var regExp = "(" + regItem + "{" + before + "})" + regItem + "*(" + regItem + "{" + after + "})";
388
388
  var reg = new RegExp(regExp);
389
- return field.replace(reg, "$1".concat("*".repeat(sensitiveLen), "$2"));
389
+ return field.replace(reg, "$1" + "*".repeat(sensitiveLen) + "$2");
390
390
  };
391
391
  return ToolsClass;
392
392
  }());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haluo/util",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "main": "./dist/index.js",
5
5
  "author": "<wanghui@jddmoto.com>",
6
6
  "description": "哈罗摩托工具库",
@@ -42,6 +42,7 @@
42
42
  "@babel/preset-typescript": "^7.14.5",
43
43
  "@types/node": "^14.0.13",
44
44
  "@types/webpack-env": "^1.15.2",
45
+ "@typescript-eslint/eslint-plugin": "^5.33.0",
45
46
  "autoprefixer-loader": "^2.1.0",
46
47
  "babel-eslint": "^8.2.3",
47
48
  "babel-jest": "^26.0.1",
@@ -0,0 +1,8 @@
1
+ import { injectJsError } from './lib/jsError'
2
+ import injectXhrError from './lib/xhr'
3
+ // import timing from './lib/timing'
4
+ export default function setup() {
5
+ injectJsError()
6
+ injectXhrError()
7
+ }
8
+ // timing()
@@ -0,0 +1,54 @@
1
+ import track from '../utils/tracker'
2
+ export function injectJsError () {
3
+ window.addEventListener('error', (e: any) => {
4
+ console.log(e);
5
+ if (e.target && (e.target.src || e.target.href)) {
6
+ track.send({
7
+ kind: 'stability',
8
+ type: 'error',
9
+ errorType: 'resourceError',
10
+ filename: e.target.src || e.target.href,
11
+ tagName: e.target.tagName
12
+ // selector: lastEvent ? get
13
+ })
14
+ return
15
+ }
16
+ track.send({
17
+ kind: 'stability',
18
+ type: 'error',
19
+ errorType: 'jsError',
20
+ message: e.message,
21
+ filename: e.filename,
22
+ position: `${e.lineno}:${e.colno}`,
23
+ stack: e.error.stack,
24
+ // selector: lastEvent ? get
25
+ })
26
+ }, true)
27
+
28
+ window.addEventListener('unhandledrejection', (e) => {
29
+ let message, filename, line, column, stack
30
+ const reason = e.reason
31
+ if (typeof reason === 'string') {
32
+ message = reason
33
+ } else if (typeof reason === 'object') {
34
+ if (reason.stack) {
35
+ const matchResult = reason.stack.match(/at\s+(.+):(\d+):(\d+)/)
36
+ filename = matchResult[1]
37
+ line = matchResult[2]
38
+ column = matchResult[3]
39
+ }
40
+ message = reason.message
41
+ stack = reason.stack
42
+ }
43
+ track.send({
44
+ kind: 'stability',
45
+ type: 'error',
46
+ errorType: 'promiseError',
47
+ message,
48
+ filename,
49
+ position: `${line}:${column}`,
50
+ stack
51
+ // selector: lastEvent ? get
52
+ })
53
+ })
54
+ }
@@ -0,0 +1,75 @@
1
+ import onload from '../utils/onload'
2
+ import tracker from '../utils/tracker';
3
+ export default function timing() {
4
+ let FMP:any, LCP:any
5
+ new PerformanceObserver((entryList, observer) => {
6
+ const perfEntries = entryList.getEntries()
7
+ FMP = perfEntries[0]
8
+ observer.disconnect() // 不再观察
9
+ }).observe({ entryTypes: ['element'] }) // 观察页面中有意义的元素
10
+ new PerformanceObserver((entryList, observer) => {
11
+ const perfEntries = entryList.getEntries()
12
+ LCP = perfEntries[0]
13
+ observer.disconnect() // 不再观察
14
+ }).observe({ entryTypes: ['largest-contentful-paint'] }) // 观察页面中最大的元素
15
+ new PerformanceObserver((entryList, observer) => {
16
+ const firstInput:any = entryList.getEntries()
17
+ console.log('FID', firstInput);
18
+ if(firstInput) {
19
+ let inputDelay = firstInput.processingStart - firstInput.startTime
20
+ const duration = firstInput.duration
21
+ if(inputDelay > 0 || duration >0) {
22
+ tracker.send({
23
+ kind: 'experience',
24
+ type: 'firstInputDelay',
25
+ inputDelay, // 延迟时间
26
+ duration, // 处理时间
27
+ startTime: firstInput.startTime
28
+ })
29
+ }
30
+ }
31
+ observer.disconnect() // 不再观察
32
+ }).observe({ type: 'first-input', buffered: true }) // 观察页面中最大的元素
33
+ onload(function() {
34
+ setTimeout(() => {
35
+ console.dir(window.performance);
36
+ const {
37
+ fetchStart,
38
+ connectStart,
39
+ connectEnd,
40
+ requestStart,
41
+ responseStart,
42
+ responseEnd,
43
+ domInteractive,
44
+ domContentLoadedEventStart,
45
+ domContentLoadedEventEnd,
46
+ loadEventStart,
47
+ // loadEventEnd
48
+ } = performance.getEntriesByType('navigation')[0] as any
49
+ tracker.send({
50
+ kind: 'experience',
51
+ type: 'timing',
52
+ connectTime: connectEnd - connectStart, // 连接时间
53
+ ttfbTime: responseStart - requestStart, // 首字节到达时间
54
+ responseTime: responseEnd - responseStart, // 响应的读取时间
55
+ domContentLoadedTime: domContentLoadedEventEnd - domContentLoadedEventStart,
56
+ timeToInteractive: domInteractive - fetchStart,// 首次可交互时间
57
+ loadTime: loadEventStart - fetchStart // 完整的页面加载时间
58
+ })
59
+ let FP = performance.getEntriesByName('first-paint')[0]
60
+ let FCP = performance.getEntriesByName('first-contentful-paint')[0]
61
+ console.log('FP', FP);
62
+ console.log('FCP', FCP);
63
+ console.log('FMP', FMP);
64
+ console.log('LCP', LCP);
65
+ tracker.send({
66
+ kind: 'experience',
67
+ type: 'paint',
68
+ FP: FP.startTime,
69
+ FCP: FCP.startTime,
70
+ FMP: FMP.startTime,
71
+ LCP: LCP.startTime,
72
+ })
73
+ }, 3000);
74
+ })
75
+ }
@@ -0,0 +1,35 @@
1
+ import tracker from "../utils/tracker"
2
+
3
+ export default function injectXHR(){
4
+ let XMLHttpRequest:any = window.XMLHttpRequest
5
+ let oldOpen = XMLHttpRequest.prototype.open as any
6
+ XMLHttpRequest.prototype.open = function(method: string, url:string, async:boolean) {
7
+ this.logData = { method, url, async }
8
+ return oldOpen.apply(this, arguments)
9
+ }
10
+ let oldSend = XMLHttpRequest.prototype.send
11
+ XMLHttpRequest.prototype.send = function(body:any) {
12
+ if(this.logData) {
13
+ const startTime = Date.now()
14
+ const handler = (type:string) => (event:any) => {
15
+ let duration = Date.now() - startTime
16
+ let status = this.status
17
+ let statusText = this.statusText
18
+ tracker.send({
19
+ kind: 'stability',
20
+ type: 'xhr',
21
+ eventType: event.type,
22
+ pathname: this.logData.url,
23
+ status: status + '-'+statusText,
24
+ duration,
25
+ response: this.response ? JSON.stringify(this.response) : '',
26
+ params: body || ''
27
+ })
28
+ }
29
+ this.addEventListener('load', handler('load'), false)
30
+ this.addEventListener('error', handler('error'), false)
31
+ this.addEventListener('abort', handler('abort'), false)
32
+ }
33
+ return oldSend.apply(this, arguments)
34
+ }
35
+ }
@@ -0,0 +1,8 @@
1
+ export default function onload(cb:any) {
2
+ if(document.readyState) {
3
+ cb()
4
+ } else {
5
+
6
+ window.addEventListener('load', cb)
7
+ }
8
+ }
@@ -0,0 +1,22 @@
1
+ const Parser = require('ua-parser-js');
2
+ class SendTracker {
3
+ url: string
4
+ xhr: XMLHttpRequest
5
+ constructor() {
6
+ this.url = ''
7
+ this.xhr = new XMLHttpRequest()
8
+ }
9
+ send(data = {}) {
10
+ const log = { ...getExtraData(), ...data }
11
+ console.log(log);
12
+ }
13
+ }
14
+ function getExtraData() {
15
+ return {
16
+ title: document.title,
17
+ url: location.href,
18
+ timestamp: Date.now(),
19
+ userAgent: new Parser().getResult()
20
+ }
21
+ }
22
+ export default new SendTracker()
@@ -1,78 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1629095384494" clover="3.2.0">
3
- <project timestamp="1629095384494" name="All files">
4
- <metrics statements="69" coveredstatements="25" conditionals="74" coveredconditionals="26" methods="9" coveredmethods="4" elements="152" coveredelements="55" complexity="0" loc="69" ncloc="69" packages="1" files="1" classes="1"/>
5
- <file name="index.ts" path="/Users/wanghui/Desktop/Work/Code/JDD/H5/haluo-util/src/modules/date/index.ts">
6
- <metrics statements="69" coveredstatements="25" conditionals="74" coveredconditionals="26" methods="9" coveredmethods="4"/>
7
- <line num="14" count="4" type="stmt"/>
8
- <line num="15" count="32" type="cond" truecount="2" falsecount="0"/>
9
- <line num="16" count="14" type="cond" truecount="1" falsecount="1"/>
10
- <line num="19" count="4" type="stmt"/>
11
- <line num="28" count="4" type="cond" truecount="1" falsecount="1"/>
12
- <line num="29" count="4" type="stmt"/>
13
- <line num="31" count="4" type="stmt"/>
14
- <line num="41" count="4" type="cond" truecount="1" falsecount="1"/>
15
- <line num="42" count="0" type="stmt"/>
16
- <line num="43" count="4" type="cond" truecount="1" falsecount="1"/>
17
- <line num="44" count="4" type="cond" truecount="1" falsecount="1"/>
18
- <line num="45" count="4" type="stmt"/>
19
- <line num="55" count="4" type="stmt"/>
20
- <line num="64" count="4" type="stmt"/>
21
- <line num="65" count="4" type="cond" truecount="1" falsecount="1"/>
22
- <line num="66" count="0" type="cond" truecount="0" falsecount="4"/>
23
- <line num="68" count="4" type="stmt"/>
24
- <line num="79" count="0" type="stmt"/>
25
- <line num="80" count="0" type="stmt"/>
26
- <line num="81" count="0" type="stmt"/>
27
- <line num="90" count="0" type="stmt"/>
28
- <line num="91" count="0" type="stmt"/>
29
- <line num="92" count="0" type="stmt"/>
30
- <line num="93" count="0" type="stmt"/>
31
- <line num="94" count="0" type="stmt"/>
32
- <line num="95" count="0" type="stmt"/>
33
- <line num="96" count="0" type="cond" truecount="0" falsecount="2"/>
34
- <line num="97" count="0" type="stmt"/>
35
- <line num="98" count="0" type="stmt"/>
36
- <line num="111" count="0" type="stmt"/>
37
- <line num="112" count="0" type="stmt"/>
38
- <line num="113" count="0" type="stmt"/>
39
- <line num="114" count="0" type="cond" truecount="0" falsecount="2"/>
40
- <line num="115" count="0" type="stmt"/>
41
- <line num="116" count="0" type="stmt"/>
42
- <line num="117" count="0" type="cond" truecount="0" falsecount="2"/>
43
- <line num="118" count="0" type="stmt"/>
44
- <line num="119" count="0" type="stmt"/>
45
- <line num="120" count="0" type="cond" truecount="0" falsecount="2"/>
46
- <line num="121" count="0" type="stmt"/>
47
- <line num="122" count="0" type="stmt"/>
48
- <line num="123" count="0" type="cond" truecount="0" falsecount="2"/>
49
- <line num="124" count="0" type="stmt"/>
50
- <line num="125" count="0" type="stmt"/>
51
- <line num="126" count="0" type="cond" truecount="0" falsecount="2"/>
52
- <line num="127" count="0" type="stmt"/>
53
- <line num="129" count="0" type="stmt"/>
54
- <line num="137" count="0" type="stmt"/>
55
- <line num="147" count="1" type="cond" truecount="1" falsecount="3"/>
56
- <line num="148" count="1" type="stmt"/>
57
- <line num="149" count="1" type="stmt"/>
58
- <line num="150" count="1" type="cond" truecount="2" falsecount="0"/>
59
- <line num="151" count="1" type="cond" truecount="1" falsecount="1"/>
60
- <line num="152" count="0" type="stmt"/>
61
- <line num="153" count="1" type="stmt"/>
62
- <line num="154" count="0" type="stmt"/>
63
- <line num="155" count="0" type="stmt"/>
64
- <line num="160" count="0" type="stmt"/>
65
- <line num="161" count="0" type="stmt"/>
66
- <line num="162" count="0" type="cond" truecount="0" falsecount="4"/>
67
- <line num="163" count="0" type="stmt"/>
68
- <line num="164" count="0" type="stmt"/>
69
- <line num="166" count="0" type="stmt"/>
70
- <line num="168" count="1" type="cond" truecount="1" falsecount="1"/>
71
- <line num="169" count="0" type="stmt"/>
72
- <line num="171" count="1" type="cond" truecount="4" falsecount="1"/>
73
- <line num="172" count="0" type="stmt"/>
74
- <line num="174" count="1" type="cond" truecount="6" falsecount="7"/>
75
- <line num="181" count="2" type="stmt"/>
76
- </file>
77
- </project>
78
- </coverage>
@@ -1,2 +0,0 @@
1
- {"/Users/wanghui/Desktop/Work/Code/JDD/H5/haluo-util/src/modules/date/index.ts": {"path":"/Users/wanghui/Desktop/Work/Code/JDD/H5/haluo-util/src/modules/date/index.ts","statementMap":{"0":{"start":{"line":14,"column":4},"end":{"line":18,"column":5}},"1":{"start":{"line":15,"column":8},"end":{"line":17,"column":9}},"2":{"start":{"line":16,"column":12},"end":{"line":16,"column":130}},"3":{"start":{"line":19,"column":4},"end":{"line":19,"column":15}},"4":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"5":{"start":{"line":29,"column":8},"end":{"line":29,"column":93}},"6":{"start":{"line":31,"column":4},"end":{"line":31,"column":15}},"7":{"start":{"line":41,"column":8},"end":{"line":42,"column":22}},"8":{"start":{"line":42,"column":12},"end":{"line":42,"column":22}},"9":{"start":{"line":43,"column":23},"end":{"line":43,"column":90}},"10":{"start":{"line":44,"column":8},"end":{"line":44,"column":72}},"11":{"start":{"line":45,"column":16},"end":{"line":54,"column":9}},"12":{"start":{"line":55,"column":21},"end":{"line":63,"column":9}},"13":{"start":{"line":64,"column":8},"end":{"line":64,"column":45}},"14":{"start":{"line":65,"column":8},"end":{"line":67,"column":9}},"15":{"start":{"line":66,"column":12},"end":{"line":66,"column":157}},"16":{"start":{"line":68,"column":8},"end":{"line":68,"column":39}},"17":{"start":{"line":79,"column":18},"end":{"line":79,"column":32}},"18":{"start":{"line":80,"column":8},"end":{"line":80,"column":38}},"19":{"start":{"line":81,"column":8},"end":{"line":81,"column":45}},"20":{"start":{"line":90,"column":24},"end":{"line":90,"column":34}},"21":{"start":{"line":91,"column":19},"end":{"line":91,"column":36}},"22":{"start":{"line":92,"column":17},"end":{"line":92,"column":53}},"23":{"start":{"line":93,"column":17},"end":{"line":93,"column":53}},"24":{"start":{"line":94,"column":17},"end":{"line":94,"column":48}},"25":{"start":{"line":95,"column":17},"end":{"line":95,"column":43}},"26":{"start":{"line":96,"column":8},"end":{"line":97,"column":25}},"27":{"start":{"line":97,"column":12},"end":{"line":97,"column":25}},"28":{"start":{"line":98,"column":8},"end":{"line":103,"column":10}},"29":{"start":{"line":111,"column":28},"end":{"line":111,"column":38}},"30":{"start":{"line":112,"column":21},"end":{"line":112,"column":44}},"31":{"start":{"line":113,"column":21},"end":{"line":113,"column":71}},"32":{"start":{"line":114,"column":8},"end":{"line":115,"column":31}},"33":{"start":{"line":115,"column":12},"end":{"line":115,"column":31}},"34":{"start":{"line":116,"column":22},"end":{"line":116,"column":67}},"35":{"start":{"line":117,"column":8},"end":{"line":118,"column":33}},"36":{"start":{"line":118,"column":12},"end":{"line":118,"column":33}},"37":{"start":{"line":119,"column":20},"end":{"line":119,"column":60}},"38":{"start":{"line":120,"column":8},"end":{"line":121,"column":30}},"39":{"start":{"line":121,"column":12},"end":{"line":121,"column":30}},"40":{"start":{"line":122,"column":21},"end":{"line":122,"column":56}},"41":{"start":{"line":123,"column":8},"end":{"line":124,"column":32}},"42":{"start":{"line":124,"column":12},"end":{"line":124,"column":32}},"43":{"start":{"line":125,"column":20},"end":{"line":125,"column":50}},"44":{"start":{"line":126,"column":8},"end":{"line":129,"column":24}},"45":{"start":{"line":127,"column":12},"end":{"line":127,"column":31}},"46":{"start":{"line":129,"column":12},"end":{"line":129,"column":24}},"47":{"start":{"line":137,"column":8},"end":{"line":137,"column":86}},"48":{"start":{"line":147,"column":21},"end":{"line":147,"column":108}},"49":{"start":{"line":148,"column":22},"end":{"line":148,"column":70}},"50":{"start":{"line":149,"column":24},"end":{"line":149,"column":48}},"51":{"start":{"line":150,"column":28},"end":{"line":150,"column":110}},"52":{"start":{"line":151,"column":8},"end":{"line":152,"column":22}},"53":{"start":{"line":152,"column":12},"end":{"line":152,"column":22}},"54":{"start":{"line":153,"column":27},"end":{"line":167,"column":9}},"55":{"start":{"line":154,"column":26},"end":{"line":154,"column":40}},"56":{"start":{"line":155,"column":20},"end":{"line":159,"column":13}},"57":{"start":{"line":160,"column":12},"end":{"line":160,"column":45}},"58":{"start":{"line":161,"column":25},"end":{"line":161,"column":44}},"59":{"start":{"line":162,"column":12},"end":{"line":165,"column":13}},"60":{"start":{"line":163,"column":33},"end":{"line":163,"column":56}},"61":{"start":{"line":164,"column":16},"end":{"line":164,"column":46}},"62":{"start":{"line":166,"column":12},"end":{"line":166,"column":43}},"63":{"start":{"line":168,"column":8},"end":{"line":173,"column":9}},"64":{"start":{"line":169,"column":12},"end":{"line":169,"column":24}},"65":{"start":{"line":171,"column":13},"end":{"line":173,"column":9}},"66":{"start":{"line":172,"column":12},"end":{"line":172,"column":32}},"67":{"start":{"line":174,"column":8},"end":{"line":178,"column":100}},"68":{"start":{"line":181,"column":0},"end":{"line":181,"column":33}}},"fnMap":{"0":{"name":"replacementDate","decl":{"start":{"line":13,"column":9},"end":{"line":13,"column":24}},"loc":{"start":{"line":13,"column":36},"end":{"line":20,"column":1}},"line":13},"1":{"name":"replacementYear","decl":{"start":{"line":27,"column":9},"end":{"line":27,"column":24}},"loc":{"start":{"line":27,"column":36},"end":{"line":32,"column":1}},"line":27},"2":{"name":"(anonymous_2)","decl":{"start":{"line":40,"column":4},"end":{"line":40,"column":5}},"loc":{"start":{"line":40,"column":46},"end":{"line":69,"column":5}},"line":40},"3":{"name":"(anonymous_3)","decl":{"start":{"line":78,"column":4},"end":{"line":78,"column":5}},"loc":{"start":{"line":78,"column":30},"end":{"line":82,"column":5}},"line":78},"4":{"name":"(anonymous_4)","decl":{"start":{"line":89,"column":4},"end":{"line":89,"column":5}},"loc":{"start":{"line":89,"column":24},"end":{"line":104,"column":5}},"line":89},"5":{"name":"(anonymous_5)","decl":{"start":{"line":110,"column":4},"end":{"line":110,"column":5}},"loc":{"start":{"line":110,"column":30},"end":{"line":130,"column":5}},"line":110},"6":{"name":"(anonymous_6)","decl":{"start":{"line":136,"column":4},"end":{"line":136,"column":5}},"loc":{"start":{"line":136,"column":32},"end":{"line":138,"column":5}},"line":136},"7":{"name":"(anonymous_7)","decl":{"start":{"line":146,"column":4},"end":{"line":146,"column":5}},"loc":{"start":{"line":146,"column":62},"end":{"line":179,"column":5}},"line":146},"8":{"name":"(anonymous_8)","decl":{"start":{"line":153,"column":27},"end":{"line":153,"column":28}},"loc":{"start":{"line":153,"column":39},"end":{"line":167,"column":9}},"line":153}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":8},"end":{"line":17,"column":9}},"type":"if","locations":[{"start":{"line":15,"column":8},"end":{"line":17,"column":9}},{"start":{"line":15,"column":8},"end":{"line":17,"column":9}}],"line":15},"1":{"loc":{"start":{"line":16,"column":41},"end":{"line":16,"column":128}},"type":"cond-expr","locations":[{"start":{"line":16,"column":69},"end":{"line":16,"column":76}},{"start":{"line":16,"column":81},"end":{"line":16,"column":127}}],"line":16},"2":{"loc":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},{"start":{"line":28,"column":4},"end":{"line":30,"column":5}}],"line":28},"3":{"loc":{"start":{"line":40,"column":17},"end":{"line":40,"column":44}},"type":"default-arg","locations":[{"start":{"line":40,"column":23},"end":{"line":40,"column":44}}],"line":40},"4":{"loc":{"start":{"line":41,"column":8},"end":{"line":42,"column":22}},"type":"if","locations":[{"start":{"line":41,"column":8},"end":{"line":42,"column":22}},{"start":{"line":41,"column":8},"end":{"line":42,"column":22}}],"line":41},"5":{"loc":{"start":{"line":43,"column":23},"end":{"line":43,"column":90}},"type":"cond-expr","locations":[{"start":{"line":43,"column":50},"end":{"line":43,"column":83}},{"start":{"line":43,"column":86},"end":{"line":43,"column":90}}],"line":43},"6":{"loc":{"start":{"line":44,"column":19},"end":{"line":44,"column":71}},"type":"cond-expr","locations":[{"start":{"line":44,"column":46},"end":{"line":44,"column":60}},{"start":{"line":44,"column":63},"end":{"line":44,"column":71}}],"line":44},"7":{"loc":{"start":{"line":48,"column":18},"end":{"line":48,"column":80}},"type":"cond-expr","locations":[{"start":{"line":48,"column":51},"end":{"line":48,"column":53}},{"start":{"line":48,"column":56},"end":{"line":48,"column":80}}],"line":48},"8":{"loc":{"start":{"line":65,"column":8},"end":{"line":67,"column":9}},"type":"if","locations":[{"start":{"line":65,"column":8},"end":{"line":67,"column":9}},{"start":{"line":65,"column":8},"end":{"line":67,"column":9}}],"line":65},"9":{"loc":{"start":{"line":66,"column":42},"end":{"line":66,"column":122}},"type":"cond-expr","locations":[{"start":{"line":66,"column":68},"end":{"line":66,"column":116}},{"start":{"line":66,"column":120},"end":{"line":66,"column":122}}],"line":66},"10":{"loc":{"start":{"line":66,"column":68},"end":{"line":66,"column":116}},"type":"cond-expr","locations":[{"start":{"line":66,"column":91},"end":{"line":66,"column":105}},{"start":{"line":66,"column":108},"end":{"line":66,"column":116}}],"line":66},"11":{"loc":{"start":{"line":96,"column":8},"end":{"line":97,"column":25}},"type":"if","locations":[{"start":{"line":96,"column":8},"end":{"line":97,"column":25}},{"start":{"line":96,"column":8},"end":{"line":97,"column":25}}],"line":96},"12":{"loc":{"start":{"line":99,"column":17},"end":{"line":99,"column":40}},"type":"cond-expr","locations":[{"start":{"line":99,"column":27},"end":{"line":99,"column":35}},{"start":{"line":99,"column":38},"end":{"line":99,"column":40}}],"line":99},"13":{"loc":{"start":{"line":100,"column":17},"end":{"line":100,"column":40}},"type":"cond-expr","locations":[{"start":{"line":100,"column":27},"end":{"line":100,"column":35}},{"start":{"line":100,"column":38},"end":{"line":100,"column":40}}],"line":100},"14":{"loc":{"start":{"line":101,"column":17},"end":{"line":101,"column":40}},"type":"cond-expr","locations":[{"start":{"line":101,"column":27},"end":{"line":101,"column":35}},{"start":{"line":101,"column":38},"end":{"line":101,"column":40}}],"line":101},"15":{"loc":{"start":{"line":102,"column":17},"end":{"line":102,"column":40}},"type":"cond-expr","locations":[{"start":{"line":102,"column":27},"end":{"line":102,"column":35}},{"start":{"line":102,"column":38},"end":{"line":102,"column":40}}],"line":102},"16":{"loc":{"start":{"line":114,"column":8},"end":{"line":115,"column":31}},"type":"if","locations":[{"start":{"line":114,"column":8},"end":{"line":115,"column":31}},{"start":{"line":114,"column":8},"end":{"line":115,"column":31}}],"line":114},"17":{"loc":{"start":{"line":117,"column":8},"end":{"line":118,"column":33}},"type":"if","locations":[{"start":{"line":117,"column":8},"end":{"line":118,"column":33}},{"start":{"line":117,"column":8},"end":{"line":118,"column":33}}],"line":117},"18":{"loc":{"start":{"line":120,"column":8},"end":{"line":121,"column":30}},"type":"if","locations":[{"start":{"line":120,"column":8},"end":{"line":121,"column":30}},{"start":{"line":120,"column":8},"end":{"line":121,"column":30}}],"line":120},"19":{"loc":{"start":{"line":123,"column":8},"end":{"line":124,"column":32}},"type":"if","locations":[{"start":{"line":123,"column":8},"end":{"line":124,"column":32}},{"start":{"line":123,"column":8},"end":{"line":124,"column":32}}],"line":123},"20":{"loc":{"start":{"line":126,"column":8},"end":{"line":129,"column":24}},"type":"if","locations":[{"start":{"line":126,"column":8},"end":{"line":129,"column":24}},{"start":{"line":126,"column":8},"end":{"line":129,"column":24}}],"line":126},"21":{"loc":{"start":{"line":146,"column":34},"end":{"line":146,"column":52}},"type":"default-arg","locations":[{"start":{"line":146,"column":40},"end":{"line":146,"column":52}}],"line":146},"22":{"loc":{"start":{"line":147,"column":21},"end":{"line":147,"column":108}},"type":"cond-expr","locations":[{"start":{"line":147,"column":50},"end":{"line":147,"column":64}},{"start":{"line":147,"column":67},"end":{"line":147,"column":108}}],"line":147},"23":{"loc":{"start":{"line":147,"column":77},"end":{"line":147,"column":87}},"type":"binary-expr","locations":[{"start":{"line":147,"column":77},"end":{"line":147,"column":81}},{"start":{"line":147,"column":85},"end":{"line":147,"column":87}}],"line":147},"24":{"loc":{"start":{"line":150,"column":28},"end":{"line":150,"column":110}},"type":"binary-expr","locations":[{"start":{"line":150,"column":28},"end":{"line":150,"column":84}},{"start":{"line":150,"column":88},"end":{"line":150,"column":110}}],"line":150},"25":{"loc":{"start":{"line":151,"column":8},"end":{"line":152,"column":22}},"type":"if","locations":[{"start":{"line":151,"column":8},"end":{"line":152,"column":22}},{"start":{"line":151,"column":8},"end":{"line":152,"column":22}}],"line":151},"26":{"loc":{"start":{"line":162,"column":12},"end":{"line":165,"column":13}},"type":"if","locations":[{"start":{"line":162,"column":12},"end":{"line":165,"column":13}},{"start":{"line":162,"column":12},"end":{"line":165,"column":13}}],"line":162},"27":{"loc":{"start":{"line":162,"column":16},"end":{"line":162,"column":60}},"type":"binary-expr","locations":[{"start":{"line":162,"column":16},"end":{"line":162,"column":50}},{"start":{"line":162,"column":54},"end":{"line":162,"column":60}}],"line":162},"28":{"loc":{"start":{"line":168,"column":8},"end":{"line":173,"column":9}},"type":"if","locations":[{"start":{"line":168,"column":8},"end":{"line":173,"column":9}},{"start":{"line":168,"column":8},"end":{"line":173,"column":9}}],"line":168},"29":{"loc":{"start":{"line":171,"column":13},"end":{"line":173,"column":9}},"type":"if","locations":[{"start":{"line":171,"column":13},"end":{"line":173,"column":9}},{"start":{"line":171,"column":13},"end":{"line":173,"column":9}}],"line":171},"30":{"loc":{"start":{"line":171,"column":17},"end":{"line":171,"column":63}},"type":"binary-expr","locations":[{"start":{"line":171,"column":17},"end":{"line":171,"column":31}},{"start":{"line":171,"column":35},"end":{"line":171,"column":46}},{"start":{"line":171,"column":50},"end":{"line":171,"column":63}}],"line":171},"31":{"loc":{"start":{"line":174,"column":15},"end":{"line":178,"column":99}},"type":"binary-expr","locations":[{"start":{"line":174,"column":16},"end":{"line":174,"column":29}},{"start":{"line":174,"column":35},"end":{"line":174,"column":44}},{"start":{"line":174,"column":48},"end":{"line":174,"column":52}},{"start":{"line":175,"column":13},"end":{"line":175,"column":23}},{"start":{"line":175,"column":27},"end":{"line":175,"column":33}},{"start":{"line":176,"column":13},"end":{"line":176,"column":24}},{"start":{"line":176,"column":28},"end":{"line":176,"column":57}},{"start":{"line":177,"column":13},"end":{"line":177,"column":24}},{"start":{"line":177,"column":28},"end":{"line":177,"column":34}},{"start":{"line":178,"column":13},"end":{"line":178,"column":25}},{"start":{"line":178,"column":29},"end":{"line":178,"column":60}},{"start":{"line":178,"column":68},"end":{"line":178,"column":80}},{"start":{"line":178,"column":84},"end":{"line":178,"column":98}}],"line":174}},"s":{"0":4,"1":32,"2":14,"3":4,"4":4,"5":4,"6":4,"7":4,"8":0,"9":4,"10":4,"11":4,"12":4,"13":4,"14":4,"15":0,"16":4,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":1,"49":1,"50":1,"51":1,"52":1,"53":0,"54":1,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":1,"64":0,"65":1,"66":0,"67":1,"68":2},"f":{"0":4,"1":4,"2":4,"3":0,"4":0,"5":0,"6":0,"7":1,"8":0},"b":{"0":[14,18],"1":[0,14],"2":[4,0],"3":[2],"4":[0,4],"5":[0,4],"6":[4,0],"7":[0,4],"8":[0,4],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[1],"22":[1,0],"23":[0,0],"24":[1,1],"25":[0,1],"26":[0,0],"27":[0,0],"28":[0,1],"29":[0,1],"30":[1,1,1],"31":[1,1,0,1,0,1,0,1,1,0,0,0,0]},"inputSourceMap":null,"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"bd0f91c8370ff33361330a510d5ae240ed384802"}
2
- }
@@ -1,224 +0,0 @@
1
- body, html {
2
- margin:0; padding: 0;
3
- height: 100%;
4
- }
5
- body {
6
- font-family: Helvetica Neue, Helvetica, Arial;
7
- font-size: 14px;
8
- color:#333;
9
- }
10
- .small { font-size: 12px; }
11
- *, *:after, *:before {
12
- -webkit-box-sizing:border-box;
13
- -moz-box-sizing:border-box;
14
- box-sizing:border-box;
15
- }
16
- h1 { font-size: 20px; margin: 0;}
17
- h2 { font-size: 14px; }
18
- pre {
19
- font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
20
- margin: 0;
21
- padding: 0;
22
- -moz-tab-size: 2;
23
- -o-tab-size: 2;
24
- tab-size: 2;
25
- }
26
- a { color:#0074D9; text-decoration:none; }
27
- a:hover { text-decoration:underline; }
28
- .strong { font-weight: bold; }
29
- .space-top1 { padding: 10px 0 0 0; }
30
- .pad2y { padding: 20px 0; }
31
- .pad1y { padding: 10px 0; }
32
- .pad2x { padding: 0 20px; }
33
- .pad2 { padding: 20px; }
34
- .pad1 { padding: 10px; }
35
- .space-left2 { padding-left:55px; }
36
- .space-right2 { padding-right:20px; }
37
- .center { text-align:center; }
38
- .clearfix { display:block; }
39
- .clearfix:after {
40
- content:'';
41
- display:block;
42
- height:0;
43
- clear:both;
44
- visibility:hidden;
45
- }
46
- .fl { float: left; }
47
- @media only screen and (max-width:640px) {
48
- .col3 { width:100%; max-width:100%; }
49
- .hide-mobile { display:none!important; }
50
- }
51
-
52
- .quiet {
53
- color: #7f7f7f;
54
- color: rgba(0,0,0,0.5);
55
- }
56
- .quiet a { opacity: 0.7; }
57
-
58
- .fraction {
59
- font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
60
- font-size: 10px;
61
- color: #555;
62
- background: #E8E8E8;
63
- padding: 4px 5px;
64
- border-radius: 3px;
65
- vertical-align: middle;
66
- }
67
-
68
- div.path a:link, div.path a:visited { color: #333; }
69
- table.coverage {
70
- border-collapse: collapse;
71
- margin: 10px 0 0 0;
72
- padding: 0;
73
- }
74
-
75
- table.coverage td {
76
- margin: 0;
77
- padding: 0;
78
- vertical-align: top;
79
- }
80
- table.coverage td.line-count {
81
- text-align: right;
82
- padding: 0 5px 0 20px;
83
- }
84
- table.coverage td.line-coverage {
85
- text-align: right;
86
- padding-right: 10px;
87
- min-width:20px;
88
- }
89
-
90
- table.coverage td span.cline-any {
91
- display: inline-block;
92
- padding: 0 5px;
93
- width: 100%;
94
- }
95
- .missing-if-branch {
96
- display: inline-block;
97
- margin-right: 5px;
98
- border-radius: 3px;
99
- position: relative;
100
- padding: 0 4px;
101
- background: #333;
102
- color: yellow;
103
- }
104
-
105
- .skip-if-branch {
106
- display: none;
107
- margin-right: 10px;
108
- position: relative;
109
- padding: 0 4px;
110
- background: #ccc;
111
- color: white;
112
- }
113
- .missing-if-branch .typ, .skip-if-branch .typ {
114
- color: inherit !important;
115
- }
116
- .coverage-summary {
117
- border-collapse: collapse;
118
- width: 100%;
119
- }
120
- .coverage-summary tr { border-bottom: 1px solid #bbb; }
121
- .keyline-all { border: 1px solid #ddd; }
122
- .coverage-summary td, .coverage-summary th { padding: 10px; }
123
- .coverage-summary tbody { border: 1px solid #bbb; }
124
- .coverage-summary td { border-right: 1px solid #bbb; }
125
- .coverage-summary td:last-child { border-right: none; }
126
- .coverage-summary th {
127
- text-align: left;
128
- font-weight: normal;
129
- white-space: nowrap;
130
- }
131
- .coverage-summary th.file { border-right: none !important; }
132
- .coverage-summary th.pct { }
133
- .coverage-summary th.pic,
134
- .coverage-summary th.abs,
135
- .coverage-summary td.pct,
136
- .coverage-summary td.abs { text-align: right; }
137
- .coverage-summary td.file { white-space: nowrap; }
138
- .coverage-summary td.pic { min-width: 120px !important; }
139
- .coverage-summary tfoot td { }
140
-
141
- .coverage-summary .sorter {
142
- height: 10px;
143
- width: 7px;
144
- display: inline-block;
145
- margin-left: 0.5em;
146
- background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
147
- }
148
- .coverage-summary .sorted .sorter {
149
- background-position: 0 -20px;
150
- }
151
- .coverage-summary .sorted-desc .sorter {
152
- background-position: 0 -10px;
153
- }
154
- .status-line { height: 10px; }
155
- /* yellow */
156
- .cbranch-no { background: yellow !important; color: #111; }
157
- /* dark red */
158
- .red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
159
- .low .chart { border:1px solid #C21F39 }
160
- .highlighted,
161
- .highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
162
- background: #C21F39 !important;
163
- }
164
- /* medium red */
165
- .cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
166
- /* light red */
167
- .low, .cline-no { background:#FCE1E5 }
168
- /* light green */
169
- .high, .cline-yes { background:rgb(230,245,208) }
170
- /* medium green */
171
- .cstat-yes { background:rgb(161,215,106) }
172
- /* dark green */
173
- .status-line.high, .high .cover-fill { background:rgb(77,146,33) }
174
- .high .chart { border:1px solid rgb(77,146,33) }
175
- /* dark yellow (gold) */
176
- .status-line.medium, .medium .cover-fill { background: #f9cd0b; }
177
- .medium .chart { border:1px solid #f9cd0b; }
178
- /* light yellow */
179
- .medium { background: #fff4c2; }
180
-
181
- .cstat-skip { background: #ddd; color: #111; }
182
- .fstat-skip { background: #ddd; color: #111 !important; }
183
- .cbranch-skip { background: #ddd !important; color: #111; }
184
-
185
- span.cline-neutral { background: #eaeaea; }
186
-
187
- .coverage-summary td.empty {
188
- opacity: .5;
189
- padding-top: 4px;
190
- padding-bottom: 4px;
191
- line-height: 1;
192
- color: #888;
193
- }
194
-
195
- .cover-fill, .cover-empty {
196
- display:inline-block;
197
- height: 12px;
198
- }
199
- .chart {
200
- line-height: 0;
201
- }
202
- .cover-empty {
203
- background: white;
204
- }
205
- .cover-full {
206
- border-right: none !important;
207
- }
208
- pre.prettyprint {
209
- border: none !important;
210
- padding: 0 !important;
211
- margin: 0 !important;
212
- }
213
- .com { color: #999 !important; }
214
- .ignore-none { color: #999; font-weight: normal; }
215
-
216
- .wrapper {
217
- min-height: 100%;
218
- height: auto !important;
219
- height: 100%;
220
- margin: 0 auto -48px;
221
- }
222
- .footer, .push {
223
- height: 48px;
224
- }