├── .nvmrc
├── .gitignore
├── website
├── client
│ ├── style
│ │ ├── base.css
│ │ └── main.css
│ ├── images
│ │ ├── benqijiemu.jpg
│ │ └── qrcode
│ │ │ ├── qrcode_for_gh_258.jpg
│ │ │ ├── qrcode_for_gh_344.jpg
│ │ │ ├── qrcode_for_gh_430.jpg
│ │ │ ├── qrcode_for_gh_860.jpg
│ │ │ └── qrcode_for_gh_1280.jpg
│ ├── react-app
│ │ ├── react-app.js
│ │ ├── package.json
│ │ ├── webpack.config.js
│ │ └── dist
│ │ │ └── main.bundle.js
│ ├── script
│ │ ├── main.js
│ │ ├── mdp.js
│ │ └── eagle-monitor
│ │ │ ├── bundle.umd.js
│ │ │ └── bundle.umd.js.map
│ └── index.html
├── nodemon.config.json
├── app.js
├── package.json
└── middleware
│ ├── api.js
│ └── sleep.js
├── eagle-sdk
├── util.js
├── behavior.js
├── package.json
├── index.js
├── rollup.config.js
├── util
│ └── xpath.js
├── resources.js
├── errorCatch.js
├── xhr.js
├── perf.js
└── package-lock.json
├── package.json
├── eagle-server
├── app.js
├── package.json
└── middleware
│ └── sourceMap.js
├── .editorconfig
└── x.js.map
/.nvmrc:
--------------------------------------------------------------------------------
1 | 8
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | node_modules
3 | other/
4 |
--------------------------------------------------------------------------------
/website/client/style/base.css:
--------------------------------------------------------------------------------
1 | body {
2 | height: 100%;
3 | width: 100%;
4 | background-color: #f8f8f8;
5 | }
6 |
--------------------------------------------------------------------------------
/website/client/images/benqijiemu.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geeknull/eagle-monitor/HEAD/website/client/images/benqijiemu.jpg
--------------------------------------------------------------------------------
/website/nodemon.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "verbose": true,
3 | "ignore": [
4 | "*.test.js",
5 | "fixtures/*"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/website/client/images/qrcode/qrcode_for_gh_258.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geeknull/eagle-monitor/HEAD/website/client/images/qrcode/qrcode_for_gh_258.jpg
--------------------------------------------------------------------------------
/website/client/images/qrcode/qrcode_for_gh_344.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geeknull/eagle-monitor/HEAD/website/client/images/qrcode/qrcode_for_gh_344.jpg
--------------------------------------------------------------------------------
/website/client/images/qrcode/qrcode_for_gh_430.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geeknull/eagle-monitor/HEAD/website/client/images/qrcode/qrcode_for_gh_430.jpg
--------------------------------------------------------------------------------
/website/client/images/qrcode/qrcode_for_gh_860.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geeknull/eagle-monitor/HEAD/website/client/images/qrcode/qrcode_for_gh_860.jpg
--------------------------------------------------------------------------------
/website/client/images/qrcode/qrcode_for_gh_1280.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/geeknull/eagle-monitor/HEAD/website/client/images/qrcode/qrcode_for_gh_1280.jpg
--------------------------------------------------------------------------------
/eagle-sdk/util.js:
--------------------------------------------------------------------------------
1 | export let noop = () => {};
2 | export let onload = (cb) => {
3 | if (document.readyState === 'complete') {
4 | cb();
5 | }
6 | window.addEventListener('load', cb);
7 | };
8 |
9 | export default {
10 | noop,
11 | onload
12 | };
13 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "eagle-monitor",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "keywords": [],
10 | "author": "",
11 | "license": "ISC"
12 | }
13 |
--------------------------------------------------------------------------------
/eagle-sdk/behavior.js:
--------------------------------------------------------------------------------
1 | import getXpath from './util/xpath.js';
2 |
3 | export default {
4 | init: (cb) => {
5 | cb();
6 | document.addEventListener('click', (e) => {
7 | let xpath = getXpath(e.target);
8 | console.log('xpath: ', xpath);
9 | }, false);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/eagle-server/app.js:
--------------------------------------------------------------------------------
1 | const Koa = require('koa');
2 | const app = new Koa();
3 | const port = 3009;
4 |
5 | const sourceMapMiddleware = require('./middleware/sourceMap.js');
6 |
7 | app.use(sourceMapMiddleware);
8 |
9 | app.listen(port, () => {
10 | console.log(`eagle-server in port ${port}`);
11 | });
12 |
--------------------------------------------------------------------------------
/eagle-server/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "eagle-server",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "keywords": [],
10 | "author": "",
11 | "license": "ISC",
12 | "devDependencies": {
13 | "koa": "^2.5.0",
14 | "nodemon": "^1.15.0",
15 | "source-map": "^0.7.1"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/website/app.js:
--------------------------------------------------------------------------------
1 | const Koa = require('koa');
2 | const app = new Koa();
3 | const port = 3003;
4 | const serve = require('koa-static');
5 | const cors = require('kcors');
6 | const sleep = require('./middleware/sleep');
7 | const api = require('./middleware/api');
8 |
9 | app.use(cors());
10 | app.use(sleep);
11 | app.use(api);
12 | app.use(serve(__dirname + '/client'));
13 |
14 | app.listen(port, () => {
15 | console.log(`listen port ${port}`);
16 | });
17 |
18 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig is awesome:
2 | http://EditorConfig.org
3 |
4 | # top-most EditorConfig file
5 | root = true
6 |
7 | # Unix-style newlines with a newline ending every file
8 | [*]
9 | charset = utf-8
10 | end_of_line = lf
11 | indent_style = space
12 | insert_final_newline = true
13 | trim_trailing_whitespace = true
14 |
15 | [*.{js,jsx,scss,vue}]
16 | indent_size = 2
17 |
18 | # Tab indentation (no size specified)
19 | [Makefile]
20 | indent_style = tab
21 |
--------------------------------------------------------------------------------
/website/client/style/main.css:
--------------------------------------------------------------------------------
1 | .title {
2 | color: #333;
3 | text-align: center;
4 | margin-top: 20px;
5 | }
6 |
7 | .img {
8 | margin: 0 auto;
9 | display: block;
10 | border: 2px solid #f4b72b;
11 | border-radius: 6px;
12 | opacity: .7;
13 | }
14 |
15 | .qrcode {
16 | width: 300px;
17 | height: 300px;
18 | }
19 |
20 | .avatar {
21 | width: 100px;
22 | height: 100px;
23 | margin-top: 10px;
24 | }
25 |
26 | .fruits-list {
27 | margin: 10px 0;
28 | }
29 |
--------------------------------------------------------------------------------
/website/client/react-app/react-app.js:
--------------------------------------------------------------------------------
1 | import React, {Component} from 'react';
2 | import ReactDOM from 'react-dom';
3 |
4 | let AppComponent = class extends Component {
5 | constructor (props) {
6 | super(props);
7 | }
8 |
9 | componentDidMount () {
10 | vue = 'vanilla' + 'react'
11 | }
12 |
13 | render () {
14 | return (
15 |
16 | react app
17 |
18 | )
19 | }
20 | };
21 |
22 | ReactDOM.render(, document.querySelector('.react-area'));
23 |
--------------------------------------------------------------------------------
/eagle-sdk/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "src",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "dev": "cross-env NODE_ENV=develop rollup -c --watch",
8 | "build": "cross-env NODE_ENV=production rollup -c",
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | },
11 | "keywords": [],
12 | "author": "",
13 | "license": "ISC",
14 | "devDependencies": {
15 | "babel-core": "^6.26.0",
16 | "babel-preset-env": "^1.6.1",
17 | "cross-env": "^5.1.3",
18 | "rollup": "^0.55.5",
19 | "rollup-plugin-babel": "^3.0.3"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/eagle-sdk/index.js:
--------------------------------------------------------------------------------
1 | import perf from './perf.js';
2 | import resources from './resources.js';
3 | import errorCatch from './errorCatch.js';
4 | import xhrHook from './xhr.js';
5 | import behavior from './behavior.js';
6 |
7 | perf.init((perfData) => {
8 | // console.log('perf', perfData);
9 | });
10 |
11 | resources.init((list) => {
12 | // console.log('resources', list.length === 1 ? list[0] : list);
13 | });
14 |
15 | errorCatch.init((err) => {
16 | console.log('errorCatch', err);
17 | });
18 |
19 | xhrHook.init((xhrInfo) => {
20 | console.log(xhrInfo);
21 | });
22 |
23 | behavior.init(() => {
24 | console.log('behavior init');
25 | });
26 |
--------------------------------------------------------------------------------
/website/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "website",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "scripts": {
7 | "node-dev": "nodemon app.js",
8 | "test": "echo \"Error: no test specified\" && exit 1"
9 | },
10 | "keywords": [],
11 | "author": "",
12 | "license": "ISC",
13 | "dependencies": {
14 | "kcors": "^2.2.1",
15 | "koa": "^2.4.1",
16 | "koa-static": "^4.0.2"
17 | },
18 | "devDependencies": {
19 | "babel-core": "^6.26.0",
20 | "babel-loader": "^7.1.2",
21 | "babel-polyfill": "^6.26.0",
22 | "babel-preset-env": "^1.6.1",
23 | "debug": "^3.1.0",
24 | "left-pad": "^1.2.0",
25 | "webpack": "^3.11.0",
26 | "webpack-dev-server": "^2.11.1"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/website/middleware/api.js:
--------------------------------------------------------------------------------
1 | let apiMap = {
2 | '/api/user': {
3 | name: 'geeknull',
4 | age: 18
5 | },
6 | '/api/list': [
7 | {id: '1', name: '香蕉'},
8 | {id: '2', name: '桔子'},
9 | {id: '3', name: '苹果'},
10 | {id: '4', name: '橘子'},
11 | {id: '5', name: '菠萝'},
12 | {id: '6', name: '橙子'},
13 | {id: '7', name: '西瓜'},
14 | {id: '8', name: '桃子'},
15 | {id: '9', name: '辣椒'},
16 | ],
17 | '/api/detail': {
18 | name: '香蕉',
19 | place: '泰国',
20 | describe: '补充能力,吃香蕉~',
21 | city: '泰姬陵',
22 | remark: '大哥,泰姬陵不是泰国的!',
23 | },
24 | };
25 |
26 | module.exports = (ctx, next) => {
27 | for (let key in apiMap) {
28 | if (ctx.path.includes(key)) {
29 | ctx.body = apiMap[key];
30 | break;
31 | }
32 | }
33 | return next();
34 | };
35 |
--------------------------------------------------------------------------------
/website/client/react-app/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-app",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "webpack.config.js",
6 | "scripts": {
7 | "dev": "cross-env NODE_ENV=develop webpack-dev-server",
8 | "build": "cross-env NODE_ENV=production webpack"
9 | },
10 | "keywords": [],
11 | "author": "",
12 | "license": "ISC",
13 | "devDependencies": {
14 | "babel-core": "^6.26.0",
15 | "babel-loader": "^7.1.2",
16 | "babel-plugin-transform-runtime": "^6.23.0",
17 | "babel-polyfill": "^6.26.0",
18 | "babel-preset-env": "^1.6.1",
19 | "babel-preset-react": "^6.24.1",
20 | "webpack": "^3.11.0",
21 | "webpack-dev-server": "^2.11.1"
22 | },
23 | "dependencies": {
24 | "cross-env": "^5.1.3",
25 | "react": "^16.2.0",
26 | "react-dom": "^16.2.0"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/eagle-sdk/rollup.config.js:
--------------------------------------------------------------------------------
1 | import babel from 'rollup-plugin-babel';
2 | let isDev = process.env.NODE_ENV === 'develop';
3 |
4 | let babelConfig = {
5 | "presets": [
6 | [
7 | "env", {
8 | "modules": false,
9 | "targets": {
10 | "browsers": ["chrome > 40", "safari >= 7"]
11 | }
12 | }
13 | ]
14 | ],
15 | };
16 |
17 | export default {
18 | input : 'index.js',
19 | watch: {
20 | exclude: 'node_modules/**'
21 | },
22 | output : {
23 | file: isDev ? '../website/client/script/eagle-monitor/bundle.umd.js' : '../dist/bundle.umd.js',
24 | name: 'EagleMonitor',
25 | format: 'umd',
26 | sourcemap: true
27 | },
28 | plugins : [
29 | babel({
30 | babelrc: false,
31 | presets: babelConfig.presets,
32 | plugins: babelConfig.plugins,
33 | exclude: 'node_modules/**' // only transpile our source code
34 | })
35 | ]
36 | };
37 |
--------------------------------------------------------------------------------
/website/client/script/main.js:
--------------------------------------------------------------------------------
1 | let endlessLoop = sleep => {
2 | let curTime = Date.now();
3 | while (true) {
4 | if (Date.now() - curTime >= sleep) {
5 | break;
6 | }
7 | }
8 | };
9 |
10 | document.addEventListener('DOMContentLoaded', () => {
11 | // endlessLoop(1000);
12 | }, false);
13 |
14 | window.addEventListener('load', () => {
15 | // endlessLoop(500);
16 | }, false);
17 |
18 | setTimeout(() => {
19 | let src = './images/benqijiemu.jpg';
20 | let imgEle = document.createElement('img');
21 | imgEle.src = src;
22 | imgEle.className = 'img avatar';
23 | document.body.appendChild(imgEle);
24 | }, 5000);
25 |
26 | // a - b -3
27 |
28 | // Promise.reject('promise rej');
29 |
30 | $.ajax({
31 | url: 'http://localhost:3003/api/list',
32 | method: 'post',
33 | data: JSON.stringify({
34 | a: 'a',
35 | b: 'b',
36 | })
37 | }).then((res) => {
38 | // debugger
39 | }).catch((err) => {
40 | // debugger
41 | });
42 |
43 | fetch('http://localhost:3003/api/list').then((res) => {
44 | // debugger
45 | });
46 |
--------------------------------------------------------------------------------
/eagle-sdk/util/xpath.js:
--------------------------------------------------------------------------------
1 | // /html/body/div[2]/ul/li[2]
2 |
3 | let getXpath = (element) => {
4 | if (!(element instanceof Element)) {
5 | return void 0;
6 | }
7 |
8 | if (element.nodeType !== 1) {
9 | return void 0;
10 | }
11 |
12 | let rootElement = document.body;
13 | if (element === rootElement) {
14 | return void 0;
15 | }
16 |
17 |
18 | let childIndex = (ele) => {
19 | let parent = ele.parentNode;
20 | let children = [].slice.call(parent.childNodes).filter(_ => _.nodeType === 1);
21 | let i = 0;
22 | for (let _i = 0, len = children.length; _i < len; _i++) {
23 | if (children[_i] === ele) {
24 | i = _i;
25 | break;
26 | }
27 | }
28 | return i === 0 ? '' : '[' + i + ']';
29 | };
30 |
31 | let xpath = '';
32 |
33 | while (element !== document) {
34 | let tag = element.tagName.toLocaleLowerCase();
35 | let eleIndex = childIndex(element);
36 | xpath = '/' + tag + eleIndex + xpath;
37 | element = element.parentNode;
38 | }
39 |
40 | return xpath;
41 | };
42 |
43 | export default getXpath;
44 |
--------------------------------------------------------------------------------
/website/middleware/sleep.js:
--------------------------------------------------------------------------------
1 | const log = require('debug')('sleep'); log.enabled = true;
2 | const log_root = require('debug')('root'); log_root.enabled = true;
3 | const leftPad = require('left-pad');
4 |
5 | const sleep = t => new Promise((r) => setTimeout(r, t));
6 |
7 | const random = (start, end) => () => {
8 | if (end === undefined) {
9 | end = start;
10 | start = 0;
11 | }
12 | return parseInt(start + Math.random() * (end-start));
13 | };
14 |
15 | let resourceMap = {
16 | 'qrcode_for_gh_1280.jpg': 1200,
17 | 'jquery-3.3.1.js': 100,
18 | 'bootstrap.css': random(0, 100),
19 | 'lodash-4.17.5.js': 1,
20 | '/api/user': random(200),
21 | '/api/list': 1000,
22 | };
23 | let rootPath = ['/', '/index.html'];
24 |
25 | module.exports = async (ctx, next) => {
26 | let _path = ctx.path;
27 |
28 | // if (ctx.path.includes('abc')) {
29 | // ctx.redirect('http://127.0.0.1:3003');
30 | // }
31 |
32 | if (rootPath.includes(_path)) {
33 | await sleep(random(30)());
34 | return next();
35 | }
36 |
37 | for (let key in resourceMap) {
38 | if (_path.includes(key)) {
39 | let delay = resourceMap[key];
40 | delay = typeof delay === 'function' ? delay() : delay;
41 | await sleep(delay);
42 | log(leftPad(key, 20, '·'), delay);
43 | return next();
44 | }
45 | }
46 |
47 | return next();
48 | };
49 |
--------------------------------------------------------------------------------
/eagle-server/middleware/sourceMap.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs');
2 | const path = require('path');
3 | let sourceMap = require('source-map');
4 |
5 | let sourcemapFilePath = path.join(__dirname, '../../website/client/react-app/dist/main.bundle.js.map');
6 |
7 | let sourcesPathMap = {};
8 | function fixPath(filepath) {
9 | return filepath.replace(/\.[\.\/]+/g, "");
10 | }
11 |
12 | module.exports = async (ctx, next) => {
13 | if (ctx.path === '/sourcemap') {
14 | let sourceMapContent = fs.readFileSync(sourcemapFilePath, 'utf-8');
15 | let fileObj = JSON.parse(sourceMapContent);
16 | let sources = fileObj.sources;
17 |
18 | sources.map(item => {
19 | sourcesPathMap[fixPath(item)] = item;
20 | });
21 |
22 | let findPos = {
23 | line: 554,
24 | column: 17,
25 | };
26 |
27 | let findPos_ = {
28 | line: 10185,
29 | column: 489,
30 | };
31 |
32 | let consumer = await new sourceMap.SourceMapConsumer(sourceMapContent);
33 | let result = consumer.originalPositionFor(findPos);
34 |
35 | console.log(result, 'xxx');
36 |
37 | // source line column name
38 |
39 | let originSource = sourcesPathMap[result.source];
40 |
41 | let sourcesContent = fileObj.sourcesContent[sources.indexOf(originSource)];
42 | let sourcesContentArr = sourcesContent.split('\n');
43 | let sourcesContentMap = {};
44 |
45 | sourcesContentArr.forEach((item, index) => {
46 | sourcesContentMap[index] = item;
47 | });
48 |
49 | result.sourcesContentMap = sourcesContentMap;
50 |
51 | ctx.body = result;
52 | }
53 |
54 | return next();
55 | };
56 |
--------------------------------------------------------------------------------
/eagle-sdk/resources.js:
--------------------------------------------------------------------------------
1 | import {onload} from './util.js';
2 |
3 | // 过滤无效数据
4 | function filterTime(a, b) {
5 | return (a > 0 && b > 0 && (a - b) >= 0) ? (a - b) : undefined;
6 | }
7 |
8 | let resolvePerformanceTiming = (timing) => {
9 | let o = {
10 | initiatorType: timing.initiatorType,
11 | name: timing.name,
12 | duration: parseInt(timing.duration),
13 | redirect: filterTime(timing.redirectEnd, timing.redirectStart), // 重定向
14 | dns: filterTime(timing.domainLookupEnd, timing.domainLookupStart), // DNS解析
15 | connect: filterTime(timing.connectEnd, timing.connectStart), // TCP建连
16 | network: filterTime(timing.connectEnd, timing.startTime), // 网络总耗时
17 |
18 | send: filterTime(timing.responseStart, timing.requestStart), // 发送开始到接受第一个返回
19 | receive: filterTime(timing.responseEnd, timing.responseStart), // 接收总时间
20 | request: filterTime(timing.responseEnd, timing.requestStart), // 总时间
21 |
22 | ttfb: filterTime(timing.responseStart, timing.requestStart), // 首字节时间
23 | };
24 |
25 | return o;
26 | };
27 |
28 | let resolveEntries = (entries) => entries.map(item => resolvePerformanceTiming(item));
29 |
30 | let resources = {
31 | init: (cb) => {
32 | let performance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance;
33 | if (!performance || !performance.getEntries) {
34 | return void 0;
35 | }
36 |
37 | if (window.PerformanceObserver) {
38 | let observer = new window.PerformanceObserver((list) => {
39 | try {
40 | let entries = list.getEntries();
41 | cb(resolveEntries(entries));
42 | } catch (e) {
43 | console.error(e);
44 | }
45 | });
46 | observer.observe({
47 | entryTypes: ['resource']
48 | })
49 | } else {
50 | onload(() => {
51 | let entries = performance.getEntriesByType('resource');
52 | cb(resolveEntries(entries));
53 | });
54 | }
55 | },
56 | };
57 |
58 | export default resources;
59 |
--------------------------------------------------------------------------------
/eagle-sdk/errorCatch.js:
--------------------------------------------------------------------------------
1 | let formatError = (errObj) => {
2 | let col = errObj.column || errObj.columnNumber; // Safari Firefox
3 | let row = errObj.line || errObj.lineNumber; // Safari Firefox
4 | let message = errObj.message;
5 | let name = errObj.name;
6 |
7 | let {stack} = errObj;
8 | if (stack) {
9 | let matchUrl = stack.match(/https?:\/\/[^\n]+/);
10 | let urlFirstStack = matchUrl ? matchUrl[0] : '';
11 | let regUrlCheck = /https?:\/\/(\S)*\.js/;
12 |
13 | let resourceUrl = '';
14 | if (regUrlCheck.test(urlFirstStack)) {
15 | resourceUrl = urlFirstStack.match(regUrlCheck)[0];
16 | }
17 |
18 | let stackCol = null;
19 | let stackRow = null;
20 | let posStack = urlFirstStack.match(/:(\d+):(\d+)/);
21 | if (posStack && posStack.length >= 3) {
22 | [, stackCol, stackRow] = posStack;
23 | }
24 |
25 | // TODO formatStack
26 | return {
27 | content: stack,
28 | col: Number(col || stackCol),
29 | row: Number(row || stackRow),
30 | message, name, resourceUrl
31 | };
32 | }
33 |
34 | return {
35 | row, col, message, name
36 | }
37 | };
38 |
39 | let errorCatch = {
40 | init: (cb) => {
41 | let _originOnerror = window.onerror;
42 | window.onerror = (...arg) => {
43 | let [errorMessage, scriptURI, lineNumber, columnNumber, errorObj] = arg;
44 | // console.log(arg, 'cuowu');
45 | let errorInfo = formatError(errorObj);
46 | errorInfo._errorMessage = errorMessage;
47 | errorInfo._scriptURI = scriptURI;
48 | errorInfo._lineNumber = lineNumber;
49 | errorInfo._columnNumber = columnNumber;
50 | errorInfo.type = 'onerror';
51 | cb(errorInfo);
52 | _originOnerror && _originOnerror.apply(window, arg);
53 | };
54 |
55 | let _originOnunhandledrejection = window.onunhandledrejection;
56 | window.onunhandledrejection = (...arg) => {
57 | let e = arg[0];
58 | let reason = e.reason;
59 | cb({
60 | type: e.type || 'unhandledrejection',
61 | reason
62 | });
63 | _originOnunhandledrejection && _originOnunhandledrejection.apply(window, arg);
64 | };
65 | },
66 | };
67 |
68 | export default errorCatch;
69 |
--------------------------------------------------------------------------------
/website/client/react-app/webpack.config.js:
--------------------------------------------------------------------------------
1 | const webpack = require('webpack');
2 | const path = require('path');
3 |
4 | let isDev = process.env.NODE_ENV === 'develop'; // 是否是开发环境
5 | const host = 'localhost';
6 | const port = 8601;
7 |
8 | module.exports = {
9 | entry: {
10 | vendor: ['babel-polyfill', 'react', 'react-dom'],
11 | main: './react-app.js',
12 | },
13 | output: {
14 | path: path.resolve(__dirname, './dist'),
15 | publicPath: isDev ? `http://${host}:${port}/` : '/',
16 | filename: '[name].bundle.js'
17 | },
18 | module: {
19 | rules: [
20 | {
21 | test: /\.(js|jsx)$/,
22 | exclude: /node_modules/,
23 | use: {
24 | loader: 'babel-loader',
25 | options: {
26 | presets: [
27 | ['env', {
28 | option: {
29 | 'targets': {
30 | 'browsers': ['chrome >= 44','firefox >= 51', 'safari >= 9']
31 | }
32 | }
33 | }], 'react'
34 | ],
35 | plugins: ['transform-runtime']
36 | }
37 | }
38 | },
39 | {
40 | test: /\.css$/,
41 | use: ['style-loader', 'css-loader']
42 | }
43 | ]
44 | },
45 | devtool: isDev ? 'cheap-module-eval-source-map' : 'source-map',
46 | context: __dirname,
47 | devServer: {
48 | hot: true,
49 | port: port,
50 | headers: {
51 | 'Access-Control-Allow-Origin': '*'
52 | },
53 | },
54 | plugins: [
55 | new webpack.HotModuleReplacementPlugin(),
56 | new webpack.DefinePlugin({
57 | 'process.env.NODE_ENV':
58 | isDev ? JSON.stringify('develop') : JSON.stringify('production')
59 | }),
60 | // new webpack.optimize.UglifyJsPlugin({
61 | // compress: false,
62 | // mangle: false,
63 | // sourceMap: true,
64 | // output: {
65 | // comments: false
66 | // }
67 | // }),
68 |
69 | // new webpack.SourceMapDevToolPlugin({
70 | // exclude: 'vendor',
71 | // excludeChunks: ["vendors"]
72 | // }),
73 |
74 | new webpack.optimize.CommonsChunkPlugin({
75 | name: 'vendor',
76 | filename: '[name].bundle.js',
77 | minChunks: Infinity
78 | }),
79 | ]
80 | };
81 |
--------------------------------------------------------------------------------
/website/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 |
8 | Eagle-monitor Test
9 |
10 |
11 |
12 |
13 |
14 |
15 |
20 |
26 |
27 |
28 | Eagle Monitor
29 |
30 |
31 |
32 |
33 |
34 | - 西瓜
35 | - 香蕉
36 | - 苹果
37 | - 桔子
38 | - 草莓
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 | - 西瓜
47 | - 香蕉
48 | - 苹果
49 | - 桔子
50 | - 草莓
51 |
52 |
53 | - 西瓜
54 | - 香蕉
55 | - 苹果
56 | - 桔子
57 | - 草莓
58 |
59 |
60 | - 西瓜
61 | - 香蕉
62 | - 苹果
63 | - 桔子
64 | - 草莓
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/eagle-sdk/xhr.js:
--------------------------------------------------------------------------------
1 | let xhrHook = {
2 | init: (cb) => {
3 | // xhr hook
4 | let xhr = window.XMLHttpRequest;
5 | if (xhr._eagle_flag === true) {
6 | return void 0;
7 | }
8 | xhr._eagle_flag = true;
9 |
10 | let _originOpen = xhr.prototype.open;
11 | xhr.prototype.open = function (method, url, async, user, password) {
12 | // TODO eagle url check
13 | this._eagle_xhr_info = {
14 | url: url,
15 | method: method,
16 | status: null
17 | };
18 | return _originOpen.apply(this, arguments);
19 | };
20 |
21 | let _originSend = xhr.prototype.send;
22 | xhr.prototype.send = function (value) {
23 | let _self = this;
24 | this._eagle_start_time = Date.now();
25 |
26 | let ajaxEnd = (event) => () => {
27 | if (_self.response) {
28 | let responseSize = null;
29 | switch(_self.responseType) {
30 | case 'json':
31 | responseSize = JSON && JSON.stringify(_this.response).length;
32 | break;
33 | case 'blob':
34 | case 'moz-blob':
35 | responseSize = _self.response.size;
36 | break;
37 | case 'arraybuffer':
38 | responseSize = _self.response.byteLength;
39 | case 'document':
40 | responseSize = _self.response.documentElement && _self.response.documentElement.innerHTML && (_self.response.documentElement.innerHTML.length + 28);
41 | break;
42 | default:
43 | responseSize = _self.response.length;
44 | }
45 | _self._eagle_xhr_info.event = event;
46 | _self._eagle_xhr_info.status = _self.status;
47 | _self._eagle_xhr_info.success = (_self.status >= 200 && _self.status <= 206) || _self.status === 304;
48 | _self._eagle_xhr_info.duration = Date.now() - _self._eagle_start_time;
49 | _self._eagle_xhr_info.responseSize = responseSize;
50 | _self._eagle_xhr_info.requestSize = value ? value.length : 0;
51 | _self._eagle_xhr_info.type = 'xhr';
52 | cb(this._eagle_xhr_info);
53 | }
54 | };
55 |
56 | // TODO eagle url check
57 | if (this.addEventListener) {
58 | this.addEventListener('load', ajaxEnd('load'), false);
59 | this.addEventListener('error', ajaxEnd('error'), false);
60 | this.addEventListener('abort', ajaxEnd('abort'), false);
61 | } else {
62 | let _origin_onreadystatechange = this.onreadystatechange;
63 | this.onreadystatechange = function (event) {
64 | if (_origin_onreadystatechange) {
65 | _originOpen.apply(this, arguments);
66 | }
67 | if (this.readyState === 4) {
68 | ajaxEnd('end')();
69 | }
70 | };
71 | }
72 | return _originSend.apply(this, arguments);
73 | };
74 |
75 | // fetch hook
76 | if (window.fetch) {
77 | let _origin_fetch = window.fetch;
78 | window.fetch = function () {
79 | let startTime = Date.now();
80 | let args = [].slice.call(arguments);
81 |
82 | let fetchInput = args[0];
83 | let method = 'GET';
84 | let url;
85 |
86 | if (typeof fetchInput === 'string') {
87 | url = fetchInput;
88 | } else if ('Request' in window && fetchInput instanceof window.Request) {
89 | url = fetchInput.url;
90 | if (fetchInput.method) {
91 | method = fetchInput.method;
92 | }
93 | } else {
94 | url = '' + fetchInput;
95 | }
96 |
97 | if (args[1] && args[1].method) {
98 | method = args[1].method;
99 | }
100 |
101 | // TODO eagle check
102 | let fetchData = {
103 | method: method,
104 | url: url,
105 | status: null,
106 | };
107 |
108 | return _origin_fetch.apply(this, args).then(function(response) {
109 | fetchData.status = response.status;
110 | fetchData.type = 'fetch';
111 | fetchData.duration = Date.now() - startTime;
112 | cb(fetchData);
113 | return response;
114 | });
115 | }
116 | }
117 | }
118 | };
119 |
120 | export default xhrHook;
121 |
--------------------------------------------------------------------------------
/eagle-sdk/perf.js:
--------------------------------------------------------------------------------
1 | // https://developer.mozilla.org/zh-CN/docs/Web/API/PerformanceTiming
2 |
3 | let perf = {
4 | init: (cb) => {
5 | let cycleFreq = 100; // 循环轮询的时间
6 | let isDOMReady = false;
7 | let isOnload = false;
8 | let performance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance;
9 |
10 | let Util = {
11 | addEventListener: function (name, callback, useCapture) {
12 | if (window.addEventListener) {
13 | return window.addEventListener(name, callback, useCapture);
14 | } else if (window.attachEvent) {
15 | return window.attachEvent('on' + name, callback);
16 | }
17 | },
18 |
19 | domready: function (callback) {
20 | if ( isOnload === true ) { return void 0; }
21 | let timer = null;
22 |
23 | if ( document.readyState === 'interactive' ) {
24 | runCheck();
25 | } else if (document.addEventListener) {
26 | document.addEventListener('DOMContentLoaded', function () {
27 | runCheck();
28 | }, false);
29 | } else if (document.attachEvent) {
30 | document.attachEvent('onreadystatechange', function () {
31 | runCheck();
32 | });
33 | }
34 |
35 | function runCheck() {
36 | if ( performance.timing.domInteractive ) {
37 | clearTimeout(timer);
38 | callback();
39 | isDOMReady = true;
40 | } else {
41 | timer = setTimeout(runCheck, cycleFreq);
42 | }
43 | }
44 | },
45 |
46 | onload: function (callback) {
47 | let timer = null;
48 |
49 | if (document.readyState === 'complete') {
50 | runCheck();
51 | } else {
52 | Util.addEventListener('load', function () {
53 | runCheck();
54 | }, false);
55 | }
56 |
57 | function runCheck() {
58 | if ( performance.timing.loadEventEnd ) {
59 | clearTimeout(timer);
60 | callback();
61 | isOnload = true;
62 | } else {
63 | timer = setTimeout(runCheck, cycleFreq);
64 | }
65 | }
66 | }
67 | };
68 |
69 | let reportPerf = function () {
70 | if (!performance) {
71 | return void 0;
72 | }
73 |
74 | // 过滤无效数据;
75 | function filterTime(a, b) {
76 | return (a > 0 && b > 0 && (a - b) >= 0) ? (a - b) : undefined;
77 | }
78 |
79 | // append data from window.performance
80 | let timing = performance.timing;
81 |
82 | let perfData = {
83 | // 网络建连
84 | pervPage: filterTime(timing.fetchStart, timing.navigationStart), // 上一个页面
85 | redirect: filterTime(timing.responseEnd, timing.redirectStart), // 页面重定向时间
86 | dns: filterTime(timing.domainLookupEnd, timing.domainLookupStart), // DNS查找时间
87 | connect: filterTime(timing.connectEnd, timing.connectStart), // TCP建连时间
88 | network: filterTime(timing.connectEnd, timing.navigationStart), // 网络总耗时
89 |
90 | // 网络接收
91 | send: filterTime(timing.responseStart, timing.requestStart), // 前端从发送到接收到后端第一个返回
92 | receive: filterTime(timing.responseEnd, timing.responseStart), // 接受页面时间
93 | request: filterTime(timing.responseEnd, timing.requestStart), // 请求页面总时间
94 |
95 | // 前端渲染
96 | dom: filterTime(timing.domComplete, timing.domLoading), // dom解析时间
97 | loadEvent: filterTime(timing.loadEventEnd, timing.loadEventStart), // loadEvent时间
98 | frontend: filterTime(timing.loadEventEnd, timing.domLoading), // 前端总时间
99 |
100 | // 关键阶段
101 | load: filterTime(timing.loadEventEnd, timing.navigationStart), // 页面完全加载总时间
102 | domReady: filterTime(timing.domContentLoadedEventStart, timing.navigationStart), // domready时间
103 | interactive: filterTime(timing.domInteractive, timing.navigationStart), // 可操作时间
104 | ttfb: filterTime(timing.responseStart, timing.navigationStart), // 首字节时间
105 | };
106 |
107 | return perfData;
108 | };
109 |
110 | Util.domready(function () {
111 | let perfData = reportPerf('domready');
112 | perfData.type = 'domready';
113 | cb(perfData);
114 | });
115 |
116 | Util.onload(function () {
117 | let perfData = reportPerf('onload');
118 | perfData.type = 'onload';
119 | cb(perfData);
120 | });
121 | }
122 | };
123 |
124 | export default perf;
125 |
--------------------------------------------------------------------------------
/x.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": [
4 | "webpack:///main.min.js",
5 | "webpack:///webpack/bootstrap bcc12cf6b7df6fbc22ab",
6 | "webpack:///./main.js"
7 | ],
8 | "names": [
9 | "modules",
10 | "__webpack_require__",
11 | "moduleId",
12 | "installedModules",
13 | "exports",
14 | "module",
15 | "i",
16 | "l",
17 | "call",
18 | "m",
19 | "c",
20 | "value",
21 | "d",
22 | "name",
23 | "getter",
24 | "o",
25 | "Object",
26 | "defineProperty",
27 | "configurable",
28 | "enumerable",
29 | "get",
30 | "n",
31 | "__esModule",
32 | "object",
33 | "property",
34 | "prototype",
35 | "hasOwnProperty",
36 | "p",
37 | "s",
38 | "test",
39 | "noerror"
40 | ],
41 | "mappings": "CAAS,SAAUA,GCInB,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAI,EAAAJ,EACAK,GAAA,EACAH,WAUA,OANAJ,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,GAGAI,EAAAE,GAAA,EAGAF,EAAAD,QAvBA,GAAAD,KA4BAF,GAAAQ,EAAAT,EAGAC,EAAAS,EAAAP,EAGAF,EAAAK,EAAA,SAAAK,GAA2C,MAAAA,IAG3CV,EAAAW,EAAA,SAAAR,EAAAS,EAAAC,GACAb,EAAAc,EAAAX,EAAAS,IACAG,OAAAC,eAAAb,EAAAS,GACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,KAMAb,EAAAoB,EAAA,SAAAhB,GACA,GAAAS,GAAAT,KAAAiB,WACA,WAA2B,MAAAjB,GAAA,SAC3B,WAAiC,MAAAA,GAEjC,OADAJ,GAAAW,EAAAE,EAAA,IAAAA,GACAA,GAIAb,EAAAc,EAAA,SAAAQ,EAAAC,GAAsD,MAAAR,QAAAS,UAAAC,eAAAlB,KAAAe,EAAAC,IAGtDvB,EAAA0B,EAAA,GAGA1B,IAAA2B,EAAA,KDMM,SAAUvB,EAAQD,GEtExB,QAASyB,KACLC,QAGJD",
42 | "file": "main.min.js",
43 | "sourcesContent": [
44 | "/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\nfunction test() {\n noerror;\n}\n\ntest();\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// main.min.js",
45 | " \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap bcc12cf6b7df6fbc22ab",
46 | "function test() {\n noerror\n}\n\ntest();\n\n\n// WEBPACK FOOTER //\n// ./main.js"
47 | ],
48 | "sourceRoot": ""
49 | }
50 |
--------------------------------------------------------------------------------
/website/client/script/mdp.js:
--------------------------------------------------------------------------------
1 | /**
2 | *@author:
3 | *cyhello(cyhello@gmail.com)
4 | *seven (remember2015@gmail.com)
5 | *rank(ranklau@gmail.com)
6 | */
7 | (function(){
8 | /**
9 | * @method _marmotGetParam
10 | * 获取url参数
11 | */
12 | var _marmot_js_href = null;
13 | function _marmotGetParam(param) {
14 | if (!_marmot_js_href) {
15 | var js = document.getElementsByTagName('script');
16 | for (var i = 0, len = js.lenth; i < len; i++) {
17 | if (js[i].getAttribute('marmot') == 'true') {
18 | _marmot_js_href = js[i].src;
19 | break;
20 | }
21 | }
22 | if (!_marmot_js_href)
23 | _marmot_js_href = js[js.length - 1].src;
24 | }
25 | var match = _marmot_js_href.match(new RegExp(param+'=([^\?\#\&\=]*)','i'));
26 | if (match) return match[1];
27 | return null;
28 | }
29 | /**
30 | * 处理采样率
31 | */
32 | var _ratio = _marmotGetParam('ratio');
33 | if(_ratio !== null) {
34 | var _rnd = _ratio * Math.random();
35 | if (_rnd > 1) return;
36 | }
37 |
38 | /**
39 | * @class Marmot
40 | * Marmot静态类
41 | */
42 | window.Marmot = Marmot = {
43 | _pageID: _marmotGetParam('id'),
44 | //用户行为数据的真实容器,储存数据
45 | _logData: [],
46 | //采样网格边长
47 | _grid: 7,
48 | _align: _marmotGetParam('align') || 'middle',
49 | //最大采集数据量,达到此数据量,自动提交
50 | _maxEvt: 50,
51 | //上一个事件,用于处理表单域的点击自动触发focus事件情况
52 | _preEvt: {t:'f',path:[]},
53 | //refer的最大长度
54 | _maxRef: 100,
55 | //log发送地址
56 | _logUrl: "http://www.marmotu.com/resource/marmot.gif",
57 |
58 | //获取页面大小
59 | _getPageWidth: function () {
60 | var doc = document,
61 | body = doc.body,
62 | html = doc.documentElement,
63 | client = doc.compatMode == 'BackCompat' ? body : doc.documentElement;
64 |
65 | return Math.max(html.scrollWidth, body.scrollWidth, client.clientWidth);
66 | },
67 | //log函数
68 | log: function(arg) {
69 |
70 | //数据量达到最大值,自动提交
71 | if (Marmot._logData.length >= Marmot._maxEvt) {
72 | Marmot.pushLog();
73 | Marmot.pushLog = function(){};
74 | return ;
75 | }
76 | //数据点进行网格装换
77 | if (arg.x != '') {
78 | var midLine = (Marmot._align == 'middle') ? parseInt(Marmot._getPageWidth() / 2) : 0;
79 | arg.x = arg.x - midLine != 0 ? arg.x - midLine : 1;
80 | arg.x = parseInt(arg.x / Marmot._grid) * Marmot._grid + (arg.x / Math.abs(arg.x)) * (parseInt(Marmot._grid / 2) + 1);
81 | arg.y = parseInt(arg.y / Marmot._grid) * Marmot._grid + (parseInt(Marmot._grid / 2) + 1);
82 | }
83 | //console.log(Marmot._preEvt.t, arg.t, Marmot._preEvt.path.join(''), arg.path.join(''))
84 | //处理表单域的点击事件与focus事件重复
85 | if (arg.t == 'c' && Marmot._preEvt !== null && Marmot._preEvt.t == 'f' && arg.path.join('') == Marmot._preEvt.path.join('')) {
86 | //console.log('pop')
87 | Marmot._logData.pop();
88 | }
89 | Marmot._logData.push(arg.x + '*' + arg.y + '*' + arg.path.join(''));
90 | Marmot._preEvt = arg;
91 | },
92 | stop: function() {
93 | Marmot.pushLog = function(){};
94 | },
95 | //将用户点击数据发送到服务端
96 | pushLog: function() {
97 | var data = Marmot._logData.join('!');
98 | var refer = document.referrer;
99 | if (refer.length > 100) {
100 | refer = refer.split('?')[0];
101 | }
102 | var img= document.createElement('img');
103 | img.src = Marmot._logUrl + '?mid=' + encodeURIComponent(this._pageID) + '&data=' + data + '&ref=' + encodeURIComponent(refer.substr(0, this._maxRef)) + '&px=' + window.screen.width + '*' + window.screen.height;
104 | document.body.appendChild(img);
105 | },
106 | //开启数据检测功能,捕获用户行为
107 | inspect: function() {
108 | //返回事件的target
109 | function getTarget(e) {
110 | return e.target || e.srcElement;
111 | };
112 | //返回事件对象
113 | function getEvent(event, element) {
114 | if (event) {
115 | return event;
116 | } else if (element) {
117 | if (element.document) return element.document.parentWindow.event;
118 | if (element.parentWindow) return element.parentWindow.event;
119 | }
120 | return window.event || null;
121 | };
122 | //侦听事件
123 | var listen = function () {
124 | if (document.addEventListener) {
125 | return function (element, name, handler) {
126 | element.addEventListener(name, handler, true);
127 | };
128 | } else if (document.attachEvent) {
129 | return function (element, name, handler) {
130 | element.attachEvent('on' + name, handler);
131 | };
132 | }
133 | }();
134 | function getDoc(evt) {
135 | var target = getTarget(evt), doc = document;
136 | if (target) {
137 | doc = target.document || target.ownerDocument || (target.window || target.defaultView) && target || document;
138 | }
139 | return doc;
140 | };
141 | //返回事件的触发坐标
142 | function getXY(evt) {
143 | var e = evt, doc = getDoc(evt);
144 | var x = ('pageX' in e) ? e.pageX : (e.clientX + (doc.documentElement.scrollLeft || doc.body.scrollLeft) - 2);
145 | var y = ('pageY' in e) ? e.pageY : (e.clientY + (doc.documentElement.scrollTop || doc.body.scrollTop) - 2);
146 | return {
147 | x: x,
148 | y: y
149 | }
150 | };
151 | //返回元素的绝对坐标
152 | function getPos(el) {
153 | var x = el.offsetTop;
154 | var y = el.offsetLeft;
155 | while (el = el.offsetParent) {
156 | x += el.offsetTop;
157 | y += el.offsetLeft;
158 | }
159 | return {
160 | x: x,
161 | y: y
162 | };
163 | };
164 | try {
165 | listen(document, 'mousedown', function(e) {
166 | var evt = getEvent(e, this);
167 | var target = getTarget(evt);
168 | var path = Marmot.getPath(target);
169 | var pos = getXY(evt);
170 | // debugger
171 | Marmot.log({
172 | x: pos.x,
173 | y: pos.y,
174 | path: path,
175 | t: 'c'
176 | })
177 | });
178 | listen(document, 'focus', function(e) {
179 | var evt = getEvent(e, this);
180 | var target = getTarget(evt);
181 | if (target.tagName) {
182 | var tag = target.tagName.toUpperCase();
183 | if (tag == 'INPUT' || tag == 'TEXTAREA' || tag == 'BUTTON' || tag == 'SELECT' || tag == 'OBJECT' || tag == 'EMBED') {
184 | var path = Marmot.getPath(target);
185 | var pos = getPos(target);
186 | Marmot.log({
187 | x: pos.x,
188 | y: pos.y,
189 | path: path,
190 | t: 'f'
191 | })
192 | } else {
193 | return;
194 | }
195 | }
196 | });
197 | listen(window, 'beforeunload', function(e) {
198 | Marmot.pushLog();
199 | });
200 | } catch(e) {};
201 | },
202 | //返回元素的MDP路径
203 | getPath: function(node, path) {
204 | path = path || [];
205 | if (node == document.body || (node.tagName && node.tagName.toUpperCase() == "HTML")) {
206 | return path;
207 | };
208 | if (node.getAttribute && node.getAttribute('id') != '' && node.getAttribute('id') != null) {
209 | path.push(node.nodeName.toLowerCase() + '.' + node.getAttribute('id'));
210 | return path;
211 | };
212 | if (node.parentNode && node.parentNode.tagName.toUpperCase() !="BODY") {
213 | path = Marmot.getPath(node.parentNode, path);
214 | }
215 | if(node.previousSibling) {
216 | var count = 1;
217 | var sibling = node.previousSibling
218 | do {
219 | //if(sibling.nodeType == 1 && sibling.nodeName == node.nodeName) {
220 | if(sibling.nodeType == 1 && sibling.nodeName == node.nodeName) {
221 | count++;
222 | }
223 | sibling = sibling.previousSibling;
224 | } while(sibling);
225 | }
226 | if(node.nodeType == 1) {
227 | path.push('~' + (count > 1 ? count : 1) + node.nodeName.toLowerCase());
228 | }
229 | return path;
230 | }
231 | }
232 |
233 | /**
234 | * 启动Marmot
235 | */
236 | Marmot.inspect();
237 | })();
238 |
--------------------------------------------------------------------------------
/website/client/script/eagle-monitor/bundle.umd.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (factory());
5 | }(this, (function () { 'use strict';
6 |
7 | // https://developer.mozilla.org/zh-CN/docs/Web/API/PerformanceTiming
8 |
9 | var perf = {
10 | init: function init(cb) {
11 | var cycleFreq = 100; // 循环轮询的时间
12 | var isOnload = false;
13 | var performance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance;
14 |
15 | var Util = {
16 | addEventListener: function addEventListener(name, callback, useCapture) {
17 | if (window.addEventListener) {
18 | return window.addEventListener(name, callback, useCapture);
19 | } else if (window.attachEvent) {
20 | return window.attachEvent('on' + name, callback);
21 | }
22 | },
23 |
24 | domready: function domready(callback) {
25 | if (isOnload === true) {
26 | return void 0;
27 | }
28 | var timer = null;
29 |
30 | if (document.readyState === 'interactive') {
31 | runCheck();
32 | } else if (document.addEventListener) {
33 | document.addEventListener('DOMContentLoaded', function () {
34 | runCheck();
35 | }, false);
36 | } else if (document.attachEvent) {
37 | document.attachEvent('onreadystatechange', function () {
38 | runCheck();
39 | });
40 | }
41 |
42 | function runCheck() {
43 | if (performance.timing.domInteractive) {
44 | clearTimeout(timer);
45 | callback();
46 |
47 | } else {
48 | timer = setTimeout(runCheck, cycleFreq);
49 | }
50 | }
51 | },
52 |
53 | onload: function onload(callback) {
54 | var timer = null;
55 |
56 | if (document.readyState === 'complete') {
57 | runCheck();
58 | } else {
59 | Util.addEventListener('load', function () {
60 | runCheck();
61 | }, false);
62 | }
63 |
64 | function runCheck() {
65 | if (performance.timing.loadEventEnd) {
66 | clearTimeout(timer);
67 | callback();
68 | isOnload = true;
69 | } else {
70 | timer = setTimeout(runCheck, cycleFreq);
71 | }
72 | }
73 | }
74 | };
75 |
76 | var reportPerf = function reportPerf() {
77 | if (!performance) {
78 | return void 0;
79 | }
80 |
81 | // 过滤无效数据;
82 | function filterTime(a, b) {
83 | return a > 0 && b > 0 && a - b >= 0 ? a - b : undefined;
84 | }
85 |
86 | // append data from window.performance
87 | var timing = performance.timing;
88 |
89 | var perfData = {
90 | // 网络建连
91 | pervPage: filterTime(timing.fetchStart, timing.navigationStart), // 上一个页面
92 | redirect: filterTime(timing.responseEnd, timing.redirectStart), // 页面重定向时间
93 | dns: filterTime(timing.domainLookupEnd, timing.domainLookupStart), // DNS查找时间
94 | connect: filterTime(timing.connectEnd, timing.connectStart), // TCP建连时间
95 | network: filterTime(timing.connectEnd, timing.navigationStart), // 网络总耗时
96 |
97 | // 网络接收
98 | send: filterTime(timing.responseStart, timing.requestStart), // 前端从发送到接收到后端第一个返回
99 | receive: filterTime(timing.responseEnd, timing.responseStart), // 接受页面时间
100 | request: filterTime(timing.responseEnd, timing.requestStart), // 请求页面总时间
101 |
102 | // 前端渲染
103 | dom: filterTime(timing.domComplete, timing.domLoading), // dom解析时间
104 | loadEvent: filterTime(timing.loadEventEnd, timing.loadEventStart), // loadEvent时间
105 | frontend: filterTime(timing.loadEventEnd, timing.domLoading), // 前端总时间
106 |
107 | // 关键阶段
108 | load: filterTime(timing.loadEventEnd, timing.navigationStart), // 页面完全加载总时间
109 | domReady: filterTime(timing.domContentLoadedEventStart, timing.navigationStart), // domready时间
110 | interactive: filterTime(timing.domInteractive, timing.navigationStart), // 可操作时间
111 | ttfb: filterTime(timing.responseStart, timing.navigationStart) // 首字节时间
112 | };
113 |
114 | return perfData;
115 | };
116 |
117 | Util.domready(function () {
118 | var perfData = reportPerf('domready');
119 | perfData.type = 'domready';
120 | cb(perfData);
121 | });
122 |
123 | Util.onload(function () {
124 | var perfData = reportPerf('onload');
125 | perfData.type = 'onload';
126 | cb(perfData);
127 | });
128 | }
129 | };
130 |
131 | var onload = function onload(cb) {
132 | if (document.readyState === 'complete') {
133 | cb();
134 | }
135 | window.addEventListener('load', cb);
136 | };
137 |
138 | function filterTime(a, b) {
139 | return a > 0 && b > 0 && a - b >= 0 ? a - b : undefined;
140 | }
141 |
142 | var resolvePerformanceTiming = function resolvePerformanceTiming(timing) {
143 | var o = {
144 | initiatorType: timing.initiatorType,
145 | name: timing.name,
146 | duration: parseInt(timing.duration),
147 | redirect: filterTime(timing.redirectEnd, timing.redirectStart), // 重定向
148 | dns: filterTime(timing.domainLookupEnd, timing.domainLookupStart), // DNS解析
149 | connect: filterTime(timing.connectEnd, timing.connectStart), // TCP建连
150 | network: filterTime(timing.connectEnd, timing.startTime), // 网络总耗时
151 |
152 | send: filterTime(timing.responseStart, timing.requestStart), // 发送开始到接受第一个返回
153 | receive: filterTime(timing.responseEnd, timing.responseStart), // 接收总时间
154 | request: filterTime(timing.responseEnd, timing.requestStart), // 总时间
155 |
156 | ttfb: filterTime(timing.responseStart, timing.requestStart) // 首字节时间
157 | };
158 |
159 | return o;
160 | };
161 |
162 | var resolveEntries = function resolveEntries(entries) {
163 | return entries.map(function (item) {
164 | return resolvePerformanceTiming(item);
165 | });
166 | };
167 |
168 | var resources = {
169 | init: function init(cb) {
170 | var performance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance;
171 | if (!performance || !performance.getEntries) {
172 | return void 0;
173 | }
174 |
175 | if (window.PerformanceObserver) {
176 | var observer = new window.PerformanceObserver(function (list) {
177 | try {
178 | var entries = list.getEntries();
179 | cb(resolveEntries(entries));
180 | } catch (e) {
181 | console.error(e);
182 | }
183 | });
184 | observer.observe({
185 | entryTypes: ['resource']
186 | });
187 | } else {
188 | onload(function () {
189 | var entries = performance.getEntriesByType('resource');
190 | cb(resolveEntries(entries));
191 | });
192 | }
193 | }
194 | };
195 |
196 | var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
197 |
198 | var formatError = function formatError(errObj) {
199 | var col = errObj.column || errObj.columnNumber; // Safari Firefox
200 | var row = errObj.line || errObj.lineNumber; // Safari Firefox
201 | var message = errObj.message;
202 | var name = errObj.name;
203 |
204 | var stack = errObj.stack;
205 |
206 | if (stack) {
207 | var matchUrl = stack.match(/https?:\/\/[^\n]+/);
208 | var urlFirstStack = matchUrl ? matchUrl[0] : '';
209 | var regUrlCheck = /https?:\/\/(\S)*\.js/;
210 |
211 | var resourceUrl = '';
212 | if (regUrlCheck.test(urlFirstStack)) {
213 | resourceUrl = urlFirstStack.match(regUrlCheck)[0];
214 | }
215 |
216 | var stackCol = null;
217 | var stackRow = null;
218 | var posStack = urlFirstStack.match(/:(\d+):(\d+)/);
219 | if (posStack && posStack.length >= 3) {
220 | var _posStack = _slicedToArray(posStack, 3);
221 |
222 | stackCol = _posStack[1];
223 | stackRow = _posStack[2];
224 | }
225 |
226 | // TODO formatStack
227 | return {
228 | content: stack,
229 | col: Number(col || stackCol),
230 | row: Number(row || stackRow),
231 | message: message, name: name, resourceUrl: resourceUrl
232 | };
233 | }
234 |
235 | return {
236 | row: row, col: col, message: message, name: name
237 | };
238 | };
239 |
240 | var errorCatch = {
241 | init: function init(cb) {
242 | var _originOnerror = window.onerror;
243 | window.onerror = function () {
244 | for (var _len = arguments.length, arg = Array(_len), _key = 0; _key < _len; _key++) {
245 | arg[_key] = arguments[_key];
246 | }
247 |
248 | var errorMessage = arg[0],
249 | scriptURI = arg[1],
250 | lineNumber = arg[2],
251 | columnNumber = arg[3],
252 | errorObj = arg[4];
253 | // console.log(arg, 'cuowu');
254 |
255 | var errorInfo = formatError(errorObj);
256 | errorInfo._errorMessage = errorMessage;
257 | errorInfo._scriptURI = scriptURI;
258 | errorInfo._lineNumber = lineNumber;
259 | errorInfo._columnNumber = columnNumber;
260 | errorInfo.type = 'onerror';
261 | cb(errorInfo);
262 | _originOnerror && _originOnerror.apply(window, arg);
263 | };
264 |
265 | var _originOnunhandledrejection = window.onunhandledrejection;
266 | window.onunhandledrejection = function () {
267 | for (var _len2 = arguments.length, arg = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
268 | arg[_key2] = arguments[_key2];
269 | }
270 |
271 | var e = arg[0];
272 | var reason = e.reason;
273 | cb({
274 | type: e.type || 'unhandledrejection',
275 | reason: reason
276 | });
277 | _originOnunhandledrejection && _originOnunhandledrejection.apply(window, arg);
278 | };
279 | }
280 | };
281 |
282 | var xhrHook = {
283 | init: function init(cb) {
284 | // xhr hook
285 | var xhr = window.XMLHttpRequest;
286 | if (xhr._eagle_flag === true) {
287 | return void 0;
288 | }
289 | xhr._eagle_flag = true;
290 |
291 | var _originOpen = xhr.prototype.open;
292 | xhr.prototype.open = function (method, url, async, user, password) {
293 | // TODO eagle url check
294 | this._eagle_xhr_info = {
295 | url: url,
296 | method: method,
297 | status: null
298 | };
299 | return _originOpen.apply(this, arguments);
300 | };
301 |
302 | var _originSend = xhr.prototype.send;
303 | xhr.prototype.send = function (value) {
304 | var _this2 = this;
305 |
306 | var _self = this;
307 | this._eagle_start_time = Date.now();
308 |
309 | var ajaxEnd = function ajaxEnd(event) {
310 | return function () {
311 | if (_self.response) {
312 | var responseSize = null;
313 | switch (_self.responseType) {
314 | case 'json':
315 | responseSize = JSON && JSON.stringify(_this.response).length;
316 | break;
317 | case 'blob':
318 | case 'moz-blob':
319 | responseSize = _self.response.size;
320 | break;
321 | case 'arraybuffer':
322 | responseSize = _self.response.byteLength;
323 | case 'document':
324 | responseSize = _self.response.documentElement && _self.response.documentElement.innerHTML && _self.response.documentElement.innerHTML.length + 28;
325 | break;
326 | default:
327 | responseSize = _self.response.length;
328 | }
329 | _self._eagle_xhr_info.event = event;
330 | _self._eagle_xhr_info.status = _self.status;
331 | _self._eagle_xhr_info.success = _self.status >= 200 && _self.status <= 206 || _self.status === 304;
332 | _self._eagle_xhr_info.duration = Date.now() - _self._eagle_start_time;
333 | _self._eagle_xhr_info.responseSize = responseSize;
334 | _self._eagle_xhr_info.requestSize = value ? value.length : 0;
335 | _self._eagle_xhr_info.type = 'xhr';
336 | cb(_this2._eagle_xhr_info);
337 | }
338 | };
339 | };
340 |
341 | // TODO eagle url check
342 | if (this.addEventListener) {
343 | this.addEventListener('load', ajaxEnd('load'), false);
344 | this.addEventListener('error', ajaxEnd('error'), false);
345 | this.addEventListener('abort', ajaxEnd('abort'), false);
346 | } else {
347 | var _origin_onreadystatechange = this.onreadystatechange;
348 | this.onreadystatechange = function (event) {
349 | if (_origin_onreadystatechange) {
350 | _originOpen.apply(this, arguments);
351 | }
352 | if (this.readyState === 4) {
353 | ajaxEnd('end')();
354 | }
355 | };
356 | }
357 | return _originSend.apply(this, arguments);
358 | };
359 |
360 | // fetch hook
361 | if (window.fetch) {
362 | var _origin_fetch = window.fetch;
363 | window.fetch = function () {
364 | var startTime = Date.now();
365 | var args = [].slice.call(arguments);
366 |
367 | var fetchInput = args[0];
368 | var method = 'GET';
369 | var url = void 0;
370 |
371 | if (typeof fetchInput === 'string') {
372 | url = fetchInput;
373 | } else if ('Request' in window && fetchInput instanceof window.Request) {
374 | url = fetchInput.url;
375 | if (fetchInput.method) {
376 | method = fetchInput.method;
377 | }
378 | } else {
379 | url = '' + fetchInput;
380 | }
381 |
382 | if (args[1] && args[1].method) {
383 | method = args[1].method;
384 | }
385 |
386 | // TODO eagle check
387 | var fetchData = {
388 | method: method,
389 | url: url,
390 | status: null
391 | };
392 |
393 | return _origin_fetch.apply(this, args).then(function (response) {
394 | fetchData.status = response.status;
395 | fetchData.type = 'fetch';
396 | fetchData.duration = Date.now() - startTime;
397 | cb(fetchData);
398 | return response;
399 | });
400 | };
401 | }
402 | }
403 | };
404 |
405 | // /html/body/div[2]/ul/li[2]
406 |
407 | var getXpath = function getXpath(element) {
408 | if (!(element instanceof Element)) {
409 | return void 0;
410 | }
411 |
412 | if (element.nodeType !== 1) {
413 | return void 0;
414 | }
415 |
416 | var rootElement = document.body;
417 | if (element === rootElement) {
418 | return void 0;
419 | }
420 |
421 | var childIndex = function childIndex(ele) {
422 | var parent = ele.parentNode;
423 | var children = [].slice.call(parent.childNodes).filter(function (_) {
424 | return _.nodeType === 1;
425 | });
426 | var i = 0;
427 | for (var _i = 0, len = children.length; _i < len; _i++) {
428 | if (children[_i] === ele) {
429 | i = _i;
430 | break;
431 | }
432 | }
433 | return i === 0 ? '' : '[' + i + ']';
434 | };
435 |
436 | var xpath = '';
437 |
438 | while (element !== document) {
439 | var tag = element.tagName.toLocaleLowerCase();
440 | var eleIndex = childIndex(element);
441 | xpath = '/' + tag + eleIndex + xpath;
442 | element = element.parentNode;
443 | }
444 |
445 | return xpath;
446 | };
447 |
448 | var behavior = {
449 | init: function init(cb) {
450 | cb();
451 | document.addEventListener('click', function (e) {
452 | var xpath = getXpath(e.target);
453 | console.log('xpath: ', xpath);
454 | }, false);
455 | }
456 | };
457 |
458 | perf.init(function (perfData) {
459 | // console.log('perf', perfData);
460 | });
461 |
462 | resources.init(function (list) {
463 | // console.log('resources', list.length === 1 ? list[0] : list);
464 | });
465 |
466 | errorCatch.init(function (err) {
467 | console.log('errorCatch', err);
468 | });
469 |
470 | xhrHook.init(function (xhrInfo) {
471 | console.log(xhrInfo);
472 | });
473 |
474 | behavior.init(function () {
475 | console.log('behavior init');
476 | });
477 |
478 | })));
479 | //# sourceMappingURL=bundle.umd.js.map
480 |
--------------------------------------------------------------------------------
/website/client/script/eagle-monitor/bundle.umd.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"bundle.umd.js","sources":["../../../../eagle-sdk/perf.js","../../../../eagle-sdk/util.js","../../../../eagle-sdk/resources.js","../../../../eagle-sdk/errorCatch.js","../../../../eagle-sdk/xhr.js","../../../../eagle-sdk/util/xpath.js","../../../../eagle-sdk/behavior.js","../../../../eagle-sdk/index.js"],"sourcesContent":["// https://developer.mozilla.org/zh-CN/docs/Web/API/PerformanceTiming\n\nlet perf = {\n init: (cb) => {\n let cycleFreq = 100; // 循环轮询的时间\n let isDOMReady = false;\n let isOnload = false;\n let performance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance;\n\n let Util = {\n addEventListener: function (name, callback, useCapture) {\n if (window.addEventListener) {\n return window.addEventListener(name, callback, useCapture);\n } else if (window.attachEvent) {\n return window.attachEvent('on' + name, callback);\n }\n },\n\n domready: function (callback) {\n if ( isOnload === true ) { return void 0; }\n let timer = null;\n\n if ( document.readyState === 'interactive' ) {\n runCheck();\n } else if (document.addEventListener) {\n document.addEventListener('DOMContentLoaded', function () {\n runCheck();\n }, false);\n } else if (document.attachEvent) {\n document.attachEvent('onreadystatechange', function () {\n runCheck();\n });\n }\n\n function runCheck() {\n if ( performance.timing.domInteractive ) {\n clearTimeout(timer);\n callback();\n isDOMReady = true;\n } else {\n timer = setTimeout(runCheck, cycleFreq);\n }\n }\n },\n\n onload: function (callback) {\n let timer = null;\n\n if (document.readyState === 'complete') {\n runCheck();\n } else {\n Util.addEventListener('load', function () {\n runCheck();\n }, false);\n }\n\n function runCheck() {\n if ( performance.timing.loadEventEnd ) {\n clearTimeout(timer);\n callback();\n isOnload = true;\n } else {\n timer = setTimeout(runCheck, cycleFreq);\n }\n }\n }\n };\n\n let reportPerf = function () {\n if (!performance) {\n return void 0;\n }\n\n // 过滤无效数据;\n function filterTime(a, b) {\n return (a > 0 && b > 0 && (a - b) >= 0) ? (a - b) : undefined;\n }\n\n // append data from window.performance\n let timing = performance.timing;\n\n let perfData = {\n // 网络建连\n pervPage: filterTime(timing.fetchStart, timing.navigationStart), // 上一个页面\n redirect: filterTime(timing.responseEnd, timing.redirectStart), // 页面重定向时间\n dns: filterTime(timing.domainLookupEnd, timing.domainLookupStart), // DNS查找时间\n connect: filterTime(timing.connectEnd, timing.connectStart), // TCP建连时间\n network: filterTime(timing.connectEnd, timing.navigationStart), // 网络总耗时\n\n // 网络接收\n send: filterTime(timing.responseStart, timing.requestStart), // 前端从发送到接收到后端第一个返回\n receive: filterTime(timing.responseEnd, timing.responseStart), // 接受页面时间\n request: filterTime(timing.responseEnd, timing.requestStart), // 请求页面总时间\n\n // 前端渲染\n dom: filterTime(timing.domComplete, timing.domLoading), // dom解析时间\n loadEvent: filterTime(timing.loadEventEnd, timing.loadEventStart), // loadEvent时间\n frontend: filterTime(timing.loadEventEnd, timing.domLoading), // 前端总时间\n\n // 关键阶段\n load: filterTime(timing.loadEventEnd, timing.navigationStart), // 页面完全加载总时间\n domReady: filterTime(timing.domContentLoadedEventStart, timing.navigationStart), // domready时间\n interactive: filterTime(timing.domInteractive, timing.navigationStart), // 可操作时间\n ttfb: filterTime(timing.responseStart, timing.navigationStart), // 首字节时间\n };\n\n return perfData;\n };\n\n Util.domready(function () {\n let perfData = reportPerf('domready');\n perfData.type = 'domready';\n cb(perfData);\n });\n\n Util.onload(function () {\n let perfData = reportPerf('onload');\n perfData.type = 'onload';\n cb(perfData);\n });\n }\n};\n\nexport default perf;\n","export let noop = () => {};\nexport let onload = (cb) => {\n if (document.readyState === 'complete') {\n cb();\n }\n window.addEventListener('load', cb);\n};\n\nexport default {\n noop,\n onload\n};\n","import {onload} from './util.js';\n\n// 过滤无效数据\nfunction filterTime(a, b) {\n return (a > 0 && b > 0 && (a - b) >= 0) ? (a - b) : undefined;\n}\n\nlet resolvePerformanceTiming = (timing) => {\n let o = {\n initiatorType: timing.initiatorType,\n name: timing.name,\n duration: parseInt(timing.duration),\n redirect: filterTime(timing.redirectEnd, timing.redirectStart), // 重定向\n dns: filterTime(timing.domainLookupEnd, timing.domainLookupStart), // DNS解析\n connect: filterTime(timing.connectEnd, timing.connectStart), // TCP建连\n network: filterTime(timing.connectEnd, timing.startTime), // 网络总耗时\n\n send: filterTime(timing.responseStart, timing.requestStart), // 发送开始到接受第一个返回\n receive: filterTime(timing.responseEnd, timing.responseStart), // 接收总时间\n request: filterTime(timing.responseEnd, timing.requestStart), // 总时间\n\n ttfb: filterTime(timing.responseStart, timing.requestStart), // 首字节时间\n };\n\n return o;\n};\n\nlet resolveEntries = (entries) => entries.map(item => resolvePerformanceTiming(item));\n\nlet resources = {\n init: (cb) => {\n let performance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance;\n if (!performance || !performance.getEntries) {\n return void 0;\n }\n\n if (window.PerformanceObserver) {\n let observer = new window.PerformanceObserver((list) => {\n try {\n let entries = list.getEntries();\n cb(resolveEntries(entries));\n } catch (e) {\n console.error(e);\n }\n });\n observer.observe({\n entryTypes: ['resource']\n })\n } else {\n onload(() => {\n let entries = performance.getEntriesByType('resource');\n cb(resolveEntries(entries));\n });\n }\n },\n};\n\nexport default resources;\n","let formatError = (errObj) => {\n let col = errObj.column || errObj.columnNumber; // Safari Firefox\n let row = errObj.line || errObj.lineNumber; // Safari Firefox\n let message = errObj.message;\n let name = errObj.name;\n\n let {stack} = errObj;\n if (stack) {\n let matchUrl = stack.match(/https?:\\/\\/[^\\n]+/);\n let urlFirstStack = matchUrl ? matchUrl[0] : '';\n let regUrlCheck = /https?:\\/\\/(\\S)*\\.js/;\n\n let resourceUrl = '';\n if (regUrlCheck.test(urlFirstStack)) {\n resourceUrl = urlFirstStack.match(regUrlCheck)[0];\n }\n\n let stackCol = null;\n let stackRow = null;\n let posStack = urlFirstStack.match(/:(\\d+):(\\d+)/);\n if (posStack && posStack.length >= 3) {\n [, stackCol, stackRow] = posStack;\n }\n\n // TODO formatStack\n return {\n content: stack,\n col: Number(col || stackCol),\n row: Number(row || stackRow),\n message, name, resourceUrl\n };\n }\n\n return {\n row, col, message, name\n }\n};\n\nlet errorCatch = {\n init: (cb) => {\n let _originOnerror = window.onerror;\n window.onerror = (...arg) => {\n let [errorMessage, scriptURI, lineNumber, columnNumber, errorObj] = arg;\n // console.log(arg, 'cuowu');\n let errorInfo = formatError(errorObj);\n errorInfo._errorMessage = errorMessage;\n errorInfo._scriptURI = scriptURI;\n errorInfo._lineNumber = lineNumber;\n errorInfo._columnNumber = columnNumber;\n errorInfo.type = 'onerror';\n cb(errorInfo);\n _originOnerror && _originOnerror.apply(window, arg);\n };\n\n let _originOnunhandledrejection = window.onunhandledrejection;\n window.onunhandledrejection = (...arg) => {\n let e = arg[0];\n let reason = e.reason;\n cb({\n type: e.type || 'unhandledrejection',\n reason\n });\n _originOnunhandledrejection && _originOnunhandledrejection.apply(window, arg);\n };\n },\n};\n\nexport default errorCatch;\n","let xhrHook = {\n init: (cb) => {\n // xhr hook\n let xhr = window.XMLHttpRequest;\n if (xhr._eagle_flag === true) {\n return void 0;\n }\n xhr._eagle_flag = true;\n\n let _originOpen = xhr.prototype.open;\n xhr.prototype.open = function (method, url, async, user, password) {\n // TODO eagle url check\n this._eagle_xhr_info = {\n url: url,\n method: method,\n status: null\n };\n return _originOpen.apply(this, arguments);\n };\n\n let _originSend = xhr.prototype.send;\n xhr.prototype.send = function (value) {\n let _self = this;\n this._eagle_start_time = Date.now();\n\n let ajaxEnd = (event) => () => {\n if (_self.response) {\n let responseSize = null;\n switch(_self.responseType) {\n case 'json':\n responseSize = JSON && JSON.stringify(_this.response).length;\n break;\n case 'blob':\n case 'moz-blob':\n responseSize = _self.response.size;\n break;\n case 'arraybuffer':\n responseSize = _self.response.byteLength;\n case 'document':\n responseSize = _self.response.documentElement && _self.response.documentElement.innerHTML && (_self.response.documentElement.innerHTML.length + 28);\n break;\n default:\n responseSize = _self.response.length;\n }\n _self._eagle_xhr_info.event = event;\n _self._eagle_xhr_info.status = _self.status;\n _self._eagle_xhr_info.success = (_self.status >= 200 && _self.status <= 206) || _self.status === 304;\n _self._eagle_xhr_info.duration = Date.now() - _self._eagle_start_time;\n _self._eagle_xhr_info.responseSize = responseSize;\n _self._eagle_xhr_info.requestSize = value ? value.length : 0;\n _self._eagle_xhr_info.type = 'xhr';\n cb(this._eagle_xhr_info);\n }\n };\n\n // TODO eagle url check\n if (this.addEventListener) {\n this.addEventListener('load', ajaxEnd('load'), false);\n this.addEventListener('error', ajaxEnd('error'), false);\n this.addEventListener('abort', ajaxEnd('abort'), false);\n } else {\n let _origin_onreadystatechange = this.onreadystatechange;\n this.onreadystatechange = function (event) {\n if (_origin_onreadystatechange) {\n _originOpen.apply(this, arguments);\n }\n if (this.readyState === 4) {\n ajaxEnd('end')();\n }\n };\n }\n return _originSend.apply(this, arguments);\n };\n\n // fetch hook\n if (window.fetch) {\n let _origin_fetch = window.fetch;\n window.fetch = function () {\n let startTime = Date.now();\n let args = [].slice.call(arguments);\n\n let fetchInput = args[0];\n let method = 'GET';\n let url;\n\n if (typeof fetchInput === 'string') {\n url = fetchInput;\n } else if ('Request' in window && fetchInput instanceof window.Request) {\n url = fetchInput.url;\n if (fetchInput.method) {\n method = fetchInput.method;\n }\n } else {\n url = '' + fetchInput;\n }\n\n if (args[1] && args[1].method) {\n method = args[1].method;\n }\n\n // TODO eagle check\n let fetchData = {\n method: method,\n url: url,\n status: null,\n };\n\n return _origin_fetch.apply(this, args).then(function(response) {\n fetchData.status = response.status;\n fetchData.type = 'fetch';\n fetchData.duration = Date.now() - startTime;\n cb(fetchData);\n return response;\n });\n }\n }\n }\n};\n\nexport default xhrHook;\n","// /html/body/div[2]/ul/li[2]\n\nlet getXpath = (element) => {\n if (!(element instanceof Element)) {\n return void 0;\n }\n\n if (element.nodeType !== 1) {\n return void 0;\n }\n\n let rootElement = document.body;\n if (element === rootElement) {\n return void 0;\n }\n\n\n let childIndex = (ele) => {\n let parent = ele.parentNode;\n let children = [].slice.call(parent.childNodes).filter(_ => _.nodeType === 1);\n let i = 0;\n for (let _i = 0, len = children.length; _i < len; _i++) {\n if (children[_i] === ele) {\n i = _i;\n break;\n }\n }\n return i === 0 ? '' : '[' + i + ']';\n };\n\n let xpath = '';\n\n while (element !== document) {\n let tag = element.tagName.toLocaleLowerCase();\n let eleIndex = childIndex(element);\n xpath = '/' + tag + eleIndex + xpath;\n element = element.parentNode;\n }\n\n return xpath;\n};\n\nexport default getXpath;\n","import getXpath from './util/xpath.js';\n\nexport default {\n init: (cb) => {\n cb();\n document.addEventListener('click', (e) => {\n let xpath = getXpath(e.target);\n console.log('xpath: ', xpath);\n }, false);\n }\n}\n","import perf from './perf.js';\nimport resources from './resources.js';\nimport errorCatch from './errorCatch.js';\nimport xhrHook from './xhr.js';\nimport behavior from './behavior.js';\n\nperf.init((perfData) => {\n // console.log('perf', perfData);\n});\n\nresources.init((list) => {\n // console.log('resources', list.length === 1 ? list[0] : list);\n});\n\nerrorCatch.init((err) => {\n console.log('errorCatch', err);\n});\n\nxhrHook.init((xhrInfo) => {\n console.log(xhrInfo);\n});\n\nbehavior.init(() => {\n console.log('behavior init');\n});\n"],"names":["perf","cb","cycleFreq","isOnload","performance","window","mozPerformance","msPerformance","webkitPerformance","Util","name","callback","useCapture","addEventListener","attachEvent","timer","document","readyState","runCheck","timing","domInteractive","setTimeout","loadEventEnd","reportPerf","filterTime","a","b","undefined","perfData","fetchStart","navigationStart","responseEnd","redirectStart","domainLookupEnd","domainLookupStart","connectEnd","connectStart","responseStart","requestStart","domComplete","domLoading","loadEventStart","domContentLoadedEventStart","domready","type","onload","resolvePerformanceTiming","o","initiatorType","parseInt","duration","redirectEnd","startTime","resolveEntries","entries","map","item","resources","getEntries","PerformanceObserver","observer","list","e","error","observe","getEntriesByType","formatError","errObj","col","column","columnNumber","row","line","lineNumber","message","stack","matchUrl","match","urlFirstStack","regUrlCheck","resourceUrl","test","stackCol","stackRow","posStack","length","Number","errorCatch","_originOnerror","onerror","arg","errorMessage","scriptURI","errorObj","errorInfo","_errorMessage","_scriptURI","_lineNumber","_columnNumber","apply","_originOnunhandledrejection","onunhandledrejection","reason","xhrHook","xhr","XMLHttpRequest","_eagle_flag","_originOpen","prototype","open","method","url","async","user","password","_eagle_xhr_info","arguments","_originSend","send","value","_self","_eagle_start_time","Date","now","ajaxEnd","event","response","responseSize","responseType","JSON","stringify","_this","size","byteLength","documentElement","innerHTML","status","success","requestSize","_origin_onreadystatechange","onreadystatechange","fetch","_origin_fetch","args","slice","call","fetchInput","Request","fetchData","then","getXpath","element","Element","nodeType","rootElement","body","childIndex","ele","parent","parentNode","children","childNodes","filter","_","i","_i","len","xpath","tag","tagName","toLocaleLowerCase","eleIndex","target","log","init","err","xhrInfo","behavior"],"mappings":"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"}
--------------------------------------------------------------------------------
/eagle-sdk/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "src",
3 | "version": "1.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "ansi-regex": {
8 | "version": "2.1.1",
9 | "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
10 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
11 | "dev": true
12 | },
13 | "ansi-styles": {
14 | "version": "2.2.1",
15 | "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz",
16 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
17 | "dev": true
18 | },
19 | "babel-code-frame": {
20 | "version": "6.26.0",
21 | "resolved": "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz",
22 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
23 | "dev": true,
24 | "requires": {
25 | "chalk": "1.1.3",
26 | "esutils": "2.0.2",
27 | "js-tokens": "3.0.2"
28 | }
29 | },
30 | "babel-core": {
31 | "version": "6.26.0",
32 | "resolved": "http://registry.npm.taobao.org/babel-core/download/babel-core-6.26.0.tgz",
33 | "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
34 | "dev": true,
35 | "requires": {
36 | "babel-code-frame": "6.26.0",
37 | "babel-generator": "6.26.1",
38 | "babel-helpers": "6.24.1",
39 | "babel-messages": "6.23.0",
40 | "babel-register": "6.26.0",
41 | "babel-runtime": "6.26.0",
42 | "babel-template": "6.26.0",
43 | "babel-traverse": "6.26.0",
44 | "babel-types": "6.26.0",
45 | "babylon": "6.18.0",
46 | "convert-source-map": "1.5.1",
47 | "debug": "2.6.9",
48 | "json5": "0.5.1",
49 | "lodash": "4.17.5",
50 | "minimatch": "3.0.4",
51 | "path-is-absolute": "1.0.1",
52 | "private": "0.1.8",
53 | "slash": "1.0.0",
54 | "source-map": "0.5.7"
55 | }
56 | },
57 | "babel-generator": {
58 | "version": "6.26.1",
59 | "resolved": "http://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.1.tgz",
60 | "integrity": "sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=",
61 | "dev": true,
62 | "requires": {
63 | "babel-messages": "6.23.0",
64 | "babel-runtime": "6.26.0",
65 | "babel-types": "6.26.0",
66 | "detect-indent": "4.0.0",
67 | "jsesc": "1.3.0",
68 | "lodash": "4.17.5",
69 | "source-map": "0.5.7",
70 | "trim-right": "1.0.1"
71 | }
72 | },
73 | "babel-helper-builder-binary-assignment-operator-visitor": {
74 | "version": "6.24.1",
75 | "resolved": "http://registry.npm.taobao.org/babel-helper-builder-binary-assignment-operator-visitor/download/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
76 | "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
77 | "dev": true,
78 | "requires": {
79 | "babel-helper-explode-assignable-expression": "6.24.1",
80 | "babel-runtime": "6.26.0",
81 | "babel-types": "6.26.0"
82 | }
83 | },
84 | "babel-helper-call-delegate": {
85 | "version": "6.24.1",
86 | "resolved": "http://registry.npm.taobao.org/babel-helper-call-delegate/download/babel-helper-call-delegate-6.24.1.tgz",
87 | "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
88 | "dev": true,
89 | "requires": {
90 | "babel-helper-hoist-variables": "6.24.1",
91 | "babel-runtime": "6.26.0",
92 | "babel-traverse": "6.26.0",
93 | "babel-types": "6.26.0"
94 | }
95 | },
96 | "babel-helper-define-map": {
97 | "version": "6.26.0",
98 | "resolved": "http://registry.npm.taobao.org/babel-helper-define-map/download/babel-helper-define-map-6.26.0.tgz",
99 | "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
100 | "dev": true,
101 | "requires": {
102 | "babel-helper-function-name": "6.24.1",
103 | "babel-runtime": "6.26.0",
104 | "babel-types": "6.26.0",
105 | "lodash": "4.17.5"
106 | }
107 | },
108 | "babel-helper-explode-assignable-expression": {
109 | "version": "6.24.1",
110 | "resolved": "http://registry.npm.taobao.org/babel-helper-explode-assignable-expression/download/babel-helper-explode-assignable-expression-6.24.1.tgz",
111 | "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
112 | "dev": true,
113 | "requires": {
114 | "babel-runtime": "6.26.0",
115 | "babel-traverse": "6.26.0",
116 | "babel-types": "6.26.0"
117 | }
118 | },
119 | "babel-helper-function-name": {
120 | "version": "6.24.1",
121 | "resolved": "http://registry.npm.taobao.org/babel-helper-function-name/download/babel-helper-function-name-6.24.1.tgz",
122 | "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
123 | "dev": true,
124 | "requires": {
125 | "babel-helper-get-function-arity": "6.24.1",
126 | "babel-runtime": "6.26.0",
127 | "babel-template": "6.26.0",
128 | "babel-traverse": "6.26.0",
129 | "babel-types": "6.26.0"
130 | }
131 | },
132 | "babel-helper-get-function-arity": {
133 | "version": "6.24.1",
134 | "resolved": "http://registry.npm.taobao.org/babel-helper-get-function-arity/download/babel-helper-get-function-arity-6.24.1.tgz",
135 | "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
136 | "dev": true,
137 | "requires": {
138 | "babel-runtime": "6.26.0",
139 | "babel-types": "6.26.0"
140 | }
141 | },
142 | "babel-helper-hoist-variables": {
143 | "version": "6.24.1",
144 | "resolved": "http://registry.npm.taobao.org/babel-helper-hoist-variables/download/babel-helper-hoist-variables-6.24.1.tgz",
145 | "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
146 | "dev": true,
147 | "requires": {
148 | "babel-runtime": "6.26.0",
149 | "babel-types": "6.26.0"
150 | }
151 | },
152 | "babel-helper-optimise-call-expression": {
153 | "version": "6.24.1",
154 | "resolved": "http://registry.npm.taobao.org/babel-helper-optimise-call-expression/download/babel-helper-optimise-call-expression-6.24.1.tgz",
155 | "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
156 | "dev": true,
157 | "requires": {
158 | "babel-runtime": "6.26.0",
159 | "babel-types": "6.26.0"
160 | }
161 | },
162 | "babel-helper-regex": {
163 | "version": "6.26.0",
164 | "resolved": "http://registry.npm.taobao.org/babel-helper-regex/download/babel-helper-regex-6.26.0.tgz",
165 | "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
166 | "dev": true,
167 | "requires": {
168 | "babel-runtime": "6.26.0",
169 | "babel-types": "6.26.0",
170 | "lodash": "4.17.5"
171 | }
172 | },
173 | "babel-helper-remap-async-to-generator": {
174 | "version": "6.24.1",
175 | "resolved": "http://registry.npm.taobao.org/babel-helper-remap-async-to-generator/download/babel-helper-remap-async-to-generator-6.24.1.tgz",
176 | "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
177 | "dev": true,
178 | "requires": {
179 | "babel-helper-function-name": "6.24.1",
180 | "babel-runtime": "6.26.0",
181 | "babel-template": "6.26.0",
182 | "babel-traverse": "6.26.0",
183 | "babel-types": "6.26.0"
184 | }
185 | },
186 | "babel-helper-replace-supers": {
187 | "version": "6.24.1",
188 | "resolved": "http://registry.npm.taobao.org/babel-helper-replace-supers/download/babel-helper-replace-supers-6.24.1.tgz",
189 | "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
190 | "dev": true,
191 | "requires": {
192 | "babel-helper-optimise-call-expression": "6.24.1",
193 | "babel-messages": "6.23.0",
194 | "babel-runtime": "6.26.0",
195 | "babel-template": "6.26.0",
196 | "babel-traverse": "6.26.0",
197 | "babel-types": "6.26.0"
198 | }
199 | },
200 | "babel-helpers": {
201 | "version": "6.24.1",
202 | "resolved": "http://registry.npm.taobao.org/babel-helpers/download/babel-helpers-6.24.1.tgz",
203 | "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
204 | "dev": true,
205 | "requires": {
206 | "babel-runtime": "6.26.0",
207 | "babel-template": "6.26.0"
208 | }
209 | },
210 | "babel-messages": {
211 | "version": "6.23.0",
212 | "resolved": "http://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz",
213 | "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
214 | "dev": true,
215 | "requires": {
216 | "babel-runtime": "6.26.0"
217 | }
218 | },
219 | "babel-plugin-check-es2015-constants": {
220 | "version": "6.22.0",
221 | "resolved": "http://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz",
222 | "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
223 | "dev": true,
224 | "requires": {
225 | "babel-runtime": "6.26.0"
226 | }
227 | },
228 | "babel-plugin-syntax-async-functions": {
229 | "version": "6.13.0",
230 | "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-async-functions/download/babel-plugin-syntax-async-functions-6.13.0.tgz",
231 | "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
232 | "dev": true
233 | },
234 | "babel-plugin-syntax-exponentiation-operator": {
235 | "version": "6.13.0",
236 | "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-exponentiation-operator/download/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
237 | "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
238 | "dev": true
239 | },
240 | "babel-plugin-syntax-trailing-function-commas": {
241 | "version": "6.22.0",
242 | "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
243 | "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
244 | "dev": true
245 | },
246 | "babel-plugin-transform-async-to-generator": {
247 | "version": "6.24.1",
248 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-async-to-generator/download/babel-plugin-transform-async-to-generator-6.24.1.tgz",
249 | "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
250 | "dev": true,
251 | "requires": {
252 | "babel-helper-remap-async-to-generator": "6.24.1",
253 | "babel-plugin-syntax-async-functions": "6.13.0",
254 | "babel-runtime": "6.26.0"
255 | }
256 | },
257 | "babel-plugin-transform-es2015-arrow-functions": {
258 | "version": "6.22.0",
259 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-arrow-functions/download/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
260 | "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
261 | "dev": true,
262 | "requires": {
263 | "babel-runtime": "6.26.0"
264 | }
265 | },
266 | "babel-plugin-transform-es2015-block-scoped-functions": {
267 | "version": "6.22.0",
268 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoped-functions/download/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
269 | "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
270 | "dev": true,
271 | "requires": {
272 | "babel-runtime": "6.26.0"
273 | }
274 | },
275 | "babel-plugin-transform-es2015-block-scoping": {
276 | "version": "6.26.0",
277 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoping/download/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
278 | "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
279 | "dev": true,
280 | "requires": {
281 | "babel-runtime": "6.26.0",
282 | "babel-template": "6.26.0",
283 | "babel-traverse": "6.26.0",
284 | "babel-types": "6.26.0",
285 | "lodash": "4.17.5"
286 | }
287 | },
288 | "babel-plugin-transform-es2015-classes": {
289 | "version": "6.24.1",
290 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-classes/download/babel-plugin-transform-es2015-classes-6.24.1.tgz",
291 | "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
292 | "dev": true,
293 | "requires": {
294 | "babel-helper-define-map": "6.26.0",
295 | "babel-helper-function-name": "6.24.1",
296 | "babel-helper-optimise-call-expression": "6.24.1",
297 | "babel-helper-replace-supers": "6.24.1",
298 | "babel-messages": "6.23.0",
299 | "babel-runtime": "6.26.0",
300 | "babel-template": "6.26.0",
301 | "babel-traverse": "6.26.0",
302 | "babel-types": "6.26.0"
303 | }
304 | },
305 | "babel-plugin-transform-es2015-computed-properties": {
306 | "version": "6.24.1",
307 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-computed-properties/download/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
308 | "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
309 | "dev": true,
310 | "requires": {
311 | "babel-runtime": "6.26.0",
312 | "babel-template": "6.26.0"
313 | }
314 | },
315 | "babel-plugin-transform-es2015-destructuring": {
316 | "version": "6.23.0",
317 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
318 | "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
319 | "dev": true,
320 | "requires": {
321 | "babel-runtime": "6.26.0"
322 | }
323 | },
324 | "babel-plugin-transform-es2015-duplicate-keys": {
325 | "version": "6.24.1",
326 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-duplicate-keys/download/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
327 | "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
328 | "dev": true,
329 | "requires": {
330 | "babel-runtime": "6.26.0",
331 | "babel-types": "6.26.0"
332 | }
333 | },
334 | "babel-plugin-transform-es2015-for-of": {
335 | "version": "6.23.0",
336 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-for-of/download/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
337 | "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
338 | "dev": true,
339 | "requires": {
340 | "babel-runtime": "6.26.0"
341 | }
342 | },
343 | "babel-plugin-transform-es2015-function-name": {
344 | "version": "6.24.1",
345 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
346 | "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
347 | "dev": true,
348 | "requires": {
349 | "babel-helper-function-name": "6.24.1",
350 | "babel-runtime": "6.26.0",
351 | "babel-types": "6.26.0"
352 | }
353 | },
354 | "babel-plugin-transform-es2015-literals": {
355 | "version": "6.22.0",
356 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-literals/download/babel-plugin-transform-es2015-literals-6.22.0.tgz",
357 | "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
358 | "dev": true,
359 | "requires": {
360 | "babel-runtime": "6.26.0"
361 | }
362 | },
363 | "babel-plugin-transform-es2015-modules-amd": {
364 | "version": "6.24.1",
365 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-amd/download/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
366 | "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
367 | "dev": true,
368 | "requires": {
369 | "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
370 | "babel-runtime": "6.26.0",
371 | "babel-template": "6.26.0"
372 | }
373 | },
374 | "babel-plugin-transform-es2015-modules-commonjs": {
375 | "version": "6.26.0",
376 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
377 | "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=",
378 | "dev": true,
379 | "requires": {
380 | "babel-plugin-transform-strict-mode": "6.24.1",
381 | "babel-runtime": "6.26.0",
382 | "babel-template": "6.26.0",
383 | "babel-types": "6.26.0"
384 | }
385 | },
386 | "babel-plugin-transform-es2015-modules-systemjs": {
387 | "version": "6.24.1",
388 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-systemjs/download/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
389 | "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
390 | "dev": true,
391 | "requires": {
392 | "babel-helper-hoist-variables": "6.24.1",
393 | "babel-runtime": "6.26.0",
394 | "babel-template": "6.26.0"
395 | }
396 | },
397 | "babel-plugin-transform-es2015-modules-umd": {
398 | "version": "6.24.1",
399 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-umd/download/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
400 | "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
401 | "dev": true,
402 | "requires": {
403 | "babel-plugin-transform-es2015-modules-amd": "6.24.1",
404 | "babel-runtime": "6.26.0",
405 | "babel-template": "6.26.0"
406 | }
407 | },
408 | "babel-plugin-transform-es2015-object-super": {
409 | "version": "6.24.1",
410 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-object-super/download/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
411 | "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
412 | "dev": true,
413 | "requires": {
414 | "babel-helper-replace-supers": "6.24.1",
415 | "babel-runtime": "6.26.0"
416 | }
417 | },
418 | "babel-plugin-transform-es2015-parameters": {
419 | "version": "6.24.1",
420 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
421 | "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
422 | "dev": true,
423 | "requires": {
424 | "babel-helper-call-delegate": "6.24.1",
425 | "babel-helper-get-function-arity": "6.24.1",
426 | "babel-runtime": "6.26.0",
427 | "babel-template": "6.26.0",
428 | "babel-traverse": "6.26.0",
429 | "babel-types": "6.26.0"
430 | }
431 | },
432 | "babel-plugin-transform-es2015-shorthand-properties": {
433 | "version": "6.24.1",
434 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-shorthand-properties/download/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
435 | "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
436 | "dev": true,
437 | "requires": {
438 | "babel-runtime": "6.26.0",
439 | "babel-types": "6.26.0"
440 | }
441 | },
442 | "babel-plugin-transform-es2015-spread": {
443 | "version": "6.22.0",
444 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-spread/download/babel-plugin-transform-es2015-spread-6.22.0.tgz",
445 | "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
446 | "dev": true,
447 | "requires": {
448 | "babel-runtime": "6.26.0"
449 | }
450 | },
451 | "babel-plugin-transform-es2015-sticky-regex": {
452 | "version": "6.24.1",
453 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
454 | "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
455 | "dev": true,
456 | "requires": {
457 | "babel-helper-regex": "6.26.0",
458 | "babel-runtime": "6.26.0",
459 | "babel-types": "6.26.0"
460 | }
461 | },
462 | "babel-plugin-transform-es2015-template-literals": {
463 | "version": "6.22.0",
464 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-template-literals/download/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
465 | "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
466 | "dev": true,
467 | "requires": {
468 | "babel-runtime": "6.26.0"
469 | }
470 | },
471 | "babel-plugin-transform-es2015-typeof-symbol": {
472 | "version": "6.23.0",
473 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-typeof-symbol/download/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
474 | "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
475 | "dev": true,
476 | "requires": {
477 | "babel-runtime": "6.26.0"
478 | }
479 | },
480 | "babel-plugin-transform-es2015-unicode-regex": {
481 | "version": "6.24.1",
482 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
483 | "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
484 | "dev": true,
485 | "requires": {
486 | "babel-helper-regex": "6.26.0",
487 | "babel-runtime": "6.26.0",
488 | "regexpu-core": "2.0.0"
489 | }
490 | },
491 | "babel-plugin-transform-exponentiation-operator": {
492 | "version": "6.24.1",
493 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-exponentiation-operator/download/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
494 | "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
495 | "dev": true,
496 | "requires": {
497 | "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1",
498 | "babel-plugin-syntax-exponentiation-operator": "6.13.0",
499 | "babel-runtime": "6.26.0"
500 | }
501 | },
502 | "babel-plugin-transform-regenerator": {
503 | "version": "6.26.0",
504 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-regenerator/download/babel-plugin-transform-regenerator-6.26.0.tgz",
505 | "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
506 | "dev": true,
507 | "requires": {
508 | "regenerator-transform": "0.10.1"
509 | }
510 | },
511 | "babel-plugin-transform-strict-mode": {
512 | "version": "6.24.1",
513 | "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.24.1.tgz",
514 | "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
515 | "dev": true,
516 | "requires": {
517 | "babel-runtime": "6.26.0",
518 | "babel-types": "6.26.0"
519 | }
520 | },
521 | "babel-preset-env": {
522 | "version": "1.6.1",
523 | "resolved": "http://registry.npm.taobao.org/babel-preset-env/download/babel-preset-env-1.6.1.tgz",
524 | "integrity": "sha1-oYtWTMm5r99KrleuPBsNmRiOb0g=",
525 | "dev": true,
526 | "requires": {
527 | "babel-plugin-check-es2015-constants": "6.22.0",
528 | "babel-plugin-syntax-trailing-function-commas": "6.22.0",
529 | "babel-plugin-transform-async-to-generator": "6.24.1",
530 | "babel-plugin-transform-es2015-arrow-functions": "6.22.0",
531 | "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0",
532 | "babel-plugin-transform-es2015-block-scoping": "6.26.0",
533 | "babel-plugin-transform-es2015-classes": "6.24.1",
534 | "babel-plugin-transform-es2015-computed-properties": "6.24.1",
535 | "babel-plugin-transform-es2015-destructuring": "6.23.0",
536 | "babel-plugin-transform-es2015-duplicate-keys": "6.24.1",
537 | "babel-plugin-transform-es2015-for-of": "6.23.0",
538 | "babel-plugin-transform-es2015-function-name": "6.24.1",
539 | "babel-plugin-transform-es2015-literals": "6.22.0",
540 | "babel-plugin-transform-es2015-modules-amd": "6.24.1",
541 | "babel-plugin-transform-es2015-modules-commonjs": "6.26.0",
542 | "babel-plugin-transform-es2015-modules-systemjs": "6.24.1",
543 | "babel-plugin-transform-es2015-modules-umd": "6.24.1",
544 | "babel-plugin-transform-es2015-object-super": "6.24.1",
545 | "babel-plugin-transform-es2015-parameters": "6.24.1",
546 | "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
547 | "babel-plugin-transform-es2015-spread": "6.22.0",
548 | "babel-plugin-transform-es2015-sticky-regex": "6.24.1",
549 | "babel-plugin-transform-es2015-template-literals": "6.22.0",
550 | "babel-plugin-transform-es2015-typeof-symbol": "6.23.0",
551 | "babel-plugin-transform-es2015-unicode-regex": "6.24.1",
552 | "babel-plugin-transform-exponentiation-operator": "6.24.1",
553 | "babel-plugin-transform-regenerator": "6.26.0",
554 | "browserslist": "2.11.3",
555 | "invariant": "2.2.2",
556 | "semver": "5.5.0"
557 | }
558 | },
559 | "babel-register": {
560 | "version": "6.26.0",
561 | "resolved": "http://registry.npm.taobao.org/babel-register/download/babel-register-6.26.0.tgz",
562 | "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
563 | "dev": true,
564 | "requires": {
565 | "babel-core": "6.26.0",
566 | "babel-runtime": "6.26.0",
567 | "core-js": "2.5.3",
568 | "home-or-tmp": "2.0.0",
569 | "lodash": "4.17.5",
570 | "mkdirp": "0.5.1",
571 | "source-map-support": "0.4.18"
572 | }
573 | },
574 | "babel-runtime": {
575 | "version": "6.26.0",
576 | "resolved": "http://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
577 | "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
578 | "dev": true,
579 | "requires": {
580 | "core-js": "2.5.3",
581 | "regenerator-runtime": "0.11.1"
582 | }
583 | },
584 | "babel-template": {
585 | "version": "6.26.0",
586 | "resolved": "http://registry.npm.taobao.org/babel-template/download/babel-template-6.26.0.tgz",
587 | "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
588 | "dev": true,
589 | "requires": {
590 | "babel-runtime": "6.26.0",
591 | "babel-traverse": "6.26.0",
592 | "babel-types": "6.26.0",
593 | "babylon": "6.18.0",
594 | "lodash": "4.17.5"
595 | }
596 | },
597 | "babel-traverse": {
598 | "version": "6.26.0",
599 | "resolved": "http://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz",
600 | "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
601 | "dev": true,
602 | "requires": {
603 | "babel-code-frame": "6.26.0",
604 | "babel-messages": "6.23.0",
605 | "babel-runtime": "6.26.0",
606 | "babel-types": "6.26.0",
607 | "babylon": "6.18.0",
608 | "debug": "2.6.9",
609 | "globals": "9.18.0",
610 | "invariant": "2.2.2",
611 | "lodash": "4.17.5"
612 | }
613 | },
614 | "babel-types": {
615 | "version": "6.26.0",
616 | "resolved": "http://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz",
617 | "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
618 | "dev": true,
619 | "requires": {
620 | "babel-runtime": "6.26.0",
621 | "esutils": "2.0.2",
622 | "lodash": "4.17.5",
623 | "to-fast-properties": "1.0.3"
624 | }
625 | },
626 | "babylon": {
627 | "version": "6.18.0",
628 | "resolved": "http://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz",
629 | "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=",
630 | "dev": true
631 | },
632 | "balanced-match": {
633 | "version": "1.0.0",
634 | "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz",
635 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
636 | "dev": true
637 | },
638 | "brace-expansion": {
639 | "version": "1.1.11",
640 | "resolved": "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz",
641 | "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=",
642 | "dev": true,
643 | "requires": {
644 | "balanced-match": "1.0.0",
645 | "concat-map": "0.0.1"
646 | }
647 | },
648 | "browserslist": {
649 | "version": "2.11.3",
650 | "resolved": "http://registry.npm.taobao.org/browserslist/download/browserslist-2.11.3.tgz",
651 | "integrity": "sha1-/jYWeu0bvN5IJ+v+cTR6LMcLmbI=",
652 | "dev": true,
653 | "requires": {
654 | "caniuse-lite": "1.0.30000808",
655 | "electron-to-chromium": "1.3.33"
656 | }
657 | },
658 | "caniuse-lite": {
659 | "version": "1.0.30000808",
660 | "resolved": "http://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30000808.tgz",
661 | "integrity": "sha1-fXWbVRhSnqCLZwWhnnDb9AFij/w=",
662 | "dev": true
663 | },
664 | "chalk": {
665 | "version": "1.1.3",
666 | "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
667 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
668 | "dev": true,
669 | "requires": {
670 | "ansi-styles": "2.2.1",
671 | "escape-string-regexp": "1.0.5",
672 | "has-ansi": "2.0.0",
673 | "strip-ansi": "3.0.1",
674 | "supports-color": "2.0.0"
675 | }
676 | },
677 | "concat-map": {
678 | "version": "0.0.1",
679 | "resolved": "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
680 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
681 | "dev": true
682 | },
683 | "convert-source-map": {
684 | "version": "1.5.1",
685 | "resolved": "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.1.tgz",
686 | "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
687 | "dev": true
688 | },
689 | "core-js": {
690 | "version": "2.5.3",
691 | "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.3.tgz",
692 | "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=",
693 | "dev": true
694 | },
695 | "cross-env": {
696 | "version": "5.1.3",
697 | "resolved": "http://registry.npm.taobao.org/cross-env/download/cross-env-5.1.3.tgz",
698 | "integrity": "sha1-+K4Y+qyHaSsKi00vcADU7DqF39c=",
699 | "dev": true,
700 | "requires": {
701 | "cross-spawn": "5.1.0",
702 | "is-windows": "1.0.1"
703 | }
704 | },
705 | "cross-spawn": {
706 | "version": "5.1.0",
707 | "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz",
708 | "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
709 | "dev": true,
710 | "requires": {
711 | "lru-cache": "4.1.1",
712 | "shebang-command": "1.2.0",
713 | "which": "1.3.0"
714 | }
715 | },
716 | "debug": {
717 | "version": "2.6.9",
718 | "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
719 | "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
720 | "dev": true,
721 | "requires": {
722 | "ms": "2.0.0"
723 | }
724 | },
725 | "detect-indent": {
726 | "version": "4.0.0",
727 | "resolved": "http://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz",
728 | "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
729 | "dev": true,
730 | "requires": {
731 | "repeating": "2.0.1"
732 | }
733 | },
734 | "electron-to-chromium": {
735 | "version": "1.3.33",
736 | "resolved": "http://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.33.tgz",
737 | "integrity": "sha1-vwBwPWKnxlI4E2V4w1LWxcBCpUU=",
738 | "dev": true
739 | },
740 | "escape-string-regexp": {
741 | "version": "1.0.5",
742 | "resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
743 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
744 | "dev": true
745 | },
746 | "estree-walker": {
747 | "version": "0.2.1",
748 | "resolved": "http://registry.npm.taobao.org/estree-walker/download/estree-walker-0.2.1.tgz",
749 | "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=",
750 | "dev": true
751 | },
752 | "esutils": {
753 | "version": "2.0.2",
754 | "resolved": "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz",
755 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
756 | "dev": true
757 | },
758 | "globals": {
759 | "version": "9.18.0",
760 | "resolved": "http://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz",
761 | "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=",
762 | "dev": true
763 | },
764 | "has-ansi": {
765 | "version": "2.0.0",
766 | "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz",
767 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
768 | "dev": true,
769 | "requires": {
770 | "ansi-regex": "2.1.1"
771 | }
772 | },
773 | "home-or-tmp": {
774 | "version": "2.0.0",
775 | "resolved": "http://registry.npm.taobao.org/home-or-tmp/download/home-or-tmp-2.0.0.tgz",
776 | "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
777 | "dev": true,
778 | "requires": {
779 | "os-homedir": "1.0.2",
780 | "os-tmpdir": "1.0.2"
781 | }
782 | },
783 | "invariant": {
784 | "version": "2.2.2",
785 | "resolved": "http://registry.npm.taobao.org/invariant/download/invariant-2.2.2.tgz",
786 | "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
787 | "dev": true,
788 | "requires": {
789 | "loose-envify": "1.3.1"
790 | }
791 | },
792 | "is-finite": {
793 | "version": "1.0.2",
794 | "resolved": "http://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz",
795 | "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
796 | "dev": true,
797 | "requires": {
798 | "number-is-nan": "1.0.1"
799 | }
800 | },
801 | "is-windows": {
802 | "version": "1.0.1",
803 | "resolved": "http://registry.npm.taobao.org/is-windows/download/is-windows-1.0.1.tgz",
804 | "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=",
805 | "dev": true
806 | },
807 | "isexe": {
808 | "version": "2.0.0",
809 | "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz",
810 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
811 | "dev": true
812 | },
813 | "js-tokens": {
814 | "version": "3.0.2",
815 | "resolved": "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz",
816 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
817 | "dev": true
818 | },
819 | "jsesc": {
820 | "version": "1.3.0",
821 | "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz",
822 | "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
823 | "dev": true
824 | },
825 | "json5": {
826 | "version": "0.5.1",
827 | "resolved": "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz",
828 | "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
829 | "dev": true
830 | },
831 | "lodash": {
832 | "version": "4.17.5",
833 | "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-4.17.5.tgz",
834 | "integrity": "sha1-maktZcAnLevoyWtgV7yPv6O+1RE=",
835 | "dev": true
836 | },
837 | "loose-envify": {
838 | "version": "1.3.1",
839 | "resolved": "http://registry.npm.taobao.org/loose-envify/download/loose-envify-1.3.1.tgz",
840 | "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
841 | "dev": true,
842 | "requires": {
843 | "js-tokens": "3.0.2"
844 | }
845 | },
846 | "lru-cache": {
847 | "version": "4.1.1",
848 | "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.1.tgz",
849 | "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=",
850 | "dev": true,
851 | "requires": {
852 | "pseudomap": "1.0.2",
853 | "yallist": "2.1.2"
854 | }
855 | },
856 | "minimatch": {
857 | "version": "3.0.4",
858 | "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz",
859 | "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
860 | "dev": true,
861 | "requires": {
862 | "brace-expansion": "1.1.11"
863 | }
864 | },
865 | "minimist": {
866 | "version": "0.0.8",
867 | "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz",
868 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
869 | "dev": true
870 | },
871 | "mkdirp": {
872 | "version": "0.5.1",
873 | "resolved": "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz",
874 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
875 | "dev": true,
876 | "requires": {
877 | "minimist": "0.0.8"
878 | }
879 | },
880 | "ms": {
881 | "version": "2.0.0",
882 | "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
883 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
884 | "dev": true
885 | },
886 | "number-is-nan": {
887 | "version": "1.0.1",
888 | "resolved": "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz",
889 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
890 | "dev": true
891 | },
892 | "os-homedir": {
893 | "version": "1.0.2",
894 | "resolved": "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz",
895 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
896 | "dev": true
897 | },
898 | "os-tmpdir": {
899 | "version": "1.0.2",
900 | "resolved": "http://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz",
901 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
902 | "dev": true
903 | },
904 | "path-is-absolute": {
905 | "version": "1.0.1",
906 | "resolved": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
907 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
908 | "dev": true
909 | },
910 | "private": {
911 | "version": "0.1.8",
912 | "resolved": "http://registry.npm.taobao.org/private/download/private-0.1.8.tgz",
913 | "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=",
914 | "dev": true
915 | },
916 | "pseudomap": {
917 | "version": "1.0.2",
918 | "resolved": "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
919 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
920 | "dev": true
921 | },
922 | "regenerate": {
923 | "version": "1.3.3",
924 | "resolved": "http://registry.npm.taobao.org/regenerate/download/regenerate-1.3.3.tgz",
925 | "integrity": "sha1-DDNtOYBVPXVcObWGrjsgqknIK38=",
926 | "dev": true
927 | },
928 | "regenerator-runtime": {
929 | "version": "0.11.1",
930 | "resolved": "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz",
931 | "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=",
932 | "dev": true
933 | },
934 | "regenerator-transform": {
935 | "version": "0.10.1",
936 | "resolved": "http://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.10.1.tgz",
937 | "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=",
938 | "dev": true,
939 | "requires": {
940 | "babel-runtime": "6.26.0",
941 | "babel-types": "6.26.0",
942 | "private": "0.1.8"
943 | }
944 | },
945 | "regexpu-core": {
946 | "version": "2.0.0",
947 | "resolved": "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-2.0.0.tgz",
948 | "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
949 | "dev": true,
950 | "requires": {
951 | "regenerate": "1.3.3",
952 | "regjsgen": "0.2.0",
953 | "regjsparser": "0.1.5"
954 | }
955 | },
956 | "regjsgen": {
957 | "version": "0.2.0",
958 | "resolved": "http://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz",
959 | "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
960 | "dev": true
961 | },
962 | "regjsparser": {
963 | "version": "0.1.5",
964 | "resolved": "http://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz",
965 | "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
966 | "dev": true,
967 | "requires": {
968 | "jsesc": "0.5.0"
969 | },
970 | "dependencies": {
971 | "jsesc": {
972 | "version": "0.5.0",
973 | "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz",
974 | "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
975 | "dev": true
976 | }
977 | }
978 | },
979 | "repeating": {
980 | "version": "2.0.1",
981 | "resolved": "http://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz",
982 | "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
983 | "dev": true,
984 | "requires": {
985 | "is-finite": "1.0.2"
986 | }
987 | },
988 | "rollup": {
989 | "version": "0.55.5",
990 | "resolved": "http://registry.npm.taobao.org/rollup/download/rollup-0.55.5.tgz",
991 | "integrity": "sha1-L4jDAPfPJLXsLcqKarpzsE4IfpM=",
992 | "dev": true
993 | },
994 | "rollup-plugin-babel": {
995 | "version": "3.0.3",
996 | "resolved": "http://registry.npm.taobao.org/rollup-plugin-babel/download/rollup-plugin-babel-3.0.3.tgz",
997 | "integrity": "sha1-Y63tyGMTAydRKkqQBu/CJBxbfBU=",
998 | "dev": true,
999 | "requires": {
1000 | "rollup-pluginutils": "1.5.2"
1001 | }
1002 | },
1003 | "rollup-pluginutils": {
1004 | "version": "1.5.2",
1005 | "resolved": "http://registry.npm.taobao.org/rollup-pluginutils/download/rollup-pluginutils-1.5.2.tgz",
1006 | "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=",
1007 | "dev": true,
1008 | "requires": {
1009 | "estree-walker": "0.2.1",
1010 | "minimatch": "3.0.4"
1011 | }
1012 | },
1013 | "semver": {
1014 | "version": "5.5.0",
1015 | "resolved": "http://registry.npm.taobao.org/semver/download/semver-5.5.0.tgz",
1016 | "integrity": "sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs=",
1017 | "dev": true
1018 | },
1019 | "shebang-command": {
1020 | "version": "1.2.0",
1021 | "resolved": "http://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz",
1022 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
1023 | "dev": true,
1024 | "requires": {
1025 | "shebang-regex": "1.0.0"
1026 | }
1027 | },
1028 | "shebang-regex": {
1029 | "version": "1.0.0",
1030 | "resolved": "http://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz",
1031 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
1032 | "dev": true
1033 | },
1034 | "slash": {
1035 | "version": "1.0.0",
1036 | "resolved": "http://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz",
1037 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
1038 | "dev": true
1039 | },
1040 | "source-map": {
1041 | "version": "0.5.7",
1042 | "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
1043 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
1044 | "dev": true
1045 | },
1046 | "source-map-support": {
1047 | "version": "0.4.18",
1048 | "resolved": "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz",
1049 | "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=",
1050 | "dev": true,
1051 | "requires": {
1052 | "source-map": "0.5.7"
1053 | }
1054 | },
1055 | "strip-ansi": {
1056 | "version": "3.0.1",
1057 | "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz",
1058 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
1059 | "dev": true,
1060 | "requires": {
1061 | "ansi-regex": "2.1.1"
1062 | }
1063 | },
1064 | "supports-color": {
1065 | "version": "2.0.0",
1066 | "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz",
1067 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
1068 | "dev": true
1069 | },
1070 | "to-fast-properties": {
1071 | "version": "1.0.3",
1072 | "resolved": "http://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz",
1073 | "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
1074 | "dev": true
1075 | },
1076 | "trim-right": {
1077 | "version": "1.0.1",
1078 | "resolved": "http://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz",
1079 | "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
1080 | "dev": true
1081 | },
1082 | "which": {
1083 | "version": "1.3.0",
1084 | "resolved": "http://registry.npm.taobao.org/which/download/which-1.3.0.tgz",
1085 | "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=",
1086 | "dev": true,
1087 | "requires": {
1088 | "isexe": "2.0.0"
1089 | }
1090 | },
1091 | "yallist": {
1092 | "version": "2.1.2",
1093 | "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
1094 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
1095 | "dev": true
1096 | }
1097 | }
1098 | }
1099 |
--------------------------------------------------------------------------------
/website/client/react-app/dist/main.bundle.js:
--------------------------------------------------------------------------------
1 | webpackJsonp([0],{
2 |
3 | /***/ 106:
4 | /***/ (function(module, exports) {
5 |
6 | // 7.2.1 RequireObjectCoercible(argument)
7 | module.exports = function (it) {
8 | if (it == undefined) throw TypeError("Can't call method on " + it);
9 | return it;
10 | };
11 |
12 |
13 | /***/ }),
14 |
15 | /***/ 107:
16 | /***/ (function(module, exports, __webpack_require__) {
17 |
18 | var shared = __webpack_require__(108)('keys');
19 | var uid = __webpack_require__(75);
20 | module.exports = function (key) {
21 | return shared[key] || (shared[key] = uid(key));
22 | };
23 |
24 |
25 | /***/ }),
26 |
27 | /***/ 108:
28 | /***/ (function(module, exports, __webpack_require__) {
29 |
30 | var global = __webpack_require__(31);
31 | var SHARED = '__core-js_shared__';
32 | var store = global[SHARED] || (global[SHARED] = {});
33 | module.exports = function (key) {
34 | return store[key] || (store[key] = {});
35 | };
36 |
37 |
38 | /***/ }),
39 |
40 | /***/ 109:
41 | /***/ (function(module, exports, __webpack_require__) {
42 |
43 | // 7.1.1 ToPrimitive(input [, PreferredType])
44 | var isObject = __webpack_require__(53);
45 | // instead of the ES6 spec version, we didn't implement @@toPrimitive case
46 | // and the second argument - flag - preferred type is a string
47 | module.exports = function (it, S) {
48 | if (!isObject(it)) return it;
49 | var fn, val;
50 | if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
51 | if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
52 | if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
53 | throw TypeError("Can't convert object to primitive value");
54 | };
55 |
56 |
57 | /***/ }),
58 |
59 | /***/ 110:
60 | /***/ (function(module, exports) {
61 |
62 | // 7.1.4 ToInteger
63 | var ceil = Math.ceil;
64 | var floor = Math.floor;
65 | module.exports = function (it) {
66 | return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
67 | };
68 |
69 |
70 | /***/ }),
71 |
72 | /***/ 111:
73 | /***/ (function(module, exports) {
74 |
75 | module.exports = true;
76 |
77 |
78 | /***/ }),
79 |
80 | /***/ 112:
81 | /***/ (function(module, exports) {
82 |
83 | module.exports = {};
84 |
85 |
86 | /***/ }),
87 |
88 | /***/ 113:
89 | /***/ (function(module, exports, __webpack_require__) {
90 |
91 | // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
92 | var anObject = __webpack_require__(59);
93 | var dPs = __webpack_require__(401);
94 | var enumBugKeys = __webpack_require__(115);
95 | var IE_PROTO = __webpack_require__(107)('IE_PROTO');
96 | var Empty = function () { /* empty */ };
97 | var PROTOTYPE = 'prototype';
98 |
99 | // Create object with fake `null` prototype: use iframe Object with cleared prototype
100 | var createDict = function () {
101 | // Thrash, waste and sodomy: IE GC bug
102 | var iframe = __webpack_require__(162)('iframe');
103 | var i = enumBugKeys.length;
104 | var lt = '<';
105 | var gt = '>';
106 | var iframeDocument;
107 | iframe.style.display = 'none';
108 | __webpack_require__(406).appendChild(iframe);
109 | iframe.src = 'javascript:'; // eslint-disable-line no-script-url
110 | // createDict = iframe.contentWindow.Object;
111 | // html.removeChild(iframe);
112 | iframeDocument = iframe.contentWindow.document;
113 | iframeDocument.open();
114 | iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
115 | iframeDocument.close();
116 | createDict = iframeDocument.F;
117 | while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
118 | return createDict();
119 | };
120 |
121 | module.exports = Object.create || function create(O, Properties) {
122 | var result;
123 | if (O !== null) {
124 | Empty[PROTOTYPE] = anObject(O);
125 | result = new Empty();
126 | Empty[PROTOTYPE] = null;
127 | // add "__proto__" for Object.getPrototypeOf polyfill
128 | result[IE_PROTO] = O;
129 | } else result = createDict();
130 | return Properties === undefined ? result : dPs(result, Properties);
131 | };
132 |
133 |
134 | /***/ }),
135 |
136 | /***/ 114:
137 | /***/ (function(module, exports, __webpack_require__) {
138 |
139 | // 19.1.2.14 / 15.2.3.14 Object.keys(O)
140 | var $keys = __webpack_require__(166);
141 | var enumBugKeys = __webpack_require__(115);
142 |
143 | module.exports = Object.keys || function keys(O) {
144 | return $keys(O, enumBugKeys);
145 | };
146 |
147 |
148 | /***/ }),
149 |
150 | /***/ 115:
151 | /***/ (function(module, exports) {
152 |
153 | // IE 8- don't enum bug keys
154 | module.exports = (
155 | 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
156 | ).split(',');
157 |
158 |
159 | /***/ }),
160 |
161 | /***/ 116:
162 | /***/ (function(module, exports, __webpack_require__) {
163 |
164 | var def = __webpack_require__(45).f;
165 | var has = __webpack_require__(44);
166 | var TAG = __webpack_require__(55)('toStringTag');
167 |
168 | module.exports = function (it, tag, stat) {
169 | if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
170 | };
171 |
172 |
173 | /***/ }),
174 |
175 | /***/ 117:
176 | /***/ (function(module, exports, __webpack_require__) {
177 |
178 | exports.f = __webpack_require__(55);
179 |
180 |
181 | /***/ }),
182 |
183 | /***/ 118:
184 | /***/ (function(module, exports, __webpack_require__) {
185 |
186 | var global = __webpack_require__(31);
187 | var core = __webpack_require__(32);
188 | var LIBRARY = __webpack_require__(111);
189 | var wksExt = __webpack_require__(117);
190 | var defineProperty = __webpack_require__(45).f;
191 | module.exports = function (name) {
192 | var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
193 | if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
194 | };
195 |
196 |
197 | /***/ }),
198 |
199 | /***/ 119:
200 | /***/ (function(module, exports) {
201 |
202 | exports.f = {}.propertyIsEnumerable;
203 |
204 |
205 | /***/ }),
206 |
207 | /***/ 158:
208 | /***/ (function(module, exports, __webpack_require__) {
209 |
210 | // 7.1.13 ToObject(argument)
211 | var defined = __webpack_require__(106);
212 | module.exports = function (it) {
213 | return Object(defined(it));
214 | };
215 |
216 |
217 | /***/ }),
218 |
219 | /***/ 159:
220 | /***/ (function(module, exports, __webpack_require__) {
221 |
222 | // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
223 | var has = __webpack_require__(44);
224 | var toObject = __webpack_require__(158);
225 | var IE_PROTO = __webpack_require__(107)('IE_PROTO');
226 | var ObjectProto = Object.prototype;
227 |
228 | module.exports = Object.getPrototypeOf || function (O) {
229 | O = toObject(O);
230 | if (has(O, IE_PROTO)) return O[IE_PROTO];
231 | if (typeof O.constructor == 'function' && O instanceof O.constructor) {
232 | return O.constructor.prototype;
233 | } return O instanceof Object ? ObjectProto : null;
234 | };
235 |
236 |
237 | /***/ }),
238 |
239 | /***/ 160:
240 | /***/ (function(module, exports, __webpack_require__) {
241 |
242 | // optional / simple context binding
243 | var aFunction = __webpack_require__(389);
244 | module.exports = function (fn, that, length) {
245 | aFunction(fn);
246 | if (that === undefined) return fn;
247 | switch (length) {
248 | case 1: return function (a) {
249 | return fn.call(that, a);
250 | };
251 | case 2: return function (a, b) {
252 | return fn.call(that, a, b);
253 | };
254 | case 3: return function (a, b, c) {
255 | return fn.call(that, a, b, c);
256 | };
257 | }
258 | return function (/* ...args */) {
259 | return fn.apply(that, arguments);
260 | };
261 | };
262 |
263 |
264 | /***/ }),
265 |
266 | /***/ 161:
267 | /***/ (function(module, exports, __webpack_require__) {
268 |
269 | module.exports = !__webpack_require__(46) && !__webpack_require__(60)(function () {
270 | return Object.defineProperty(__webpack_require__(162)('div'), 'a', { get: function () { return 7; } }).a != 7;
271 | });
272 |
273 |
274 | /***/ }),
275 |
276 | /***/ 162:
277 | /***/ (function(module, exports, __webpack_require__) {
278 |
279 | var isObject = __webpack_require__(53);
280 | var document = __webpack_require__(31).document;
281 | // typeof document.createElement is 'object' in old IE
282 | var is = isObject(document) && isObject(document.createElement);
283 | module.exports = function (it) {
284 | return is ? document.createElement(it) : {};
285 | };
286 |
287 |
288 | /***/ }),
289 |
290 | /***/ 163:
291 | /***/ (function(module, exports, __webpack_require__) {
292 |
293 | "use strict";
294 |
295 |
296 | exports.__esModule = true;
297 |
298 | var _iterator = __webpack_require__(396);
299 |
300 | var _iterator2 = _interopRequireDefault(_iterator);
301 |
302 | var _symbol = __webpack_require__(411);
303 |
304 | var _symbol2 = _interopRequireDefault(_symbol);
305 |
306 | var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; };
307 |
308 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
309 |
310 | exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {
311 | return typeof obj === "undefined" ? "undefined" : _typeof(obj);
312 | } : function (obj) {
313 | return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);
314 | };
315 |
316 | /***/ }),
317 |
318 | /***/ 164:
319 | /***/ (function(module, exports, __webpack_require__) {
320 |
321 | "use strict";
322 |
323 | var LIBRARY = __webpack_require__(111);
324 | var $export = __webpack_require__(51);
325 | var redefine = __webpack_require__(165);
326 | var hide = __webpack_require__(52);
327 | var has = __webpack_require__(44);
328 | var Iterators = __webpack_require__(112);
329 | var $iterCreate = __webpack_require__(400);
330 | var setToStringTag = __webpack_require__(116);
331 | var getPrototypeOf = __webpack_require__(159);
332 | var ITERATOR = __webpack_require__(55)('iterator');
333 | var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
334 | var FF_ITERATOR = '@@iterator';
335 | var KEYS = 'keys';
336 | var VALUES = 'values';
337 |
338 | var returnThis = function () { return this; };
339 |
340 | module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
341 | $iterCreate(Constructor, NAME, next);
342 | var getMethod = function (kind) {
343 | if (!BUGGY && kind in proto) return proto[kind];
344 | switch (kind) {
345 | case KEYS: return function keys() { return new Constructor(this, kind); };
346 | case VALUES: return function values() { return new Constructor(this, kind); };
347 | } return function entries() { return new Constructor(this, kind); };
348 | };
349 | var TAG = NAME + ' Iterator';
350 | var DEF_VALUES = DEFAULT == VALUES;
351 | var VALUES_BUG = false;
352 | var proto = Base.prototype;
353 | var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
354 | var $default = (!BUGGY && $native) || getMethod(DEFAULT);
355 | var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
356 | var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
357 | var methods, key, IteratorPrototype;
358 | // Fix native
359 | if ($anyNative) {
360 | IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
361 | if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
362 | // Set @@toStringTag to native iterators
363 | setToStringTag(IteratorPrototype, TAG, true);
364 | // fix for some old engines
365 | if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);
366 | }
367 | }
368 | // fix Array#{values, @@iterator}.name in V8 / FF
369 | if (DEF_VALUES && $native && $native.name !== VALUES) {
370 | VALUES_BUG = true;
371 | $default = function values() { return $native.call(this); };
372 | }
373 | // Define iterator
374 | if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
375 | hide(proto, ITERATOR, $default);
376 | }
377 | // Plug for library
378 | Iterators[NAME] = $default;
379 | Iterators[TAG] = returnThis;
380 | if (DEFAULT) {
381 | methods = {
382 | values: DEF_VALUES ? $default : getMethod(VALUES),
383 | keys: IS_SET ? $default : getMethod(KEYS),
384 | entries: $entries
385 | };
386 | if (FORCED) for (key in methods) {
387 | if (!(key in proto)) redefine(proto, key, methods[key]);
388 | } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
389 | }
390 | return methods;
391 | };
392 |
393 |
394 | /***/ }),
395 |
396 | /***/ 165:
397 | /***/ (function(module, exports, __webpack_require__) {
398 |
399 | module.exports = __webpack_require__(52);
400 |
401 |
402 | /***/ }),
403 |
404 | /***/ 166:
405 | /***/ (function(module, exports, __webpack_require__) {
406 |
407 | var has = __webpack_require__(44);
408 | var toIObject = __webpack_require__(54);
409 | var arrayIndexOf = __webpack_require__(403)(false);
410 | var IE_PROTO = __webpack_require__(107)('IE_PROTO');
411 |
412 | module.exports = function (object, names) {
413 | var O = toIObject(object);
414 | var i = 0;
415 | var result = [];
416 | var key;
417 | for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
418 | // Don't enum bug & hidden keys
419 | while (names.length > i) if (has(O, key = names[i++])) {
420 | ~arrayIndexOf(result, key) || result.push(key);
421 | }
422 | return result;
423 | };
424 |
425 |
426 | /***/ }),
427 |
428 | /***/ 167:
429 | /***/ (function(module, exports) {
430 |
431 | var toString = {}.toString;
432 |
433 | module.exports = function (it) {
434 | return toString.call(it).slice(8, -1);
435 | };
436 |
437 |
438 | /***/ }),
439 |
440 | /***/ 168:
441 | /***/ (function(module, exports) {
442 |
443 | exports.f = Object.getOwnPropertySymbols;
444 |
445 |
446 | /***/ }),
447 |
448 | /***/ 169:
449 | /***/ (function(module, exports, __webpack_require__) {
450 |
451 | // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
452 | var $keys = __webpack_require__(166);
453 | var hiddenKeys = __webpack_require__(115).concat('length', 'prototype');
454 |
455 | exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
456 | return $keys(O, hiddenKeys);
457 | };
458 |
459 |
460 | /***/ }),
461 |
462 | /***/ 170:
463 | /***/ (function(module, exports, __webpack_require__) {
464 |
465 | var pIE = __webpack_require__(119);
466 | var createDesc = __webpack_require__(76);
467 | var toIObject = __webpack_require__(54);
468 | var toPrimitive = __webpack_require__(109);
469 | var has = __webpack_require__(44);
470 | var IE8_DOM_DEFINE = __webpack_require__(161);
471 | var gOPD = Object.getOwnPropertyDescriptor;
472 |
473 | exports.f = __webpack_require__(46) ? gOPD : function getOwnPropertyDescriptor(O, P) {
474 | O = toIObject(O);
475 | P = toPrimitive(P, true);
476 | if (IE8_DOM_DEFINE) try {
477 | return gOPD(O, P);
478 | } catch (e) { /* empty */ }
479 | if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
480 | };
481 |
482 |
483 | /***/ }),
484 |
485 | /***/ 31:
486 | /***/ (function(module, exports) {
487 |
488 | // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
489 | var global = module.exports = typeof window != 'undefined' && window.Math == Math
490 | ? window : typeof self != 'undefined' && self.Math == Math ? self
491 | // eslint-disable-next-line no-new-func
492 | : Function('return this')();
493 | if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
494 |
495 |
496 | /***/ }),
497 |
498 | /***/ 32:
499 | /***/ (function(module, exports) {
500 |
501 | var core = module.exports = { version: '2.5.3' };
502 | if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
503 |
504 |
505 | /***/ }),
506 |
507 | /***/ 384:
508 | /***/ (function(module, exports, __webpack_require__) {
509 |
510 | "use strict";
511 |
512 |
513 | var _getPrototypeOf = __webpack_require__(385);
514 |
515 | var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
516 |
517 | var _classCallCheck2 = __webpack_require__(390);
518 |
519 | var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
520 |
521 | var _createClass2 = __webpack_require__(391);
522 |
523 | var _createClass3 = _interopRequireDefault(_createClass2);
524 |
525 | var _possibleConstructorReturn2 = __webpack_require__(395);
526 |
527 | var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
528 |
529 | var _inherits2 = __webpack_require__(421);
530 |
531 | var _inherits3 = _interopRequireDefault(_inherits2);
532 |
533 | var _react = __webpack_require__(104);
534 |
535 | var _react2 = _interopRequireDefault(_react);
536 |
537 | var _reactDom = __webpack_require__(157);
538 |
539 | var _reactDom2 = _interopRequireDefault(_reactDom);
540 |
541 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
542 |
543 | var AppComponent = function (_Component) {
544 | (0, _inherits3.default)(AppComponent, _Component);
545 |
546 | function AppComponent(props) {
547 | (0, _classCallCheck3.default)(this, AppComponent);
548 | return (0, _possibleConstructorReturn3.default)(this, (AppComponent.__proto__ || (0, _getPrototypeOf2.default)(AppComponent)).call(this, props));
549 | }
550 |
551 | (0, _createClass3.default)(AppComponent, [{
552 | key: 'componentDidMount',
553 | value: function componentDidMount() {
554 | vue = 'vanilla' + 'react';
555 | }
556 | }, {
557 | key: 'render',
558 | value: function render() {
559 | return _react2.default.createElement(
560 | 'div',
561 | null,
562 | 'react app'
563 | );
564 | }
565 | }]);
566 | return AppComponent;
567 | }(_react.Component);
568 |
569 | _reactDom2.default.render(_react2.default.createElement(AppComponent, null), document.querySelector('.react-area'));
570 |
571 | /***/ }),
572 |
573 | /***/ 385:
574 | /***/ (function(module, exports, __webpack_require__) {
575 |
576 | module.exports = { "default": __webpack_require__(386), __esModule: true };
577 |
578 | /***/ }),
579 |
580 | /***/ 386:
581 | /***/ (function(module, exports, __webpack_require__) {
582 |
583 | __webpack_require__(387);
584 | module.exports = __webpack_require__(32).Object.getPrototypeOf;
585 |
586 |
587 | /***/ }),
588 |
589 | /***/ 387:
590 | /***/ (function(module, exports, __webpack_require__) {
591 |
592 | // 19.1.2.9 Object.getPrototypeOf(O)
593 | var toObject = __webpack_require__(158);
594 | var $getPrototypeOf = __webpack_require__(159);
595 |
596 | __webpack_require__(388)('getPrototypeOf', function () {
597 | return function getPrototypeOf(it) {
598 | return $getPrototypeOf(toObject(it));
599 | };
600 | });
601 |
602 |
603 | /***/ }),
604 |
605 | /***/ 388:
606 | /***/ (function(module, exports, __webpack_require__) {
607 |
608 | // most Object methods by ES6 should accept primitives
609 | var $export = __webpack_require__(51);
610 | var core = __webpack_require__(32);
611 | var fails = __webpack_require__(60);
612 | module.exports = function (KEY, exec) {
613 | var fn = (core.Object || {})[KEY] || Object[KEY];
614 | var exp = {};
615 | exp[KEY] = exec(fn);
616 | $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
617 | };
618 |
619 |
620 | /***/ }),
621 |
622 | /***/ 389:
623 | /***/ (function(module, exports) {
624 |
625 | module.exports = function (it) {
626 | if (typeof it != 'function') throw TypeError(it + ' is not a function!');
627 | return it;
628 | };
629 |
630 |
631 | /***/ }),
632 |
633 | /***/ 390:
634 | /***/ (function(module, exports, __webpack_require__) {
635 |
636 | "use strict";
637 |
638 |
639 | exports.__esModule = true;
640 |
641 | exports.default = function (instance, Constructor) {
642 | if (!(instance instanceof Constructor)) {
643 | throw new TypeError("Cannot call a class as a function");
644 | }
645 | };
646 |
647 | /***/ }),
648 |
649 | /***/ 391:
650 | /***/ (function(module, exports, __webpack_require__) {
651 |
652 | "use strict";
653 |
654 |
655 | exports.__esModule = true;
656 |
657 | var _defineProperty = __webpack_require__(392);
658 |
659 | var _defineProperty2 = _interopRequireDefault(_defineProperty);
660 |
661 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
662 |
663 | exports.default = function () {
664 | function defineProperties(target, props) {
665 | for (var i = 0; i < props.length; i++) {
666 | var descriptor = props[i];
667 | descriptor.enumerable = descriptor.enumerable || false;
668 | descriptor.configurable = true;
669 | if ("value" in descriptor) descriptor.writable = true;
670 | (0, _defineProperty2.default)(target, descriptor.key, descriptor);
671 | }
672 | }
673 |
674 | return function (Constructor, protoProps, staticProps) {
675 | if (protoProps) defineProperties(Constructor.prototype, protoProps);
676 | if (staticProps) defineProperties(Constructor, staticProps);
677 | return Constructor;
678 | };
679 | }();
680 |
681 | /***/ }),
682 |
683 | /***/ 392:
684 | /***/ (function(module, exports, __webpack_require__) {
685 |
686 | module.exports = { "default": __webpack_require__(393), __esModule: true };
687 |
688 | /***/ }),
689 |
690 | /***/ 393:
691 | /***/ (function(module, exports, __webpack_require__) {
692 |
693 | __webpack_require__(394);
694 | var $Object = __webpack_require__(32).Object;
695 | module.exports = function defineProperty(it, key, desc) {
696 | return $Object.defineProperty(it, key, desc);
697 | };
698 |
699 |
700 | /***/ }),
701 |
702 | /***/ 394:
703 | /***/ (function(module, exports, __webpack_require__) {
704 |
705 | var $export = __webpack_require__(51);
706 | // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
707 | $export($export.S + $export.F * !__webpack_require__(46), 'Object', { defineProperty: __webpack_require__(45).f });
708 |
709 |
710 | /***/ }),
711 |
712 | /***/ 395:
713 | /***/ (function(module, exports, __webpack_require__) {
714 |
715 | "use strict";
716 |
717 |
718 | exports.__esModule = true;
719 |
720 | var _typeof2 = __webpack_require__(163);
721 |
722 | var _typeof3 = _interopRequireDefault(_typeof2);
723 |
724 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
725 |
726 | exports.default = function (self, call) {
727 | if (!self) {
728 | throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
729 | }
730 |
731 | return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self;
732 | };
733 |
734 | /***/ }),
735 |
736 | /***/ 396:
737 | /***/ (function(module, exports, __webpack_require__) {
738 |
739 | module.exports = { "default": __webpack_require__(397), __esModule: true };
740 |
741 | /***/ }),
742 |
743 | /***/ 397:
744 | /***/ (function(module, exports, __webpack_require__) {
745 |
746 | __webpack_require__(398);
747 | __webpack_require__(407);
748 | module.exports = __webpack_require__(117).f('iterator');
749 |
750 |
751 | /***/ }),
752 |
753 | /***/ 398:
754 | /***/ (function(module, exports, __webpack_require__) {
755 |
756 | "use strict";
757 |
758 | var $at = __webpack_require__(399)(true);
759 |
760 | // 21.1.3.27 String.prototype[@@iterator]()
761 | __webpack_require__(164)(String, 'String', function (iterated) {
762 | this._t = String(iterated); // target
763 | this._i = 0; // next index
764 | // 21.1.5.2.1 %StringIteratorPrototype%.next()
765 | }, function () {
766 | var O = this._t;
767 | var index = this._i;
768 | var point;
769 | if (index >= O.length) return { value: undefined, done: true };
770 | point = $at(O, index);
771 | this._i += point.length;
772 | return { value: point, done: false };
773 | });
774 |
775 |
776 | /***/ }),
777 |
778 | /***/ 399:
779 | /***/ (function(module, exports, __webpack_require__) {
780 |
781 | var toInteger = __webpack_require__(110);
782 | var defined = __webpack_require__(106);
783 | // true -> String#at
784 | // false -> String#codePointAt
785 | module.exports = function (TO_STRING) {
786 | return function (that, pos) {
787 | var s = String(defined(that));
788 | var i = toInteger(pos);
789 | var l = s.length;
790 | var a, b;
791 | if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
792 | a = s.charCodeAt(i);
793 | return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
794 | ? TO_STRING ? s.charAt(i) : a
795 | : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
796 | };
797 | };
798 |
799 |
800 | /***/ }),
801 |
802 | /***/ 400:
803 | /***/ (function(module, exports, __webpack_require__) {
804 |
805 | "use strict";
806 |
807 | var create = __webpack_require__(113);
808 | var descriptor = __webpack_require__(76);
809 | var setToStringTag = __webpack_require__(116);
810 | var IteratorPrototype = {};
811 |
812 | // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
813 | __webpack_require__(52)(IteratorPrototype, __webpack_require__(55)('iterator'), function () { return this; });
814 |
815 | module.exports = function (Constructor, NAME, next) {
816 | Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
817 | setToStringTag(Constructor, NAME + ' Iterator');
818 | };
819 |
820 |
821 | /***/ }),
822 |
823 | /***/ 401:
824 | /***/ (function(module, exports, __webpack_require__) {
825 |
826 | var dP = __webpack_require__(45);
827 | var anObject = __webpack_require__(59);
828 | var getKeys = __webpack_require__(114);
829 |
830 | module.exports = __webpack_require__(46) ? Object.defineProperties : function defineProperties(O, Properties) {
831 | anObject(O);
832 | var keys = getKeys(Properties);
833 | var length = keys.length;
834 | var i = 0;
835 | var P;
836 | while (length > i) dP.f(O, P = keys[i++], Properties[P]);
837 | return O;
838 | };
839 |
840 |
841 | /***/ }),
842 |
843 | /***/ 402:
844 | /***/ (function(module, exports, __webpack_require__) {
845 |
846 | // fallback for non-array-like ES3 and non-enumerable old V8 strings
847 | var cof = __webpack_require__(167);
848 | // eslint-disable-next-line no-prototype-builtins
849 | module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
850 | return cof(it) == 'String' ? it.split('') : Object(it);
851 | };
852 |
853 |
854 | /***/ }),
855 |
856 | /***/ 403:
857 | /***/ (function(module, exports, __webpack_require__) {
858 |
859 | // false -> Array#indexOf
860 | // true -> Array#includes
861 | var toIObject = __webpack_require__(54);
862 | var toLength = __webpack_require__(404);
863 | var toAbsoluteIndex = __webpack_require__(405);
864 | module.exports = function (IS_INCLUDES) {
865 | return function ($this, el, fromIndex) {
866 | var O = toIObject($this);
867 | var length = toLength(O.length);
868 | var index = toAbsoluteIndex(fromIndex, length);
869 | var value;
870 | // Array#includes uses SameValueZero equality algorithm
871 | // eslint-disable-next-line no-self-compare
872 | if (IS_INCLUDES && el != el) while (length > index) {
873 | value = O[index++];
874 | // eslint-disable-next-line no-self-compare
875 | if (value != value) return true;
876 | // Array#indexOf ignores holes, Array#includes - not
877 | } else for (;length > index; index++) if (IS_INCLUDES || index in O) {
878 | if (O[index] === el) return IS_INCLUDES || index || 0;
879 | } return !IS_INCLUDES && -1;
880 | };
881 | };
882 |
883 |
884 | /***/ }),
885 |
886 | /***/ 404:
887 | /***/ (function(module, exports, __webpack_require__) {
888 |
889 | // 7.1.15 ToLength
890 | var toInteger = __webpack_require__(110);
891 | var min = Math.min;
892 | module.exports = function (it) {
893 | return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
894 | };
895 |
896 |
897 | /***/ }),
898 |
899 | /***/ 405:
900 | /***/ (function(module, exports, __webpack_require__) {
901 |
902 | var toInteger = __webpack_require__(110);
903 | var max = Math.max;
904 | var min = Math.min;
905 | module.exports = function (index, length) {
906 | index = toInteger(index);
907 | return index < 0 ? max(index + length, 0) : min(index, length);
908 | };
909 |
910 |
911 | /***/ }),
912 |
913 | /***/ 406:
914 | /***/ (function(module, exports, __webpack_require__) {
915 |
916 | var document = __webpack_require__(31).document;
917 | module.exports = document && document.documentElement;
918 |
919 |
920 | /***/ }),
921 |
922 | /***/ 407:
923 | /***/ (function(module, exports, __webpack_require__) {
924 |
925 | __webpack_require__(408);
926 | var global = __webpack_require__(31);
927 | var hide = __webpack_require__(52);
928 | var Iterators = __webpack_require__(112);
929 | var TO_STRING_TAG = __webpack_require__(55)('toStringTag');
930 |
931 | var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +
932 | 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +
933 | 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +
934 | 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +
935 | 'TextTrackList,TouchList').split(',');
936 |
937 | for (var i = 0; i < DOMIterables.length; i++) {
938 | var NAME = DOMIterables[i];
939 | var Collection = global[NAME];
940 | var proto = Collection && Collection.prototype;
941 | if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
942 | Iterators[NAME] = Iterators.Array;
943 | }
944 |
945 |
946 | /***/ }),
947 |
948 | /***/ 408:
949 | /***/ (function(module, exports, __webpack_require__) {
950 |
951 | "use strict";
952 |
953 | var addToUnscopables = __webpack_require__(409);
954 | var step = __webpack_require__(410);
955 | var Iterators = __webpack_require__(112);
956 | var toIObject = __webpack_require__(54);
957 |
958 | // 22.1.3.4 Array.prototype.entries()
959 | // 22.1.3.13 Array.prototype.keys()
960 | // 22.1.3.29 Array.prototype.values()
961 | // 22.1.3.30 Array.prototype[@@iterator]()
962 | module.exports = __webpack_require__(164)(Array, 'Array', function (iterated, kind) {
963 | this._t = toIObject(iterated); // target
964 | this._i = 0; // next index
965 | this._k = kind; // kind
966 | // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
967 | }, function () {
968 | var O = this._t;
969 | var kind = this._k;
970 | var index = this._i++;
971 | if (!O || index >= O.length) {
972 | this._t = undefined;
973 | return step(1);
974 | }
975 | if (kind == 'keys') return step(0, index);
976 | if (kind == 'values') return step(0, O[index]);
977 | return step(0, [index, O[index]]);
978 | }, 'values');
979 |
980 | // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
981 | Iterators.Arguments = Iterators.Array;
982 |
983 | addToUnscopables('keys');
984 | addToUnscopables('values');
985 | addToUnscopables('entries');
986 |
987 |
988 | /***/ }),
989 |
990 | /***/ 409:
991 | /***/ (function(module, exports) {
992 |
993 | module.exports = function () { /* empty */ };
994 |
995 |
996 | /***/ }),
997 |
998 | /***/ 410:
999 | /***/ (function(module, exports) {
1000 |
1001 | module.exports = function (done, value) {
1002 | return { value: value, done: !!done };
1003 | };
1004 |
1005 |
1006 | /***/ }),
1007 |
1008 | /***/ 411:
1009 | /***/ (function(module, exports, __webpack_require__) {
1010 |
1011 | module.exports = { "default": __webpack_require__(412), __esModule: true };
1012 |
1013 | /***/ }),
1014 |
1015 | /***/ 412:
1016 | /***/ (function(module, exports, __webpack_require__) {
1017 |
1018 | __webpack_require__(413);
1019 | __webpack_require__(418);
1020 | __webpack_require__(419);
1021 | __webpack_require__(420);
1022 | module.exports = __webpack_require__(32).Symbol;
1023 |
1024 |
1025 | /***/ }),
1026 |
1027 | /***/ 413:
1028 | /***/ (function(module, exports, __webpack_require__) {
1029 |
1030 | "use strict";
1031 |
1032 | // ECMAScript 6 symbols shim
1033 | var global = __webpack_require__(31);
1034 | var has = __webpack_require__(44);
1035 | var DESCRIPTORS = __webpack_require__(46);
1036 | var $export = __webpack_require__(51);
1037 | var redefine = __webpack_require__(165);
1038 | var META = __webpack_require__(414).KEY;
1039 | var $fails = __webpack_require__(60);
1040 | var shared = __webpack_require__(108);
1041 | var setToStringTag = __webpack_require__(116);
1042 | var uid = __webpack_require__(75);
1043 | var wks = __webpack_require__(55);
1044 | var wksExt = __webpack_require__(117);
1045 | var wksDefine = __webpack_require__(118);
1046 | var enumKeys = __webpack_require__(415);
1047 | var isArray = __webpack_require__(416);
1048 | var anObject = __webpack_require__(59);
1049 | var isObject = __webpack_require__(53);
1050 | var toIObject = __webpack_require__(54);
1051 | var toPrimitive = __webpack_require__(109);
1052 | var createDesc = __webpack_require__(76);
1053 | var _create = __webpack_require__(113);
1054 | var gOPNExt = __webpack_require__(417);
1055 | var $GOPD = __webpack_require__(170);
1056 | var $DP = __webpack_require__(45);
1057 | var $keys = __webpack_require__(114);
1058 | var gOPD = $GOPD.f;
1059 | var dP = $DP.f;
1060 | var gOPN = gOPNExt.f;
1061 | var $Symbol = global.Symbol;
1062 | var $JSON = global.JSON;
1063 | var _stringify = $JSON && $JSON.stringify;
1064 | var PROTOTYPE = 'prototype';
1065 | var HIDDEN = wks('_hidden');
1066 | var TO_PRIMITIVE = wks('toPrimitive');
1067 | var isEnum = {}.propertyIsEnumerable;
1068 | var SymbolRegistry = shared('symbol-registry');
1069 | var AllSymbols = shared('symbols');
1070 | var OPSymbols = shared('op-symbols');
1071 | var ObjectProto = Object[PROTOTYPE];
1072 | var USE_NATIVE = typeof $Symbol == 'function';
1073 | var QObject = global.QObject;
1074 | // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
1075 | var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
1076 |
1077 | // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
1078 | var setSymbolDesc = DESCRIPTORS && $fails(function () {
1079 | return _create(dP({}, 'a', {
1080 | get: function () { return dP(this, 'a', { value: 7 }).a; }
1081 | })).a != 7;
1082 | }) ? function (it, key, D) {
1083 | var protoDesc = gOPD(ObjectProto, key);
1084 | if (protoDesc) delete ObjectProto[key];
1085 | dP(it, key, D);
1086 | if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
1087 | } : dP;
1088 |
1089 | var wrap = function (tag) {
1090 | var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
1091 | sym._k = tag;
1092 | return sym;
1093 | };
1094 |
1095 | var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {
1096 | return typeof it == 'symbol';
1097 | } : function (it) {
1098 | return it instanceof $Symbol;
1099 | };
1100 |
1101 | var $defineProperty = function defineProperty(it, key, D) {
1102 | if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
1103 | anObject(it);
1104 | key = toPrimitive(key, true);
1105 | anObject(D);
1106 | if (has(AllSymbols, key)) {
1107 | if (!D.enumerable) {
1108 | if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
1109 | it[HIDDEN][key] = true;
1110 | } else {
1111 | if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
1112 | D = _create(D, { enumerable: createDesc(0, false) });
1113 | } return setSymbolDesc(it, key, D);
1114 | } return dP(it, key, D);
1115 | };
1116 | var $defineProperties = function defineProperties(it, P) {
1117 | anObject(it);
1118 | var keys = enumKeys(P = toIObject(P));
1119 | var i = 0;
1120 | var l = keys.length;
1121 | var key;
1122 | while (l > i) $defineProperty(it, key = keys[i++], P[key]);
1123 | return it;
1124 | };
1125 | var $create = function create(it, P) {
1126 | return P === undefined ? _create(it) : $defineProperties(_create(it), P);
1127 | };
1128 | var $propertyIsEnumerable = function propertyIsEnumerable(key) {
1129 | var E = isEnum.call(this, key = toPrimitive(key, true));
1130 | if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
1131 | return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
1132 | };
1133 | var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
1134 | it = toIObject(it);
1135 | key = toPrimitive(key, true);
1136 | if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
1137 | var D = gOPD(it, key);
1138 | if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
1139 | return D;
1140 | };
1141 | var $getOwnPropertyNames = function getOwnPropertyNames(it) {
1142 | var names = gOPN(toIObject(it));
1143 | var result = [];
1144 | var i = 0;
1145 | var key;
1146 | while (names.length > i) {
1147 | if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);
1148 | } return result;
1149 | };
1150 | var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
1151 | var IS_OP = it === ObjectProto;
1152 | var names = gOPN(IS_OP ? OPSymbols : toIObject(it));
1153 | var result = [];
1154 | var i = 0;
1155 | var key;
1156 | while (names.length > i) {
1157 | if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);
1158 | } return result;
1159 | };
1160 |
1161 | // 19.4.1.1 Symbol([description])
1162 | if (!USE_NATIVE) {
1163 | $Symbol = function Symbol() {
1164 | if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
1165 | var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
1166 | var $set = function (value) {
1167 | if (this === ObjectProto) $set.call(OPSymbols, value);
1168 | if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
1169 | setSymbolDesc(this, tag, createDesc(1, value));
1170 | };
1171 | if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });
1172 | return wrap(tag);
1173 | };
1174 | redefine($Symbol[PROTOTYPE], 'toString', function toString() {
1175 | return this._k;
1176 | });
1177 |
1178 | $GOPD.f = $getOwnPropertyDescriptor;
1179 | $DP.f = $defineProperty;
1180 | __webpack_require__(169).f = gOPNExt.f = $getOwnPropertyNames;
1181 | __webpack_require__(119).f = $propertyIsEnumerable;
1182 | __webpack_require__(168).f = $getOwnPropertySymbols;
1183 |
1184 | if (DESCRIPTORS && !__webpack_require__(111)) {
1185 | redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
1186 | }
1187 |
1188 | wksExt.f = function (name) {
1189 | return wrap(wks(name));
1190 | };
1191 | }
1192 |
1193 | $export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });
1194 |
1195 | for (var es6Symbols = (
1196 | // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
1197 | 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
1198 | ).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);
1199 |
1200 | for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);
1201 |
1202 | $export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
1203 | // 19.4.2.1 Symbol.for(key)
1204 | 'for': function (key) {
1205 | return has(SymbolRegistry, key += '')
1206 | ? SymbolRegistry[key]
1207 | : SymbolRegistry[key] = $Symbol(key);
1208 | },
1209 | // 19.4.2.5 Symbol.keyFor(sym)
1210 | keyFor: function keyFor(sym) {
1211 | if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');
1212 | for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;
1213 | },
1214 | useSetter: function () { setter = true; },
1215 | useSimple: function () { setter = false; }
1216 | });
1217 |
1218 | $export($export.S + $export.F * !USE_NATIVE, 'Object', {
1219 | // 19.1.2.2 Object.create(O [, Properties])
1220 | create: $create,
1221 | // 19.1.2.4 Object.defineProperty(O, P, Attributes)
1222 | defineProperty: $defineProperty,
1223 | // 19.1.2.3 Object.defineProperties(O, Properties)
1224 | defineProperties: $defineProperties,
1225 | // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
1226 | getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
1227 | // 19.1.2.7 Object.getOwnPropertyNames(O)
1228 | getOwnPropertyNames: $getOwnPropertyNames,
1229 | // 19.1.2.8 Object.getOwnPropertySymbols(O)
1230 | getOwnPropertySymbols: $getOwnPropertySymbols
1231 | });
1232 |
1233 | // 24.3.2 JSON.stringify(value [, replacer [, space]])
1234 | $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
1235 | var S = $Symbol();
1236 | // MS Edge converts symbol values to JSON as {}
1237 | // WebKit converts symbol values to JSON as null
1238 | // V8 throws on boxed symbols
1239 | return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';
1240 | })), 'JSON', {
1241 | stringify: function stringify(it) {
1242 | var args = [it];
1243 | var i = 1;
1244 | var replacer, $replacer;
1245 | while (arguments.length > i) args.push(arguments[i++]);
1246 | $replacer = replacer = args[1];
1247 | if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
1248 | if (!isArray(replacer)) replacer = function (key, value) {
1249 | if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
1250 | if (!isSymbol(value)) return value;
1251 | };
1252 | args[1] = replacer;
1253 | return _stringify.apply($JSON, args);
1254 | }
1255 | });
1256 |
1257 | // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
1258 | $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(52)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
1259 | // 19.4.3.5 Symbol.prototype[@@toStringTag]
1260 | setToStringTag($Symbol, 'Symbol');
1261 | // 20.2.1.9 Math[@@toStringTag]
1262 | setToStringTag(Math, 'Math', true);
1263 | // 24.3.3 JSON[@@toStringTag]
1264 | setToStringTag(global.JSON, 'JSON', true);
1265 |
1266 |
1267 | /***/ }),
1268 |
1269 | /***/ 414:
1270 | /***/ (function(module, exports, __webpack_require__) {
1271 |
1272 | var META = __webpack_require__(75)('meta');
1273 | var isObject = __webpack_require__(53);
1274 | var has = __webpack_require__(44);
1275 | var setDesc = __webpack_require__(45).f;
1276 | var id = 0;
1277 | var isExtensible = Object.isExtensible || function () {
1278 | return true;
1279 | };
1280 | var FREEZE = !__webpack_require__(60)(function () {
1281 | return isExtensible(Object.preventExtensions({}));
1282 | });
1283 | var setMeta = function (it) {
1284 | setDesc(it, META, { value: {
1285 | i: 'O' + ++id, // object ID
1286 | w: {} // weak collections IDs
1287 | } });
1288 | };
1289 | var fastKey = function (it, create) {
1290 | // return primitive with prefix
1291 | if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
1292 | if (!has(it, META)) {
1293 | // can't set metadata to uncaught frozen object
1294 | if (!isExtensible(it)) return 'F';
1295 | // not necessary to add metadata
1296 | if (!create) return 'E';
1297 | // add missing metadata
1298 | setMeta(it);
1299 | // return object ID
1300 | } return it[META].i;
1301 | };
1302 | var getWeak = function (it, create) {
1303 | if (!has(it, META)) {
1304 | // can't set metadata to uncaught frozen object
1305 | if (!isExtensible(it)) return true;
1306 | // not necessary to add metadata
1307 | if (!create) return false;
1308 | // add missing metadata
1309 | setMeta(it);
1310 | // return hash weak collections IDs
1311 | } return it[META].w;
1312 | };
1313 | // add metadata on freeze-family methods calling
1314 | var onFreeze = function (it) {
1315 | if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
1316 | return it;
1317 | };
1318 | var meta = module.exports = {
1319 | KEY: META,
1320 | NEED: false,
1321 | fastKey: fastKey,
1322 | getWeak: getWeak,
1323 | onFreeze: onFreeze
1324 | };
1325 |
1326 |
1327 | /***/ }),
1328 |
1329 | /***/ 415:
1330 | /***/ (function(module, exports, __webpack_require__) {
1331 |
1332 | // all enumerable object keys, includes symbols
1333 | var getKeys = __webpack_require__(114);
1334 | var gOPS = __webpack_require__(168);
1335 | var pIE = __webpack_require__(119);
1336 | module.exports = function (it) {
1337 | var result = getKeys(it);
1338 | var getSymbols = gOPS.f;
1339 | if (getSymbols) {
1340 | var symbols = getSymbols(it);
1341 | var isEnum = pIE.f;
1342 | var i = 0;
1343 | var key;
1344 | while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);
1345 | } return result;
1346 | };
1347 |
1348 |
1349 | /***/ }),
1350 |
1351 | /***/ 416:
1352 | /***/ (function(module, exports, __webpack_require__) {
1353 |
1354 | // 7.2.2 IsArray(argument)
1355 | var cof = __webpack_require__(167);
1356 | module.exports = Array.isArray || function isArray(arg) {
1357 | return cof(arg) == 'Array';
1358 | };
1359 |
1360 |
1361 | /***/ }),
1362 |
1363 | /***/ 417:
1364 | /***/ (function(module, exports, __webpack_require__) {
1365 |
1366 | // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
1367 | var toIObject = __webpack_require__(54);
1368 | var gOPN = __webpack_require__(169).f;
1369 | var toString = {}.toString;
1370 |
1371 | var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
1372 | ? Object.getOwnPropertyNames(window) : [];
1373 |
1374 | var getWindowNames = function (it) {
1375 | try {
1376 | return gOPN(it);
1377 | } catch (e) {
1378 | return windowNames.slice();
1379 | }
1380 | };
1381 |
1382 | module.exports.f = function getOwnPropertyNames(it) {
1383 | return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
1384 | };
1385 |
1386 |
1387 | /***/ }),
1388 |
1389 | /***/ 418:
1390 | /***/ (function(module, exports) {
1391 |
1392 |
1393 |
1394 | /***/ }),
1395 |
1396 | /***/ 419:
1397 | /***/ (function(module, exports, __webpack_require__) {
1398 |
1399 | __webpack_require__(118)('asyncIterator');
1400 |
1401 |
1402 | /***/ }),
1403 |
1404 | /***/ 420:
1405 | /***/ (function(module, exports, __webpack_require__) {
1406 |
1407 | __webpack_require__(118)('observable');
1408 |
1409 |
1410 | /***/ }),
1411 |
1412 | /***/ 421:
1413 | /***/ (function(module, exports, __webpack_require__) {
1414 |
1415 | "use strict";
1416 |
1417 |
1418 | exports.__esModule = true;
1419 |
1420 | var _setPrototypeOf = __webpack_require__(422);
1421 |
1422 | var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);
1423 |
1424 | var _create = __webpack_require__(426);
1425 |
1426 | var _create2 = _interopRequireDefault(_create);
1427 |
1428 | var _typeof2 = __webpack_require__(163);
1429 |
1430 | var _typeof3 = _interopRequireDefault(_typeof2);
1431 |
1432 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1433 |
1434 | exports.default = function (subClass, superClass) {
1435 | if (typeof superClass !== "function" && superClass !== null) {
1436 | throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass)));
1437 | }
1438 |
1439 | subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {
1440 | constructor: {
1441 | value: subClass,
1442 | enumerable: false,
1443 | writable: true,
1444 | configurable: true
1445 | }
1446 | });
1447 | if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;
1448 | };
1449 |
1450 | /***/ }),
1451 |
1452 | /***/ 422:
1453 | /***/ (function(module, exports, __webpack_require__) {
1454 |
1455 | module.exports = { "default": __webpack_require__(423), __esModule: true };
1456 |
1457 | /***/ }),
1458 |
1459 | /***/ 423:
1460 | /***/ (function(module, exports, __webpack_require__) {
1461 |
1462 | __webpack_require__(424);
1463 | module.exports = __webpack_require__(32).Object.setPrototypeOf;
1464 |
1465 |
1466 | /***/ }),
1467 |
1468 | /***/ 424:
1469 | /***/ (function(module, exports, __webpack_require__) {
1470 |
1471 | // 19.1.3.19 Object.setPrototypeOf(O, proto)
1472 | var $export = __webpack_require__(51);
1473 | $export($export.S, 'Object', { setPrototypeOf: __webpack_require__(425).set });
1474 |
1475 |
1476 | /***/ }),
1477 |
1478 | /***/ 425:
1479 | /***/ (function(module, exports, __webpack_require__) {
1480 |
1481 | // Works with __proto__ only. Old v8 can't work with null proto objects.
1482 | /* eslint-disable no-proto */
1483 | var isObject = __webpack_require__(53);
1484 | var anObject = __webpack_require__(59);
1485 | var check = function (O, proto) {
1486 | anObject(O);
1487 | if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
1488 | };
1489 | module.exports = {
1490 | set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
1491 | function (test, buggy, set) {
1492 | try {
1493 | set = __webpack_require__(160)(Function.call, __webpack_require__(170).f(Object.prototype, '__proto__').set, 2);
1494 | set(test, []);
1495 | buggy = !(test instanceof Array);
1496 | } catch (e) { buggy = true; }
1497 | return function setPrototypeOf(O, proto) {
1498 | check(O, proto);
1499 | if (buggy) O.__proto__ = proto;
1500 | else set(O, proto);
1501 | return O;
1502 | };
1503 | }({}, false) : undefined),
1504 | check: check
1505 | };
1506 |
1507 |
1508 | /***/ }),
1509 |
1510 | /***/ 426:
1511 | /***/ (function(module, exports, __webpack_require__) {
1512 |
1513 | module.exports = { "default": __webpack_require__(427), __esModule: true };
1514 |
1515 | /***/ }),
1516 |
1517 | /***/ 427:
1518 | /***/ (function(module, exports, __webpack_require__) {
1519 |
1520 | __webpack_require__(428);
1521 | var $Object = __webpack_require__(32).Object;
1522 | module.exports = function create(P, D) {
1523 | return $Object.create(P, D);
1524 | };
1525 |
1526 |
1527 | /***/ }),
1528 |
1529 | /***/ 428:
1530 | /***/ (function(module, exports, __webpack_require__) {
1531 |
1532 | var $export = __webpack_require__(51);
1533 | // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
1534 | $export($export.S, 'Object', { create: __webpack_require__(113) });
1535 |
1536 |
1537 | /***/ }),
1538 |
1539 | /***/ 44:
1540 | /***/ (function(module, exports) {
1541 |
1542 | var hasOwnProperty = {}.hasOwnProperty;
1543 | module.exports = function (it, key) {
1544 | return hasOwnProperty.call(it, key);
1545 | };
1546 |
1547 |
1548 | /***/ }),
1549 |
1550 | /***/ 45:
1551 | /***/ (function(module, exports, __webpack_require__) {
1552 |
1553 | var anObject = __webpack_require__(59);
1554 | var IE8_DOM_DEFINE = __webpack_require__(161);
1555 | var toPrimitive = __webpack_require__(109);
1556 | var dP = Object.defineProperty;
1557 |
1558 | exports.f = __webpack_require__(46) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
1559 | anObject(O);
1560 | P = toPrimitive(P, true);
1561 | anObject(Attributes);
1562 | if (IE8_DOM_DEFINE) try {
1563 | return dP(O, P, Attributes);
1564 | } catch (e) { /* empty */ }
1565 | if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
1566 | if ('value' in Attributes) O[P] = Attributes.value;
1567 | return O;
1568 | };
1569 |
1570 |
1571 | /***/ }),
1572 |
1573 | /***/ 46:
1574 | /***/ (function(module, exports, __webpack_require__) {
1575 |
1576 | // Thank's IE8 for his funny defineProperty
1577 | module.exports = !__webpack_require__(60)(function () {
1578 | return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
1579 | });
1580 |
1581 |
1582 | /***/ }),
1583 |
1584 | /***/ 51:
1585 | /***/ (function(module, exports, __webpack_require__) {
1586 |
1587 | var global = __webpack_require__(31);
1588 | var core = __webpack_require__(32);
1589 | var ctx = __webpack_require__(160);
1590 | var hide = __webpack_require__(52);
1591 | var PROTOTYPE = 'prototype';
1592 |
1593 | var $export = function (type, name, source) {
1594 | var IS_FORCED = type & $export.F;
1595 | var IS_GLOBAL = type & $export.G;
1596 | var IS_STATIC = type & $export.S;
1597 | var IS_PROTO = type & $export.P;
1598 | var IS_BIND = type & $export.B;
1599 | var IS_WRAP = type & $export.W;
1600 | var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
1601 | var expProto = exports[PROTOTYPE];
1602 | var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
1603 | var key, own, out;
1604 | if (IS_GLOBAL) source = name;
1605 | for (key in source) {
1606 | // contains in native
1607 | own = !IS_FORCED && target && target[key] !== undefined;
1608 | if (own && key in exports) continue;
1609 | // export native or passed
1610 | out = own ? target[key] : source[key];
1611 | // prevent global pollution for namespaces
1612 | exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
1613 | // bind timers to global for call from export context
1614 | : IS_BIND && own ? ctx(out, global)
1615 | // wrap global constructors for prevent change them in library
1616 | : IS_WRAP && target[key] == out ? (function (C) {
1617 | var F = function (a, b, c) {
1618 | if (this instanceof C) {
1619 | switch (arguments.length) {
1620 | case 0: return new C();
1621 | case 1: return new C(a);
1622 | case 2: return new C(a, b);
1623 | } return new C(a, b, c);
1624 | } return C.apply(this, arguments);
1625 | };
1626 | F[PROTOTYPE] = C[PROTOTYPE];
1627 | return F;
1628 | // make static versions for prototype methods
1629 | })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
1630 | // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
1631 | if (IS_PROTO) {
1632 | (exports.virtual || (exports.virtual = {}))[key] = out;
1633 | // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
1634 | if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
1635 | }
1636 | }
1637 | };
1638 | // type bitmap
1639 | $export.F = 1; // forced
1640 | $export.G = 2; // global
1641 | $export.S = 4; // static
1642 | $export.P = 8; // proto
1643 | $export.B = 16; // bind
1644 | $export.W = 32; // wrap
1645 | $export.U = 64; // safe
1646 | $export.R = 128; // real proto method for `library`
1647 | module.exports = $export;
1648 |
1649 |
1650 | /***/ }),
1651 |
1652 | /***/ 52:
1653 | /***/ (function(module, exports, __webpack_require__) {
1654 |
1655 | var dP = __webpack_require__(45);
1656 | var createDesc = __webpack_require__(76);
1657 | module.exports = __webpack_require__(46) ? function (object, key, value) {
1658 | return dP.f(object, key, createDesc(1, value));
1659 | } : function (object, key, value) {
1660 | object[key] = value;
1661 | return object;
1662 | };
1663 |
1664 |
1665 | /***/ }),
1666 |
1667 | /***/ 53:
1668 | /***/ (function(module, exports) {
1669 |
1670 | module.exports = function (it) {
1671 | return typeof it === 'object' ? it !== null : typeof it === 'function';
1672 | };
1673 |
1674 |
1675 | /***/ }),
1676 |
1677 | /***/ 54:
1678 | /***/ (function(module, exports, __webpack_require__) {
1679 |
1680 | // to indexed object, toObject with fallback for non-array-like ES3 strings
1681 | var IObject = __webpack_require__(402);
1682 | var defined = __webpack_require__(106);
1683 | module.exports = function (it) {
1684 | return IObject(defined(it));
1685 | };
1686 |
1687 |
1688 | /***/ }),
1689 |
1690 | /***/ 55:
1691 | /***/ (function(module, exports, __webpack_require__) {
1692 |
1693 | var store = __webpack_require__(108)('wks');
1694 | var uid = __webpack_require__(75);
1695 | var Symbol = __webpack_require__(31).Symbol;
1696 | var USE_SYMBOL = typeof Symbol == 'function';
1697 |
1698 | var $exports = module.exports = function (name) {
1699 | return store[name] || (store[name] =
1700 | USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
1701 | };
1702 |
1703 | $exports.store = store;
1704 |
1705 |
1706 | /***/ }),
1707 |
1708 | /***/ 59:
1709 | /***/ (function(module, exports, __webpack_require__) {
1710 |
1711 | var isObject = __webpack_require__(53);
1712 | module.exports = function (it) {
1713 | if (!isObject(it)) throw TypeError(it + ' is not an object!');
1714 | return it;
1715 | };
1716 |
1717 |
1718 | /***/ }),
1719 |
1720 | /***/ 60:
1721 | /***/ (function(module, exports) {
1722 |
1723 | module.exports = function (exec) {
1724 | try {
1725 | return !!exec();
1726 | } catch (e) {
1727 | return true;
1728 | }
1729 | };
1730 |
1731 |
1732 | /***/ }),
1733 |
1734 | /***/ 75:
1735 | /***/ (function(module, exports) {
1736 |
1737 | var id = 0;
1738 | var px = Math.random();
1739 | module.exports = function (key) {
1740 | return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
1741 | };
1742 |
1743 |
1744 | /***/ }),
1745 |
1746 | /***/ 76:
1747 | /***/ (function(module, exports) {
1748 |
1749 | module.exports = function (bitmap, value) {
1750 | return {
1751 | enumerable: !(bitmap & 1),
1752 | configurable: !(bitmap & 2),
1753 | writable: !(bitmap & 4),
1754 | value: value
1755 | };
1756 | };
1757 |
1758 |
1759 | /***/ })
1760 |
1761 | },[384]);
1762 | //# sourceMappingURL=main.bundle.js.map
--------------------------------------------------------------------------------