10521 lines
288 KiB
JavaScript
10521 lines
288 KiB
JavaScript
module.exports =
|
||
/******/ (function(modules) { // webpackBootstrap
|
||
/******/ // The module cache
|
||
/******/ var installedModules = {};
|
||
/******/
|
||
/******/ // The require function
|
||
/******/ function __webpack_require__(moduleId) {
|
||
/******/
|
||
/******/ // Check if module is in cache
|
||
/******/ if(installedModules[moduleId]) {
|
||
/******/ return installedModules[moduleId].exports;
|
||
/******/ }
|
||
/******/ // Create a new module (and put it into the cache)
|
||
/******/ var module = installedModules[moduleId] = {
|
||
/******/ i: moduleId,
|
||
/******/ l: false,
|
||
/******/ exports: {}
|
||
/******/ };
|
||
/******/
|
||
/******/ // Execute the module function
|
||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||
/******/
|
||
/******/ // Flag the module as loaded
|
||
/******/ module.l = true;
|
||
/******/
|
||
/******/ // Return the exports of the module
|
||
/******/ return module.exports;
|
||
/******/ }
|
||
/******/
|
||
/******/
|
||
/******/ // expose the modules object (__webpack_modules__)
|
||
/******/ __webpack_require__.m = modules;
|
||
/******/
|
||
/******/ // expose the module cache
|
||
/******/ __webpack_require__.c = installedModules;
|
||
/******/
|
||
/******/ // define getter function for harmony exports
|
||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||
/******/ Object.defineProperty(exports, name, {
|
||
/******/ configurable: false,
|
||
/******/ enumerable: true,
|
||
/******/ get: getter
|
||
/******/ });
|
||
/******/ }
|
||
/******/ };
|
||
/******/
|
||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||
/******/ __webpack_require__.n = function(module) {
|
||
/******/ var getter = module && module.__esModule ?
|
||
/******/ function getDefault() { return module['default']; } :
|
||
/******/ function getModuleExports() { return module; };
|
||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||
/******/ return getter;
|
||
/******/ };
|
||
/******/
|
||
/******/ // Object.prototype.hasOwnProperty.call
|
||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||
/******/
|
||
/******/ // __webpack_public_path__
|
||
/******/ __webpack_require__.p = "";
|
||
/******/
|
||
/******/ // Load entry module and return exports
|
||
/******/ return __webpack_require__(__webpack_require__.s = 88);
|
||
/******/ })
|
||
/************************************************************************/
|
||
/******/ ([
|
||
/* 0 */
|
||
/***/ (function(module, exports) {
|
||
|
||
var core = module.exports = { version: '2.6.12' };
|
||
if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
|
||
|
||
|
||
/***/ }),
|
||
/* 1 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("path");
|
||
|
||
/***/ }),
|
||
/* 2 */
|
||
/***/ (function(module, exports) {
|
||
|
||
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
||
var global = module.exports = typeof window != 'undefined' && window.Math == Math
|
||
? window : typeof self != 'undefined' && self.Math == Math ? self
|
||
// eslint-disable-next-line no-new-func
|
||
: Function('return this')();
|
||
if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
|
||
|
||
|
||
/***/ }),
|
||
/* 3 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var store = __webpack_require__(43)('wks');
|
||
var uid = __webpack_require__(30);
|
||
var Symbol = __webpack_require__(2).Symbol;
|
||
var USE_SYMBOL = typeof Symbol == 'function';
|
||
|
||
var $exports = module.exports = function (name) {
|
||
return store[name] || (store[name] =
|
||
USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
|
||
};
|
||
|
||
$exports.store = store;
|
||
|
||
|
||
/***/ }),
|
||
/* 4 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(2);
|
||
var core = __webpack_require__(0);
|
||
var ctx = __webpack_require__(11);
|
||
var hide = __webpack_require__(12);
|
||
var has = __webpack_require__(14);
|
||
var PROTOTYPE = 'prototype';
|
||
|
||
var $export = function (type, name, source) {
|
||
var IS_FORCED = type & $export.F;
|
||
var IS_GLOBAL = type & $export.G;
|
||
var IS_STATIC = type & $export.S;
|
||
var IS_PROTO = type & $export.P;
|
||
var IS_BIND = type & $export.B;
|
||
var IS_WRAP = type & $export.W;
|
||
var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});
|
||
var expProto = exports[PROTOTYPE];
|
||
var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];
|
||
var key, own, out;
|
||
if (IS_GLOBAL) source = name;
|
||
for (key in source) {
|
||
// contains in native
|
||
own = !IS_FORCED && target && target[key] !== undefined;
|
||
if (own && has(exports, key)) continue;
|
||
// export native or passed
|
||
out = own ? target[key] : source[key];
|
||
// prevent global pollution for namespaces
|
||
exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
|
||
// bind timers to global for call from export context
|
||
: IS_BIND && own ? ctx(out, global)
|
||
// wrap global constructors for prevent change them in library
|
||
: IS_WRAP && target[key] == out ? (function (C) {
|
||
var F = function (a, b, c) {
|
||
if (this instanceof C) {
|
||
switch (arguments.length) {
|
||
case 0: return new C();
|
||
case 1: return new C(a);
|
||
case 2: return new C(a, b);
|
||
} return new C(a, b, c);
|
||
} return C.apply(this, arguments);
|
||
};
|
||
F[PROTOTYPE] = C[PROTOTYPE];
|
||
return F;
|
||
// make static versions for prototype methods
|
||
})(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
|
||
// export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
|
||
if (IS_PROTO) {
|
||
(exports.virtual || (exports.virtual = {}))[key] = out;
|
||
// export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
|
||
if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
|
||
}
|
||
}
|
||
};
|
||
// type bitmap
|
||
$export.F = 1; // forced
|
||
$export.G = 2; // global
|
||
$export.S = 4; // static
|
||
$export.P = 8; // proto
|
||
$export.B = 16; // bind
|
||
$export.W = 32; // wrap
|
||
$export.U = 64; // safe
|
||
$export.R = 128; // real proto method for `library`
|
||
module.exports = $export;
|
||
|
||
|
||
/***/ }),
|
||
/* 5 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = function (it) {
|
||
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 6 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("fs");
|
||
|
||
/***/ }),
|
||
/* 7 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var anObject = __webpack_require__(8);
|
||
var IE8_DOM_DEFINE = __webpack_require__(62);
|
||
var toPrimitive = __webpack_require__(39);
|
||
var dP = Object.defineProperty;
|
||
|
||
exports.f = __webpack_require__(9) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
|
||
anObject(O);
|
||
P = toPrimitive(P, true);
|
||
anObject(Attributes);
|
||
if (IE8_DOM_DEFINE) try {
|
||
return dP(O, P, Attributes);
|
||
} catch (e) { /* empty */ }
|
||
if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
|
||
if ('value' in Attributes) O[P] = Attributes.value;
|
||
return O;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 8 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(5);
|
||
module.exports = function (it) {
|
||
if (!isObject(it)) throw TypeError(it + ' is not an object!');
|
||
return it;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 9 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// Thank's IE8 for his funny defineProperty
|
||
module.exports = !__webpack_require__(16)(function () {
|
||
return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
/* 10 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("os");
|
||
|
||
/***/ }),
|
||
/* 11 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// optional / simple context binding
|
||
var aFunction = __webpack_require__(21);
|
||
module.exports = function (fn, that, length) {
|
||
aFunction(fn);
|
||
if (that === undefined) return fn;
|
||
switch (length) {
|
||
case 1: return function (a) {
|
||
return fn.call(that, a);
|
||
};
|
||
case 2: return function (a, b) {
|
||
return fn.call(that, a, b);
|
||
};
|
||
case 3: return function (a, b, c) {
|
||
return fn.call(that, a, b, c);
|
||
};
|
||
}
|
||
return function (/* ...args */) {
|
||
return fn.apply(that, arguments);
|
||
};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 12 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var dP = __webpack_require__(7);
|
||
var createDesc = __webpack_require__(28);
|
||
module.exports = __webpack_require__(9) ? function (object, key, value) {
|
||
return dP.f(object, key, createDesc(1, value));
|
||
} : function (object, key, value) {
|
||
object[key] = value;
|
||
return object;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 13 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("electron");
|
||
|
||
/***/ }),
|
||
/* 14 */
|
||
/***/ (function(module, exports) {
|
||
|
||
var hasOwnProperty = {}.hasOwnProperty;
|
||
module.exports = function (it, key) {
|
||
return hasOwnProperty.call(it, key);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 15 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("child_process");
|
||
|
||
/***/ }),
|
||
/* 16 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = function (exec) {
|
||
try {
|
||
return !!exec();
|
||
} catch (e) {
|
||
return true;
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 17 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = {};
|
||
|
||
|
||
/***/ }),
|
||
/* 18 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// to indexed object, toObject with fallback for non-array-like ES3 strings
|
||
var IObject = __webpack_require__(65);
|
||
var defined = __webpack_require__(36);
|
||
module.exports = function (it) {
|
||
return IObject(defined(it));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 19 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var $at = __webpack_require__(112)(true);
|
||
|
||
// 21.1.3.27 String.prototype[@@iterator]()
|
||
__webpack_require__(37)(String, 'String', function (iterated) {
|
||
this._t = String(iterated); // target
|
||
this._i = 0; // next index
|
||
// 21.1.5.2.1 %StringIteratorPrototype%.next()
|
||
}, function () {
|
||
var O = this._t;
|
||
var index = this._i;
|
||
var point;
|
||
if (index >= O.length) return { value: undefined, done: true };
|
||
point = $at(O, index);
|
||
this._i += point.length;
|
||
return { value: point, done: false };
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
/* 20 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = true;
|
||
|
||
|
||
/***/ }),
|
||
/* 21 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = function (it) {
|
||
if (typeof it != 'function') throw TypeError(it + ' is not a function!');
|
||
return it;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 22 */
|
||
/***/ (function(module, exports) {
|
||
|
||
var toString = {}.toString;
|
||
|
||
module.exports = function (it) {
|
||
return toString.call(it).slice(8, -1);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 23 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var def = __webpack_require__(7).f;
|
||
var has = __webpack_require__(14);
|
||
var TAG = __webpack_require__(3)('toStringTag');
|
||
|
||
module.exports = function (it, tag, stat) {
|
||
if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 24 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
__webpack_require__(117);
|
||
var global = __webpack_require__(2);
|
||
var hide = __webpack_require__(12);
|
||
var Iterators = __webpack_require__(17);
|
||
var TO_STRING_TAG = __webpack_require__(3)('toStringTag');
|
||
|
||
var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +
|
||
'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +
|
||
'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +
|
||
'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +
|
||
'TextTrackList,TouchList').split(',');
|
||
|
||
for (var i = 0; i < DOMIterables.length; i++) {
|
||
var NAME = DOMIterables[i];
|
||
var Collection = global[NAME];
|
||
var proto = Collection && Collection.prototype;
|
||
if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
|
||
Iterators[NAME] = Iterators.Array;
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 25 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var ctx = __webpack_require__(11);
|
||
var call = __webpack_require__(130);
|
||
var isArrayIter = __webpack_require__(131);
|
||
var anObject = __webpack_require__(8);
|
||
var toLength = __webpack_require__(41);
|
||
var getIterFn = __webpack_require__(73);
|
||
var BREAK = {};
|
||
var RETURN = {};
|
||
var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
|
||
var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);
|
||
var f = ctx(fn, that, entries ? 2 : 1);
|
||
var index = 0;
|
||
var length, step, iterator, result;
|
||
if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
|
||
// fast case for arrays with default iterator
|
||
if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
|
||
result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
|
||
if (result === BREAK || result === RETURN) return result;
|
||
} else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
|
||
result = call(iterator, f, step.value, entries);
|
||
if (result === BREAK || result === RETURN) return result;
|
||
}
|
||
};
|
||
exports.BREAK = BREAK;
|
||
exports.RETURN = RETURN;
|
||
|
||
|
||
/***/ }),
|
||
/* 26 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("util");
|
||
|
||
/***/ }),
|
||
/* 27 */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return GetHomeDir; });
|
||
/* unused harmony export GetAsar */
|
||
|
||
function GetHomeDir() {
|
||
var HOME_DIR = process.cwd();
|
||
console.log("process.env.NODE_ENV", process.env.NODE_ENV);
|
||
if (process.env.NODE_ENV === "production") {
|
||
var arr = process.execPath.replaceAll("\\", "/").split("/");
|
||
arr.pop();
|
||
HOME_DIR = arr.join("/");
|
||
}
|
||
return HOME_DIR;
|
||
}
|
||
|
||
function GetAsar() {
|
||
if (process.env.NODE_ENV === "production") {
|
||
var arr = process.execPath.replaceAll("\\", "/").split("/");
|
||
arr.pop();
|
||
HOME_DIR = arr.join("/");
|
||
}
|
||
return HOME_DIR;
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 28 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = function (bitmap, value) {
|
||
return {
|
||
enumerable: !(bitmap & 1),
|
||
configurable: !(bitmap & 2),
|
||
writable: !(bitmap & 4),
|
||
value: value
|
||
};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 29 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
|
||
var anObject = __webpack_require__(8);
|
||
var dPs = __webpack_require__(114);
|
||
var enumBugKeys = __webpack_require__(44);
|
||
var IE_PROTO = __webpack_require__(42)('IE_PROTO');
|
||
var Empty = function () { /* empty */ };
|
||
var PROTOTYPE = 'prototype';
|
||
|
||
// Create object with fake `null` prototype: use iframe Object with cleared prototype
|
||
var createDict = function () {
|
||
// Thrash, waste and sodomy: IE GC bug
|
||
var iframe = __webpack_require__(38)('iframe');
|
||
var i = enumBugKeys.length;
|
||
var lt = '<';
|
||
var gt = '>';
|
||
var iframeDocument;
|
||
iframe.style.display = 'none';
|
||
__webpack_require__(66).appendChild(iframe);
|
||
iframe.src = 'javascript:'; // eslint-disable-line no-script-url
|
||
// createDict = iframe.contentWindow.Object;
|
||
// html.removeChild(iframe);
|
||
iframeDocument = iframe.contentWindow.document;
|
||
iframeDocument.open();
|
||
iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
|
||
iframeDocument.close();
|
||
createDict = iframeDocument.F;
|
||
while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
|
||
return createDict();
|
||
};
|
||
|
||
module.exports = Object.create || function create(O, Properties) {
|
||
var result;
|
||
if (O !== null) {
|
||
Empty[PROTOTYPE] = anObject(O);
|
||
result = new Empty();
|
||
Empty[PROTOTYPE] = null;
|
||
// add "__proto__" for Object.getPrototypeOf polyfill
|
||
result[IE_PROTO] = O;
|
||
} else result = createDict();
|
||
return Properties === undefined ? result : dPs(result, Properties);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 30 */
|
||
/***/ (function(module, exports) {
|
||
|
||
var id = 0;
|
||
var px = Math.random();
|
||
module.exports = function (key) {
|
||
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 31 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// 7.1.13 ToObject(argument)
|
||
var defined = __webpack_require__(36);
|
||
module.exports = function (it) {
|
||
return Object(defined(it));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 32 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// getting tag from 19.1.3.6 Object.prototype.toString()
|
||
var cof = __webpack_require__(22);
|
||
var TAG = __webpack_require__(3)('toStringTag');
|
||
// ES3 wrong here
|
||
var ARG = cof(function () { return arguments; }()) == 'Arguments';
|
||
|
||
// fallback for IE11 Script Access Denied error
|
||
var tryGet = function (it, key) {
|
||
try {
|
||
return it[key];
|
||
} catch (e) { /* empty */ }
|
||
};
|
||
|
||
module.exports = function (it) {
|
||
var O, T, B;
|
||
return it === undefined ? 'Undefined' : it === null ? 'Null'
|
||
// @@toStringTag case
|
||
: typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
|
||
// builtinTag case
|
||
: ARG ? cof(O)
|
||
// ES3 arguments fallback
|
||
: (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 33 */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
||
/* WEBPACK VAR INJECTION */(function(__dirname) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getmainWindow", function() { return getmainWindow; });
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_electron__ = __webpack_require__(13);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_electron___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_electron__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__config__ = __webpack_require__(103);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__config___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__config__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__back_processGo__ = __webpack_require__(58);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__back_processGo___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__back_processGo__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__back_app__ = __webpack_require__(59);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__dbPath__ = __webpack_require__(108);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__dbPath___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__dbPath__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__back_ipcMain__ = __webpack_require__(109);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__back_awesomeProject3_test__ = __webpack_require__(200);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__back_awesomeProject3_test___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__back_awesomeProject3_test__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_path__ = __webpack_require__(1);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_path___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_path__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__back_sandTable_udpServer__ = __webpack_require__(86);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__tool__ = __webpack_require__(201);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__back_config__ = __webpack_require__(27);
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
var os = __webpack_require__(10);
|
||
var sharedObject = {};
|
||
|
||
process.env.ELECTRON_DISABLE_SECURITY_WARNINGS = true;
|
||
|
||
if (process.env.NODE_ENV !== "development") {
|
||
global.__static = __webpack_require__(1).join(__dirname, "/static").replace(/\\/g, "\\\\");
|
||
}
|
||
|
||
var mainWindow = void 0;
|
||
var splashWindow = void 0;
|
||
var winURL = process.env.NODE_ENV === "development" ? "http://localhost:" + __WEBPACK_IMPORTED_MODULE_1__config___default.a.AppConfig.PORT : "file://" + __dirname + "/index.html";
|
||
|
||
var isDev = !__WEBPACK_IMPORTED_MODULE_0_electron__["app"].isPackaged;
|
||
|
||
var icon = process.env.NODE_ENV === "development" ? __WEBPACK_IMPORTED_MODULE_7_path__["join"](Object(__WEBPACK_IMPORTED_MODULE_10__back_config__["a" /* GetHomeDir */])(), "static/logo_ico/81.ico") : __WEBPACK_IMPORTED_MODULE_7_path__["join"](Object(__WEBPACK_IMPORTED_MODULE_10__back_config__["a" /* GetHomeDir */])(), "resources/app.asar/" + "dist/electron/static/logo_ico/81.png");
|
||
function reExeName() {
|
||
var platform = os.platform();
|
||
var fs = __webpack_require__(6);
|
||
var cmd = "";
|
||
if (platform === "win32") {
|
||
cmd = "yjearth4.exe";
|
||
}
|
||
if (platform === "linux") {
|
||
cmd = "yjearth4";
|
||
}
|
||
var newcmd = "";
|
||
if (platform === "win32") {
|
||
newcmd = "yjearth4" + __WEBPACK_IMPORTED_MODULE_4__dbPath__["execPath"] + ".exe";
|
||
}
|
||
if (platform === "linux") {
|
||
newcmd = "yjearth4" + __WEBPACK_IMPORTED_MODULE_4__dbPath__["execPath"];
|
||
}
|
||
|
||
var oldPath = __WEBPACK_IMPORTED_MODULE_7_path__["join"](Object(__WEBPACK_IMPORTED_MODULE_10__back_config__["a" /* GetHomeDir */])() + "/yjearth4_0/", cmd);
|
||
|
||
var newPath = __WEBPACK_IMPORTED_MODULE_7_path__["join"](Object(__WEBPACK_IMPORTED_MODULE_10__back_config__["a" /* GetHomeDir */])() + "/yjearth4_0/", newcmd);
|
||
console.log("oldPath", newPath);
|
||
|
||
fs.access(oldPath, fs.constants.F_OK, function (err) {
|
||
if (err) {
|
||
console.error(oldPath + " does not exist.");
|
||
return;
|
||
}
|
||
|
||
fs.rename(oldPath, newPath, function (err) {
|
||
if (err) {
|
||
console.error("Error renaming " + oldPath + " to " + newPath + ": " + err);
|
||
return;
|
||
}
|
||
|
||
console.log("File renamed from " + oldPath + " to " + newPath);
|
||
});
|
||
});
|
||
}
|
||
function createSplashWindow() {
|
||
splashWindow = new __WEBPACK_IMPORTED_MODULE_0_electron__["BrowserWindow"]({
|
||
width: 896,
|
||
height: 510,
|
||
transparent: true,
|
||
frame: false,
|
||
alwaysOnTop: true,
|
||
icon: icon,
|
||
webPreferences: {
|
||
nodeIntegration: true,
|
||
contextIsolation: false,
|
||
enableRemoteModule: true,
|
||
webSecurity: false,
|
||
devTools: false
|
||
}
|
||
});
|
||
|
||
splashWindow.loadURL(splashURL);
|
||
|
||
splashWindow.on("closed", function () {
|
||
splashWindow = null;
|
||
});
|
||
|
||
splashWindow.webContents.on("did-finish-load", function () {
|
||
splashWindow.show();
|
||
});
|
||
|
||
var _require = __webpack_require__(13),
|
||
ipcMain = _require.ipcMain;
|
||
|
||
ipcMain.on("splash-completed", function () {
|
||
setTimeout(function () {
|
||
if (mainWindow && !mainWindow.isDestroyed()) {
|
||
mainWindow.maximize();
|
||
mainWindow.show();
|
||
mainWindow.focus();
|
||
|
||
setTimeout(function () {
|
||
mainWindow.webContents.send("start-login-video");
|
||
}, 200);
|
||
}
|
||
|
||
if (splashWindow && !splashWindow.isDestroyed()) {
|
||
splashWindow.close();
|
||
}
|
||
}, 500);
|
||
});
|
||
}
|
||
function createWindow() {
|
||
Object(__WEBPACK_IMPORTED_MODULE_3__back_app__["b" /* start */])();
|
||
Object(__WEBPACK_IMPORTED_MODULE_8__back_sandTable_udpServer__["a" /* Init */])();
|
||
var prefix = __WEBPACK_IMPORTED_MODULE_4__dbPath__["execPath"];
|
||
console.log("process.env.NODE_ENV +++", process.env.NODE_ENV);
|
||
if (process.env.NODE_ENV === "production") {
|
||
reExeName();
|
||
} else {
|
||
prefix = "";
|
||
}
|
||
Object(__WEBPACK_IMPORTED_MODULE_9__tool__["a" /* killProcessByName */])(prefix);
|
||
setTimeout(function () {
|
||
Object(__WEBPACK_IMPORTED_MODULE_2__back_processGo__["runProcess"])(prefix, __WEBPACK_IMPORTED_MODULE_4__dbPath__["db_path"]);
|
||
|
||
mainWindow = new __WEBPACK_IMPORTED_MODULE_0_electron__["BrowserWindow"]({
|
||
minWidth: 1500,
|
||
minHeight: 860,
|
||
useContentSize: true,
|
||
simpleFullscreen: true,
|
||
resizable: true,
|
||
frame: __WEBPACK_IMPORTED_MODULE_1__config___default.a.IsUseSysTitle,
|
||
icon: icon,
|
||
show: true,
|
||
webPreferences: {
|
||
nodeIntegration: true,
|
||
contextIsolation: false,
|
||
enableRemoteModule: true,
|
||
webSecurity: false,
|
||
|
||
devTools: true,
|
||
|
||
scrollBounce: process.platform === "darwin"
|
||
}
|
||
});
|
||
mainWindow.loadURL(winURL);
|
||
mainWindow.center();
|
||
mainWindow.maximize();
|
||
__WEBPACK_IMPORTED_MODULE_5__back_ipcMain__["a" /* default */].Mainfunc(mainWindow);
|
||
|
||
mainWindow.webContents.on("did-finish-load", function () {
|
||
mainWindow.show();
|
||
mainWindow.focus();
|
||
mainWindow.webContents.executeJavaScript("\n const { ipcRenderer } = require('electron'); \n window.addEventListener('dragover', (event) => {\n event.preventDefault();\n event.dataTransfer.dropEffect = 'copy'; // \u663E\u793A\u590D\u5236\u6548\u679C\n });\n window.addEventListener('drop', (event) => {\n event.preventDefault();\n const files = event.dataTransfer.files;\n if (files.length > 0) {\n ipcRenderer.send('files-dropped', Array.from(files).map(file => file.path));\n }\n });\n ");
|
||
});
|
||
|
||
mainWindow.webContents.on("did-fail-load", function () {});
|
||
|
||
mainWindow.on("closed", function () {
|
||
mainWindow = null;
|
||
});
|
||
mainWindow.on("close", function (e) {
|
||
e.preventDefault();
|
||
__WEBPACK_IMPORTED_MODULE_0_electron__["dialog"].showMessageBox(mainWindow, {
|
||
type: "warning",
|
||
title: "提示",
|
||
message: "是否确认退出系统?",
|
||
buttons: ["cancel", "ok"]
|
||
}).then(function (res) {
|
||
if (res.response) {
|
||
mainWindow = null;
|
||
Object(__WEBPACK_IMPORTED_MODULE_2__back_processGo__["closeChild"])();
|
||
__WEBPACK_IMPORTED_MODULE_0_electron__["app"].exit();
|
||
}
|
||
});
|
||
});
|
||
__WEBPACK_IMPORTED_MODULE_0_electron__["Menu"].setApplicationMenu(null);
|
||
if (process.env.NODE_ENV === "development") mainWindow.webContents.openDevTools({
|
||
mode: "undocked"
|
||
});
|
||
__WEBPACK_IMPORTED_MODULE_0_electron__["globalShortcut"].register("CommandOrControl+f5", function () {
|
||
mainWindow.reload();
|
||
|
||
mainWindow.webContents.once("did-finish-load", function () {
|
||
setTimeout(function () {
|
||
if (mainWindow && !mainWindow.isDestroyed()) {
|
||
console.log("发送播放视频消息");
|
||
mainWindow.webContents.send("start-login-video");
|
||
}
|
||
}, 500);
|
||
});
|
||
});
|
||
console.log(mainWindow.WebPreferences);
|
||
var flg = true;
|
||
__WEBPACK_IMPORTED_MODULE_0_electron__["globalShortcut"].register("CommandOrControl+f12", function () {
|
||
mainWindow.openDevTools(flg);
|
||
flg = !flg;
|
||
});
|
||
}, 1000);
|
||
}
|
||
function getmainWindow() {
|
||
return mainWindow;
|
||
}
|
||
|
||
var gotTheLock = __WEBPACK_IMPORTED_MODULE_0_electron__["app"].requestSingleInstanceLock();
|
||
|
||
if (!gotTheLock) {
|
||
__WEBPACK_IMPORTED_MODULE_0_electron__["app"].quit();
|
||
} else {
|
||
__WEBPACK_IMPORTED_MODULE_0_electron__["app"].on("ready", createWindow);
|
||
if (__WEBPACK_IMPORTED_MODULE_0_electron__["app"].isReady()) {}
|
||
|
||
__WEBPACK_IMPORTED_MODULE_0_electron__["app"].on("window-all-closed", function () {
|
||
if (process.platform !== "darwin") {
|
||
__WEBPACK_IMPORTED_MODULE_0_electron__["app"].quit();
|
||
}
|
||
});
|
||
|
||
__WEBPACK_IMPORTED_MODULE_0_electron__["app"].on("activate", function () {
|
||
if (mainWindow === null) {
|
||
createWindow();
|
||
}
|
||
});
|
||
__WEBPACK_IMPORTED_MODULE_0_electron__["app"].on("second-instance", function (event, commandLine, workingDirectory) {
|
||
if (mainWindow) {
|
||
if (mainWindow.isMinimized()) mainWindow.restore();
|
||
mainWindow.focus();
|
||
}
|
||
});
|
||
__WEBPACK_IMPORTED_MODULE_0_electron__["app"].on("before-quit", function () {
|
||
Object(__WEBPACK_IMPORTED_MODULE_2__back_processGo__["closeChild"])();
|
||
});
|
||
|
||
global.sharedObject = {
|
||
hasService: false
|
||
};
|
||
}
|
||
|
||
/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, "src\\main"))
|
||
|
||
/***/ }),
|
||
/* 34 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
|
||
var _iterator = __webpack_require__(110);
|
||
|
||
var _iterator2 = _interopRequireDefault(_iterator);
|
||
|
||
var _symbol = __webpack_require__(119);
|
||
|
||
var _symbol2 = _interopRequireDefault(_symbol);
|
||
|
||
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; };
|
||
|
||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
||
exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {
|
||
return typeof obj === "undefined" ? "undefined" : _typeof(obj);
|
||
} : function (obj) {
|
||
return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);
|
||
};
|
||
|
||
/***/ }),
|
||
/* 35 */
|
||
/***/ (function(module, exports) {
|
||
|
||
// 7.1.4 ToInteger
|
||
var ceil = Math.ceil;
|
||
var floor = Math.floor;
|
||
module.exports = function (it) {
|
||
return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 36 */
|
||
/***/ (function(module, exports) {
|
||
|
||
// 7.2.1 RequireObjectCoercible(argument)
|
||
module.exports = function (it) {
|
||
if (it == undefined) throw TypeError("Can't call method on " + it);
|
||
return it;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 37 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var LIBRARY = __webpack_require__(20);
|
||
var $export = __webpack_require__(4);
|
||
var redefine = __webpack_require__(63);
|
||
var hide = __webpack_require__(12);
|
||
var Iterators = __webpack_require__(17);
|
||
var $iterCreate = __webpack_require__(113);
|
||
var setToStringTag = __webpack_require__(23);
|
||
var getPrototypeOf = __webpack_require__(67);
|
||
var ITERATOR = __webpack_require__(3)('iterator');
|
||
var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`
|
||
var FF_ITERATOR = '@@iterator';
|
||
var KEYS = 'keys';
|
||
var VALUES = 'values';
|
||
|
||
var returnThis = function () { return this; };
|
||
|
||
module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
|
||
$iterCreate(Constructor, NAME, next);
|
||
var getMethod = function (kind) {
|
||
if (!BUGGY && kind in proto) return proto[kind];
|
||
switch (kind) {
|
||
case KEYS: return function keys() { return new Constructor(this, kind); };
|
||
case VALUES: return function values() { return new Constructor(this, kind); };
|
||
} return function entries() { return new Constructor(this, kind); };
|
||
};
|
||
var TAG = NAME + ' Iterator';
|
||
var DEF_VALUES = DEFAULT == VALUES;
|
||
var VALUES_BUG = false;
|
||
var proto = Base.prototype;
|
||
var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
|
||
var $default = $native || getMethod(DEFAULT);
|
||
var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
|
||
var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
|
||
var methods, key, IteratorPrototype;
|
||
// Fix native
|
||
if ($anyNative) {
|
||
IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
|
||
if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
|
||
// Set @@toStringTag to native iterators
|
||
setToStringTag(IteratorPrototype, TAG, true);
|
||
// fix for some old engines
|
||
if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
|
||
}
|
||
}
|
||
// fix Array#{values, @@iterator}.name in V8 / FF
|
||
if (DEF_VALUES && $native && $native.name !== VALUES) {
|
||
VALUES_BUG = true;
|
||
$default = function values() { return $native.call(this); };
|
||
}
|
||
// Define iterator
|
||
if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
|
||
hide(proto, ITERATOR, $default);
|
||
}
|
||
// Plug for library
|
||
Iterators[NAME] = $default;
|
||
Iterators[TAG] = returnThis;
|
||
if (DEFAULT) {
|
||
methods = {
|
||
values: DEF_VALUES ? $default : getMethod(VALUES),
|
||
keys: IS_SET ? $default : getMethod(KEYS),
|
||
entries: $entries
|
||
};
|
||
if (FORCED) for (key in methods) {
|
||
if (!(key in proto)) redefine(proto, key, methods[key]);
|
||
} else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
|
||
}
|
||
return methods;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 38 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(5);
|
||
var document = __webpack_require__(2).document;
|
||
// typeof document.createElement is 'object' in old IE
|
||
var is = isObject(document) && isObject(document.createElement);
|
||
module.exports = function (it) {
|
||
return is ? document.createElement(it) : {};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 39 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// 7.1.1 ToPrimitive(input [, PreferredType])
|
||
var isObject = __webpack_require__(5);
|
||
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
||
// and the second argument - flag - preferred type is a string
|
||
module.exports = function (it, S) {
|
||
if (!isObject(it)) return it;
|
||
var fn, val;
|
||
if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
||
if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
|
||
if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
|
||
throw TypeError("Can't convert object to primitive value");
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 40 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
|
||
var $keys = __webpack_require__(64);
|
||
var enumBugKeys = __webpack_require__(44);
|
||
|
||
module.exports = Object.keys || function keys(O) {
|
||
return $keys(O, enumBugKeys);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 41 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// 7.1.15 ToLength
|
||
var toInteger = __webpack_require__(35);
|
||
var min = Math.min;
|
||
module.exports = function (it) {
|
||
return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 42 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var shared = __webpack_require__(43)('keys');
|
||
var uid = __webpack_require__(30);
|
||
module.exports = function (key) {
|
||
return shared[key] || (shared[key] = uid(key));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 43 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var core = __webpack_require__(0);
|
||
var global = __webpack_require__(2);
|
||
var SHARED = '__core-js_shared__';
|
||
var store = global[SHARED] || (global[SHARED] = {});
|
||
|
||
(module.exports = function (key, value) {
|
||
return store[key] || (store[key] = value !== undefined ? value : {});
|
||
})('versions', []).push({
|
||
version: core.version,
|
||
mode: __webpack_require__(20) ? 'pure' : 'global',
|
||
copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
/* 44 */
|
||
/***/ (function(module, exports) {
|
||
|
||
// IE 8- don't enum bug keys
|
||
module.exports = (
|
||
'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
|
||
).split(',');
|
||
|
||
|
||
/***/ }),
|
||
/* 45 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
exports.f = __webpack_require__(3);
|
||
|
||
|
||
/***/ }),
|
||
/* 46 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var META = __webpack_require__(30)('meta');
|
||
var isObject = __webpack_require__(5);
|
||
var has = __webpack_require__(14);
|
||
var setDesc = __webpack_require__(7).f;
|
||
var id = 0;
|
||
var isExtensible = Object.isExtensible || function () {
|
||
return true;
|
||
};
|
||
var FREEZE = !__webpack_require__(16)(function () {
|
||
return isExtensible(Object.preventExtensions({}));
|
||
});
|
||
var setMeta = function (it) {
|
||
setDesc(it, META, { value: {
|
||
i: 'O' + ++id, // object ID
|
||
w: {} // weak collections IDs
|
||
} });
|
||
};
|
||
var fastKey = function (it, create) {
|
||
// return primitive with prefix
|
||
if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
|
||
if (!has(it, META)) {
|
||
// can't set metadata to uncaught frozen object
|
||
if (!isExtensible(it)) return 'F';
|
||
// not necessary to add metadata
|
||
if (!create) return 'E';
|
||
// add missing metadata
|
||
setMeta(it);
|
||
// return object ID
|
||
} return it[META].i;
|
||
};
|
||
var getWeak = function (it, create) {
|
||
if (!has(it, META)) {
|
||
// can't set metadata to uncaught frozen object
|
||
if (!isExtensible(it)) return true;
|
||
// not necessary to add metadata
|
||
if (!create) return false;
|
||
// add missing metadata
|
||
setMeta(it);
|
||
// return hash weak collections IDs
|
||
} return it[META].w;
|
||
};
|
||
// add metadata on freeze-family methods calling
|
||
var onFreeze = function (it) {
|
||
if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
|
||
return it;
|
||
};
|
||
var meta = module.exports = {
|
||
KEY: META,
|
||
NEED: false,
|
||
fastKey: fastKey,
|
||
getWeak: getWeak,
|
||
onFreeze: onFreeze
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 47 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(2);
|
||
var core = __webpack_require__(0);
|
||
var LIBRARY = __webpack_require__(20);
|
||
var wksExt = __webpack_require__(45);
|
||
var defineProperty = __webpack_require__(7).f;
|
||
module.exports = function (name) {
|
||
var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
|
||
if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 48 */
|
||
/***/ (function(module, exports) {
|
||
|
||
exports.f = {}.propertyIsEnumerable;
|
||
|
||
|
||
/***/ }),
|
||
/* 49 */
|
||
/***/ (function(module, exports) {
|
||
|
||
|
||
|
||
/***/ }),
|
||
/* 50 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var hide = __webpack_require__(12);
|
||
module.exports = function (target, src, safe) {
|
||
for (var key in src) {
|
||
if (safe && target[key]) target[key] = src[key];
|
||
else hide(target, key, src[key]);
|
||
} return target;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 51 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = function (it, Constructor, name, forbiddenField) {
|
||
if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {
|
||
throw TypeError(name + ': incorrect invocation!');
|
||
} return it;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 52 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
// 25.4.1.5 NewPromiseCapability(C)
|
||
var aFunction = __webpack_require__(21);
|
||
|
||
function PromiseCapability(C) {
|
||
var resolve, reject;
|
||
this.promise = new C(function ($$resolve, $$reject) {
|
||
if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
|
||
resolve = $$resolve;
|
||
reject = $$reject;
|
||
});
|
||
this.resolve = aFunction(resolve);
|
||
this.reject = aFunction(reject);
|
||
}
|
||
|
||
module.exports.f = function (C) {
|
||
return new PromiseCapability(C);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 53 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("assert");
|
||
|
||
/***/ }),
|
||
/* 54 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = minimatch
|
||
minimatch.Minimatch = Minimatch
|
||
|
||
var path = (function () { try { return __webpack_require__(1) } catch (e) {}}()) || {
|
||
sep: '/'
|
||
}
|
||
minimatch.sep = path.sep
|
||
|
||
var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}
|
||
var expand = __webpack_require__(161)
|
||
|
||
var plTypes = {
|
||
'!': { open: '(?:(?!(?:', close: '))[^/]*?)'},
|
||
'?': { open: '(?:', close: ')?' },
|
||
'+': { open: '(?:', close: ')+' },
|
||
'*': { open: '(?:', close: ')*' },
|
||
'@': { open: '(?:', close: ')' }
|
||
}
|
||
|
||
// any single thing other than /
|
||
// don't need to escape / when using new RegExp()
|
||
var qmark = '[^/]'
|
||
|
||
// * => any number of characters
|
||
var star = qmark + '*?'
|
||
|
||
// ** when dots are allowed. Anything goes, except .. and .
|
||
// not (^ or / followed by one or two dots followed by $ or /),
|
||
// followed by anything, any number of times.
|
||
var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?'
|
||
|
||
// not a ^ or / followed by a dot,
|
||
// followed by anything, any number of times.
|
||
var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?'
|
||
|
||
// characters that need to be escaped in RegExp.
|
||
var reSpecials = charSet('().*{}+?[]^$\\!')
|
||
|
||
// "abc" -> { a:true, b:true, c:true }
|
||
function charSet (s) {
|
||
return s.split('').reduce(function (set, c) {
|
||
set[c] = true
|
||
return set
|
||
}, {})
|
||
}
|
||
|
||
// normalizes slashes.
|
||
var slashSplit = /\/+/
|
||
|
||
minimatch.filter = filter
|
||
function filter (pattern, options) {
|
||
options = options || {}
|
||
return function (p, i, list) {
|
||
return minimatch(p, pattern, options)
|
||
}
|
||
}
|
||
|
||
function ext (a, b) {
|
||
b = b || {}
|
||
var t = {}
|
||
Object.keys(a).forEach(function (k) {
|
||
t[k] = a[k]
|
||
})
|
||
Object.keys(b).forEach(function (k) {
|
||
t[k] = b[k]
|
||
})
|
||
return t
|
||
}
|
||
|
||
minimatch.defaults = function (def) {
|
||
if (!def || typeof def !== 'object' || !Object.keys(def).length) {
|
||
return minimatch
|
||
}
|
||
|
||
var orig = minimatch
|
||
|
||
var m = function minimatch (p, pattern, options) {
|
||
return orig(p, pattern, ext(def, options))
|
||
}
|
||
|
||
m.Minimatch = function Minimatch (pattern, options) {
|
||
return new orig.Minimatch(pattern, ext(def, options))
|
||
}
|
||
m.Minimatch.defaults = function defaults (options) {
|
||
return orig.defaults(ext(def, options)).Minimatch
|
||
}
|
||
|
||
m.filter = function filter (pattern, options) {
|
||
return orig.filter(pattern, ext(def, options))
|
||
}
|
||
|
||
m.defaults = function defaults (options) {
|
||
return orig.defaults(ext(def, options))
|
||
}
|
||
|
||
m.makeRe = function makeRe (pattern, options) {
|
||
return orig.makeRe(pattern, ext(def, options))
|
||
}
|
||
|
||
m.braceExpand = function braceExpand (pattern, options) {
|
||
return orig.braceExpand(pattern, ext(def, options))
|
||
}
|
||
|
||
m.match = function (list, pattern, options) {
|
||
return orig.match(list, pattern, ext(def, options))
|
||
}
|
||
|
||
return m
|
||
}
|
||
|
||
Minimatch.defaults = function (def) {
|
||
return minimatch.defaults(def).Minimatch
|
||
}
|
||
|
||
function minimatch (p, pattern, options) {
|
||
assertValidPattern(pattern)
|
||
|
||
if (!options) options = {}
|
||
|
||
// shortcut: comments match nothing.
|
||
if (!options.nocomment && pattern.charAt(0) === '#') {
|
||
return false
|
||
}
|
||
|
||
return new Minimatch(pattern, options).match(p)
|
||
}
|
||
|
||
function Minimatch (pattern, options) {
|
||
if (!(this instanceof Minimatch)) {
|
||
return new Minimatch(pattern, options)
|
||
}
|
||
|
||
assertValidPattern(pattern)
|
||
|
||
if (!options) options = {}
|
||
|
||
pattern = pattern.trim()
|
||
|
||
// windows support: need to use /, not \
|
||
if (!options.allowWindowsEscape && path.sep !== '/') {
|
||
pattern = pattern.split(path.sep).join('/')
|
||
}
|
||
|
||
this.options = options
|
||
this.set = []
|
||
this.pattern = pattern
|
||
this.regexp = null
|
||
this.negate = false
|
||
this.comment = false
|
||
this.empty = false
|
||
this.partial = !!options.partial
|
||
|
||
// make the set of regexps etc.
|
||
this.make()
|
||
}
|
||
|
||
Minimatch.prototype.debug = function () {}
|
||
|
||
Minimatch.prototype.make = make
|
||
function make () {
|
||
var pattern = this.pattern
|
||
var options = this.options
|
||
|
||
// empty patterns and comments match nothing.
|
||
if (!options.nocomment && pattern.charAt(0) === '#') {
|
||
this.comment = true
|
||
return
|
||
}
|
||
if (!pattern) {
|
||
this.empty = true
|
||
return
|
||
}
|
||
|
||
// step 1: figure out negation, etc.
|
||
this.parseNegate()
|
||
|
||
// step 2: expand braces
|
||
var set = this.globSet = this.braceExpand()
|
||
|
||
if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) }
|
||
|
||
this.debug(this.pattern, set)
|
||
|
||
// step 3: now we have a set, so turn each one into a series of path-portion
|
||
// matching patterns.
|
||
// These will be regexps, except in the case of "**", which is
|
||
// set to the GLOBSTAR object for globstar behavior,
|
||
// and will not contain any / characters
|
||
set = this.globParts = set.map(function (s) {
|
||
return s.split(slashSplit)
|
||
})
|
||
|
||
this.debug(this.pattern, set)
|
||
|
||
// glob --> regexps
|
||
set = set.map(function (s, si, set) {
|
||
return s.map(this.parse, this)
|
||
}, this)
|
||
|
||
this.debug(this.pattern, set)
|
||
|
||
// filter out everything that didn't compile properly.
|
||
set = set.filter(function (s) {
|
||
return s.indexOf(false) === -1
|
||
})
|
||
|
||
this.debug(this.pattern, set)
|
||
|
||
this.set = set
|
||
}
|
||
|
||
Minimatch.prototype.parseNegate = parseNegate
|
||
function parseNegate () {
|
||
var pattern = this.pattern
|
||
var negate = false
|
||
var options = this.options
|
||
var negateOffset = 0
|
||
|
||
if (options.nonegate) return
|
||
|
||
for (var i = 0, l = pattern.length
|
||
; i < l && pattern.charAt(i) === '!'
|
||
; i++) {
|
||
negate = !negate
|
||
negateOffset++
|
||
}
|
||
|
||
if (negateOffset) this.pattern = pattern.substr(negateOffset)
|
||
this.negate = negate
|
||
}
|
||
|
||
// Brace expansion:
|
||
// a{b,c}d -> abd acd
|
||
// a{b,}c -> abc ac
|
||
// a{0..3}d -> a0d a1d a2d a3d
|
||
// a{b,c{d,e}f}g -> abg acdfg acefg
|
||
// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg
|
||
//
|
||
// Invalid sets are not expanded.
|
||
// a{2..}b -> a{2..}b
|
||
// a{b}c -> a{b}c
|
||
minimatch.braceExpand = function (pattern, options) {
|
||
return braceExpand(pattern, options)
|
||
}
|
||
|
||
Minimatch.prototype.braceExpand = braceExpand
|
||
|
||
function braceExpand (pattern, options) {
|
||
if (!options) {
|
||
if (this instanceof Minimatch) {
|
||
options = this.options
|
||
} else {
|
||
options = {}
|
||
}
|
||
}
|
||
|
||
pattern = typeof pattern === 'undefined'
|
||
? this.pattern : pattern
|
||
|
||
assertValidPattern(pattern)
|
||
|
||
// Thanks to Yeting Li <https://github.com/yetingli> for
|
||
// improving this regexp to avoid a ReDOS vulnerability.
|
||
if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
|
||
// shortcut. no need to expand.
|
||
return [pattern]
|
||
}
|
||
|
||
return expand(pattern)
|
||
}
|
||
|
||
var MAX_PATTERN_LENGTH = 1024 * 64
|
||
var assertValidPattern = function (pattern) {
|
||
if (typeof pattern !== 'string') {
|
||
throw new TypeError('invalid pattern')
|
||
}
|
||
|
||
if (pattern.length > MAX_PATTERN_LENGTH) {
|
||
throw new TypeError('pattern is too long')
|
||
}
|
||
}
|
||
|
||
// parse a component of the expanded set.
|
||
// At this point, no pattern may contain "/" in it
|
||
// so we're going to return a 2d array, where each entry is the full
|
||
// pattern, split on '/', and then turned into a regular expression.
|
||
// A regexp is made at the end which joins each array with an
|
||
// escaped /, and another full one which joins each regexp with |.
|
||
//
|
||
// Following the lead of Bash 4.1, note that "**" only has special meaning
|
||
// when it is the *only* thing in a path portion. Otherwise, any series
|
||
// of * is equivalent to a single *. Globstar behavior is enabled by
|
||
// default, and can be disabled by setting options.noglobstar.
|
||
Minimatch.prototype.parse = parse
|
||
var SUBPARSE = {}
|
||
function parse (pattern, isSub) {
|
||
assertValidPattern(pattern)
|
||
|
||
var options = this.options
|
||
|
||
// shortcuts
|
||
if (pattern === '**') {
|
||
if (!options.noglobstar)
|
||
return GLOBSTAR
|
||
else
|
||
pattern = '*'
|
||
}
|
||
if (pattern === '') return ''
|
||
|
||
var re = ''
|
||
var hasMagic = !!options.nocase
|
||
var escaping = false
|
||
// ? => one single character
|
||
var patternListStack = []
|
||
var negativeLists = []
|
||
var stateChar
|
||
var inClass = false
|
||
var reClassStart = -1
|
||
var classStart = -1
|
||
// . and .. never match anything that doesn't start with .,
|
||
// even when options.dot is set.
|
||
var patternStart = pattern.charAt(0) === '.' ? '' // anything
|
||
// not (start or / followed by . or .. followed by / or end)
|
||
: options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))'
|
||
: '(?!\\.)'
|
||
var self = this
|
||
|
||
function clearStateChar () {
|
||
if (stateChar) {
|
||
// we had some state-tracking character
|
||
// that wasn't consumed by this pass.
|
||
switch (stateChar) {
|
||
case '*':
|
||
re += star
|
||
hasMagic = true
|
||
break
|
||
case '?':
|
||
re += qmark
|
||
hasMagic = true
|
||
break
|
||
default:
|
||
re += '\\' + stateChar
|
||
break
|
||
}
|
||
self.debug('clearStateChar %j %j', stateChar, re)
|
||
stateChar = false
|
||
}
|
||
}
|
||
|
||
for (var i = 0, len = pattern.length, c
|
||
; (i < len) && (c = pattern.charAt(i))
|
||
; i++) {
|
||
this.debug('%s\t%s %s %j', pattern, i, re, c)
|
||
|
||
// skip over any that are escaped.
|
||
if (escaping && reSpecials[c]) {
|
||
re += '\\' + c
|
||
escaping = false
|
||
continue
|
||
}
|
||
|
||
switch (c) {
|
||
/* istanbul ignore next */
|
||
case '/': {
|
||
// completely not allowed, even escaped.
|
||
// Should already be path-split by now.
|
||
return false
|
||
}
|
||
|
||
case '\\':
|
||
clearStateChar()
|
||
escaping = true
|
||
continue
|
||
|
||
// the various stateChar values
|
||
// for the "extglob" stuff.
|
||
case '?':
|
||
case '*':
|
||
case '+':
|
||
case '@':
|
||
case '!':
|
||
this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c)
|
||
|
||
// all of those are literals inside a class, except that
|
||
// the glob [!a] means [^a] in regexp
|
||
if (inClass) {
|
||
this.debug(' in class')
|
||
if (c === '!' && i === classStart + 1) c = '^'
|
||
re += c
|
||
continue
|
||
}
|
||
|
||
// if we already have a stateChar, then it means
|
||
// that there was something like ** or +? in there.
|
||
// Handle the stateChar, then proceed with this one.
|
||
self.debug('call clearStateChar %j', stateChar)
|
||
clearStateChar()
|
||
stateChar = c
|
||
// if extglob is disabled, then +(asdf|foo) isn't a thing.
|
||
// just clear the statechar *now*, rather than even diving into
|
||
// the patternList stuff.
|
||
if (options.noext) clearStateChar()
|
||
continue
|
||
|
||
case '(':
|
||
if (inClass) {
|
||
re += '('
|
||
continue
|
||
}
|
||
|
||
if (!stateChar) {
|
||
re += '\\('
|
||
continue
|
||
}
|
||
|
||
patternListStack.push({
|
||
type: stateChar,
|
||
start: i - 1,
|
||
reStart: re.length,
|
||
open: plTypes[stateChar].open,
|
||
close: plTypes[stateChar].close
|
||
})
|
||
// negation is (?:(?!js)[^/]*)
|
||
re += stateChar === '!' ? '(?:(?!(?:' : '(?:'
|
||
this.debug('plType %j %j', stateChar, re)
|
||
stateChar = false
|
||
continue
|
||
|
||
case ')':
|
||
if (inClass || !patternListStack.length) {
|
||
re += '\\)'
|
||
continue
|
||
}
|
||
|
||
clearStateChar()
|
||
hasMagic = true
|
||
var pl = patternListStack.pop()
|
||
// negation is (?:(?!js)[^/]*)
|
||
// The others are (?:<pattern>)<type>
|
||
re += pl.close
|
||
if (pl.type === '!') {
|
||
negativeLists.push(pl)
|
||
}
|
||
pl.reEnd = re.length
|
||
continue
|
||
|
||
case '|':
|
||
if (inClass || !patternListStack.length || escaping) {
|
||
re += '\\|'
|
||
escaping = false
|
||
continue
|
||
}
|
||
|
||
clearStateChar()
|
||
re += '|'
|
||
continue
|
||
|
||
// these are mostly the same in regexp and glob
|
||
case '[':
|
||
// swallow any state-tracking char before the [
|
||
clearStateChar()
|
||
|
||
if (inClass) {
|
||
re += '\\' + c
|
||
continue
|
||
}
|
||
|
||
inClass = true
|
||
classStart = i
|
||
reClassStart = re.length
|
||
re += c
|
||
continue
|
||
|
||
case ']':
|
||
// a right bracket shall lose its special
|
||
// meaning and represent itself in
|
||
// a bracket expression if it occurs
|
||
// first in the list. -- POSIX.2 2.8.3.2
|
||
if (i === classStart + 1 || !inClass) {
|
||
re += '\\' + c
|
||
escaping = false
|
||
continue
|
||
}
|
||
|
||
// handle the case where we left a class open.
|
||
// "[z-a]" is valid, equivalent to "\[z-a\]"
|
||
// split where the last [ was, make sure we don't have
|
||
// an invalid re. if so, re-walk the contents of the
|
||
// would-be class to re-translate any characters that
|
||
// were passed through as-is
|
||
// TODO: It would probably be faster to determine this
|
||
// without a try/catch and a new RegExp, but it's tricky
|
||
// to do safely. For now, this is safe and works.
|
||
var cs = pattern.substring(classStart + 1, i)
|
||
try {
|
||
RegExp('[' + cs + ']')
|
||
} catch (er) {
|
||
// not a valid class!
|
||
var sp = this.parse(cs, SUBPARSE)
|
||
re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]'
|
||
hasMagic = hasMagic || sp[1]
|
||
inClass = false
|
||
continue
|
||
}
|
||
|
||
// finish up the class.
|
||
hasMagic = true
|
||
inClass = false
|
||
re += c
|
||
continue
|
||
|
||
default:
|
||
// swallow any state char that wasn't consumed
|
||
clearStateChar()
|
||
|
||
if (escaping) {
|
||
// no need
|
||
escaping = false
|
||
} else if (reSpecials[c]
|
||
&& !(c === '^' && inClass)) {
|
||
re += '\\'
|
||
}
|
||
|
||
re += c
|
||
|
||
} // switch
|
||
} // for
|
||
|
||
// handle the case where we left a class open.
|
||
// "[abc" is valid, equivalent to "\[abc"
|
||
if (inClass) {
|
||
// split where the last [ was, and escape it
|
||
// this is a huge pita. We now have to re-walk
|
||
// the contents of the would-be class to re-translate
|
||
// any characters that were passed through as-is
|
||
cs = pattern.substr(classStart + 1)
|
||
sp = this.parse(cs, SUBPARSE)
|
||
re = re.substr(0, reClassStart) + '\\[' + sp[0]
|
||
hasMagic = hasMagic || sp[1]
|
||
}
|
||
|
||
// handle the case where we had a +( thing at the *end*
|
||
// of the pattern.
|
||
// each pattern list stack adds 3 chars, and we need to go through
|
||
// and escape any | chars that were passed through as-is for the regexp.
|
||
// Go through and escape them, taking care not to double-escape any
|
||
// | chars that were already escaped.
|
||
for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
|
||
var tail = re.slice(pl.reStart + pl.open.length)
|
||
this.debug('setting tail', re, pl)
|
||
// maybe some even number of \, then maybe 1 \, followed by a |
|
||
tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) {
|
||
if (!$2) {
|
||
// the | isn't already escaped, so escape it.
|
||
$2 = '\\'
|
||
}
|
||
|
||
// need to escape all those slashes *again*, without escaping the
|
||
// one that we need for escaping the | character. As it works out,
|
||
// escaping an even number of slashes can be done by simply repeating
|
||
// it exactly after itself. That's why this trick works.
|
||
//
|
||
// I am sorry that you have to see this.
|
||
return $1 + $1 + $2 + '|'
|
||
})
|
||
|
||
this.debug('tail=%j\n %s', tail, tail, pl, re)
|
||
var t = pl.type === '*' ? star
|
||
: pl.type === '?' ? qmark
|
||
: '\\' + pl.type
|
||
|
||
hasMagic = true
|
||
re = re.slice(0, pl.reStart) + t + '\\(' + tail
|
||
}
|
||
|
||
// handle trailing things that only matter at the very end.
|
||
clearStateChar()
|
||
if (escaping) {
|
||
// trailing \\
|
||
re += '\\\\'
|
||
}
|
||
|
||
// only need to apply the nodot start if the re starts with
|
||
// something that could conceivably capture a dot
|
||
var addPatternStart = false
|
||
switch (re.charAt(0)) {
|
||
case '[': case '.': case '(': addPatternStart = true
|
||
}
|
||
|
||
// Hack to work around lack of negative lookbehind in JS
|
||
// A pattern like: *.!(x).!(y|z) needs to ensure that a name
|
||
// like 'a.xyz.yz' doesn't match. So, the first negative
|
||
// lookahead, has to look ALL the way ahead, to the end of
|
||
// the pattern.
|
||
for (var n = negativeLists.length - 1; n > -1; n--) {
|
||
var nl = negativeLists[n]
|
||
|
||
var nlBefore = re.slice(0, nl.reStart)
|
||
var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)
|
||
var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)
|
||
var nlAfter = re.slice(nl.reEnd)
|
||
|
||
nlLast += nlAfter
|
||
|
||
// Handle nested stuff like *(*.js|!(*.json)), where open parens
|
||
// mean that we should *not* include the ) in the bit that is considered
|
||
// "after" the negated section.
|
||
var openParensBefore = nlBefore.split('(').length - 1
|
||
var cleanAfter = nlAfter
|
||
for (i = 0; i < openParensBefore; i++) {
|
||
cleanAfter = cleanAfter.replace(/\)[+*?]?/, '')
|
||
}
|
||
nlAfter = cleanAfter
|
||
|
||
var dollar = ''
|
||
if (nlAfter === '' && isSub !== SUBPARSE) {
|
||
dollar = '$'
|
||
}
|
||
var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast
|
||
re = newRe
|
||
}
|
||
|
||
// if the re is not "" at this point, then we need to make sure
|
||
// it doesn't match against an empty path part.
|
||
// Otherwise a/* will match a/, which it should not.
|
||
if (re !== '' && hasMagic) {
|
||
re = '(?=.)' + re
|
||
}
|
||
|
||
if (addPatternStart) {
|
||
re = patternStart + re
|
||
}
|
||
|
||
// parsing just a piece of a larger pattern.
|
||
if (isSub === SUBPARSE) {
|
||
return [re, hasMagic]
|
||
}
|
||
|
||
// skip the regexp for non-magical patterns
|
||
// unescape anything in it, though, so that it'll be
|
||
// an exact match against a file etc.
|
||
if (!hasMagic) {
|
||
return globUnescape(pattern)
|
||
}
|
||
|
||
var flags = options.nocase ? 'i' : ''
|
||
try {
|
||
var regExp = new RegExp('^' + re + '$', flags)
|
||
} catch (er) /* istanbul ignore next - should be impossible */ {
|
||
// If it was an invalid regular expression, then it can't match
|
||
// anything. This trick looks for a character after the end of
|
||
// the string, which is of course impossible, except in multi-line
|
||
// mode, but it's not a /m regex.
|
||
return new RegExp('$.')
|
||
}
|
||
|
||
regExp._glob = pattern
|
||
regExp._src = re
|
||
|
||
return regExp
|
||
}
|
||
|
||
minimatch.makeRe = function (pattern, options) {
|
||
return new Minimatch(pattern, options || {}).makeRe()
|
||
}
|
||
|
||
Minimatch.prototype.makeRe = makeRe
|
||
function makeRe () {
|
||
if (this.regexp || this.regexp === false) return this.regexp
|
||
|
||
// at this point, this.set is a 2d array of partial
|
||
// pattern strings, or "**".
|
||
//
|
||
// It's better to use .match(). This function shouldn't
|
||
// be used, really, but it's pretty convenient sometimes,
|
||
// when you just want to work with a regex.
|
||
var set = this.set
|
||
|
||
if (!set.length) {
|
||
this.regexp = false
|
||
return this.regexp
|
||
}
|
||
var options = this.options
|
||
|
||
var twoStar = options.noglobstar ? star
|
||
: options.dot ? twoStarDot
|
||
: twoStarNoDot
|
||
var flags = options.nocase ? 'i' : ''
|
||
|
||
var re = set.map(function (pattern) {
|
||
return pattern.map(function (p) {
|
||
return (p === GLOBSTAR) ? twoStar
|
||
: (typeof p === 'string') ? regExpEscape(p)
|
||
: p._src
|
||
}).join('\\\/')
|
||
}).join('|')
|
||
|
||
// must match entire pattern
|
||
// ending in a * or ** will make it less strict.
|
||
re = '^(?:' + re + ')$'
|
||
|
||
// can match anything, as long as it's not this.
|
||
if (this.negate) re = '^(?!' + re + ').*$'
|
||
|
||
try {
|
||
this.regexp = new RegExp(re, flags)
|
||
} catch (ex) /* istanbul ignore next - should be impossible */ {
|
||
this.regexp = false
|
||
}
|
||
return this.regexp
|
||
}
|
||
|
||
minimatch.match = function (list, pattern, options) {
|
||
options = options || {}
|
||
var mm = new Minimatch(pattern, options)
|
||
list = list.filter(function (f) {
|
||
return mm.match(f)
|
||
})
|
||
if (mm.options.nonull && !list.length) {
|
||
list.push(pattern)
|
||
}
|
||
return list
|
||
}
|
||
|
||
Minimatch.prototype.match = function match (f, partial) {
|
||
if (typeof partial === 'undefined') partial = this.partial
|
||
this.debug('match', f, this.pattern)
|
||
// short-circuit in the case of busted things.
|
||
// comments, etc.
|
||
if (this.comment) return false
|
||
if (this.empty) return f === ''
|
||
|
||
if (f === '/' && partial) return true
|
||
|
||
var options = this.options
|
||
|
||
// windows: need to use /, not \
|
||
if (path.sep !== '/') {
|
||
f = f.split(path.sep).join('/')
|
||
}
|
||
|
||
// treat the test path as a set of pathparts.
|
||
f = f.split(slashSplit)
|
||
this.debug(this.pattern, 'split', f)
|
||
|
||
// just ONE of the pattern sets in this.set needs to match
|
||
// in order for it to be valid. If negating, then just one
|
||
// match means that we have failed.
|
||
// Either way, return on the first hit.
|
||
|
||
var set = this.set
|
||
this.debug(this.pattern, 'set', set)
|
||
|
||
// Find the basename of the path by looking for the last non-empty segment
|
||
var filename
|
||
var i
|
||
for (i = f.length - 1; i >= 0; i--) {
|
||
filename = f[i]
|
||
if (filename) break
|
||
}
|
||
|
||
for (i = 0; i < set.length; i++) {
|
||
var pattern = set[i]
|
||
var file = f
|
||
if (options.matchBase && pattern.length === 1) {
|
||
file = [filename]
|
||
}
|
||
var hit = this.matchOne(file, pattern, partial)
|
||
if (hit) {
|
||
if (options.flipNegate) return true
|
||
return !this.negate
|
||
}
|
||
}
|
||
|
||
// didn't get any hits. this is success if it's a negative
|
||
// pattern, failure otherwise.
|
||
if (options.flipNegate) return false
|
||
return this.negate
|
||
}
|
||
|
||
// set partial to true to test if, for example,
|
||
// "/a/b" matches the start of "/*/b/*/d"
|
||
// Partial means, if you run out of file before you run
|
||
// out of pattern, then that's fine, as long as all
|
||
// the parts match.
|
||
Minimatch.prototype.matchOne = function (file, pattern, partial) {
|
||
var options = this.options
|
||
|
||
this.debug('matchOne',
|
||
{ 'this': this, file: file, pattern: pattern })
|
||
|
||
this.debug('matchOne', file.length, pattern.length)
|
||
|
||
for (var fi = 0,
|
||
pi = 0,
|
||
fl = file.length,
|
||
pl = pattern.length
|
||
; (fi < fl) && (pi < pl)
|
||
; fi++, pi++) {
|
||
this.debug('matchOne loop')
|
||
var p = pattern[pi]
|
||
var f = file[fi]
|
||
|
||
this.debug(pattern, p, f)
|
||
|
||
// should be impossible.
|
||
// some invalid regexp stuff in the set.
|
||
/* istanbul ignore if */
|
||
if (p === false) return false
|
||
|
||
if (p === GLOBSTAR) {
|
||
this.debug('GLOBSTAR', [pattern, p, f])
|
||
|
||
// "**"
|
||
// a/**/b/**/c would match the following:
|
||
// a/b/x/y/z/c
|
||
// a/x/y/z/b/c
|
||
// a/b/x/b/x/c
|
||
// a/b/c
|
||
// To do this, take the rest of the pattern after
|
||
// the **, and see if it would match the file remainder.
|
||
// If so, return success.
|
||
// If not, the ** "swallows" a segment, and try again.
|
||
// This is recursively awful.
|
||
//
|
||
// a/**/b/**/c matching a/b/x/y/z/c
|
||
// - a matches a
|
||
// - doublestar
|
||
// - matchOne(b/x/y/z/c, b/**/c)
|
||
// - b matches b
|
||
// - doublestar
|
||
// - matchOne(x/y/z/c, c) -> no
|
||
// - matchOne(y/z/c, c) -> no
|
||
// - matchOne(z/c, c) -> no
|
||
// - matchOne(c, c) yes, hit
|
||
var fr = fi
|
||
var pr = pi + 1
|
||
if (pr === pl) {
|
||
this.debug('** at the end')
|
||
// a ** at the end will just swallow the rest.
|
||
// We have found a match.
|
||
// however, it will not swallow /.x, unless
|
||
// options.dot is set.
|
||
// . and .. are *never* matched by **, for explosively
|
||
// exponential reasons.
|
||
for (; fi < fl; fi++) {
|
||
if (file[fi] === '.' || file[fi] === '..' ||
|
||
(!options.dot && file[fi].charAt(0) === '.')) return false
|
||
}
|
||
return true
|
||
}
|
||
|
||
// ok, let's see if we can swallow whatever we can.
|
||
while (fr < fl) {
|
||
var swallowee = file[fr]
|
||
|
||
this.debug('\nglobstar while', file, fr, pattern, pr, swallowee)
|
||
|
||
// XXX remove this slice. Just pass the start index.
|
||
if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
|
||
this.debug('globstar found match!', fr, fl, swallowee)
|
||
// found a match.
|
||
return true
|
||
} else {
|
||
// can't swallow "." or ".." ever.
|
||
// can only swallow ".foo" when explicitly asked.
|
||
if (swallowee === '.' || swallowee === '..' ||
|
||
(!options.dot && swallowee.charAt(0) === '.')) {
|
||
this.debug('dot detected!', file, fr, pattern, pr)
|
||
break
|
||
}
|
||
|
||
// ** swallows a segment, and continue.
|
||
this.debug('globstar swallow a segment, and continue')
|
||
fr++
|
||
}
|
||
}
|
||
|
||
// no match was found.
|
||
// However, in partial mode, we can't say this is necessarily over.
|
||
// If there's more *pattern* left, then
|
||
/* istanbul ignore if */
|
||
if (partial) {
|
||
// ran out of file
|
||
this.debug('\n>>> no match, partial?', file, fr, pattern, pr)
|
||
if (fr === fl) return true
|
||
}
|
||
return false
|
||
}
|
||
|
||
// something other than **
|
||
// non-magic patterns just have to match exactly
|
||
// patterns with magic have been turned into regexps.
|
||
var hit
|
||
if (typeof p === 'string') {
|
||
hit = f === p
|
||
this.debug('string match', p, f, hit)
|
||
} else {
|
||
hit = f.match(p)
|
||
this.debug('pattern match', p, f, hit)
|
||
}
|
||
|
||
if (!hit) return false
|
||
}
|
||
|
||
// Note: ending in / means that we'll get a final ""
|
||
// at the end of the pattern. This can only match a
|
||
// corresponding "" at the end of the file.
|
||
// If the file ends in /, then it can only match a
|
||
// a pattern that ends in /, unless the pattern just
|
||
// doesn't have any more for it. But, a/b/ should *not*
|
||
// match "a/b/*", even though "" matches against the
|
||
// [^/]*? pattern, except in partial mode, where it might
|
||
// simply not be reached yet.
|
||
// However, a/b/ should still satisfy a/*
|
||
|
||
// now either we fell off the end of the pattern, or we're done.
|
||
if (fi === fl && pi === pl) {
|
||
// ran out of pattern and filename at the same time.
|
||
// an exact hit!
|
||
return true
|
||
} else if (fi === fl) {
|
||
// ran out of file, but still had pattern left.
|
||
// this is ok if we're doing the match as part of
|
||
// a glob fs traversal.
|
||
return partial
|
||
} else /* istanbul ignore else */ if (pi === pl) {
|
||
// ran out of pattern, still have file left.
|
||
// this is only acceptable if we're on the very last
|
||
// empty segment of a file with a trailing slash.
|
||
// a/* should match a/b/
|
||
return (fi === fl - 1) && (file[fi] === '')
|
||
}
|
||
|
||
// should be unreachable.
|
||
/* istanbul ignore next */
|
||
throw new Error('wtf?')
|
||
}
|
||
|
||
// replace stuff like \* with *
|
||
function globUnescape (s) {
|
||
return s.replace(/\\(.)/g, '$1')
|
||
}
|
||
|
||
function regExpEscape (s) {
|
||
return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 55 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
function posix(path) {
|
||
return path.charAt(0) === '/';
|
||
}
|
||
|
||
function win32(path) {
|
||
// https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56
|
||
var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
|
||
var result = splitDeviceRe.exec(path);
|
||
var device = result[1] || '';
|
||
var isUnc = Boolean(device && device.charAt(1) !== ':');
|
||
|
||
// UNC paths are always absolute
|
||
return Boolean(result[2] || isUnc);
|
||
}
|
||
|
||
module.exports = process.platform === 'win32' ? win32 : posix;
|
||
module.exports.posix = posix;
|
||
module.exports.win32 = win32;
|
||
|
||
|
||
/***/ }),
|
||
/* 56 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
|
||
/**
|
||
* This is the common logic for both the Node.js and web browser
|
||
* implementations of `debug()`.
|
||
*/
|
||
|
||
function setup(env) {
|
||
createDebug.debug = createDebug;
|
||
createDebug.default = createDebug;
|
||
createDebug.coerce = coerce;
|
||
createDebug.disable = disable;
|
||
createDebug.enable = enable;
|
||
createDebug.enabled = enabled;
|
||
createDebug.humanize = __webpack_require__(97);
|
||
createDebug.destroy = destroy;
|
||
|
||
Object.keys(env).forEach(key => {
|
||
createDebug[key] = env[key];
|
||
});
|
||
|
||
/**
|
||
* The currently active debug mode names, and names to skip.
|
||
*/
|
||
|
||
createDebug.names = [];
|
||
createDebug.skips = [];
|
||
|
||
/**
|
||
* Map of special "%n" handling functions, for the debug "format" argument.
|
||
*
|
||
* Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
|
||
*/
|
||
createDebug.formatters = {};
|
||
|
||
/**
|
||
* Selects a color for a debug namespace
|
||
* @param {String} namespace The namespace string for the debug instance to be colored
|
||
* @return {Number|String} An ANSI color code for the given namespace
|
||
* @api private
|
||
*/
|
||
function selectColor(namespace) {
|
||
let hash = 0;
|
||
|
||
for (let i = 0; i < namespace.length; i++) {
|
||
hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
|
||
hash |= 0; // Convert to 32bit integer
|
||
}
|
||
|
||
return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
|
||
}
|
||
createDebug.selectColor = selectColor;
|
||
|
||
/**
|
||
* Create a debugger with the given `namespace`.
|
||
*
|
||
* @param {String} namespace
|
||
* @return {Function}
|
||
* @api public
|
||
*/
|
||
function createDebug(namespace) {
|
||
let prevTime;
|
||
let enableOverride = null;
|
||
let namespacesCache;
|
||
let enabledCache;
|
||
|
||
function debug(...args) {
|
||
// Disabled?
|
||
if (!debug.enabled) {
|
||
return;
|
||
}
|
||
|
||
const self = debug;
|
||
|
||
// Set `diff` timestamp
|
||
const curr = Number(new Date());
|
||
const ms = curr - (prevTime || curr);
|
||
self.diff = ms;
|
||
self.prev = prevTime;
|
||
self.curr = curr;
|
||
prevTime = curr;
|
||
|
||
args[0] = createDebug.coerce(args[0]);
|
||
|
||
if (typeof args[0] !== 'string') {
|
||
// Anything else let's inspect with %O
|
||
args.unshift('%O');
|
||
}
|
||
|
||
// Apply any `formatters` transformations
|
||
let index = 0;
|
||
args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
|
||
// If we encounter an escaped % then don't increase the array index
|
||
if (match === '%%') {
|
||
return '%';
|
||
}
|
||
index++;
|
||
const formatter = createDebug.formatters[format];
|
||
if (typeof formatter === 'function') {
|
||
const val = args[index];
|
||
match = formatter.call(self, val);
|
||
|
||
// Now we need to remove `args[index]` since it's inlined in the `format`
|
||
args.splice(index, 1);
|
||
index--;
|
||
}
|
||
return match;
|
||
});
|
||
|
||
// Apply env-specific formatting (colors, etc.)
|
||
createDebug.formatArgs.call(self, args);
|
||
|
||
const logFn = self.log || createDebug.log;
|
||
logFn.apply(self, args);
|
||
}
|
||
|
||
debug.namespace = namespace;
|
||
debug.useColors = createDebug.useColors();
|
||
debug.color = createDebug.selectColor(namespace);
|
||
debug.extend = extend;
|
||
debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.
|
||
|
||
Object.defineProperty(debug, 'enabled', {
|
||
enumerable: true,
|
||
configurable: false,
|
||
get: () => {
|
||
if (enableOverride !== null) {
|
||
return enableOverride;
|
||
}
|
||
if (namespacesCache !== createDebug.namespaces) {
|
||
namespacesCache = createDebug.namespaces;
|
||
enabledCache = createDebug.enabled(namespace);
|
||
}
|
||
|
||
return enabledCache;
|
||
},
|
||
set: v => {
|
||
enableOverride = v;
|
||
}
|
||
});
|
||
|
||
// Env-specific initialization logic for debug instances
|
||
if (typeof createDebug.init === 'function') {
|
||
createDebug.init(debug);
|
||
}
|
||
|
||
return debug;
|
||
}
|
||
|
||
function extend(namespace, delimiter) {
|
||
const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
|
||
newDebug.log = this.log;
|
||
return newDebug;
|
||
}
|
||
|
||
/**
|
||
* Enables a debug mode by namespaces. This can include modes
|
||
* separated by a colon and wildcards.
|
||
*
|
||
* @param {String} namespaces
|
||
* @api public
|
||
*/
|
||
function enable(namespaces) {
|
||
createDebug.save(namespaces);
|
||
createDebug.namespaces = namespaces;
|
||
|
||
createDebug.names = [];
|
||
createDebug.skips = [];
|
||
|
||
const split = (typeof namespaces === 'string' ? namespaces : '')
|
||
.trim()
|
||
.replace(' ', ',')
|
||
.split(',')
|
||
.filter(Boolean);
|
||
|
||
for (const ns of split) {
|
||
if (ns[0] === '-') {
|
||
createDebug.skips.push(ns.slice(1));
|
||
} else {
|
||
createDebug.names.push(ns);
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Checks if the given string matches a namespace template, honoring
|
||
* asterisks as wildcards.
|
||
*
|
||
* @param {String} search
|
||
* @param {String} template
|
||
* @return {Boolean}
|
||
*/
|
||
function matchesTemplate(search, template) {
|
||
let searchIndex = 0;
|
||
let templateIndex = 0;
|
||
let starIndex = -1;
|
||
let matchIndex = 0;
|
||
|
||
while (searchIndex < search.length) {
|
||
if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {
|
||
// Match character or proceed with wildcard
|
||
if (template[templateIndex] === '*') {
|
||
starIndex = templateIndex;
|
||
matchIndex = searchIndex;
|
||
templateIndex++; // Skip the '*'
|
||
} else {
|
||
searchIndex++;
|
||
templateIndex++;
|
||
}
|
||
} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition
|
||
// Backtrack to the last '*' and try to match more characters
|
||
templateIndex = starIndex + 1;
|
||
matchIndex++;
|
||
searchIndex = matchIndex;
|
||
} else {
|
||
return false; // No match
|
||
}
|
||
}
|
||
|
||
// Handle trailing '*' in template
|
||
while (templateIndex < template.length && template[templateIndex] === '*') {
|
||
templateIndex++;
|
||
}
|
||
|
||
return templateIndex === template.length;
|
||
}
|
||
|
||
/**
|
||
* Disable debug output.
|
||
*
|
||
* @return {String} namespaces
|
||
* @api public
|
||
*/
|
||
function disable() {
|
||
const namespaces = [
|
||
...createDebug.names,
|
||
...createDebug.skips.map(namespace => '-' + namespace)
|
||
].join(',');
|
||
createDebug.enable('');
|
||
return namespaces;
|
||
}
|
||
|
||
/**
|
||
* Returns true if the given mode name is enabled, false otherwise.
|
||
*
|
||
* @param {String} name
|
||
* @return {Boolean}
|
||
* @api public
|
||
*/
|
||
function enabled(name) {
|
||
for (const skip of createDebug.skips) {
|
||
if (matchesTemplate(name, skip)) {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
for (const ns of createDebug.names) {
|
||
if (matchesTemplate(name, ns)) {
|
||
return true;
|
||
}
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
/**
|
||
* Coerce `val`.
|
||
*
|
||
* @param {Mixed} val
|
||
* @return {Mixed}
|
||
* @api private
|
||
*/
|
||
function coerce(val) {
|
||
if (val instanceof Error) {
|
||
return val.stack || val.message;
|
||
}
|
||
return val;
|
||
}
|
||
|
||
/**
|
||
* XXX DO NOT USE. This is a temporary stub function.
|
||
* XXX It WILL be removed in the next major release.
|
||
*/
|
||
function destroy() {
|
||
console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
|
||
}
|
||
|
||
createDebug.enable(createDebug.load());
|
||
|
||
return createDebug;
|
||
}
|
||
|
||
module.exports = setup;
|
||
|
||
|
||
/***/ }),
|
||
/* 57 */
|
||
/***/ (function(module, exports) {
|
||
|
||
function webpackEmptyContext(req) {
|
||
throw new Error("Cannot find module '" + req + "'.");
|
||
}
|
||
webpackEmptyContext.keys = function() { return []; };
|
||
webpackEmptyContext.resolve = webpackEmptyContext;
|
||
module.exports = webpackEmptyContext;
|
||
webpackEmptyContext.id = 57;
|
||
|
||
/***/ }),
|
||
/* 58 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var _require = __webpack_require__(15),
|
||
exec = _require.exec,
|
||
spawn = _require.spawn;
|
||
|
||
var os = __webpack_require__(10);
|
||
var path = __webpack_require__(1);
|
||
var fs = __webpack_require__(6);
|
||
|
||
var child = null;
|
||
|
||
function runProcess(execPath) {
|
||
var dbPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "C:\\Users\\Administrator\\Desktop\\go";
|
||
|
||
var platform = os.platform();
|
||
var cmd = "";
|
||
if (platform === "win32") {
|
||
cmd = "yjearth4" + execPath + ".exe";
|
||
}
|
||
if (platform === "linux") {
|
||
cmd = "yjearth4" + execPath;
|
||
}
|
||
if (!fs.existsSync(dbPath)) {
|
||
fs.mkdirSync(dbPath);
|
||
}
|
||
|
||
var home_path = path.join(GetHomeDir(), "/yjearth4_0/");
|
||
|
||
console.log(home_path);
|
||
var cmd_path = path.join(home_path, cmd);
|
||
console.log("cmd_path0", cmd_path);
|
||
child = spawn(cmd_path, [dbPath], {
|
||
cwd: home_path,
|
||
stdio: "ignore"
|
||
}).on("exit", function (err) {
|
||
console.log("out");
|
||
console.log(err);
|
||
global.sharedObject.hasService = false;
|
||
}).on("stdio", function (err, s) {
|
||
console.log(err);
|
||
console.log(s);
|
||
});
|
||
global.sharedObject.hasService = true;
|
||
}
|
||
|
||
function GetHomeDir() {
|
||
var HOME_DIR = process.cwd();
|
||
|
||
if (process.env.NODE_ENV === "production") {
|
||
var arr = process.execPath.replaceAll("\\", "/").split("/");
|
||
arr.pop();
|
||
HOME_DIR = arr.join("/");
|
||
}
|
||
return HOME_DIR;
|
||
}
|
||
|
||
function closeChild() {
|
||
if (child) {
|
||
child.kill();
|
||
child = null;
|
||
}
|
||
}
|
||
|
||
module.exports = { runProcess: runProcess, closeChild: closeChild };
|
||
|
||
/***/ }),
|
||
/* 59 */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return apps; });
|
||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return start; });
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_electron__ = __webpack_require__(13);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_electron___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_electron__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__config__ = __webpack_require__(27);
|
||
|
||
var net = __webpack_require__(107);
|
||
var express = __webpack_require__(60);
|
||
var path = __webpack_require__(1);
|
||
|
||
|
||
|
||
var SERVER_PORTS = 55110;
|
||
|
||
function portIsOccupied(port, cb) {
|
||
port = Number(port);
|
||
var server = net.createServer().listen(port);
|
||
|
||
server.on("listening", function () {
|
||
server.close();
|
||
console.log("端口【" + port + "】 可用");
|
||
SERVER_PORTS = port;
|
||
cb(port);
|
||
});
|
||
|
||
server.on("error", function (err) {
|
||
if (err.code === "EADDRINUSE") {
|
||
console.log("端口【" + port + "】 被占用");
|
||
portIsOccupied(++port, cb);
|
||
}
|
||
});
|
||
}
|
||
|
||
var apps = void 0;
|
||
|
||
function createApp() {
|
||
apps = express();
|
||
|
||
apps.all("*", function (req, res, next) {
|
||
res.header("Access-Control-Allow-Origin", "*");
|
||
|
||
res.header("Access-Control-Allow-Headers", "content-type");
|
||
|
||
res.header("Access-Control-Allow-Methods", "POST,GET");
|
||
if (req.url === "/api/v1/file/upload") {
|
||
req.setTimeout(1000 * 60 * 2 * 5 * 2);
|
||
res.setTimeout(1000 * 60 * 2 * 5 * 2);
|
||
}
|
||
if (req.method.toLowerCase() === "options") res.sendStatus(200);else {
|
||
next();
|
||
}
|
||
});
|
||
|
||
|
||
var prefix = process.env.NODE_ENV === "development" ? "" : "resources/app.asar/dist/electron/";
|
||
var static_path = ["./", "static"];
|
||
var home_dir = Object(__WEBPACK_IMPORTED_MODULE_1__config__["a" /* GetHomeDir */])();
|
||
static_path.forEach(function (p) {
|
||
apps.use(express.static(path.join(path.join(home_dir, prefix), p)));
|
||
});
|
||
}
|
||
function start() {
|
||
createApp();
|
||
portIsOccupied(SERVER_PORTS, function (avilablePort) {
|
||
apps.listen(avilablePort);
|
||
|
||
global.sharedObject.avilablePort = avilablePort;
|
||
});
|
||
}
|
||
|
||
|
||
|
||
|
||
/***/ }),
|
||
/* 60 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("express");
|
||
|
||
/***/ }),
|
||
/* 61 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("electron-store");
|
||
|
||
/***/ }),
|
||
/* 62 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = !__webpack_require__(9) && !__webpack_require__(16)(function () {
|
||
return Object.defineProperty(__webpack_require__(38)('div'), 'a', { get: function () { return 7; } }).a != 7;
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
/* 63 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = __webpack_require__(12);
|
||
|
||
|
||
/***/ }),
|
||
/* 64 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var has = __webpack_require__(14);
|
||
var toIObject = __webpack_require__(18);
|
||
var arrayIndexOf = __webpack_require__(115)(false);
|
||
var IE_PROTO = __webpack_require__(42)('IE_PROTO');
|
||
|
||
module.exports = function (object, names) {
|
||
var O = toIObject(object);
|
||
var i = 0;
|
||
var result = [];
|
||
var key;
|
||
for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);
|
||
// Don't enum bug & hidden keys
|
||
while (names.length > i) if (has(O, key = names[i++])) {
|
||
~arrayIndexOf(result, key) || result.push(key);
|
||
}
|
||
return result;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 65 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
||
var cof = __webpack_require__(22);
|
||
// eslint-disable-next-line no-prototype-builtins
|
||
module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
|
||
return cof(it) == 'String' ? it.split('') : Object(it);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 66 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var document = __webpack_require__(2).document;
|
||
module.exports = document && document.documentElement;
|
||
|
||
|
||
/***/ }),
|
||
/* 67 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
|
||
var has = __webpack_require__(14);
|
||
var toObject = __webpack_require__(31);
|
||
var IE_PROTO = __webpack_require__(42)('IE_PROTO');
|
||
var ObjectProto = Object.prototype;
|
||
|
||
module.exports = Object.getPrototypeOf || function (O) {
|
||
O = toObject(O);
|
||
if (has(O, IE_PROTO)) return O[IE_PROTO];
|
||
if (typeof O.constructor == 'function' && O instanceof O.constructor) {
|
||
return O.constructor.prototype;
|
||
} return O instanceof Object ? ObjectProto : null;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 68 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = function (done, value) {
|
||
return { value: value, done: !!done };
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 69 */
|
||
/***/ (function(module, exports) {
|
||
|
||
exports.f = Object.getOwnPropertySymbols;
|
||
|
||
|
||
/***/ }),
|
||
/* 70 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// 7.2.2 IsArray(argument)
|
||
var cof = __webpack_require__(22);
|
||
module.exports = Array.isArray || function isArray(arg) {
|
||
return cof(arg) == 'Array';
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 71 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
|
||
var $keys = __webpack_require__(64);
|
||
var hiddenKeys = __webpack_require__(44).concat('length', 'prototype');
|
||
|
||
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
||
return $keys(O, hiddenKeys);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 72 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var pIE = __webpack_require__(48);
|
||
var createDesc = __webpack_require__(28);
|
||
var toIObject = __webpack_require__(18);
|
||
var toPrimitive = __webpack_require__(39);
|
||
var has = __webpack_require__(14);
|
||
var IE8_DOM_DEFINE = __webpack_require__(62);
|
||
var gOPD = Object.getOwnPropertyDescriptor;
|
||
|
||
exports.f = __webpack_require__(9) ? gOPD : function getOwnPropertyDescriptor(O, P) {
|
||
O = toIObject(O);
|
||
P = toPrimitive(P, true);
|
||
if (IE8_DOM_DEFINE) try {
|
||
return gOPD(O, P);
|
||
} catch (e) { /* empty */ }
|
||
if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 73 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var classof = __webpack_require__(32);
|
||
var ITERATOR = __webpack_require__(3)('iterator');
|
||
var Iterators = __webpack_require__(17);
|
||
module.exports = __webpack_require__(0).getIteratorMethod = function (it) {
|
||
if (it != undefined) return it[ITERATOR]
|
||
|| it['@@iterator']
|
||
|| Iterators[classof(it)];
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 74 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var global = __webpack_require__(2);
|
||
var core = __webpack_require__(0);
|
||
var dP = __webpack_require__(7);
|
||
var DESCRIPTORS = __webpack_require__(9);
|
||
var SPECIES = __webpack_require__(3)('species');
|
||
|
||
module.exports = function (KEY) {
|
||
var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];
|
||
if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
|
||
configurable: true,
|
||
get: function () { return this; }
|
||
});
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 75 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(5);
|
||
module.exports = function (it, TYPE) {
|
||
if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');
|
||
return it;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 76 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// 7.3.20 SpeciesConstructor(O, defaultConstructor)
|
||
var anObject = __webpack_require__(8);
|
||
var aFunction = __webpack_require__(21);
|
||
var SPECIES = __webpack_require__(3)('species');
|
||
module.exports = function (O, D) {
|
||
var C = anObject(O).constructor;
|
||
var S;
|
||
return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 77 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var ctx = __webpack_require__(11);
|
||
var invoke = __webpack_require__(153);
|
||
var html = __webpack_require__(66);
|
||
var cel = __webpack_require__(38);
|
||
var global = __webpack_require__(2);
|
||
var process = global.process;
|
||
var setTask = global.setImmediate;
|
||
var clearTask = global.clearImmediate;
|
||
var MessageChannel = global.MessageChannel;
|
||
var Dispatch = global.Dispatch;
|
||
var counter = 0;
|
||
var queue = {};
|
||
var ONREADYSTATECHANGE = 'onreadystatechange';
|
||
var defer, channel, port;
|
||
var run = function () {
|
||
var id = +this;
|
||
// eslint-disable-next-line no-prototype-builtins
|
||
if (queue.hasOwnProperty(id)) {
|
||
var fn = queue[id];
|
||
delete queue[id];
|
||
fn();
|
||
}
|
||
};
|
||
var listener = function (event) {
|
||
run.call(event.data);
|
||
};
|
||
// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
|
||
if (!setTask || !clearTask) {
|
||
setTask = function setImmediate(fn) {
|
||
var args = [];
|
||
var i = 1;
|
||
while (arguments.length > i) args.push(arguments[i++]);
|
||
queue[++counter] = function () {
|
||
// eslint-disable-next-line no-new-func
|
||
invoke(typeof fn == 'function' ? fn : Function(fn), args);
|
||
};
|
||
defer(counter);
|
||
return counter;
|
||
};
|
||
clearTask = function clearImmediate(id) {
|
||
delete queue[id];
|
||
};
|
||
// Node.js 0.8-
|
||
if (__webpack_require__(22)(process) == 'process') {
|
||
defer = function (id) {
|
||
process.nextTick(ctx(run, id, 1));
|
||
};
|
||
// Sphere (JS game engine) Dispatch API
|
||
} else if (Dispatch && Dispatch.now) {
|
||
defer = function (id) {
|
||
Dispatch.now(ctx(run, id, 1));
|
||
};
|
||
// Browsers with MessageChannel, includes WebWorkers
|
||
} else if (MessageChannel) {
|
||
channel = new MessageChannel();
|
||
port = channel.port2;
|
||
channel.port1.onmessage = listener;
|
||
defer = ctx(port.postMessage, port, 1);
|
||
// Browsers with postMessage, skip WebWorkers
|
||
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
|
||
} else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {
|
||
defer = function (id) {
|
||
global.postMessage(id + '', '*');
|
||
};
|
||
global.addEventListener('message', listener, false);
|
||
// IE8-
|
||
} else if (ONREADYSTATECHANGE in cel('script')) {
|
||
defer = function (id) {
|
||
html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {
|
||
html.removeChild(this);
|
||
run.call(id);
|
||
};
|
||
};
|
||
// Rest old browsers
|
||
} else {
|
||
defer = function (id) {
|
||
setTimeout(ctx(run, id, 1), 0);
|
||
};
|
||
}
|
||
}
|
||
module.exports = {
|
||
set: setTask,
|
||
clear: clearTask
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 78 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = function (exec) {
|
||
try {
|
||
return { e: false, v: exec() };
|
||
} catch (e) {
|
||
return { e: true, v: e };
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 79 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var anObject = __webpack_require__(8);
|
||
var isObject = __webpack_require__(5);
|
||
var newPromiseCapability = __webpack_require__(52);
|
||
|
||
module.exports = function (C, x) {
|
||
anObject(C);
|
||
if (isObject(x) && x.constructor === C) return x;
|
||
var promiseCapability = newPromiseCapability.f(C);
|
||
var resolve = promiseCapability.resolve;
|
||
resolve(x);
|
||
return promiseCapability.promise;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 80 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// Approach:
|
||
//
|
||
// 1. Get the minimatch set
|
||
// 2. For each pattern in the set, PROCESS(pattern, false)
|
||
// 3. Store matches per-set, then uniq them
|
||
//
|
||
// PROCESS(pattern, inGlobStar)
|
||
// Get the first [n] items from pattern that are all strings
|
||
// Join these together. This is PREFIX.
|
||
// If there is no more remaining, then stat(PREFIX) and
|
||
// add to matches if it succeeds. END.
|
||
//
|
||
// If inGlobStar and PREFIX is symlink and points to dir
|
||
// set ENTRIES = []
|
||
// else readdir(PREFIX) as ENTRIES
|
||
// If fail, END
|
||
//
|
||
// with ENTRIES
|
||
// If pattern[n] is GLOBSTAR
|
||
// // handle the case where the globstar match is empty
|
||
// // by pruning it out, and testing the resulting pattern
|
||
// PROCESS(pattern[0..n] + pattern[n+1 .. $], false)
|
||
// // handle other cases.
|
||
// for ENTRY in ENTRIES (not dotfiles)
|
||
// // attach globstar + tail onto the entry
|
||
// // Mark that this entry is a globstar match
|
||
// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true)
|
||
//
|
||
// else // not globstar
|
||
// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot)
|
||
// Test ENTRY against pattern[n]
|
||
// If fails, continue
|
||
// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $])
|
||
//
|
||
// Caveat:
|
||
// Cache all stats and readdirs results to minimize syscall. Since all
|
||
// we ever care about is existence and directory-ness, we can just keep
|
||
// `true` for files, and [children,...] for directories, or `false` for
|
||
// things that don't exist.
|
||
|
||
module.exports = glob
|
||
|
||
var rp = __webpack_require__(81)
|
||
var minimatch = __webpack_require__(54)
|
||
var Minimatch = minimatch.Minimatch
|
||
var inherits = __webpack_require__(164)
|
||
var EE = __webpack_require__(82).EventEmitter
|
||
var path = __webpack_require__(1)
|
||
var assert = __webpack_require__(53)
|
||
var isAbsolute = __webpack_require__(55)
|
||
var globSync = __webpack_require__(166)
|
||
var common = __webpack_require__(83)
|
||
var setopts = common.setopts
|
||
var ownProp = common.ownProp
|
||
var inflight = __webpack_require__(167)
|
||
var util = __webpack_require__(26)
|
||
var childrenIgnored = common.childrenIgnored
|
||
var isIgnored = common.isIgnored
|
||
|
||
var once = __webpack_require__(85)
|
||
|
||
function glob (pattern, options, cb) {
|
||
if (typeof options === 'function') cb = options, options = {}
|
||
if (!options) options = {}
|
||
|
||
if (options.sync) {
|
||
if (cb)
|
||
throw new TypeError('callback provided to sync glob')
|
||
return globSync(pattern, options)
|
||
}
|
||
|
||
return new Glob(pattern, options, cb)
|
||
}
|
||
|
||
glob.sync = globSync
|
||
var GlobSync = glob.GlobSync = globSync.GlobSync
|
||
|
||
// old api surface
|
||
glob.glob = glob
|
||
|
||
function extend (origin, add) {
|
||
if (add === null || typeof add !== 'object') {
|
||
return origin
|
||
}
|
||
|
||
var keys = Object.keys(add)
|
||
var i = keys.length
|
||
while (i--) {
|
||
origin[keys[i]] = add[keys[i]]
|
||
}
|
||
return origin
|
||
}
|
||
|
||
glob.hasMagic = function (pattern, options_) {
|
||
var options = extend({}, options_)
|
||
options.noprocess = true
|
||
|
||
var g = new Glob(pattern, options)
|
||
var set = g.minimatch.set
|
||
|
||
if (!pattern)
|
||
return false
|
||
|
||
if (set.length > 1)
|
||
return true
|
||
|
||
for (var j = 0; j < set[0].length; j++) {
|
||
if (typeof set[0][j] !== 'string')
|
||
return true
|
||
}
|
||
|
||
return false
|
||
}
|
||
|
||
glob.Glob = Glob
|
||
inherits(Glob, EE)
|
||
function Glob (pattern, options, cb) {
|
||
if (typeof options === 'function') {
|
||
cb = options
|
||
options = null
|
||
}
|
||
|
||
if (options && options.sync) {
|
||
if (cb)
|
||
throw new TypeError('callback provided to sync glob')
|
||
return new GlobSync(pattern, options)
|
||
}
|
||
|
||
if (!(this instanceof Glob))
|
||
return new Glob(pattern, options, cb)
|
||
|
||
setopts(this, pattern, options)
|
||
this._didRealPath = false
|
||
|
||
// process each pattern in the minimatch set
|
||
var n = this.minimatch.set.length
|
||
|
||
// The matches are stored as {<filename>: true,...} so that
|
||
// duplicates are automagically pruned.
|
||
// Later, we do an Object.keys() on these.
|
||
// Keep them as a list so we can fill in when nonull is set.
|
||
this.matches = new Array(n)
|
||
|
||
if (typeof cb === 'function') {
|
||
cb = once(cb)
|
||
this.on('error', cb)
|
||
this.on('end', function (matches) {
|
||
cb(null, matches)
|
||
})
|
||
}
|
||
|
||
var self = this
|
||
this._processing = 0
|
||
|
||
this._emitQueue = []
|
||
this._processQueue = []
|
||
this.paused = false
|
||
|
||
if (this.noprocess)
|
||
return this
|
||
|
||
if (n === 0)
|
||
return done()
|
||
|
||
var sync = true
|
||
for (var i = 0; i < n; i ++) {
|
||
this._process(this.minimatch.set[i], i, false, done)
|
||
}
|
||
sync = false
|
||
|
||
function done () {
|
||
--self._processing
|
||
if (self._processing <= 0) {
|
||
if (sync) {
|
||
process.nextTick(function () {
|
||
self._finish()
|
||
})
|
||
} else {
|
||
self._finish()
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
Glob.prototype._finish = function () {
|
||
assert(this instanceof Glob)
|
||
if (this.aborted)
|
||
return
|
||
|
||
if (this.realpath && !this._didRealpath)
|
||
return this._realpath()
|
||
|
||
common.finish(this)
|
||
this.emit('end', this.found)
|
||
}
|
||
|
||
Glob.prototype._realpath = function () {
|
||
if (this._didRealpath)
|
||
return
|
||
|
||
this._didRealpath = true
|
||
|
||
var n = this.matches.length
|
||
if (n === 0)
|
||
return this._finish()
|
||
|
||
var self = this
|
||
for (var i = 0; i < this.matches.length; i++)
|
||
this._realpathSet(i, next)
|
||
|
||
function next () {
|
||
if (--n === 0)
|
||
self._finish()
|
||
}
|
||
}
|
||
|
||
Glob.prototype._realpathSet = function (index, cb) {
|
||
var matchset = this.matches[index]
|
||
if (!matchset)
|
||
return cb()
|
||
|
||
var found = Object.keys(matchset)
|
||
var self = this
|
||
var n = found.length
|
||
|
||
if (n === 0)
|
||
return cb()
|
||
|
||
var set = this.matches[index] = Object.create(null)
|
||
found.forEach(function (p, i) {
|
||
// If there's a problem with the stat, then it means that
|
||
// one or more of the links in the realpath couldn't be
|
||
// resolved. just return the abs value in that case.
|
||
p = self._makeAbs(p)
|
||
rp.realpath(p, self.realpathCache, function (er, real) {
|
||
if (!er)
|
||
set[real] = true
|
||
else if (er.syscall === 'stat')
|
||
set[p] = true
|
||
else
|
||
self.emit('error', er) // srsly wtf right here
|
||
|
||
if (--n === 0) {
|
||
self.matches[index] = set
|
||
cb()
|
||
}
|
||
})
|
||
})
|
||
}
|
||
|
||
Glob.prototype._mark = function (p) {
|
||
return common.mark(this, p)
|
||
}
|
||
|
||
Glob.prototype._makeAbs = function (f) {
|
||
return common.makeAbs(this, f)
|
||
}
|
||
|
||
Glob.prototype.abort = function () {
|
||
this.aborted = true
|
||
this.emit('abort')
|
||
}
|
||
|
||
Glob.prototype.pause = function () {
|
||
if (!this.paused) {
|
||
this.paused = true
|
||
this.emit('pause')
|
||
}
|
||
}
|
||
|
||
Glob.prototype.resume = function () {
|
||
if (this.paused) {
|
||
this.emit('resume')
|
||
this.paused = false
|
||
if (this._emitQueue.length) {
|
||
var eq = this._emitQueue.slice(0)
|
||
this._emitQueue.length = 0
|
||
for (var i = 0; i < eq.length; i ++) {
|
||
var e = eq[i]
|
||
this._emitMatch(e[0], e[1])
|
||
}
|
||
}
|
||
if (this._processQueue.length) {
|
||
var pq = this._processQueue.slice(0)
|
||
this._processQueue.length = 0
|
||
for (var i = 0; i < pq.length; i ++) {
|
||
var p = pq[i]
|
||
this._processing--
|
||
this._process(p[0], p[1], p[2], p[3])
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
Glob.prototype._process = function (pattern, index, inGlobStar, cb) {
|
||
assert(this instanceof Glob)
|
||
assert(typeof cb === 'function')
|
||
|
||
if (this.aborted)
|
||
return
|
||
|
||
this._processing++
|
||
if (this.paused) {
|
||
this._processQueue.push([pattern, index, inGlobStar, cb])
|
||
return
|
||
}
|
||
|
||
//console.error('PROCESS %d', this._processing, pattern)
|
||
|
||
// Get the first [n] parts of pattern that are all strings.
|
||
var n = 0
|
||
while (typeof pattern[n] === 'string') {
|
||
n ++
|
||
}
|
||
// now n is the index of the first one that is *not* a string.
|
||
|
||
// see if there's anything else
|
||
var prefix
|
||
switch (n) {
|
||
// if not, then this is rather simple
|
||
case pattern.length:
|
||
this._processSimple(pattern.join('/'), index, cb)
|
||
return
|
||
|
||
case 0:
|
||
// pattern *starts* with some non-trivial item.
|
||
// going to readdir(cwd), but not include the prefix in matches.
|
||
prefix = null
|
||
break
|
||
|
||
default:
|
||
// pattern has some string bits in the front.
|
||
// whatever it starts with, whether that's 'absolute' like /foo/bar,
|
||
// or 'relative' like '../baz'
|
||
prefix = pattern.slice(0, n).join('/')
|
||
break
|
||
}
|
||
|
||
var remain = pattern.slice(n)
|
||
|
||
// get the list of entries.
|
||
var read
|
||
if (prefix === null)
|
||
read = '.'
|
||
else if (isAbsolute(prefix) ||
|
||
isAbsolute(pattern.map(function (p) {
|
||
return typeof p === 'string' ? p : '[*]'
|
||
}).join('/'))) {
|
||
if (!prefix || !isAbsolute(prefix))
|
||
prefix = '/' + prefix
|
||
read = prefix
|
||
} else
|
||
read = prefix
|
||
|
||
var abs = this._makeAbs(read)
|
||
|
||
//if ignored, skip _processing
|
||
if (childrenIgnored(this, read))
|
||
return cb()
|
||
|
||
var isGlobStar = remain[0] === minimatch.GLOBSTAR
|
||
if (isGlobStar)
|
||
this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb)
|
||
else
|
||
this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb)
|
||
}
|
||
|
||
Glob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) {
|
||
var self = this
|
||
this._readdir(abs, inGlobStar, function (er, entries) {
|
||
return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb)
|
||
})
|
||
}
|
||
|
||
Glob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {
|
||
|
||
// if the abs isn't a dir, then nothing can match!
|
||
if (!entries)
|
||
return cb()
|
||
|
||
// It will only match dot entries if it starts with a dot, or if
|
||
// dot is set. Stuff like @(.foo|.bar) isn't allowed.
|
||
var pn = remain[0]
|
||
var negate = !!this.minimatch.negate
|
||
var rawGlob = pn._glob
|
||
var dotOk = this.dot || rawGlob.charAt(0) === '.'
|
||
|
||
var matchedEntries = []
|
||
for (var i = 0; i < entries.length; i++) {
|
||
var e = entries[i]
|
||
if (e.charAt(0) !== '.' || dotOk) {
|
||
var m
|
||
if (negate && !prefix) {
|
||
m = !e.match(pn)
|
||
} else {
|
||
m = e.match(pn)
|
||
}
|
||
if (m)
|
||
matchedEntries.push(e)
|
||
}
|
||
}
|
||
|
||
//console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries)
|
||
|
||
var len = matchedEntries.length
|
||
// If there are no matched entries, then nothing matches.
|
||
if (len === 0)
|
||
return cb()
|
||
|
||
// if this is the last remaining pattern bit, then no need for
|
||
// an additional stat *unless* the user has specified mark or
|
||
// stat explicitly. We know they exist, since readdir returned
|
||
// them.
|
||
|
||
if (remain.length === 1 && !this.mark && !this.stat) {
|
||
if (!this.matches[index])
|
||
this.matches[index] = Object.create(null)
|
||
|
||
for (var i = 0; i < len; i ++) {
|
||
var e = matchedEntries[i]
|
||
if (prefix) {
|
||
if (prefix !== '/')
|
||
e = prefix + '/' + e
|
||
else
|
||
e = prefix + e
|
||
}
|
||
|
||
if (e.charAt(0) === '/' && !this.nomount) {
|
||
e = path.join(this.root, e)
|
||
}
|
||
this._emitMatch(index, e)
|
||
}
|
||
// This was the last one, and no stats were needed
|
||
return cb()
|
||
}
|
||
|
||
// now test all matched entries as stand-ins for that part
|
||
// of the pattern.
|
||
remain.shift()
|
||
for (var i = 0; i < len; i ++) {
|
||
var e = matchedEntries[i]
|
||
var newPattern
|
||
if (prefix) {
|
||
if (prefix !== '/')
|
||
e = prefix + '/' + e
|
||
else
|
||
e = prefix + e
|
||
}
|
||
this._process([e].concat(remain), index, inGlobStar, cb)
|
||
}
|
||
cb()
|
||
}
|
||
|
||
Glob.prototype._emitMatch = function (index, e) {
|
||
if (this.aborted)
|
||
return
|
||
|
||
if (isIgnored(this, e))
|
||
return
|
||
|
||
if (this.paused) {
|
||
this._emitQueue.push([index, e])
|
||
return
|
||
}
|
||
|
||
var abs = isAbsolute(e) ? e : this._makeAbs(e)
|
||
|
||
if (this.mark)
|
||
e = this._mark(e)
|
||
|
||
if (this.absolute)
|
||
e = abs
|
||
|
||
if (this.matches[index][e])
|
||
return
|
||
|
||
if (this.nodir) {
|
||
var c = this.cache[abs]
|
||
if (c === 'DIR' || Array.isArray(c))
|
||
return
|
||
}
|
||
|
||
this.matches[index][e] = true
|
||
|
||
var st = this.statCache[abs]
|
||
if (st)
|
||
this.emit('stat', e, st)
|
||
|
||
this.emit('match', e)
|
||
}
|
||
|
||
Glob.prototype._readdirInGlobStar = function (abs, cb) {
|
||
if (this.aborted)
|
||
return
|
||
|
||
// follow all symlinked directories forever
|
||
// just proceed as if this is a non-globstar situation
|
||
if (this.follow)
|
||
return this._readdir(abs, false, cb)
|
||
|
||
var lstatkey = 'lstat\0' + abs
|
||
var self = this
|
||
var lstatcb = inflight(lstatkey, lstatcb_)
|
||
|
||
if (lstatcb)
|
||
self.fs.lstat(abs, lstatcb)
|
||
|
||
function lstatcb_ (er, lstat) {
|
||
if (er && er.code === 'ENOENT')
|
||
return cb()
|
||
|
||
var isSym = lstat && lstat.isSymbolicLink()
|
||
self.symlinks[abs] = isSym
|
||
|
||
// If it's not a symlink or a dir, then it's definitely a regular file.
|
||
// don't bother doing a readdir in that case.
|
||
if (!isSym && lstat && !lstat.isDirectory()) {
|
||
self.cache[abs] = 'FILE'
|
||
cb()
|
||
} else
|
||
self._readdir(abs, false, cb)
|
||
}
|
||
}
|
||
|
||
Glob.prototype._readdir = function (abs, inGlobStar, cb) {
|
||
if (this.aborted)
|
||
return
|
||
|
||
cb = inflight('readdir\0'+abs+'\0'+inGlobStar, cb)
|
||
if (!cb)
|
||
return
|
||
|
||
//console.error('RD %j %j', +inGlobStar, abs)
|
||
if (inGlobStar && !ownProp(this.symlinks, abs))
|
||
return this._readdirInGlobStar(abs, cb)
|
||
|
||
if (ownProp(this.cache, abs)) {
|
||
var c = this.cache[abs]
|
||
if (!c || c === 'FILE')
|
||
return cb()
|
||
|
||
if (Array.isArray(c))
|
||
return cb(null, c)
|
||
}
|
||
|
||
var self = this
|
||
self.fs.readdir(abs, readdirCb(this, abs, cb))
|
||
}
|
||
|
||
function readdirCb (self, abs, cb) {
|
||
return function (er, entries) {
|
||
if (er)
|
||
self._readdirError(abs, er, cb)
|
||
else
|
||
self._readdirEntries(abs, entries, cb)
|
||
}
|
||
}
|
||
|
||
Glob.prototype._readdirEntries = function (abs, entries, cb) {
|
||
if (this.aborted)
|
||
return
|
||
|
||
// if we haven't asked to stat everything, then just
|
||
// assume that everything in there exists, so we can avoid
|
||
// having to stat it a second time.
|
||
if (!this.mark && !this.stat) {
|
||
for (var i = 0; i < entries.length; i ++) {
|
||
var e = entries[i]
|
||
if (abs === '/')
|
||
e = abs + e
|
||
else
|
||
e = abs + '/' + e
|
||
this.cache[e] = true
|
||
}
|
||
}
|
||
|
||
this.cache[abs] = entries
|
||
return cb(null, entries)
|
||
}
|
||
|
||
Glob.prototype._readdirError = function (f, er, cb) {
|
||
if (this.aborted)
|
||
return
|
||
|
||
// handle errors, and cache the information
|
||
switch (er.code) {
|
||
case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205
|
||
case 'ENOTDIR': // totally normal. means it *does* exist.
|
||
var abs = this._makeAbs(f)
|
||
this.cache[abs] = 'FILE'
|
||
if (abs === this.cwdAbs) {
|
||
var error = new Error(er.code + ' invalid cwd ' + this.cwd)
|
||
error.path = this.cwd
|
||
error.code = er.code
|
||
this.emit('error', error)
|
||
this.abort()
|
||
}
|
||
break
|
||
|
||
case 'ENOENT': // not terribly unusual
|
||
case 'ELOOP':
|
||
case 'ENAMETOOLONG':
|
||
case 'UNKNOWN':
|
||
this.cache[this._makeAbs(f)] = false
|
||
break
|
||
|
||
default: // some unusual error. Treat as failure.
|
||
this.cache[this._makeAbs(f)] = false
|
||
if (this.strict) {
|
||
this.emit('error', er)
|
||
// If the error is handled, then we abort
|
||
// if not, we threw out of here
|
||
this.abort()
|
||
}
|
||
if (!this.silent)
|
||
console.error('glob error', er)
|
||
break
|
||
}
|
||
|
||
return cb()
|
||
}
|
||
|
||
Glob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) {
|
||
var self = this
|
||
this._readdir(abs, inGlobStar, function (er, entries) {
|
||
self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb)
|
||
})
|
||
}
|
||
|
||
|
||
Glob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {
|
||
//console.error('pgs2', prefix, remain[0], entries)
|
||
|
||
// no entries means not a dir, so it can never have matches
|
||
// foo.txt/** doesn't match foo.txt
|
||
if (!entries)
|
||
return cb()
|
||
|
||
// test without the globstar, and with every child both below
|
||
// and replacing the globstar.
|
||
var remainWithoutGlobStar = remain.slice(1)
|
||
var gspref = prefix ? [ prefix ] : []
|
||
var noGlobStar = gspref.concat(remainWithoutGlobStar)
|
||
|
||
// the noGlobStar pattern exits the inGlobStar state
|
||
this._process(noGlobStar, index, false, cb)
|
||
|
||
var isSym = this.symlinks[abs]
|
||
var len = entries.length
|
||
|
||
// If it's a symlink, and we're in a globstar, then stop
|
||
if (isSym && inGlobStar)
|
||
return cb()
|
||
|
||
for (var i = 0; i < len; i++) {
|
||
var e = entries[i]
|
||
if (e.charAt(0) === '.' && !this.dot)
|
||
continue
|
||
|
||
// these two cases enter the inGlobStar state
|
||
var instead = gspref.concat(entries[i], remainWithoutGlobStar)
|
||
this._process(instead, index, true, cb)
|
||
|
||
var below = gspref.concat(entries[i], remain)
|
||
this._process(below, index, true, cb)
|
||
}
|
||
|
||
cb()
|
||
}
|
||
|
||
Glob.prototype._processSimple = function (prefix, index, cb) {
|
||
// XXX review this. Shouldn't it be doing the mounting etc
|
||
// before doing stat? kinda weird?
|
||
var self = this
|
||
this._stat(prefix, function (er, exists) {
|
||
self._processSimple2(prefix, index, er, exists, cb)
|
||
})
|
||
}
|
||
Glob.prototype._processSimple2 = function (prefix, index, er, exists, cb) {
|
||
|
||
//console.error('ps2', prefix, exists)
|
||
|
||
if (!this.matches[index])
|
||
this.matches[index] = Object.create(null)
|
||
|
||
// If it doesn't exist, then just mark the lack of results
|
||
if (!exists)
|
||
return cb()
|
||
|
||
if (prefix && isAbsolute(prefix) && !this.nomount) {
|
||
var trail = /[\/\\]$/.test(prefix)
|
||
if (prefix.charAt(0) === '/') {
|
||
prefix = path.join(this.root, prefix)
|
||
} else {
|
||
prefix = path.resolve(this.root, prefix)
|
||
if (trail)
|
||
prefix += '/'
|
||
}
|
||
}
|
||
|
||
if (process.platform === 'win32')
|
||
prefix = prefix.replace(/\\/g, '/')
|
||
|
||
// Mark this as a match
|
||
this._emitMatch(index, prefix)
|
||
cb()
|
||
}
|
||
|
||
// Returns either 'DIR', 'FILE', or false
|
||
Glob.prototype._stat = function (f, cb) {
|
||
var abs = this._makeAbs(f)
|
||
var needDir = f.slice(-1) === '/'
|
||
|
||
if (f.length > this.maxLength)
|
||
return cb()
|
||
|
||
if (!this.stat && ownProp(this.cache, abs)) {
|
||
var c = this.cache[abs]
|
||
|
||
if (Array.isArray(c))
|
||
c = 'DIR'
|
||
|
||
// It exists, but maybe not how we need it
|
||
if (!needDir || c === 'DIR')
|
||
return cb(null, c)
|
||
|
||
if (needDir && c === 'FILE')
|
||
return cb()
|
||
|
||
// otherwise we have to stat, because maybe c=true
|
||
// if we know it exists, but not what it is.
|
||
}
|
||
|
||
var exists
|
||
var stat = this.statCache[abs]
|
||
if (stat !== undefined) {
|
||
if (stat === false)
|
||
return cb(null, stat)
|
||
else {
|
||
var type = stat.isDirectory() ? 'DIR' : 'FILE'
|
||
if (needDir && type === 'FILE')
|
||
return cb()
|
||
else
|
||
return cb(null, type, stat)
|
||
}
|
||
}
|
||
|
||
var self = this
|
||
var statcb = inflight('stat\0' + abs, lstatcb_)
|
||
if (statcb)
|
||
self.fs.lstat(abs, statcb)
|
||
|
||
function lstatcb_ (er, lstat) {
|
||
if (lstat && lstat.isSymbolicLink()) {
|
||
// If it's a symlink, then treat it as the target, unless
|
||
// the target does not exist, then treat it as a file.
|
||
return self.fs.stat(abs, function (er, stat) {
|
||
if (er)
|
||
self._stat2(f, abs, null, lstat, cb)
|
||
else
|
||
self._stat2(f, abs, er, stat, cb)
|
||
})
|
||
} else {
|
||
self._stat2(f, abs, er, lstat, cb)
|
||
}
|
||
}
|
||
}
|
||
|
||
Glob.prototype._stat2 = function (f, abs, er, stat, cb) {
|
||
if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) {
|
||
this.statCache[abs] = false
|
||
return cb()
|
||
}
|
||
|
||
var needDir = f.slice(-1) === '/'
|
||
this.statCache[abs] = stat
|
||
|
||
if (abs.slice(-1) === '/' && stat && !stat.isDirectory())
|
||
return cb(null, false, stat)
|
||
|
||
var c = true
|
||
if (stat)
|
||
c = stat.isDirectory() ? 'DIR' : 'FILE'
|
||
this.cache[abs] = this.cache[abs] || c
|
||
|
||
if (needDir && c === 'FILE')
|
||
return cb()
|
||
|
||
return cb(null, c, stat)
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 81 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = realpath
|
||
realpath.realpath = realpath
|
||
realpath.sync = realpathSync
|
||
realpath.realpathSync = realpathSync
|
||
realpath.monkeypatch = monkeypatch
|
||
realpath.unmonkeypatch = unmonkeypatch
|
||
|
||
var fs = __webpack_require__(6)
|
||
var origRealpath = fs.realpath
|
||
var origRealpathSync = fs.realpathSync
|
||
|
||
var version = process.version
|
||
var ok = /^v[0-5]\./.test(version)
|
||
var old = __webpack_require__(160)
|
||
|
||
function newError (er) {
|
||
return er && er.syscall === 'realpath' && (
|
||
er.code === 'ELOOP' ||
|
||
er.code === 'ENOMEM' ||
|
||
er.code === 'ENAMETOOLONG'
|
||
)
|
||
}
|
||
|
||
function realpath (p, cache, cb) {
|
||
if (ok) {
|
||
return origRealpath(p, cache, cb)
|
||
}
|
||
|
||
if (typeof cache === 'function') {
|
||
cb = cache
|
||
cache = null
|
||
}
|
||
origRealpath(p, cache, function (er, result) {
|
||
if (newError(er)) {
|
||
old.realpath(p, cache, cb)
|
||
} else {
|
||
cb(er, result)
|
||
}
|
||
})
|
||
}
|
||
|
||
function realpathSync (p, cache) {
|
||
if (ok) {
|
||
return origRealpathSync(p, cache)
|
||
}
|
||
|
||
try {
|
||
return origRealpathSync(p, cache)
|
||
} catch (er) {
|
||
if (newError(er)) {
|
||
return old.realpathSync(p, cache)
|
||
} else {
|
||
throw er
|
||
}
|
||
}
|
||
}
|
||
|
||
function monkeypatch () {
|
||
fs.realpath = realpath
|
||
fs.realpathSync = realpathSync
|
||
}
|
||
|
||
function unmonkeypatch () {
|
||
fs.realpath = origRealpath
|
||
fs.realpathSync = origRealpathSync
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 82 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("events");
|
||
|
||
/***/ }),
|
||
/* 83 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
exports.setopts = setopts
|
||
exports.ownProp = ownProp
|
||
exports.makeAbs = makeAbs
|
||
exports.finish = finish
|
||
exports.mark = mark
|
||
exports.isIgnored = isIgnored
|
||
exports.childrenIgnored = childrenIgnored
|
||
|
||
function ownProp (obj, field) {
|
||
return Object.prototype.hasOwnProperty.call(obj, field)
|
||
}
|
||
|
||
var fs = __webpack_require__(6)
|
||
var path = __webpack_require__(1)
|
||
var minimatch = __webpack_require__(54)
|
||
var isAbsolute = __webpack_require__(55)
|
||
var Minimatch = minimatch.Minimatch
|
||
|
||
function alphasort (a, b) {
|
||
return a.localeCompare(b, 'en')
|
||
}
|
||
|
||
function setupIgnores (self, options) {
|
||
self.ignore = options.ignore || []
|
||
|
||
if (!Array.isArray(self.ignore))
|
||
self.ignore = [self.ignore]
|
||
|
||
if (self.ignore.length) {
|
||
self.ignore = self.ignore.map(ignoreMap)
|
||
}
|
||
}
|
||
|
||
// ignore patterns are always in dot:true mode.
|
||
function ignoreMap (pattern) {
|
||
var gmatcher = null
|
||
if (pattern.slice(-3) === '/**') {
|
||
var gpattern = pattern.replace(/(\/\*\*)+$/, '')
|
||
gmatcher = new Minimatch(gpattern, { dot: true })
|
||
}
|
||
|
||
return {
|
||
matcher: new Minimatch(pattern, { dot: true }),
|
||
gmatcher: gmatcher
|
||
}
|
||
}
|
||
|
||
function setopts (self, pattern, options) {
|
||
if (!options)
|
||
options = {}
|
||
|
||
// base-matching: just use globstar for that.
|
||
if (options.matchBase && -1 === pattern.indexOf("/")) {
|
||
if (options.noglobstar) {
|
||
throw new Error("base matching requires globstar")
|
||
}
|
||
pattern = "**/" + pattern
|
||
}
|
||
|
||
self.silent = !!options.silent
|
||
self.pattern = pattern
|
||
self.strict = options.strict !== false
|
||
self.realpath = !!options.realpath
|
||
self.realpathCache = options.realpathCache || Object.create(null)
|
||
self.follow = !!options.follow
|
||
self.dot = !!options.dot
|
||
self.mark = !!options.mark
|
||
self.nodir = !!options.nodir
|
||
if (self.nodir)
|
||
self.mark = true
|
||
self.sync = !!options.sync
|
||
self.nounique = !!options.nounique
|
||
self.nonull = !!options.nonull
|
||
self.nosort = !!options.nosort
|
||
self.nocase = !!options.nocase
|
||
self.stat = !!options.stat
|
||
self.noprocess = !!options.noprocess
|
||
self.absolute = !!options.absolute
|
||
self.fs = options.fs || fs
|
||
|
||
self.maxLength = options.maxLength || Infinity
|
||
self.cache = options.cache || Object.create(null)
|
||
self.statCache = options.statCache || Object.create(null)
|
||
self.symlinks = options.symlinks || Object.create(null)
|
||
|
||
setupIgnores(self, options)
|
||
|
||
self.changedCwd = false
|
||
var cwd = process.cwd()
|
||
if (!ownProp(options, "cwd"))
|
||
self.cwd = cwd
|
||
else {
|
||
self.cwd = path.resolve(options.cwd)
|
||
self.changedCwd = self.cwd !== cwd
|
||
}
|
||
|
||
self.root = options.root || path.resolve(self.cwd, "/")
|
||
self.root = path.resolve(self.root)
|
||
if (process.platform === "win32")
|
||
self.root = self.root.replace(/\\/g, "/")
|
||
|
||
// TODO: is an absolute `cwd` supposed to be resolved against `root`?
|
||
// e.g. { cwd: '/test', root: __dirname } === path.join(__dirname, '/test')
|
||
self.cwdAbs = isAbsolute(self.cwd) ? self.cwd : makeAbs(self, self.cwd)
|
||
if (process.platform === "win32")
|
||
self.cwdAbs = self.cwdAbs.replace(/\\/g, "/")
|
||
self.nomount = !!options.nomount
|
||
|
||
// disable comments and negation in Minimatch.
|
||
// Note that they are not supported in Glob itself anyway.
|
||
options.nonegate = true
|
||
options.nocomment = true
|
||
// always treat \ in patterns as escapes, not path separators
|
||
options.allowWindowsEscape = false
|
||
|
||
self.minimatch = new Minimatch(pattern, options)
|
||
self.options = self.minimatch.options
|
||
}
|
||
|
||
function finish (self) {
|
||
var nou = self.nounique
|
||
var all = nou ? [] : Object.create(null)
|
||
|
||
for (var i = 0, l = self.matches.length; i < l; i ++) {
|
||
var matches = self.matches[i]
|
||
if (!matches || Object.keys(matches).length === 0) {
|
||
if (self.nonull) {
|
||
// do like the shell, and spit out the literal glob
|
||
var literal = self.minimatch.globSet[i]
|
||
if (nou)
|
||
all.push(literal)
|
||
else
|
||
all[literal] = true
|
||
}
|
||
} else {
|
||
// had matches
|
||
var m = Object.keys(matches)
|
||
if (nou)
|
||
all.push.apply(all, m)
|
||
else
|
||
m.forEach(function (m) {
|
||
all[m] = true
|
||
})
|
||
}
|
||
}
|
||
|
||
if (!nou)
|
||
all = Object.keys(all)
|
||
|
||
if (!self.nosort)
|
||
all = all.sort(alphasort)
|
||
|
||
// at *some* point we statted all of these
|
||
if (self.mark) {
|
||
for (var i = 0; i < all.length; i++) {
|
||
all[i] = self._mark(all[i])
|
||
}
|
||
if (self.nodir) {
|
||
all = all.filter(function (e) {
|
||
var notDir = !(/\/$/.test(e))
|
||
var c = self.cache[e] || self.cache[makeAbs(self, e)]
|
||
if (notDir && c)
|
||
notDir = c !== 'DIR' && !Array.isArray(c)
|
||
return notDir
|
||
})
|
||
}
|
||
}
|
||
|
||
if (self.ignore.length)
|
||
all = all.filter(function(m) {
|
||
return !isIgnored(self, m)
|
||
})
|
||
|
||
self.found = all
|
||
}
|
||
|
||
function mark (self, p) {
|
||
var abs = makeAbs(self, p)
|
||
var c = self.cache[abs]
|
||
var m = p
|
||
if (c) {
|
||
var isDir = c === 'DIR' || Array.isArray(c)
|
||
var slash = p.slice(-1) === '/'
|
||
|
||
if (isDir && !slash)
|
||
m += '/'
|
||
else if (!isDir && slash)
|
||
m = m.slice(0, -1)
|
||
|
||
if (m !== p) {
|
||
var mabs = makeAbs(self, m)
|
||
self.statCache[mabs] = self.statCache[abs]
|
||
self.cache[mabs] = self.cache[abs]
|
||
}
|
||
}
|
||
|
||
return m
|
||
}
|
||
|
||
// lotta situps...
|
||
function makeAbs (self, f) {
|
||
var abs = f
|
||
if (f.charAt(0) === '/') {
|
||
abs = path.join(self.root, f)
|
||
} else if (isAbsolute(f) || f === '') {
|
||
abs = f
|
||
} else if (self.changedCwd) {
|
||
abs = path.resolve(self.cwd, f)
|
||
} else {
|
||
abs = path.resolve(f)
|
||
}
|
||
|
||
if (process.platform === 'win32')
|
||
abs = abs.replace(/\\/g, '/')
|
||
|
||
return abs
|
||
}
|
||
|
||
|
||
// Return true, if pattern ends with globstar '**', for the accompanying parent directory.
|
||
// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents
|
||
function isIgnored (self, path) {
|
||
if (!self.ignore.length)
|
||
return false
|
||
|
||
return self.ignore.some(function(item) {
|
||
return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path))
|
||
})
|
||
}
|
||
|
||
function childrenIgnored (self, path) {
|
||
if (!self.ignore.length)
|
||
return false
|
||
|
||
return self.ignore.some(function(item) {
|
||
return !!(item.gmatcher && item.gmatcher.match(path))
|
||
})
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 84 */
|
||
/***/ (function(module, exports) {
|
||
|
||
// Returns a wrapper function that returns a wrapped callback
|
||
// The wrapper function should do some stuff, and return a
|
||
// presumably different callback function.
|
||
// This makes sure that own properties are retained, so that
|
||
// decorations and such are not lost along the way.
|
||
module.exports = wrappy
|
||
function wrappy (fn, cb) {
|
||
if (fn && cb) return wrappy(fn)(cb)
|
||
|
||
if (typeof fn !== 'function')
|
||
throw new TypeError('need wrapper function')
|
||
|
||
Object.keys(fn).forEach(function (k) {
|
||
wrapper[k] = fn[k]
|
||
})
|
||
|
||
return wrapper
|
||
|
||
function wrapper() {
|
||
var args = new Array(arguments.length)
|
||
for (var i = 0; i < args.length; i++) {
|
||
args[i] = arguments[i]
|
||
}
|
||
var ret = fn.apply(this, args)
|
||
var cb = args[args.length-1]
|
||
if (typeof ret === 'function' && ret !== cb) {
|
||
Object.keys(cb).forEach(function (k) {
|
||
ret[k] = cb[k]
|
||
})
|
||
}
|
||
return ret
|
||
}
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 85 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var wrappy = __webpack_require__(84)
|
||
module.exports = wrappy(once)
|
||
module.exports.strict = wrappy(onceStrict)
|
||
|
||
once.proto = once(function () {
|
||
Object.defineProperty(Function.prototype, 'once', {
|
||
value: function () {
|
||
return once(this)
|
||
},
|
||
configurable: true
|
||
})
|
||
|
||
Object.defineProperty(Function.prototype, 'onceStrict', {
|
||
value: function () {
|
||
return onceStrict(this)
|
||
},
|
||
configurable: true
|
||
})
|
||
})
|
||
|
||
function once (fn) {
|
||
var f = function () {
|
||
if (f.called) return f.value
|
||
f.called = true
|
||
return f.value = fn.apply(this, arguments)
|
||
}
|
||
f.called = false
|
||
return f
|
||
}
|
||
|
||
function onceStrict (fn) {
|
||
var f = function () {
|
||
if (f.called)
|
||
throw new Error(f.onceError)
|
||
f.called = true
|
||
return f.value = fn.apply(this, arguments)
|
||
}
|
||
var name = fn.name || 'Function wrapped with `once`'
|
||
f.onceError = name + " shouldn't be called more than once"
|
||
f.called = false
|
||
return f
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 86 */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* unused harmony export GetUdpServerPort */
|
||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return UpdateUdpServerPort; });
|
||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Init; });
|
||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return sendMsg; });
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_slicedToArray__ = __webpack_require__(189);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_slicedToArray___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_slicedToArray__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__index__ = __webpack_require__(33);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__log__ = __webpack_require__(196);
|
||
|
||
var dgram = __webpack_require__(195);
|
||
|
||
var server = void 0;
|
||
var Store = __webpack_require__(61);
|
||
var store = new Store();
|
||
|
||
var sandTable_udp_server_port = "sandTable_udp_server_port";
|
||
function Init() {
|
||
if (server) {
|
||
server.close();
|
||
server = null;
|
||
}
|
||
var port = GetUdpServerPort().port;
|
||
server = dgram.createSocket("udp4");
|
||
server.on("listening", function () {
|
||
var address = server.address();
|
||
console.log("server running " + address.address + ":" + address.port);
|
||
});
|
||
|
||
server.on("message", function (msg, remoteInfo) {
|
||
console.log("udp server got " + msg + " from " + remoteInfo.address + ":" + remoteInfo.port);
|
||
|
||
try {
|
||
var s = JSON.parse(msg.toString());
|
||
var positions = [];
|
||
|
||
var angle = 45;
|
||
if (typeof s == "string") s = JSON.parse(s);
|
||
console.log(s);
|
||
|
||
if (s.Placemark.hasOwnProperty("Point")) {
|
||
var arr = s.Placemark.Point.coordinates.split(",");
|
||
var position = {
|
||
lng: Number(arr[0]),
|
||
lat: Number(arr[1]),
|
||
alt: Number(arr[2]) || 0
|
||
};
|
||
if (arr.length > 2) position.alt = arr[2];
|
||
if (arr.length > 3) angle = arr[3];
|
||
positions.push(position);
|
||
} else {
|
||
var coordinates = s.Placemark.Polygon.outerBoundaryIs.LinearRing.coordinates;
|
||
var parseCoordinates = function parseCoordinates(coords) {
|
||
return coords.split(" ").map(function (pair) {
|
||
var _pair$split$map = pair.split(",").map(Number),
|
||
_pair$split$map2 = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_slicedToArray___default()(_pair$split$map, 2),
|
||
lng = _pair$split$map2[0],
|
||
lat = _pair$split$map2[1];
|
||
|
||
return { lng: lng, lat: lat };
|
||
});
|
||
};
|
||
positions = parseCoordinates(coordinates);
|
||
}
|
||
Object(__WEBPACK_IMPORTED_MODULE_1__index__["getmainWindow"])().webContents.send(sandTable_udp_server_port, positions, angle);
|
||
} catch (err) {
|
||
console.log(err);
|
||
}
|
||
});
|
||
server.on("error", function (err) {
|
||
console.log("server error", err);
|
||
});
|
||
server.bind(port);
|
||
}
|
||
function sendMsg(val) {
|
||
var msg = void 0;
|
||
var port = store.get("sandTable_udp_client_port");
|
||
var ip = store.get("sandTable_udp_client_host");
|
||
var num = val.toString().split("");
|
||
var swit = Number(num.pop());
|
||
if (swit == 1 || swit == 0) {
|
||
var cnt = num.join("");
|
||
if (cnt == "FF") {
|
||
var message = Buffer.from([0xff, Number(swit)]);
|
||
server.send(message, port, ip);
|
||
msg = "发送成功";
|
||
} else {
|
||
var exp = /^[+-]?\d*(\.\d*)?(e[+-]?\d+)?$/;
|
||
if (exp.test(cnt)) {
|
||
var cntHex = cnt.toString(16);
|
||
var switHex = swit.toString(16);
|
||
var _message = Buffer.from([cntHex, switHex], "hex");
|
||
server.send(_message, port, ip);
|
||
msg = "发送成功";
|
||
} else {
|
||
msg = "接受失败";
|
||
}
|
||
}
|
||
}
|
||
return msg;
|
||
}
|
||
|
||
function UpdateUdpServerPort(port) {
|
||
store.set(sandTable_udp_server_port, port);
|
||
|
||
Init();
|
||
}
|
||
|
||
function GetUdpServerPort() {
|
||
var port = 6000;
|
||
var server_port = store.get(sandTable_udp_server_port);
|
||
if (!server_port) {
|
||
store.set(sandTable_udp_server_port, port);
|
||
} else {
|
||
port = server_port;
|
||
}
|
||
var host = getHostIP();
|
||
return { port: port, host: host };
|
||
}
|
||
function getHostIP() {
|
||
var os = __webpack_require__(10);
|
||
var interfaces = os.networkInterfaces();
|
||
var hostIP = "";
|
||
console.log(interfaces);
|
||
|
||
for (var networkInterface in interfaces) {
|
||
if (networkInterface.indexOf("以太网") > -1) {
|
||
var iface = interfaces[networkInterface];
|
||
for (var i = 0; i < iface.length; i++) {
|
||
var _iface$i = iface[i],
|
||
address = _iface$i.address,
|
||
family = _iface$i.family,
|
||
internal = _iface$i.internal;
|
||
|
||
if (family === "IPv4" && !internal) {
|
||
hostIP = address;
|
||
break;
|
||
}
|
||
}
|
||
|
||
if (hostIP) {
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
return hostIP;
|
||
}
|
||
|
||
|
||
|
||
/***/ }),
|
||
/* 87 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = { "default": __webpack_require__(193), __esModule: true };
|
||
|
||
/***/ }),
|
||
/* 88 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
__webpack_require__(89);
|
||
module.exports = __webpack_require__(33);
|
||
|
||
|
||
/***/ }),
|
||
/* 89 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
|
||
process.env.NODE_ENV = 'development';
|
||
|
||
__webpack_require__(90)({ showDevTools: true });
|
||
|
||
__webpack_require__(13).app.on('ready', function () {});
|
||
|
||
__webpack_require__(33);
|
||
|
||
/***/ }),
|
||
/* 90 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
const electron = __webpack_require__(13);
|
||
const localShortcut = __webpack_require__(91);
|
||
const isDev = __webpack_require__(102);
|
||
|
||
const app = electron.app;
|
||
const BrowserWindow = electron.BrowserWindow;
|
||
const isMacOS = process.platform === 'darwin';
|
||
|
||
function devTools(win) {
|
||
win = win || BrowserWindow.getFocusedWindow();
|
||
|
||
if (win) {
|
||
win.toggleDevTools();
|
||
}
|
||
}
|
||
|
||
function openDevTools(win, showDevTools) {
|
||
win = win || BrowserWindow.getFocusedWindow();
|
||
|
||
if (win) {
|
||
const mode = showDevTools === true ? undefined : showDevTools;
|
||
win.webContents.openDevTools({mode});
|
||
}
|
||
}
|
||
|
||
function refresh(win) {
|
||
win = win || BrowserWindow.getFocusedWindow();
|
||
|
||
if (win) {
|
||
win.webContents.reloadIgnoringCache();
|
||
}
|
||
}
|
||
|
||
function inspectElements() {
|
||
const win = BrowserWindow.getFocusedWindow();
|
||
const inspect = () => {
|
||
win.devToolsWebContents.executeJavaScript('DevToolsAPI.enterInspectElementMode()');
|
||
};
|
||
|
||
if (win) {
|
||
if (win.webContents.isDevToolsOpened()) {
|
||
inspect();
|
||
} else {
|
||
win.webContents.on('devtools-opened', inspect);
|
||
win.openDevTools();
|
||
}
|
||
}
|
||
}
|
||
|
||
const addExtensionIfInstalled = (name, getPath) => {
|
||
const isExtensionInstalled = name => {
|
||
return BrowserWindow.getDevToolsExtensions &&
|
||
{}.hasOwnProperty.call(BrowserWindow.getDevToolsExtensions(), name);
|
||
};
|
||
|
||
try {
|
||
if (!isExtensionInstalled(name)) {
|
||
BrowserWindow.addDevToolsExtension(getPath(name));
|
||
}
|
||
} catch (err) {}
|
||
};
|
||
|
||
module.exports = opts => {
|
||
opts = Object.assign({
|
||
enabled: null,
|
||
showDevTools: false
|
||
}, opts);
|
||
|
||
if (opts.enabled === false || (opts.enabled === null && !isDev)) {
|
||
return;
|
||
}
|
||
|
||
app.on('browser-window-created', (e, win) => {
|
||
if (opts.showDevTools) {
|
||
openDevTools(win, opts.showDevTools);
|
||
}
|
||
});
|
||
|
||
app.on('ready', () => {
|
||
addExtensionIfInstalled('devtron', name => !(function webpackMissingModule() { var e = new Error("Cannot find module \".\""); e.code = 'MODULE_NOT_FOUND'; throw e; }()).path);
|
||
// TODO: Use this when https://github.com/firejune/electron-react-devtools/pull/6 is out
|
||
// addExtensionIfInstalled('electron-react-devtools', name => require(name).path);
|
||
addExtensionIfInstalled('electron-react-devtools', name => __webpack_require__(1).dirname(/*require.resolve*/(!(function webpackMissingModule() { var e = new Error("Cannot find module \".\""); e.code = 'MODULE_NOT_FOUND'; throw e; }()))));
|
||
|
||
localShortcut.register('CmdOrCtrl+Shift+C', inspectElements);
|
||
localShortcut.register(isMacOS ? 'Cmd+Alt+I' : 'Ctrl+Shift+I', devTools);
|
||
localShortcut.register('F12', devTools);
|
||
|
||
localShortcut.register('CmdOrCtrl+R', refresh);
|
||
localShortcut.register('F5', refresh);
|
||
});
|
||
};
|
||
|
||
module.exports.refresh = refresh;
|
||
module.exports.devTools = devTools;
|
||
module.exports.openDevTools = openDevTools;
|
||
|
||
|
||
/***/ }),
|
||
/* 91 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
const {app, BrowserWindow} = __webpack_require__(13);
|
||
const isAccelerator = __webpack_require__(92);
|
||
const equals = __webpack_require__(93);
|
||
const {toKeyEvent} = __webpack_require__(94);
|
||
const _debug = __webpack_require__(95);
|
||
|
||
const debug = _debug('electron-localshortcut');
|
||
|
||
// A placeholder to register shortcuts
|
||
// on any window of the app.
|
||
const ANY_WINDOW = {};
|
||
|
||
const windowsWithShortcuts = new WeakMap();
|
||
|
||
const title = win => {
|
||
if (win) {
|
||
try {
|
||
return win.getTitle();
|
||
// eslint-disable-next-line no-unused-vars
|
||
} catch (error) {
|
||
return 'A destroyed window';
|
||
}
|
||
}
|
||
|
||
return 'An falsy value';
|
||
};
|
||
|
||
function _checkAccelerator(accelerator) {
|
||
if (!isAccelerator(accelerator)) {
|
||
const w = {};
|
||
Error.captureStackTrace(w);
|
||
const stack = w.stack ? w.stack.split('\n').slice(4).join('\n') : w.message;
|
||
const msg = `
|
||
WARNING: ${accelerator} is not a valid accelerator.
|
||
|
||
${stack}
|
||
`;
|
||
console.error(msg);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Disable all of the shortcuts registered on the BrowserWindow instance.
|
||
* Registered shortcuts no more works on the `window` instance, but the module
|
||
* keep a reference on them. You can reactivate them later by calling `enableAll`
|
||
* method on the same window instance.
|
||
* @param {BrowserWindow} win BrowserWindow instance
|
||
*/
|
||
function disableAll(win) {
|
||
debug(`Disabling all shortcuts on window ${title(win)}`);
|
||
const wc = win.webContents;
|
||
const shortcutsOfWindow = windowsWithShortcuts.get(wc);
|
||
|
||
for (const shortcut of shortcutsOfWindow) {
|
||
shortcut.enabled = false;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Enable all of the shortcuts registered on the BrowserWindow instance that
|
||
* you had previously disabled calling `disableAll` method.
|
||
* @param {BrowserWindow} win BrowserWindow instance
|
||
*/
|
||
function enableAll(win) {
|
||
debug(`Enabling all shortcuts on window ${title(win)}`);
|
||
const wc = win.webContents;
|
||
const shortcutsOfWindow = windowsWithShortcuts.get(wc);
|
||
|
||
for (const shortcut of shortcutsOfWindow) {
|
||
shortcut.enabled = true;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Unregisters all of the shortcuts registered on any focused BrowserWindow
|
||
* instance. This method does not unregister any shortcut you registered on
|
||
* a particular window instance.
|
||
* @param {BrowserWindow} win BrowserWindow instance
|
||
*/
|
||
function unregisterAll(win) {
|
||
debug(`Unregistering all shortcuts on window ${title(win)}`);
|
||
const wc = win.webContents;
|
||
const shortcutsOfWindow = windowsWithShortcuts.get(wc);
|
||
if (shortcutsOfWindow && shortcutsOfWindow.removeListener) {
|
||
// Remove listener from window
|
||
shortcutsOfWindow.removeListener();
|
||
windowsWithShortcuts.delete(wc);
|
||
}
|
||
}
|
||
|
||
function _normalizeEvent(input) {
|
||
const normalizedEvent = {
|
||
code: input.code,
|
||
key: input.key
|
||
};
|
||
|
||
['alt', 'shift', 'meta'].forEach(prop => {
|
||
if (typeof input[prop] !== 'undefined') {
|
||
normalizedEvent[`${prop}Key`] = input[prop];
|
||
}
|
||
});
|
||
|
||
if (typeof input.control !== 'undefined') {
|
||
normalizedEvent.ctrlKey = input.control;
|
||
}
|
||
|
||
return normalizedEvent;
|
||
}
|
||
|
||
function _findShortcut(event, shortcutsOfWindow) {
|
||
let i = 0;
|
||
for (const shortcut of shortcutsOfWindow) {
|
||
if (equals(shortcut.eventStamp, event)) {
|
||
return i;
|
||
}
|
||
|
||
i++;
|
||
}
|
||
|
||
return -1;
|
||
}
|
||
|
||
const _onBeforeInput = shortcutsOfWindow => (e, input) => {
|
||
if (input.type === 'keyUp') {
|
||
return;
|
||
}
|
||
|
||
const event = _normalizeEvent(input);
|
||
|
||
debug(`before-input-event: ${input} is translated to: ${event}`);
|
||
for (const {eventStamp, callback} of shortcutsOfWindow) {
|
||
if (equals(eventStamp, event)) {
|
||
debug(`eventStamp: ${eventStamp} match`);
|
||
callback();
|
||
|
||
return;
|
||
}
|
||
|
||
debug(`eventStamp: ${eventStamp} no match`);
|
||
}
|
||
};
|
||
|
||
/**
|
||
* Registers the shortcut `accelerator`on the BrowserWindow instance.
|
||
* @param {BrowserWindow} win - BrowserWindow instance to register.
|
||
* This argument could be omitted, in this case the function register
|
||
* the shortcut on all app windows.
|
||
* @param {String|Array<String>} accelerator - the shortcut to register
|
||
* @param {Function} callback This function is called when the shortcut is pressed
|
||
* and the window is focused and not minimized.
|
||
*/
|
||
function register(win, accelerator, callback) {
|
||
let wc;
|
||
if (typeof callback === 'undefined') {
|
||
wc = ANY_WINDOW;
|
||
callback = accelerator;
|
||
accelerator = win;
|
||
} else {
|
||
wc = win.webContents;
|
||
}
|
||
|
||
if (Array.isArray(accelerator) === true) {
|
||
accelerator.forEach(accelerator => {
|
||
if (typeof accelerator === 'string') {
|
||
register(win, accelerator, callback);
|
||
}
|
||
});
|
||
return;
|
||
}
|
||
|
||
debug(`Registering callback for ${accelerator} on window ${title(win)}`);
|
||
_checkAccelerator(accelerator);
|
||
|
||
debug(`${accelerator} seems a valid shortcut sequence.`);
|
||
|
||
let shortcutsOfWindow;
|
||
if (windowsWithShortcuts.has(wc)) {
|
||
debug('Window has others shortcuts registered.');
|
||
shortcutsOfWindow = windowsWithShortcuts.get(wc);
|
||
} else {
|
||
debug('This is the first shortcut of the window.');
|
||
shortcutsOfWindow = [];
|
||
windowsWithShortcuts.set(wc, shortcutsOfWindow);
|
||
|
||
if (wc === ANY_WINDOW) {
|
||
const keyHandler = _onBeforeInput(shortcutsOfWindow);
|
||
const enableAppShortcuts = (e, win) => {
|
||
const wc = win.webContents;
|
||
wc.on('before-input-event', keyHandler);
|
||
wc.once('closed', () =>
|
||
wc.removeListener('before-input-event', keyHandler)
|
||
);
|
||
};
|
||
|
||
// Enable shortcut on current windows
|
||
const windows = BrowserWindow.getAllWindows();
|
||
|
||
windows.forEach(win => enableAppShortcuts(null, win));
|
||
|
||
// Enable shortcut on future windows
|
||
app.on('browser-window-created', enableAppShortcuts);
|
||
|
||
shortcutsOfWindow.removeListener = () => {
|
||
const windows = BrowserWindow.getAllWindows();
|
||
windows.forEach(win =>
|
||
win.webContents.removeListener('before-input-event', keyHandler)
|
||
);
|
||
app.removeListener('browser-window-created', enableAppShortcuts);
|
||
};
|
||
} else {
|
||
const keyHandler = _onBeforeInput(shortcutsOfWindow);
|
||
wc.on('before-input-event', keyHandler);
|
||
|
||
// Save a reference to allow remove of listener from elsewhere
|
||
shortcutsOfWindow.removeListener = () =>
|
||
wc.removeListener('before-input-event', keyHandler);
|
||
wc.once('closed', shortcutsOfWindow.removeListener);
|
||
}
|
||
}
|
||
|
||
debug('Adding shortcut to window set.');
|
||
|
||
const eventStamp = toKeyEvent(accelerator);
|
||
|
||
shortcutsOfWindow.push({
|
||
eventStamp,
|
||
callback,
|
||
enabled: true
|
||
});
|
||
|
||
debug('Shortcut registered.');
|
||
}
|
||
|
||
/**
|
||
* Unregisters the shortcut of `accelerator` registered on the BrowserWindow instance.
|
||
* @param {BrowserWindow} win - BrowserWindow instance to unregister.
|
||
* This argument could be omitted, in this case the function unregister the shortcut
|
||
* on all app windows. If you registered the shortcut on a particular window instance, it will do nothing.
|
||
* @param {String|Array<String>} accelerator - the shortcut to unregister
|
||
*/
|
||
function unregister(win, accelerator) {
|
||
let wc;
|
||
if (typeof accelerator === 'undefined') {
|
||
wc = ANY_WINDOW;
|
||
accelerator = win;
|
||
} else {
|
||
if (win.isDestroyed()) {
|
||
debug('Early return because window is destroyed.');
|
||
return;
|
||
}
|
||
|
||
wc = win.webContents;
|
||
}
|
||
|
||
if (Array.isArray(accelerator) === true) {
|
||
accelerator.forEach(accelerator => {
|
||
if (typeof accelerator === 'string') {
|
||
unregister(win, accelerator);
|
||
}
|
||
});
|
||
return;
|
||
}
|
||
|
||
debug(`Unregistering callback for ${accelerator} on window ${title(win)}`);
|
||
|
||
_checkAccelerator(accelerator);
|
||
|
||
debug(`${accelerator} seems a valid shortcut sequence.`);
|
||
|
||
if (!windowsWithShortcuts.has(wc)) {
|
||
debug('Early return because window has never had shortcuts registered.');
|
||
return;
|
||
}
|
||
|
||
const shortcutsOfWindow = windowsWithShortcuts.get(wc);
|
||
|
||
const eventStamp = toKeyEvent(accelerator);
|
||
const shortcutIdx = _findShortcut(eventStamp, shortcutsOfWindow);
|
||
if (shortcutIdx === -1) {
|
||
return;
|
||
}
|
||
|
||
shortcutsOfWindow.splice(shortcutIdx, 1);
|
||
|
||
// If the window has no more shortcuts,
|
||
// we remove it early from the WeakMap
|
||
// and unregistering the event listener
|
||
if (shortcutsOfWindow.length === 0) {
|
||
// Remove listener from window
|
||
shortcutsOfWindow.removeListener();
|
||
|
||
// Remove window from shortcuts catalog
|
||
windowsWithShortcuts.delete(wc);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Returns `true` or `false` depending on whether the shortcut `accelerator`
|
||
* is registered on `window`.
|
||
* @param {BrowserWindow} win - BrowserWindow instance to check. This argument
|
||
* could be omitted, in this case the function returns whether the shortcut
|
||
* `accelerator` is registered on all app windows. If you registered the
|
||
* shortcut on a particular window instance, it return false.
|
||
* @param {String} accelerator - the shortcut to check
|
||
* @return {Boolean} - if the shortcut `accelerator` is registered on `window`.
|
||
*/
|
||
function isRegistered(win, accelerator) {
|
||
_checkAccelerator(accelerator);
|
||
const wc = win.webContents;
|
||
const shortcutsOfWindow = windowsWithShortcuts.get(wc);
|
||
const eventStamp = toKeyEvent(accelerator);
|
||
|
||
return _findShortcut(eventStamp, shortcutsOfWindow) !== -1;
|
||
}
|
||
|
||
module.exports = {
|
||
register,
|
||
unregister,
|
||
isRegistered,
|
||
unregisterAll,
|
||
enableAll,
|
||
disableAll
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 92 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
const modifiers = /^(Command|Cmd|Control|Ctrl|CommandOrControl|CmdOrCtrl|Alt|Option|AltGr|Shift|Super)$/;
|
||
const keyCodes = /^([0-9A-Z)!@#$%^&*(:+<_>?~{|}";=,\-./`[\\\]']|F1*[1-9]|F10|F2[0-4]|Plus|Space|Tab|Backspace|Delete|Insert|Return|Enter|Up|Down|Left|Right|Home|End|PageUp|PageDown|Escape|Esc|VolumeUp|VolumeDown|VolumeMute|MediaNextTrack|MediaPreviousTrack|MediaStop|MediaPlayPause|PrintScreen)$/;
|
||
|
||
module.exports = function (str) {
|
||
let parts = str.split("+");
|
||
let keyFound = false;
|
||
return parts.every((val, index) => {
|
||
const isKey = keyCodes.test(val);
|
||
const isModifier = modifiers.test(val);
|
||
if (isKey) {
|
||
// Key must be unique
|
||
if (keyFound) return false;
|
||
keyFound = true;
|
||
}
|
||
// Key is required
|
||
if (index === parts.length - 1 && !keyFound) return false;
|
||
return isKey || isModifier;
|
||
});
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 93 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
function _lower(key) {
|
||
if (typeof key !== 'string') {
|
||
return key;
|
||
}
|
||
return key.toLowerCase();
|
||
}
|
||
|
||
function areEqual(ev1, ev2) {
|
||
if (ev1 === ev2) {
|
||
// Same object
|
||
// console.log(`Events are same.`)
|
||
return true;
|
||
}
|
||
|
||
for (const prop of ['altKey', 'ctrlKey', 'shiftKey', 'metaKey']) {
|
||
const [value1, value2] = [ev1[prop], ev2[prop]];
|
||
|
||
if (Boolean(value1) !== Boolean(value2)) {
|
||
// One of the prop is different
|
||
// console.log(`Comparing prop ${prop}: ${value1} ${value2}`);
|
||
return false;
|
||
}
|
||
}
|
||
|
||
if ((_lower(ev1.key) === _lower(ev2.key) && ev1.key !== undefined) ||
|
||
(ev1.code === ev2.code && ev1.code !== undefined)) {
|
||
// Events are equals
|
||
return true;
|
||
}
|
||
|
||
// Key or code are differents
|
||
// console.log(`key or code are differents. ${ev1.key} !== ${ev2.key} ${ev1.code} !== ${ev2.code}`);
|
||
|
||
return false;
|
||
}
|
||
|
||
module.exports = areEqual;
|
||
|
||
|
||
/***/ }),
|
||
/* 94 */
|
||
/***/ (function(module, exports) {
|
||
|
||
const modifiers = /^(CommandOrControl|CmdOrCtrl|Command|Cmd|Control|Ctrl|AltGr|Option|Alt|Shift|Super)/i;
|
||
const keyCodes = /^(Plus|Space|Tab|Backspace|Delete|Insert|Return|Enter|Up|Down|Left|Right|Home|End|PageUp|PageDown|Escape|Esc|VolumeUp|VolumeDown|VolumeMute|MediaNextTrack|MediaPreviousTrack|MediaStop|MediaPlayPause|PrintScreen|F24|F23|F22|F21|F20|F19|F18|F17|F16|F15|F14|F13|F12|F11|F10|F9|F8|F7|F6|F5|F4|F3|F2|F1|[0-9A-Z)!@#$%^&*(:+<_>?~{|}";=,\-./`[\\\]'])/i;
|
||
const UNSUPPORTED = {};
|
||
|
||
function _command(accelerator, event, modifier) {
|
||
if (process.platform !== 'darwin') {
|
||
return UNSUPPORTED;
|
||
}
|
||
|
||
if (event.metaKey) {
|
||
throw new Error('Double `Command` modifier specified.');
|
||
}
|
||
|
||
return {
|
||
event: Object.assign({}, event, {metaKey: true}),
|
||
accelerator: accelerator.slice(modifier.length)
|
||
};
|
||
}
|
||
|
||
function _super(accelerator, event, modifier) {
|
||
if (event.metaKey) {
|
||
throw new Error('Double `Super` modifier specified.');
|
||
}
|
||
|
||
return {
|
||
event: Object.assign({}, event, {metaKey: true}),
|
||
accelerator: accelerator.slice(modifier.length)
|
||
};
|
||
}
|
||
|
||
function _commandorcontrol(accelerator, event, modifier) {
|
||
if (process.platform === 'darwin') {
|
||
if (event.metaKey) {
|
||
throw new Error('Double `Command` modifier specified.');
|
||
}
|
||
|
||
return {
|
||
event: Object.assign({}, event, {metaKey: true}),
|
||
accelerator: accelerator.slice(modifier.length)
|
||
};
|
||
}
|
||
|
||
if (event.ctrlKey) {
|
||
throw new Error('Double `Control` modifier specified.');
|
||
}
|
||
|
||
return {
|
||
event: Object.assign({}, event, {ctrlKey: true}),
|
||
accelerator: accelerator.slice(modifier.length)
|
||
};
|
||
}
|
||
|
||
function _alt(accelerator, event, modifier) {
|
||
if (modifier === 'option' && process.platform !== 'darwin') {
|
||
return UNSUPPORTED;
|
||
}
|
||
|
||
if (event.altKey) {
|
||
throw new Error('Double `Alt` modifier specified.');
|
||
}
|
||
|
||
return {
|
||
event: Object.assign({}, event, {altKey: true}),
|
||
accelerator: accelerator.slice(modifier.length)
|
||
};
|
||
}
|
||
|
||
function _shift(accelerator, event, modifier) {
|
||
if (event.shiftKey) {
|
||
throw new Error('Double `Shift` modifier specified.');
|
||
}
|
||
|
||
return {
|
||
event: Object.assign({}, event, {shiftKey: true}),
|
||
accelerator: accelerator.slice(modifier.length)
|
||
};
|
||
}
|
||
|
||
function _control(accelerator, event, modifier) {
|
||
if (event.ctrlKey) {
|
||
throw new Error('Double `Control` modifier specified.');
|
||
}
|
||
|
||
return {
|
||
event: Object.assign({}, event, {ctrlKey: true}),
|
||
accelerator: accelerator.slice(modifier.length)
|
||
};
|
||
}
|
||
|
||
function reduceModifier({accelerator, event}, modifier) {
|
||
switch (modifier) {
|
||
case 'command':
|
||
case 'cmd': {
|
||
return _command(accelerator, event, modifier);
|
||
}
|
||
|
||
case 'super': {
|
||
return _super(accelerator, event, modifier);
|
||
}
|
||
|
||
case 'control':
|
||
case 'ctrl': {
|
||
return _control(accelerator, event, modifier);
|
||
}
|
||
|
||
case 'commandorcontrol':
|
||
case 'cmdorctrl': {
|
||
return _commandorcontrol(accelerator, event, modifier);
|
||
}
|
||
|
||
case 'option':
|
||
case 'altgr':
|
||
case 'alt': {
|
||
return _alt(accelerator, event, modifier);
|
||
}
|
||
|
||
case 'shift': {
|
||
return _shift(accelerator, event, modifier);
|
||
}
|
||
|
||
default:
|
||
console.error(modifier);
|
||
}
|
||
}
|
||
|
||
function reducePlus({accelerator, event}) {
|
||
return {
|
||
event,
|
||
accelerator: accelerator.trim().slice(1)
|
||
};
|
||
}
|
||
|
||
const virtualKeyCodes = {
|
||
0: 'Digit0',
|
||
1: 'Digit1',
|
||
2: 'Digit2',
|
||
3: 'Digit3',
|
||
4: 'Digit4',
|
||
5: 'Digit5',
|
||
6: 'Digit6',
|
||
7: 'Digit7',
|
||
8: 'Digit8',
|
||
9: 'Digit9',
|
||
'-': 'Minus',
|
||
'=': 'Equal',
|
||
Q: 'KeyQ',
|
||
W: 'KeyW',
|
||
E: 'KeyE',
|
||
R: 'KeyR',
|
||
T: 'KeyT',
|
||
Y: 'KeyY',
|
||
U: 'KeyU',
|
||
I: 'KeyI',
|
||
O: 'KeyO',
|
||
P: 'KeyP',
|
||
'[': 'BracketLeft',
|
||
']': 'BracketRight',
|
||
A: 'KeyA',
|
||
S: 'KeyS',
|
||
D: 'KeyD',
|
||
F: 'KeyF',
|
||
G: 'KeyG',
|
||
H: 'KeyH',
|
||
J: 'KeyJ',
|
||
K: 'KeyK',
|
||
L: 'KeyL',
|
||
';': 'Semicolon',
|
||
'\'': 'Quote',
|
||
'`': 'Backquote',
|
||
'/': 'Backslash',
|
||
Z: 'KeyZ',
|
||
X: 'KeyX',
|
||
C: 'KeyC',
|
||
V: 'KeyV',
|
||
B: 'KeyB',
|
||
N: 'KeyN',
|
||
M: 'KeyM',
|
||
',': 'Comma',
|
||
'.': 'Period',
|
||
'\\': 'Slash',
|
||
' ': 'Space'
|
||
};
|
||
|
||
function reduceKey({accelerator, event}, key) {
|
||
if (key.length > 1 || event.key) {
|
||
throw new Error(`Unvalid keycode \`${key}\`.`);
|
||
}
|
||
|
||
const code =
|
||
key.toUpperCase() in virtualKeyCodes ?
|
||
virtualKeyCodes[key.toUpperCase()] :
|
||
null;
|
||
|
||
return {
|
||
event: Object.assign({}, event, {key}, code ? {code} : null),
|
||
accelerator: accelerator.trim().slice(key.length)
|
||
};
|
||
}
|
||
|
||
const domKeys = Object.assign(Object.create(null), {
|
||
plus: 'Add',
|
||
space: 'Space',
|
||
tab: 'Tab',
|
||
backspace: 'Backspace',
|
||
delete: 'Delete',
|
||
insert: 'Insert',
|
||
return: 'Return',
|
||
enter: 'Return',
|
||
up: 'ArrowUp',
|
||
down: 'ArrowDown',
|
||
left: 'ArrowLeft',
|
||
right: 'ArrowRight',
|
||
home: 'Home',
|
||
end: 'End',
|
||
pageup: 'PageUp',
|
||
pagedown: 'PageDown',
|
||
escape: 'Escape',
|
||
esc: 'Escape',
|
||
volumeup: 'AudioVolumeUp',
|
||
volumedown: 'AudioVolumeDown',
|
||
volumemute: 'AudioVolumeMute',
|
||
medianexttrack: 'MediaTrackNext',
|
||
mediaprevioustrack: 'MediaTrackPrevious',
|
||
mediastop: 'MediaStop',
|
||
mediaplaypause: 'MediaPlayPause',
|
||
printscreen: 'PrintScreen'
|
||
});
|
||
|
||
// Add function keys
|
||
for (let i = 1; i <= 24; i++) {
|
||
domKeys[`f${i}`] = `F${i}`;
|
||
}
|
||
|
||
function reduceCode({accelerator, event}, {code, key}) {
|
||
if (event.code) {
|
||
throw new Error(`Duplicated keycode \`${key}\`.`);
|
||
}
|
||
|
||
return {
|
||
event: Object.assign({}, event, {key}, code ? {code} : null),
|
||
accelerator: accelerator.trim().slice((key && key.length) || 0)
|
||
};
|
||
}
|
||
|
||
/**
|
||
* This function transform an Electron Accelerator string into
|
||
* a DOM KeyboardEvent object.
|
||
*
|
||
* @param {string} accelerator an Electron Accelerator string, e.g. `Ctrl+C` or `Shift+Space`.
|
||
* @return {object} a DOM KeyboardEvent object derivate from the `accelerator` argument.
|
||
*/
|
||
function toKeyEvent(accelerator) {
|
||
let state = {accelerator, event: {}};
|
||
while (state.accelerator !== '') {
|
||
const modifierMatch = state.accelerator.match(modifiers);
|
||
if (modifierMatch) {
|
||
const modifier = modifierMatch[0].toLowerCase();
|
||
state = reduceModifier(state, modifier);
|
||
if (state === UNSUPPORTED) {
|
||
return {unsupportedKeyForPlatform: true};
|
||
}
|
||
} else if (state.accelerator.trim()[0] === '+') {
|
||
state = reducePlus(state);
|
||
} else {
|
||
const codeMatch = state.accelerator.match(keyCodes);
|
||
if (codeMatch) {
|
||
const code = codeMatch[0].toLowerCase();
|
||
if (code in domKeys) {
|
||
state = reduceCode(state, {
|
||
code: domKeys[code],
|
||
key: code
|
||
});
|
||
} else {
|
||
state = reduceKey(state, code);
|
||
}
|
||
} else {
|
||
throw new Error(`Unvalid accelerator: "${state.accelerator}"`);
|
||
}
|
||
}
|
||
}
|
||
|
||
return state.event;
|
||
}
|
||
|
||
module.exports = {
|
||
UNSUPPORTED,
|
||
reduceModifier,
|
||
reducePlus,
|
||
reduceKey,
|
||
reduceCode,
|
||
toKeyEvent
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 95 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
/**
|
||
* Detect Electron renderer / nwjs process, which is node, but we should
|
||
* treat as a browser.
|
||
*/
|
||
|
||
if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
|
||
module.exports = __webpack_require__(96);
|
||
} else {
|
||
module.exports = __webpack_require__(98);
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 96 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
/* eslint-env browser */
|
||
|
||
/**
|
||
* This is the web browser implementation of `debug()`.
|
||
*/
|
||
|
||
exports.formatArgs = formatArgs;
|
||
exports.save = save;
|
||
exports.load = load;
|
||
exports.useColors = useColors;
|
||
exports.storage = localstorage();
|
||
exports.destroy = (() => {
|
||
let warned = false;
|
||
|
||
return () => {
|
||
if (!warned) {
|
||
warned = true;
|
||
console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
|
||
}
|
||
};
|
||
})();
|
||
|
||
/**
|
||
* Colors.
|
||
*/
|
||
|
||
exports.colors = [
|
||
'#0000CC',
|
||
'#0000FF',
|
||
'#0033CC',
|
||
'#0033FF',
|
||
'#0066CC',
|
||
'#0066FF',
|
||
'#0099CC',
|
||
'#0099FF',
|
||
'#00CC00',
|
||
'#00CC33',
|
||
'#00CC66',
|
||
'#00CC99',
|
||
'#00CCCC',
|
||
'#00CCFF',
|
||
'#3300CC',
|
||
'#3300FF',
|
||
'#3333CC',
|
||
'#3333FF',
|
||
'#3366CC',
|
||
'#3366FF',
|
||
'#3399CC',
|
||
'#3399FF',
|
||
'#33CC00',
|
||
'#33CC33',
|
||
'#33CC66',
|
||
'#33CC99',
|
||
'#33CCCC',
|
||
'#33CCFF',
|
||
'#6600CC',
|
||
'#6600FF',
|
||
'#6633CC',
|
||
'#6633FF',
|
||
'#66CC00',
|
||
'#66CC33',
|
||
'#9900CC',
|
||
'#9900FF',
|
||
'#9933CC',
|
||
'#9933FF',
|
||
'#99CC00',
|
||
'#99CC33',
|
||
'#CC0000',
|
||
'#CC0033',
|
||
'#CC0066',
|
||
'#CC0099',
|
||
'#CC00CC',
|
||
'#CC00FF',
|
||
'#CC3300',
|
||
'#CC3333',
|
||
'#CC3366',
|
||
'#CC3399',
|
||
'#CC33CC',
|
||
'#CC33FF',
|
||
'#CC6600',
|
||
'#CC6633',
|
||
'#CC9900',
|
||
'#CC9933',
|
||
'#CCCC00',
|
||
'#CCCC33',
|
||
'#FF0000',
|
||
'#FF0033',
|
||
'#FF0066',
|
||
'#FF0099',
|
||
'#FF00CC',
|
||
'#FF00FF',
|
||
'#FF3300',
|
||
'#FF3333',
|
||
'#FF3366',
|
||
'#FF3399',
|
||
'#FF33CC',
|
||
'#FF33FF',
|
||
'#FF6600',
|
||
'#FF6633',
|
||
'#FF9900',
|
||
'#FF9933',
|
||
'#FFCC00',
|
||
'#FFCC33'
|
||
];
|
||
|
||
/**
|
||
* Currently only WebKit-based Web Inspectors, Firefox >= v31,
|
||
* and the Firebug extension (any Firefox version) are known
|
||
* to support "%c" CSS customizations.
|
||
*
|
||
* TODO: add a `localStorage` variable to explicitly enable/disable colors
|
||
*/
|
||
|
||
// eslint-disable-next-line complexity
|
||
function useColors() {
|
||
// NB: In an Electron preload script, document will be defined but not fully
|
||
// initialized. Since we know we're in Chrome, we'll just detect this case
|
||
// explicitly
|
||
if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
|
||
return true;
|
||
}
|
||
|
||
// Internet Explorer and Edge do not support colors.
|
||
if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
|
||
return false;
|
||
}
|
||
|
||
let m;
|
||
|
||
// Is webkit? http://stackoverflow.com/a/16459606/376773
|
||
// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
|
||
// eslint-disable-next-line no-return-assign
|
||
return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
|
||
// Is firebug? http://stackoverflow.com/a/398120/376773
|
||
(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
|
||
// Is firefox >= v31?
|
||
// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
|
||
(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31) ||
|
||
// Double check webkit in userAgent just in case we are in a worker
|
||
(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
|
||
}
|
||
|
||
/**
|
||
* Colorize log arguments if enabled.
|
||
*
|
||
* @api public
|
||
*/
|
||
|
||
function formatArgs(args) {
|
||
args[0] = (this.useColors ? '%c' : '') +
|
||
this.namespace +
|
||
(this.useColors ? ' %c' : ' ') +
|
||
args[0] +
|
||
(this.useColors ? '%c ' : ' ') +
|
||
'+' + module.exports.humanize(this.diff);
|
||
|
||
if (!this.useColors) {
|
||
return;
|
||
}
|
||
|
||
const c = 'color: ' + this.color;
|
||
args.splice(1, 0, c, 'color: inherit');
|
||
|
||
// The final "%c" is somewhat tricky, because there could be other
|
||
// arguments passed either before or after the %c, so we need to
|
||
// figure out the correct index to insert the CSS into
|
||
let index = 0;
|
||
let lastC = 0;
|
||
args[0].replace(/%[a-zA-Z%]/g, match => {
|
||
if (match === '%%') {
|
||
return;
|
||
}
|
||
index++;
|
||
if (match === '%c') {
|
||
// We only are interested in the *last* %c
|
||
// (the user may have provided their own)
|
||
lastC = index;
|
||
}
|
||
});
|
||
|
||
args.splice(lastC, 0, c);
|
||
}
|
||
|
||
/**
|
||
* Invokes `console.debug()` when available.
|
||
* No-op when `console.debug` is not a "function".
|
||
* If `console.debug` is not available, falls back
|
||
* to `console.log`.
|
||
*
|
||
* @api public
|
||
*/
|
||
exports.log = console.debug || console.log || (() => {});
|
||
|
||
/**
|
||
* Save `namespaces`.
|
||
*
|
||
* @param {String} namespaces
|
||
* @api private
|
||
*/
|
||
function save(namespaces) {
|
||
try {
|
||
if (namespaces) {
|
||
exports.storage.setItem('debug', namespaces);
|
||
} else {
|
||
exports.storage.removeItem('debug');
|
||
}
|
||
} catch (error) {
|
||
// Swallow
|
||
// XXX (@Qix-) should we be logging these?
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Load `namespaces`.
|
||
*
|
||
* @return {String} returns the previously persisted debug modes
|
||
* @api private
|
||
*/
|
||
function load() {
|
||
let r;
|
||
try {
|
||
r = exports.storage.getItem('debug');
|
||
} catch (error) {
|
||
// Swallow
|
||
// XXX (@Qix-) should we be logging these?
|
||
}
|
||
|
||
// If debug isn't set in LS, and we're in Electron, try to load $DEBUG
|
||
if (!r && typeof process !== 'undefined' && 'env' in process) {
|
||
r = process.env.DEBUG;
|
||
}
|
||
|
||
return r;
|
||
}
|
||
|
||
/**
|
||
* Localstorage attempts to return the localstorage.
|
||
*
|
||
* This is necessary because safari throws
|
||
* when a user disables cookies/localstorage
|
||
* and you attempt to access it.
|
||
*
|
||
* @return {LocalStorage}
|
||
* @api private
|
||
*/
|
||
|
||
function localstorage() {
|
||
try {
|
||
// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
|
||
// The Browser also has localStorage in the global context.
|
||
return localStorage;
|
||
} catch (error) {
|
||
// Swallow
|
||
// XXX (@Qix-) should we be logging these?
|
||
}
|
||
}
|
||
|
||
module.exports = __webpack_require__(56)(exports);
|
||
|
||
const {formatters} = module.exports;
|
||
|
||
/**
|
||
* Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
|
||
*/
|
||
|
||
formatters.j = function (v) {
|
||
try {
|
||
return JSON.stringify(v);
|
||
} catch (error) {
|
||
return '[UnexpectedJSONParseError]: ' + error.message;
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 97 */
|
||
/***/ (function(module, exports) {
|
||
|
||
/**
|
||
* Helpers.
|
||
*/
|
||
|
||
var s = 1000;
|
||
var m = s * 60;
|
||
var h = m * 60;
|
||
var d = h * 24;
|
||
var w = d * 7;
|
||
var y = d * 365.25;
|
||
|
||
/**
|
||
* Parse or format the given `val`.
|
||
*
|
||
* Options:
|
||
*
|
||
* - `long` verbose formatting [false]
|
||
*
|
||
* @param {String|Number} val
|
||
* @param {Object} [options]
|
||
* @throws {Error} throw an error if val is not a non-empty string or a number
|
||
* @return {String|Number}
|
||
* @api public
|
||
*/
|
||
|
||
module.exports = function (val, options) {
|
||
options = options || {};
|
||
var type = typeof val;
|
||
if (type === 'string' && val.length > 0) {
|
||
return parse(val);
|
||
} else if (type === 'number' && isFinite(val)) {
|
||
return options.long ? fmtLong(val) : fmtShort(val);
|
||
}
|
||
throw new Error(
|
||
'val is not a non-empty string or a valid number. val=' +
|
||
JSON.stringify(val)
|
||
);
|
||
};
|
||
|
||
/**
|
||
* Parse the given `str` and return milliseconds.
|
||
*
|
||
* @param {String} str
|
||
* @return {Number}
|
||
* @api private
|
||
*/
|
||
|
||
function parse(str) {
|
||
str = String(str);
|
||
if (str.length > 100) {
|
||
return;
|
||
}
|
||
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
|
||
str
|
||
);
|
||
if (!match) {
|
||
return;
|
||
}
|
||
var n = parseFloat(match[1]);
|
||
var type = (match[2] || 'ms').toLowerCase();
|
||
switch (type) {
|
||
case 'years':
|
||
case 'year':
|
||
case 'yrs':
|
||
case 'yr':
|
||
case 'y':
|
||
return n * y;
|
||
case 'weeks':
|
||
case 'week':
|
||
case 'w':
|
||
return n * w;
|
||
case 'days':
|
||
case 'day':
|
||
case 'd':
|
||
return n * d;
|
||
case 'hours':
|
||
case 'hour':
|
||
case 'hrs':
|
||
case 'hr':
|
||
case 'h':
|
||
return n * h;
|
||
case 'minutes':
|
||
case 'minute':
|
||
case 'mins':
|
||
case 'min':
|
||
case 'm':
|
||
return n * m;
|
||
case 'seconds':
|
||
case 'second':
|
||
case 'secs':
|
||
case 'sec':
|
||
case 's':
|
||
return n * s;
|
||
case 'milliseconds':
|
||
case 'millisecond':
|
||
case 'msecs':
|
||
case 'msec':
|
||
case 'ms':
|
||
return n;
|
||
default:
|
||
return undefined;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Short format for `ms`.
|
||
*
|
||
* @param {Number} ms
|
||
* @return {String}
|
||
* @api private
|
||
*/
|
||
|
||
function fmtShort(ms) {
|
||
var msAbs = Math.abs(ms);
|
||
if (msAbs >= d) {
|
||
return Math.round(ms / d) + 'd';
|
||
}
|
||
if (msAbs >= h) {
|
||
return Math.round(ms / h) + 'h';
|
||
}
|
||
if (msAbs >= m) {
|
||
return Math.round(ms / m) + 'm';
|
||
}
|
||
if (msAbs >= s) {
|
||
return Math.round(ms / s) + 's';
|
||
}
|
||
return ms + 'ms';
|
||
}
|
||
|
||
/**
|
||
* Long format for `ms`.
|
||
*
|
||
* @param {Number} ms
|
||
* @return {String}
|
||
* @api private
|
||
*/
|
||
|
||
function fmtLong(ms) {
|
||
var msAbs = Math.abs(ms);
|
||
if (msAbs >= d) {
|
||
return plural(ms, msAbs, d, 'day');
|
||
}
|
||
if (msAbs >= h) {
|
||
return plural(ms, msAbs, h, 'hour');
|
||
}
|
||
if (msAbs >= m) {
|
||
return plural(ms, msAbs, m, 'minute');
|
||
}
|
||
if (msAbs >= s) {
|
||
return plural(ms, msAbs, s, 'second');
|
||
}
|
||
return ms + ' ms';
|
||
}
|
||
|
||
/**
|
||
* Pluralization helper.
|
||
*/
|
||
|
||
function plural(ms, msAbs, n, name) {
|
||
var isPlural = msAbs >= n * 1.5;
|
||
return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 98 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
/**
|
||
* Module dependencies.
|
||
*/
|
||
|
||
const tty = __webpack_require__(99);
|
||
const util = __webpack_require__(26);
|
||
|
||
/**
|
||
* This is the Node.js implementation of `debug()`.
|
||
*/
|
||
|
||
exports.init = init;
|
||
exports.log = log;
|
||
exports.formatArgs = formatArgs;
|
||
exports.save = save;
|
||
exports.load = load;
|
||
exports.useColors = useColors;
|
||
exports.destroy = util.deprecate(
|
||
() => {},
|
||
'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'
|
||
);
|
||
|
||
/**
|
||
* Colors.
|
||
*/
|
||
|
||
exports.colors = [6, 2, 3, 4, 5, 1];
|
||
|
||
try {
|
||
// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)
|
||
// eslint-disable-next-line import/no-extraneous-dependencies
|
||
const supportsColor = __webpack_require__(100);
|
||
|
||
if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
|
||
exports.colors = [
|
||
20,
|
||
21,
|
||
26,
|
||
27,
|
||
32,
|
||
33,
|
||
38,
|
||
39,
|
||
40,
|
||
41,
|
||
42,
|
||
43,
|
||
44,
|
||
45,
|
||
56,
|
||
57,
|
||
62,
|
||
63,
|
||
68,
|
||
69,
|
||
74,
|
||
75,
|
||
76,
|
||
77,
|
||
78,
|
||
79,
|
||
80,
|
||
81,
|
||
92,
|
||
93,
|
||
98,
|
||
99,
|
||
112,
|
||
113,
|
||
128,
|
||
129,
|
||
134,
|
||
135,
|
||
148,
|
||
149,
|
||
160,
|
||
161,
|
||
162,
|
||
163,
|
||
164,
|
||
165,
|
||
166,
|
||
167,
|
||
168,
|
||
169,
|
||
170,
|
||
171,
|
||
172,
|
||
173,
|
||
178,
|
||
179,
|
||
184,
|
||
185,
|
||
196,
|
||
197,
|
||
198,
|
||
199,
|
||
200,
|
||
201,
|
||
202,
|
||
203,
|
||
204,
|
||
205,
|
||
206,
|
||
207,
|
||
208,
|
||
209,
|
||
214,
|
||
215,
|
||
220,
|
||
221
|
||
];
|
||
}
|
||
} catch (error) {
|
||
// Swallow - we only care if `supports-color` is available; it doesn't have to be.
|
||
}
|
||
|
||
/**
|
||
* Build up the default `inspectOpts` object from the environment variables.
|
||
*
|
||
* $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
|
||
*/
|
||
|
||
exports.inspectOpts = Object.keys(process.env).filter(key => {
|
||
return /^debug_/i.test(key);
|
||
}).reduce((obj, key) => {
|
||
// Camel-case
|
||
const prop = key
|
||
.substring(6)
|
||
.toLowerCase()
|
||
.replace(/_([a-z])/g, (_, k) => {
|
||
return k.toUpperCase();
|
||
});
|
||
|
||
// Coerce string value into JS value
|
||
let val = process.env[key];
|
||
if (/^(yes|on|true|enabled)$/i.test(val)) {
|
||
val = true;
|
||
} else if (/^(no|off|false|disabled)$/i.test(val)) {
|
||
val = false;
|
||
} else if (val === 'null') {
|
||
val = null;
|
||
} else {
|
||
val = Number(val);
|
||
}
|
||
|
||
obj[prop] = val;
|
||
return obj;
|
||
}, {});
|
||
|
||
/**
|
||
* Is stdout a TTY? Colored output is enabled when `true`.
|
||
*/
|
||
|
||
function useColors() {
|
||
return 'colors' in exports.inspectOpts ?
|
||
Boolean(exports.inspectOpts.colors) :
|
||
tty.isatty(process.stderr.fd);
|
||
}
|
||
|
||
/**
|
||
* Adds ANSI color escape codes if enabled.
|
||
*
|
||
* @api public
|
||
*/
|
||
|
||
function formatArgs(args) {
|
||
const {namespace: name, useColors} = this;
|
||
|
||
if (useColors) {
|
||
const c = this.color;
|
||
const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c);
|
||
const prefix = ` ${colorCode};1m${name} \u001B[0m`;
|
||
|
||
args[0] = prefix + args[0].split('\n').join('\n' + prefix);
|
||
args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m');
|
||
} else {
|
||
args[0] = getDate() + name + ' ' + args[0];
|
||
}
|
||
}
|
||
|
||
function getDate() {
|
||
if (exports.inspectOpts.hideDate) {
|
||
return '';
|
||
}
|
||
return new Date().toISOString() + ' ';
|
||
}
|
||
|
||
/**
|
||
* Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.
|
||
*/
|
||
|
||
function log(...args) {
|
||
return process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\n');
|
||
}
|
||
|
||
/**
|
||
* Save `namespaces`.
|
||
*
|
||
* @param {String} namespaces
|
||
* @api private
|
||
*/
|
||
function save(namespaces) {
|
||
if (namespaces) {
|
||
process.env.DEBUG = namespaces;
|
||
} else {
|
||
// If you set a process.env field to null or undefined, it gets cast to the
|
||
// string 'null' or 'undefined'. Just delete instead.
|
||
delete process.env.DEBUG;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Load `namespaces`.
|
||
*
|
||
* @return {String} returns the previously persisted debug modes
|
||
* @api private
|
||
*/
|
||
|
||
function load() {
|
||
return process.env.DEBUG;
|
||
}
|
||
|
||
/**
|
||
* Init logic for `debug` instances.
|
||
*
|
||
* Create a new `inspectOpts` object in case `useColors` is set
|
||
* differently for a particular `debug` instance.
|
||
*/
|
||
|
||
function init(debug) {
|
||
debug.inspectOpts = {};
|
||
|
||
const keys = Object.keys(exports.inspectOpts);
|
||
for (let i = 0; i < keys.length; i++) {
|
||
debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
|
||
}
|
||
}
|
||
|
||
module.exports = __webpack_require__(56)(exports);
|
||
|
||
const {formatters} = module.exports;
|
||
|
||
/**
|
||
* Map %o to `util.inspect()`, all on a single line.
|
||
*/
|
||
|
||
formatters.o = function (v) {
|
||
this.inspectOpts.colors = this.useColors;
|
||
return util.inspect(v, this.inspectOpts)
|
||
.split('\n')
|
||
.map(str => str.trim())
|
||
.join(' ');
|
||
};
|
||
|
||
/**
|
||
* Map %O to `util.inspect()`, allowing multiple lines if needed.
|
||
*/
|
||
|
||
formatters.O = function (v) {
|
||
this.inspectOpts.colors = this.useColors;
|
||
return util.inspect(v, this.inspectOpts);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 99 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("tty");
|
||
|
||
/***/ }),
|
||
/* 100 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
const os = __webpack_require__(10);
|
||
const hasFlag = __webpack_require__(101);
|
||
|
||
const env = process.env;
|
||
|
||
let forceColor;
|
||
if (hasFlag('no-color') ||
|
||
hasFlag('no-colors') ||
|
||
hasFlag('color=false')) {
|
||
forceColor = false;
|
||
} else if (hasFlag('color') ||
|
||
hasFlag('colors') ||
|
||
hasFlag('color=true') ||
|
||
hasFlag('color=always')) {
|
||
forceColor = true;
|
||
}
|
||
if ('FORCE_COLOR' in env) {
|
||
forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;
|
||
}
|
||
|
||
function translateLevel(level) {
|
||
if (level === 0) {
|
||
return false;
|
||
}
|
||
|
||
return {
|
||
level,
|
||
hasBasic: true,
|
||
has256: level >= 2,
|
||
has16m: level >= 3
|
||
};
|
||
}
|
||
|
||
function supportsColor(stream) {
|
||
if (forceColor === false) {
|
||
return 0;
|
||
}
|
||
|
||
if (hasFlag('color=16m') ||
|
||
hasFlag('color=full') ||
|
||
hasFlag('color=truecolor')) {
|
||
return 3;
|
||
}
|
||
|
||
if (hasFlag('color=256')) {
|
||
return 2;
|
||
}
|
||
|
||
if (stream && !stream.isTTY && forceColor !== true) {
|
||
return 0;
|
||
}
|
||
|
||
const min = forceColor ? 1 : 0;
|
||
|
||
if (process.platform === 'win32') {
|
||
// Node.js 7.5.0 is the first version of Node.js to include a patch to
|
||
// libuv that enables 256 color output on Windows. Anything earlier and it
|
||
// won't work. However, here we target Node.js 8 at minimum as it is an LTS
|
||
// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows
|
||
// release that supports 256 colors. Windows 10 build 14931 is the first release
|
||
// that supports 16m/TrueColor.
|
||
const osRelease = os.release().split('.');
|
||
if (
|
||
Number(process.versions.node.split('.')[0]) >= 8 &&
|
||
Number(osRelease[0]) >= 10 &&
|
||
Number(osRelease[2]) >= 10586
|
||
) {
|
||
return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
||
}
|
||
|
||
return 1;
|
||
}
|
||
|
||
if ('CI' in env) {
|
||
if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {
|
||
return 1;
|
||
}
|
||
|
||
return min;
|
||
}
|
||
|
||
if ('TEAMCITY_VERSION' in env) {
|
||
return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
|
||
}
|
||
|
||
if (env.COLORTERM === 'truecolor') {
|
||
return 3;
|
||
}
|
||
|
||
if ('TERM_PROGRAM' in env) {
|
||
const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);
|
||
|
||
switch (env.TERM_PROGRAM) {
|
||
case 'iTerm.app':
|
||
return version >= 3 ? 3 : 2;
|
||
case 'Apple_Terminal':
|
||
return 2;
|
||
// No default
|
||
}
|
||
}
|
||
|
||
if (/-256(color)?$/i.test(env.TERM)) {
|
||
return 2;
|
||
}
|
||
|
||
if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
|
||
return 1;
|
||
}
|
||
|
||
if ('COLORTERM' in env) {
|
||
return 1;
|
||
}
|
||
|
||
if (env.TERM === 'dumb') {
|
||
return min;
|
||
}
|
||
|
||
return min;
|
||
}
|
||
|
||
function getSupportLevel(stream) {
|
||
const level = supportsColor(stream);
|
||
return translateLevel(level);
|
||
}
|
||
|
||
module.exports = {
|
||
supportsColor: getSupportLevel,
|
||
stdout: getSupportLevel(process.stdout),
|
||
stderr: getSupportLevel(process.stderr)
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 101 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
module.exports = (flag, argv) => {
|
||
argv = argv || process.argv;
|
||
const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');
|
||
const pos = argv.indexOf(prefix + flag);
|
||
const terminatorPos = argv.indexOf('--');
|
||
return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 102 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
const getFromEnv = parseInt(process.env.ELECTRON_IS_DEV, 10) === 1;
|
||
const isEnvSet = 'ELECTRON_IS_DEV' in process.env;
|
||
|
||
module.exports = isEnvSet ? getFromEnv : (process.defaultApp || /node_modules[\\/]electron[\\/]/.test(process.execPath));
|
||
|
||
|
||
/***/ }),
|
||
/* 103 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = {
|
||
build: {
|
||
env: __webpack_require__(104)
|
||
},
|
||
dev: {
|
||
removeElectronJunk: true,
|
||
env: __webpack_require__(105)
|
||
},
|
||
IsUseSysTitle: true,
|
||
AppConfig: __webpack_require__(106)
|
||
};
|
||
|
||
/***/ }),
|
||
/* 104 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = {
|
||
NODE_ENV: '"production"',
|
||
BASE_API: '"http://127.0.0.1:8890/yjearth4.0"',
|
||
HOST: '"http://127.0.0.1:8890"',
|
||
|
||
DOCKAIR: '"http://192.168.110.24:9136"',
|
||
DOCKSOCKETURL: '"ws://192.168.110.24:9136/websocket"',
|
||
|
||
REMOTEAIR: '"http://121.37.119.107:6789"',
|
||
REMOTESOCKETURL: '"ws://121.37.119.107:6789/api/v1/ws"',
|
||
AI_URL: '"http://121.37.119.107:8000"'
|
||
};
|
||
|
||
/***/ }),
|
||
/* 105 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = {
|
||
NODE_ENV: '"development"',
|
||
BASE_API: '"http://127.0.0.1:8890/yjearth4.0"',
|
||
HOST: '"http://127.0.0.1:8890"',
|
||
|
||
DOCKAIR: '"http://192.168.110.24:9136"',
|
||
DOCKSOCKETURL: '"ws://192.168.110.24:9136/websocket"',
|
||
REMOTEAIR: '"http://192.168.110.26:6789"',
|
||
REMOTEAIR2: '"http://192.168.110.47:8000"',
|
||
REMOTESOCKETURL: '"ws://192.168.110.26:6789/api/v1/ws"',
|
||
|
||
AI_URL: '"http://121.37.119.107:8000"'
|
||
};
|
||
|
||
/***/ }),
|
||
/* 106 */
|
||
/***/ (function(module, exports) {
|
||
|
||
var name = 'dzsp_yingjizhihuibeidou_offline_Y_save';
|
||
var productName = '便携式应急指挥电子沙盘系统北斗定位+';
|
||
var productName_tw = '便攜式應急指揮電子沙盤系統北斗定位+';
|
||
var productName_en = 'Portable Emergency Command Electronic Sand Table System with Beidou Positioning+';
|
||
var obj = {
|
||
baseApi: "",
|
||
PORT: 8099,
|
||
head: "henan_head",
|
||
name: name,
|
||
version: "v4.0.0",
|
||
productName: productName,
|
||
productName_tw: productName_tw,
|
||
productName_en: productName_en,
|
||
build_productName: productName,
|
||
build_win_icon: 'build/icons/81.ico',
|
||
|
||
build_extraFiles: [{
|
||
from: "./collada2gltf/",
|
||
to: "./collada2gltf"
|
||
}, {
|
||
from: "./convert/",
|
||
to: "./convert"
|
||
}, {
|
||
from: "./yjearth4_0/",
|
||
to: "./yjearth4_0"
|
||
}, {
|
||
from: "./ffplay/",
|
||
to: "./ffplay"
|
||
}, {
|
||
from: "./build/icons/",
|
||
to: "./icons"
|
||
}],
|
||
installUrl: "D:\\ProgramFiles\\" + name,
|
||
build_appId: "org." + name,
|
||
APPSECRET: "",
|
||
appVersion: "earth",
|
||
build_linux_desktop_Icon: "/opt/" + productName + "/icons/81.png"
|
||
};
|
||
module.exports = obj;
|
||
|
||
/***/ }),
|
||
/* 107 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("net");
|
||
|
||
/***/ }),
|
||
/* 108 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var os = __webpack_require__(10);
|
||
|
||
var Store = __webpack_require__(61);
|
||
var path = new Store().path;
|
||
var arr = [];
|
||
if (os.platform() == "win32") {
|
||
arr = path.split("\\");
|
||
}
|
||
if (os.platform() == "linux") {
|
||
arr = path.split("/");
|
||
}
|
||
arr[arr.length - 1] = "";
|
||
var db_path = arr.join("/");
|
||
|
||
var exePathStr = process.execPath.replaceAll("\\", "/");
|
||
var exePaths = exePathStr.split("/");
|
||
exePaths[exePaths.length - 2];
|
||
module.exports = { db_path: db_path, execPath: exePaths[exePaths.length - 2] };
|
||
|
||
/***/ }),
|
||
/* 109 */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof__ = __webpack_require__(34);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_map__ = __webpack_require__(126);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_map__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_electron__ = __webpack_require__(13);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_electron___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_electron__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__convert_main__ = __webpack_require__(143);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__convert_obj2gltf__ = __webpack_require__(144);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__convert_fbx2gltf__ = __webpack_require__(149);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__app__ = __webpack_require__(59);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__recorder__ = __webpack_require__(168);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_os__ = __webpack_require__(10);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_os___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_os__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_child_process__ = __webpack_require__(15);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_child_process___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_child_process__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_dayjs__ = __webpack_require__(188);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_dayjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_dayjs__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__back_sandTable_udpServer__ = __webpack_require__(86);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__processGo__ = __webpack_require__(58);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__processGo___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12__processGo__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__config__ = __webpack_require__(27);
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
var fs = __webpack_require__(6);
|
||
var ini = __webpack_require__(198);
|
||
var path = __webpack_require__(1);
|
||
var express = __webpack_require__(60);
|
||
var cwd = path.join(Object(__WEBPACK_IMPORTED_MODULE_13__config__["a" /* GetHomeDir */])(), "/ffplay/");
|
||
var http = __webpack_require__(199);
|
||
var recorder = "";
|
||
|
||
var ffplayProcesses = new __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_map___default.a();
|
||
/* harmony default export */ __webpack_exports__["a"] = ({
|
||
Mainfunc: function Mainfunc(mainWindow) {
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("setStaticFile", function (event, url) {
|
||
if (fs.existsSync(url)) {
|
||
var arr = url.replaceAll("\\", "/").split("/");
|
||
arr.pop();
|
||
__WEBPACK_IMPORTED_MODULE_6__app__["a" /* apps */].use(express.static(arr.join("/")));
|
||
}
|
||
});
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("restart", function (e) {
|
||
Object(__WEBPACK_IMPORTED_MODULE_12__processGo__["closeChild"])();
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["app"].relaunch();
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["app"].exit();
|
||
});
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("getHead", function (event) {
|
||
event.sender.send("headRes", process.env.Head);
|
||
});
|
||
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("open-directory-dialog", function (event, option) {
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["dialog"].showOpenDialog(__WEBPACK_IMPORTED_MODULE_2_electron__["BrowserWindow"].getFocusedWindow(), {
|
||
properties: option.properties,
|
||
filters: option.filters
|
||
}).then(function (files) {
|
||
var arr = [];
|
||
|
||
if (!files.canceled) {
|
||
files.filePaths.forEach(function (url) {
|
||
arr.push(url.replace(/\\/g, "/"));
|
||
});
|
||
}
|
||
event.sender.send("selectedItem", arr);
|
||
});
|
||
});
|
||
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("openFFPlay", function (e, obj) {
|
||
var cmd = "";
|
||
var platform = __WEBPACK_IMPORTED_MODULE_8_os___default.a.platform();
|
||
if (platform === "win32") {
|
||
cmd = "ffplay.exe";
|
||
} else {
|
||
cmd = "ffplay";
|
||
}
|
||
var title = obj.name;
|
||
console.log("obj", obj);
|
||
|
||
console.log(path.join(Object(__WEBPACK_IMPORTED_MODULE_13__config__["a" /* GetHomeDir */])(), "/ffplay/" + cmd));
|
||
var child = Object(__WEBPACK_IMPORTED_MODULE_9_child_process__["spawn"])(path.join(Object(__WEBPACK_IMPORTED_MODULE_13__config__["a" /* GetHomeDir */])(), "/ffplay/" + cmd), ["-window_title", title, "-x", "1300", "-y", "730", "-rtsp_transport", "tcp", obj.url], {
|
||
cwd: cwd,
|
||
stdio: "ignore"
|
||
}).on("exit", function (err) {
|
||
console.log("out");
|
||
console.log(err);
|
||
e.sender.send("openFFPlayOut", err);
|
||
});
|
||
|
||
console.log("child", child.pid);
|
||
child.unref();
|
||
});
|
||
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("saveFile", function (event, _ref) {
|
||
var title = _ref.title,
|
||
filename = _ref.filename,
|
||
filters = _ref.filters;
|
||
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["dialog"].showSaveDialog({
|
||
title: title,
|
||
defaultPath: filename,
|
||
filters: filters
|
||
}).then(function (files) {
|
||
var path = "";
|
||
if (!files.canceled) {
|
||
path = files.filePath.replace(/\\/g, "/");
|
||
}
|
||
event.sender.send("selectedFileItem", path);
|
||
});
|
||
});
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("startRecoder", function (event) {
|
||
recorder = new __WEBPACK_IMPORTED_MODULE_7__recorder__["a" /* Recorder */]();
|
||
recorder.start();
|
||
});
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("endRecoder", function (event) {
|
||
if (!recorder) {
|
||
console.log("recorder不存在");
|
||
return;
|
||
}
|
||
recorder.end(function () {
|
||
var path = __WEBPACK_IMPORTED_MODULE_2_electron__["dialog"].showSaveDialogSync({
|
||
title: "保存视频文件",
|
||
defaultPath: __WEBPACK_IMPORTED_MODULE_10_dayjs___default()().format("YYYYMMDDHHmmss") + "视频录制.mp4",
|
||
filters: [{ name: "文件类型", extensions: ["mp4"] }]
|
||
});
|
||
if (path != undefined) {
|
||
recorder.move(path, function () {
|
||
recorder = null;
|
||
});
|
||
} else {
|
||
recorder = null;
|
||
}
|
||
});
|
||
});
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("saveNetFile", function (event, _ref2) {
|
||
var title = _ref2.title,
|
||
filename = _ref2.filename,
|
||
filters = _ref2.filters,
|
||
url = _ref2.url;
|
||
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["dialog"].showSaveDialog({
|
||
title: title,
|
||
defaultPath: filename,
|
||
filters: filters
|
||
}).then(function (files) {
|
||
var path = "";
|
||
if (!files.canceled) {
|
||
var callBack = function callBack(key) {
|
||
console.log("下载完成");
|
||
event.sender.send("saveNetFileRes", key);
|
||
};
|
||
|
||
var downloadFile = function downloadFile(url, path) {
|
||
http.get(url, function (response) {
|
||
var contentLength = parseInt(response.headers["content-length"]);
|
||
var downloadedLength = 0;
|
||
response.pipe(fs.createWriteStream(path));
|
||
response.on("end", function () {
|
||
callBack("success");
|
||
});
|
||
}).on("error", function (err) {
|
||
console.log("完成");
|
||
callBack("error");
|
||
});
|
||
};
|
||
|
||
path = files.filePath.replace(/\\/g, "/");
|
||
|
||
downloadFile(url, path);
|
||
}
|
||
});
|
||
});
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("requireGEMarkerName", function (event, obj) {
|
||
|
||
var data = {};
|
||
for (var objKey in obj) {
|
||
var files = fs.readdirSync(path.join(global.__static ? global.__static : Object(__WEBPACK_IMPORTED_MODULE_13__config__["a" /* GetHomeDir */])() + "/static", obj[objKey]));
|
||
console.log(files);
|
||
for (var i = 0; i < files.length; i++) {
|
||
files[i] = obj[objKey] + "/" + files[i];
|
||
}
|
||
data[obj[objKey]] = files;
|
||
}
|
||
|
||
event.sender.send("dirFiles", data);
|
||
});
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("transformModel", function (event, option) {
|
||
var callBack = function callBack(msg) {
|
||
event.sender.send("transformModelRes", "模型转换结束", msg);
|
||
};
|
||
var fun = option.fun,
|
||
input = option.input,
|
||
output = option.output;
|
||
|
||
switch (fun) {
|
||
case "osgbToglb":
|
||
Object(__WEBPACK_IMPORTED_MODULE_3__convert_main__["c" /* osgbToglb */])(input, output, callBack);
|
||
break;
|
||
case "shapeToglb":
|
||
Object(__WEBPACK_IMPORTED_MODULE_3__convert_main__["d" /* shapeToglb */])(input, output, callBack);
|
||
break;
|
||
case "b3dmToglb":
|
||
Object(__WEBPACK_IMPORTED_MODULE_3__convert_main__["a" /* b3dmToglb */])(input, output, callBack);
|
||
break;
|
||
case "objToglb":
|
||
new __WEBPACK_IMPORTED_MODULE_4__convert_obj2gltf__["a" /* Format */]().obj2glb(input, output, callBack);
|
||
break;
|
||
case "daeTogltf":
|
||
Object(__WEBPACK_IMPORTED_MODULE_3__convert_main__["b" /* daeTogltf */])(input, output, callBack);
|
||
break;
|
||
case "Fbx2glb":
|
||
new __WEBPACK_IMPORTED_MODULE_5__convert_fbx2gltf__["a" /* Fbx2glb */]().fbx2glb(input, output, callBack);
|
||
break;
|
||
}
|
||
});
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("newDir", function (event, option) {
|
||
var dir = "";
|
||
option.paths.forEach(function (item) {
|
||
dir = path.join(dir, item);
|
||
});
|
||
if (!fs.existsSync(dir)) {
|
||
fs.mkdirSync(dir);
|
||
}
|
||
var filePath = path.join(dir, option.name + ".png");
|
||
fs.writeFile(filePath, option.buffer, function (err) {
|
||
var res = filePath;
|
||
if (err) {
|
||
res = "失败";
|
||
}
|
||
event.sender.send("newDirRes", res);
|
||
});
|
||
});
|
||
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("getIniConfig", function (event, option) {
|
||
console.log("1111111111111111111111111111111111111111111111111111111111111");
|
||
var iniPath = path.join(Object(__WEBPACK_IMPORTED_MODULE_13__config__["a" /* GetHomeDir */])(), "/yjearth4_0/static/config/config.ini");
|
||
console.log("iniPath", iniPath);
|
||
|
||
var iniContent = ini.parse(fs.readFileSync(iniPath, "utf-8"));
|
||
|
||
for (var section in option) {
|
||
var property = option[section];
|
||
if ((typeof property === "undefined" ? "undefined" : __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof___default()(property)) == "object") {
|
||
for (var key in property) {
|
||
iniContent[section][key] = property[key];
|
||
}
|
||
}
|
||
}
|
||
fs.writeFileSync(iniPath, ini.stringify(iniContent));
|
||
|
||
event.sender.send("IniConfig", iniContent);
|
||
});
|
||
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("submitPort", function (event, port) {
|
||
Object(__WEBPACK_IMPORTED_MODULE_11__back_sandTable_udpServer__["b" /* UpdateUdpServerPort */])(port);
|
||
event.sender.send("submitPortRes", port);
|
||
});
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("setNodes", function (event, val) {
|
||
var msg = Object(__WEBPACK_IMPORTED_MODULE_11__back_sandTable_udpServer__["c" /* sendMsg */])(val);
|
||
event.sender.send("replayRenderer", msg);
|
||
});
|
||
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("files-dropped", function (event, filePaths) {
|
||
event.sender.send("DroppedFiles", filePaths);
|
||
});
|
||
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].handle("get-shared-object", function () {
|
||
return global.sharedObject;
|
||
});
|
||
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].handle("set-shared-object", function (event, key, value) {
|
||
global.sharedObject[key] = value;
|
||
return { success: true };
|
||
});
|
||
__WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("changeField", function (e, val) {
|
||
mainWindow.webContents.send("changeFields", val);
|
||
});
|
||
}
|
||
});
|
||
|
||
/***/ }),
|
||
/* 110 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = { "default": __webpack_require__(111), __esModule: true };
|
||
|
||
/***/ }),
|
||
/* 111 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
__webpack_require__(19);
|
||
__webpack_require__(24);
|
||
module.exports = __webpack_require__(45).f('iterator');
|
||
|
||
|
||
/***/ }),
|
||
/* 112 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var toInteger = __webpack_require__(35);
|
||
var defined = __webpack_require__(36);
|
||
// true -> String#at
|
||
// false -> String#codePointAt
|
||
module.exports = function (TO_STRING) {
|
||
return function (that, pos) {
|
||
var s = String(defined(that));
|
||
var i = toInteger(pos);
|
||
var l = s.length;
|
||
var a, b;
|
||
if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
|
||
a = s.charCodeAt(i);
|
||
return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
|
||
? TO_STRING ? s.charAt(i) : a
|
||
: TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
|
||
};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 113 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var create = __webpack_require__(29);
|
||
var descriptor = __webpack_require__(28);
|
||
var setToStringTag = __webpack_require__(23);
|
||
var IteratorPrototype = {};
|
||
|
||
// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
|
||
__webpack_require__(12)(IteratorPrototype, __webpack_require__(3)('iterator'), function () { return this; });
|
||
|
||
module.exports = function (Constructor, NAME, next) {
|
||
Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
|
||
setToStringTag(Constructor, NAME + ' Iterator');
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 114 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var dP = __webpack_require__(7);
|
||
var anObject = __webpack_require__(8);
|
||
var getKeys = __webpack_require__(40);
|
||
|
||
module.exports = __webpack_require__(9) ? Object.defineProperties : function defineProperties(O, Properties) {
|
||
anObject(O);
|
||
var keys = getKeys(Properties);
|
||
var length = keys.length;
|
||
var i = 0;
|
||
var P;
|
||
while (length > i) dP.f(O, P = keys[i++], Properties[P]);
|
||
return O;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 115 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// false -> Array#indexOf
|
||
// true -> Array#includes
|
||
var toIObject = __webpack_require__(18);
|
||
var toLength = __webpack_require__(41);
|
||
var toAbsoluteIndex = __webpack_require__(116);
|
||
module.exports = function (IS_INCLUDES) {
|
||
return function ($this, el, fromIndex) {
|
||
var O = toIObject($this);
|
||
var length = toLength(O.length);
|
||
var index = toAbsoluteIndex(fromIndex, length);
|
||
var value;
|
||
// Array#includes uses SameValueZero equality algorithm
|
||
// eslint-disable-next-line no-self-compare
|
||
if (IS_INCLUDES && el != el) while (length > index) {
|
||
value = O[index++];
|
||
// eslint-disable-next-line no-self-compare
|
||
if (value != value) return true;
|
||
// Array#indexOf ignores holes, Array#includes - not
|
||
} else for (;length > index; index++) if (IS_INCLUDES || index in O) {
|
||
if (O[index] === el) return IS_INCLUDES || index || 0;
|
||
} return !IS_INCLUDES && -1;
|
||
};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 116 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var toInteger = __webpack_require__(35);
|
||
var max = Math.max;
|
||
var min = Math.min;
|
||
module.exports = function (index, length) {
|
||
index = toInteger(index);
|
||
return index < 0 ? max(index + length, 0) : min(index, length);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 117 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var addToUnscopables = __webpack_require__(118);
|
||
var step = __webpack_require__(68);
|
||
var Iterators = __webpack_require__(17);
|
||
var toIObject = __webpack_require__(18);
|
||
|
||
// 22.1.3.4 Array.prototype.entries()
|
||
// 22.1.3.13 Array.prototype.keys()
|
||
// 22.1.3.29 Array.prototype.values()
|
||
// 22.1.3.30 Array.prototype[@@iterator]()
|
||
module.exports = __webpack_require__(37)(Array, 'Array', function (iterated, kind) {
|
||
this._t = toIObject(iterated); // target
|
||
this._i = 0; // next index
|
||
this._k = kind; // kind
|
||
// 22.1.5.2.1 %ArrayIteratorPrototype%.next()
|
||
}, function () {
|
||
var O = this._t;
|
||
var kind = this._k;
|
||
var index = this._i++;
|
||
if (!O || index >= O.length) {
|
||
this._t = undefined;
|
||
return step(1);
|
||
}
|
||
if (kind == 'keys') return step(0, index);
|
||
if (kind == 'values') return step(0, O[index]);
|
||
return step(0, [index, O[index]]);
|
||
}, 'values');
|
||
|
||
// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
|
||
Iterators.Arguments = Iterators.Array;
|
||
|
||
addToUnscopables('keys');
|
||
addToUnscopables('values');
|
||
addToUnscopables('entries');
|
||
|
||
|
||
/***/ }),
|
||
/* 118 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = function () { /* empty */ };
|
||
|
||
|
||
/***/ }),
|
||
/* 119 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = { "default": __webpack_require__(120), __esModule: true };
|
||
|
||
/***/ }),
|
||
/* 120 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
__webpack_require__(121);
|
||
__webpack_require__(49);
|
||
__webpack_require__(124);
|
||
__webpack_require__(125);
|
||
module.exports = __webpack_require__(0).Symbol;
|
||
|
||
|
||
/***/ }),
|
||
/* 121 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
// ECMAScript 6 symbols shim
|
||
var global = __webpack_require__(2);
|
||
var has = __webpack_require__(14);
|
||
var DESCRIPTORS = __webpack_require__(9);
|
||
var $export = __webpack_require__(4);
|
||
var redefine = __webpack_require__(63);
|
||
var META = __webpack_require__(46).KEY;
|
||
var $fails = __webpack_require__(16);
|
||
var shared = __webpack_require__(43);
|
||
var setToStringTag = __webpack_require__(23);
|
||
var uid = __webpack_require__(30);
|
||
var wks = __webpack_require__(3);
|
||
var wksExt = __webpack_require__(45);
|
||
var wksDefine = __webpack_require__(47);
|
||
var enumKeys = __webpack_require__(122);
|
||
var isArray = __webpack_require__(70);
|
||
var anObject = __webpack_require__(8);
|
||
var isObject = __webpack_require__(5);
|
||
var toObject = __webpack_require__(31);
|
||
var toIObject = __webpack_require__(18);
|
||
var toPrimitive = __webpack_require__(39);
|
||
var createDesc = __webpack_require__(28);
|
||
var _create = __webpack_require__(29);
|
||
var gOPNExt = __webpack_require__(123);
|
||
var $GOPD = __webpack_require__(72);
|
||
var $GOPS = __webpack_require__(69);
|
||
var $DP = __webpack_require__(7);
|
||
var $keys = __webpack_require__(40);
|
||
var gOPD = $GOPD.f;
|
||
var dP = $DP.f;
|
||
var gOPN = gOPNExt.f;
|
||
var $Symbol = global.Symbol;
|
||
var $JSON = global.JSON;
|
||
var _stringify = $JSON && $JSON.stringify;
|
||
var PROTOTYPE = 'prototype';
|
||
var HIDDEN = wks('_hidden');
|
||
var TO_PRIMITIVE = wks('toPrimitive');
|
||
var isEnum = {}.propertyIsEnumerable;
|
||
var SymbolRegistry = shared('symbol-registry');
|
||
var AllSymbols = shared('symbols');
|
||
var OPSymbols = shared('op-symbols');
|
||
var ObjectProto = Object[PROTOTYPE];
|
||
var USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;
|
||
var QObject = global.QObject;
|
||
// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
|
||
var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
|
||
|
||
// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
|
||
var setSymbolDesc = DESCRIPTORS && $fails(function () {
|
||
return _create(dP({}, 'a', {
|
||
get: function () { return dP(this, 'a', { value: 7 }).a; }
|
||
})).a != 7;
|
||
}) ? function (it, key, D) {
|
||
var protoDesc = gOPD(ObjectProto, key);
|
||
if (protoDesc) delete ObjectProto[key];
|
||
dP(it, key, D);
|
||
if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
|
||
} : dP;
|
||
|
||
var wrap = function (tag) {
|
||
var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
|
||
sym._k = tag;
|
||
return sym;
|
||
};
|
||
|
||
var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {
|
||
return typeof it == 'symbol';
|
||
} : function (it) {
|
||
return it instanceof $Symbol;
|
||
};
|
||
|
||
var $defineProperty = function defineProperty(it, key, D) {
|
||
if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
|
||
anObject(it);
|
||
key = toPrimitive(key, true);
|
||
anObject(D);
|
||
if (has(AllSymbols, key)) {
|
||
if (!D.enumerable) {
|
||
if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
|
||
it[HIDDEN][key] = true;
|
||
} else {
|
||
if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
|
||
D = _create(D, { enumerable: createDesc(0, false) });
|
||
} return setSymbolDesc(it, key, D);
|
||
} return dP(it, key, D);
|
||
};
|
||
var $defineProperties = function defineProperties(it, P) {
|
||
anObject(it);
|
||
var keys = enumKeys(P = toIObject(P));
|
||
var i = 0;
|
||
var l = keys.length;
|
||
var key;
|
||
while (l > i) $defineProperty(it, key = keys[i++], P[key]);
|
||
return it;
|
||
};
|
||
var $create = function create(it, P) {
|
||
return P === undefined ? _create(it) : $defineProperties(_create(it), P);
|
||
};
|
||
var $propertyIsEnumerable = function propertyIsEnumerable(key) {
|
||
var E = isEnum.call(this, key = toPrimitive(key, true));
|
||
if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
|
||
return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
|
||
};
|
||
var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
|
||
it = toIObject(it);
|
||
key = toPrimitive(key, true);
|
||
if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
|
||
var D = gOPD(it, key);
|
||
if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
|
||
return D;
|
||
};
|
||
var $getOwnPropertyNames = function getOwnPropertyNames(it) {
|
||
var names = gOPN(toIObject(it));
|
||
var result = [];
|
||
var i = 0;
|
||
var key;
|
||
while (names.length > i) {
|
||
if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);
|
||
} return result;
|
||
};
|
||
var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
|
||
var IS_OP = it === ObjectProto;
|
||
var names = gOPN(IS_OP ? OPSymbols : toIObject(it));
|
||
var result = [];
|
||
var i = 0;
|
||
var key;
|
||
while (names.length > i) {
|
||
if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);
|
||
} return result;
|
||
};
|
||
|
||
// 19.4.1.1 Symbol([description])
|
||
if (!USE_NATIVE) {
|
||
$Symbol = function Symbol() {
|
||
if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
|
||
var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
|
||
var $set = function (value) {
|
||
if (this === ObjectProto) $set.call(OPSymbols, value);
|
||
if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
|
||
setSymbolDesc(this, tag, createDesc(1, value));
|
||
};
|
||
if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });
|
||
return wrap(tag);
|
||
};
|
||
redefine($Symbol[PROTOTYPE], 'toString', function toString() {
|
||
return this._k;
|
||
});
|
||
|
||
$GOPD.f = $getOwnPropertyDescriptor;
|
||
$DP.f = $defineProperty;
|
||
__webpack_require__(71).f = gOPNExt.f = $getOwnPropertyNames;
|
||
__webpack_require__(48).f = $propertyIsEnumerable;
|
||
$GOPS.f = $getOwnPropertySymbols;
|
||
|
||
if (DESCRIPTORS && !__webpack_require__(20)) {
|
||
redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
|
||
}
|
||
|
||
wksExt.f = function (name) {
|
||
return wrap(wks(name));
|
||
};
|
||
}
|
||
|
||
$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });
|
||
|
||
for (var es6Symbols = (
|
||
// 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
|
||
'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
|
||
).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);
|
||
|
||
for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);
|
||
|
||
$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
|
||
// 19.4.2.1 Symbol.for(key)
|
||
'for': function (key) {
|
||
return has(SymbolRegistry, key += '')
|
||
? SymbolRegistry[key]
|
||
: SymbolRegistry[key] = $Symbol(key);
|
||
},
|
||
// 19.4.2.5 Symbol.keyFor(sym)
|
||
keyFor: function keyFor(sym) {
|
||
if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');
|
||
for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;
|
||
},
|
||
useSetter: function () { setter = true; },
|
||
useSimple: function () { setter = false; }
|
||
});
|
||
|
||
$export($export.S + $export.F * !USE_NATIVE, 'Object', {
|
||
// 19.1.2.2 Object.create(O [, Properties])
|
||
create: $create,
|
||
// 19.1.2.4 Object.defineProperty(O, P, Attributes)
|
||
defineProperty: $defineProperty,
|
||
// 19.1.2.3 Object.defineProperties(O, Properties)
|
||
defineProperties: $defineProperties,
|
||
// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
|
||
getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
|
||
// 19.1.2.7 Object.getOwnPropertyNames(O)
|
||
getOwnPropertyNames: $getOwnPropertyNames,
|
||
// 19.1.2.8 Object.getOwnPropertySymbols(O)
|
||
getOwnPropertySymbols: $getOwnPropertySymbols
|
||
});
|
||
|
||
// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
|
||
// https://bugs.chromium.org/p/v8/issues/detail?id=3443
|
||
var FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });
|
||
|
||
$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {
|
||
getOwnPropertySymbols: function getOwnPropertySymbols(it) {
|
||
return $GOPS.f(toObject(it));
|
||
}
|
||
});
|
||
|
||
// 24.3.2 JSON.stringify(value [, replacer [, space]])
|
||
$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
|
||
var S = $Symbol();
|
||
// MS Edge converts symbol values to JSON as {}
|
||
// WebKit converts symbol values to JSON as null
|
||
// V8 throws on boxed symbols
|
||
return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';
|
||
})), 'JSON', {
|
||
stringify: function stringify(it) {
|
||
var args = [it];
|
||
var i = 1;
|
||
var replacer, $replacer;
|
||
while (arguments.length > i) args.push(arguments[i++]);
|
||
$replacer = replacer = args[1];
|
||
if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
|
||
if (!isArray(replacer)) replacer = function (key, value) {
|
||
if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
|
||
if (!isSymbol(value)) return value;
|
||
};
|
||
args[1] = replacer;
|
||
return _stringify.apply($JSON, args);
|
||
}
|
||
});
|
||
|
||
// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
|
||
$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(12)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
|
||
// 19.4.3.5 Symbol.prototype[@@toStringTag]
|
||
setToStringTag($Symbol, 'Symbol');
|
||
// 20.2.1.9 Math[@@toStringTag]
|
||
setToStringTag(Math, 'Math', true);
|
||
// 24.3.3 JSON[@@toStringTag]
|
||
setToStringTag(global.JSON, 'JSON', true);
|
||
|
||
|
||
/***/ }),
|
||
/* 122 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// all enumerable object keys, includes symbols
|
||
var getKeys = __webpack_require__(40);
|
||
var gOPS = __webpack_require__(69);
|
||
var pIE = __webpack_require__(48);
|
||
module.exports = function (it) {
|
||
var result = getKeys(it);
|
||
var getSymbols = gOPS.f;
|
||
if (getSymbols) {
|
||
var symbols = getSymbols(it);
|
||
var isEnum = pIE.f;
|
||
var i = 0;
|
||
var key;
|
||
while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);
|
||
} return result;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 123 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
|
||
var toIObject = __webpack_require__(18);
|
||
var gOPN = __webpack_require__(71).f;
|
||
var toString = {}.toString;
|
||
|
||
var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
|
||
? Object.getOwnPropertyNames(window) : [];
|
||
|
||
var getWindowNames = function (it) {
|
||
try {
|
||
return gOPN(it);
|
||
} catch (e) {
|
||
return windowNames.slice();
|
||
}
|
||
};
|
||
|
||
module.exports.f = function getOwnPropertyNames(it) {
|
||
return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 124 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
__webpack_require__(47)('asyncIterator');
|
||
|
||
|
||
/***/ }),
|
||
/* 125 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
__webpack_require__(47)('observable');
|
||
|
||
|
||
/***/ }),
|
||
/* 126 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = { "default": __webpack_require__(127), __esModule: true };
|
||
|
||
/***/ }),
|
||
/* 127 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
__webpack_require__(49);
|
||
__webpack_require__(19);
|
||
__webpack_require__(24);
|
||
__webpack_require__(128);
|
||
__webpack_require__(136);
|
||
__webpack_require__(139);
|
||
__webpack_require__(141);
|
||
module.exports = __webpack_require__(0).Map;
|
||
|
||
|
||
/***/ }),
|
||
/* 128 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var strong = __webpack_require__(129);
|
||
var validate = __webpack_require__(75);
|
||
var MAP = 'Map';
|
||
|
||
// 23.1 Map Objects
|
||
module.exports = __webpack_require__(132)(MAP, function (get) {
|
||
return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
|
||
}, {
|
||
// 23.1.3.6 Map.prototype.get(key)
|
||
get: function get(key) {
|
||
var entry = strong.getEntry(validate(this, MAP), key);
|
||
return entry && entry.v;
|
||
},
|
||
// 23.1.3.9 Map.prototype.set(key, value)
|
||
set: function set(key, value) {
|
||
return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);
|
||
}
|
||
}, strong, true);
|
||
|
||
|
||
/***/ }),
|
||
/* 129 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var dP = __webpack_require__(7).f;
|
||
var create = __webpack_require__(29);
|
||
var redefineAll = __webpack_require__(50);
|
||
var ctx = __webpack_require__(11);
|
||
var anInstance = __webpack_require__(51);
|
||
var forOf = __webpack_require__(25);
|
||
var $iterDefine = __webpack_require__(37);
|
||
var step = __webpack_require__(68);
|
||
var setSpecies = __webpack_require__(74);
|
||
var DESCRIPTORS = __webpack_require__(9);
|
||
var fastKey = __webpack_require__(46).fastKey;
|
||
var validate = __webpack_require__(75);
|
||
var SIZE = DESCRIPTORS ? '_s' : 'size';
|
||
|
||
var getEntry = function (that, key) {
|
||
// fast case
|
||
var index = fastKey(key);
|
||
var entry;
|
||
if (index !== 'F') return that._i[index];
|
||
// frozen object case
|
||
for (entry = that._f; entry; entry = entry.n) {
|
||
if (entry.k == key) return entry;
|
||
}
|
||
};
|
||
|
||
module.exports = {
|
||
getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {
|
||
var C = wrapper(function (that, iterable) {
|
||
anInstance(that, C, NAME, '_i');
|
||
that._t = NAME; // collection type
|
||
that._i = create(null); // index
|
||
that._f = undefined; // first entry
|
||
that._l = undefined; // last entry
|
||
that[SIZE] = 0; // size
|
||
if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
|
||
});
|
||
redefineAll(C.prototype, {
|
||
// 23.1.3.1 Map.prototype.clear()
|
||
// 23.2.3.2 Set.prototype.clear()
|
||
clear: function clear() {
|
||
for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {
|
||
entry.r = true;
|
||
if (entry.p) entry.p = entry.p.n = undefined;
|
||
delete data[entry.i];
|
||
}
|
||
that._f = that._l = undefined;
|
||
that[SIZE] = 0;
|
||
},
|
||
// 23.1.3.3 Map.prototype.delete(key)
|
||
// 23.2.3.4 Set.prototype.delete(value)
|
||
'delete': function (key) {
|
||
var that = validate(this, NAME);
|
||
var entry = getEntry(that, key);
|
||
if (entry) {
|
||
var next = entry.n;
|
||
var prev = entry.p;
|
||
delete that._i[entry.i];
|
||
entry.r = true;
|
||
if (prev) prev.n = next;
|
||
if (next) next.p = prev;
|
||
if (that._f == entry) that._f = next;
|
||
if (that._l == entry) that._l = prev;
|
||
that[SIZE]--;
|
||
} return !!entry;
|
||
},
|
||
// 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
|
||
// 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
|
||
forEach: function forEach(callbackfn /* , that = undefined */) {
|
||
validate(this, NAME);
|
||
var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
|
||
var entry;
|
||
while (entry = entry ? entry.n : this._f) {
|
||
f(entry.v, entry.k, this);
|
||
// revert to the last existing entry
|
||
while (entry && entry.r) entry = entry.p;
|
||
}
|
||
},
|
||
// 23.1.3.7 Map.prototype.has(key)
|
||
// 23.2.3.7 Set.prototype.has(value)
|
||
has: function has(key) {
|
||
return !!getEntry(validate(this, NAME), key);
|
||
}
|
||
});
|
||
if (DESCRIPTORS) dP(C.prototype, 'size', {
|
||
get: function () {
|
||
return validate(this, NAME)[SIZE];
|
||
}
|
||
});
|
||
return C;
|
||
},
|
||
def: function (that, key, value) {
|
||
var entry = getEntry(that, key);
|
||
var prev, index;
|
||
// change existing entry
|
||
if (entry) {
|
||
entry.v = value;
|
||
// create new entry
|
||
} else {
|
||
that._l = entry = {
|
||
i: index = fastKey(key, true), // <- index
|
||
k: key, // <- key
|
||
v: value, // <- value
|
||
p: prev = that._l, // <- previous entry
|
||
n: undefined, // <- next entry
|
||
r: false // <- removed
|
||
};
|
||
if (!that._f) that._f = entry;
|
||
if (prev) prev.n = entry;
|
||
that[SIZE]++;
|
||
// add to index
|
||
if (index !== 'F') that._i[index] = entry;
|
||
} return that;
|
||
},
|
||
getEntry: getEntry,
|
||
setStrong: function (C, NAME, IS_MAP) {
|
||
// add .keys, .values, .entries, [@@iterator]
|
||
// 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
|
||
$iterDefine(C, NAME, function (iterated, kind) {
|
||
this._t = validate(iterated, NAME); // target
|
||
this._k = kind; // kind
|
||
this._l = undefined; // previous
|
||
}, function () {
|
||
var that = this;
|
||
var kind = that._k;
|
||
var entry = that._l;
|
||
// revert to the last existing entry
|
||
while (entry && entry.r) entry = entry.p;
|
||
// get next entry
|
||
if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
|
||
// or finish the iteration
|
||
that._t = undefined;
|
||
return step(1);
|
||
}
|
||
// return step by kind
|
||
if (kind == 'keys') return step(0, entry.k);
|
||
if (kind == 'values') return step(0, entry.v);
|
||
return step(0, [entry.k, entry.v]);
|
||
}, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
|
||
|
||
// add [@@species], 23.1.2.2, 23.2.2.2
|
||
setSpecies(NAME);
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 130 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// call something on iterator step with safe closing on error
|
||
var anObject = __webpack_require__(8);
|
||
module.exports = function (iterator, fn, value, entries) {
|
||
try {
|
||
return entries ? fn(anObject(value)[0], value[1]) : fn(value);
|
||
// 7.4.6 IteratorClose(iterator, completion)
|
||
} catch (e) {
|
||
var ret = iterator['return'];
|
||
if (ret !== undefined) anObject(ret.call(iterator));
|
||
throw e;
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 131 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// check on default Array iterator
|
||
var Iterators = __webpack_require__(17);
|
||
var ITERATOR = __webpack_require__(3)('iterator');
|
||
var ArrayProto = Array.prototype;
|
||
|
||
module.exports = function (it) {
|
||
return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 132 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var global = __webpack_require__(2);
|
||
var $export = __webpack_require__(4);
|
||
var meta = __webpack_require__(46);
|
||
var fails = __webpack_require__(16);
|
||
var hide = __webpack_require__(12);
|
||
var redefineAll = __webpack_require__(50);
|
||
var forOf = __webpack_require__(25);
|
||
var anInstance = __webpack_require__(51);
|
||
var isObject = __webpack_require__(5);
|
||
var setToStringTag = __webpack_require__(23);
|
||
var dP = __webpack_require__(7).f;
|
||
var each = __webpack_require__(133)(0);
|
||
var DESCRIPTORS = __webpack_require__(9);
|
||
|
||
module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
|
||
var Base = global[NAME];
|
||
var C = Base;
|
||
var ADDER = IS_MAP ? 'set' : 'add';
|
||
var proto = C && C.prototype;
|
||
var O = {};
|
||
if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
|
||
new C().entries().next();
|
||
}))) {
|
||
// create collection constructor
|
||
C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
|
||
redefineAll(C.prototype, methods);
|
||
meta.NEED = true;
|
||
} else {
|
||
C = wrapper(function (target, iterable) {
|
||
anInstance(target, C, NAME, '_c');
|
||
target._c = new Base();
|
||
if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);
|
||
});
|
||
each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {
|
||
var IS_ADDER = KEY == 'add' || KEY == 'set';
|
||
if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {
|
||
anInstance(this, C, KEY);
|
||
if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;
|
||
var result = this._c[KEY](a === 0 ? 0 : a, b);
|
||
return IS_ADDER ? this : result;
|
||
});
|
||
});
|
||
IS_WEAK || dP(C.prototype, 'size', {
|
||
get: function () {
|
||
return this._c.size;
|
||
}
|
||
});
|
||
}
|
||
|
||
setToStringTag(C, NAME);
|
||
|
||
O[NAME] = C;
|
||
$export($export.G + $export.W + $export.F, O);
|
||
|
||
if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
|
||
|
||
return C;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 133 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// 0 -> Array#forEach
|
||
// 1 -> Array#map
|
||
// 2 -> Array#filter
|
||
// 3 -> Array#some
|
||
// 4 -> Array#every
|
||
// 5 -> Array#find
|
||
// 6 -> Array#findIndex
|
||
var ctx = __webpack_require__(11);
|
||
var IObject = __webpack_require__(65);
|
||
var toObject = __webpack_require__(31);
|
||
var toLength = __webpack_require__(41);
|
||
var asc = __webpack_require__(134);
|
||
module.exports = function (TYPE, $create) {
|
||
var IS_MAP = TYPE == 1;
|
||
var IS_FILTER = TYPE == 2;
|
||
var IS_SOME = TYPE == 3;
|
||
var IS_EVERY = TYPE == 4;
|
||
var IS_FIND_INDEX = TYPE == 6;
|
||
var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
|
||
var create = $create || asc;
|
||
return function ($this, callbackfn, that) {
|
||
var O = toObject($this);
|
||
var self = IObject(O);
|
||
var f = ctx(callbackfn, that, 3);
|
||
var length = toLength(self.length);
|
||
var index = 0;
|
||
var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
|
||
var val, res;
|
||
for (;length > index; index++) if (NO_HOLES || index in self) {
|
||
val = self[index];
|
||
res = f(val, index, O);
|
||
if (TYPE) {
|
||
if (IS_MAP) result[index] = res; // map
|
||
else if (res) switch (TYPE) {
|
||
case 3: return true; // some
|
||
case 5: return val; // find
|
||
case 6: return index; // findIndex
|
||
case 2: result.push(val); // filter
|
||
} else if (IS_EVERY) return false; // every
|
||
}
|
||
}
|
||
return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
|
||
};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 134 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// 9.4.2.3 ArraySpeciesCreate(originalArray, length)
|
||
var speciesConstructor = __webpack_require__(135);
|
||
|
||
module.exports = function (original, length) {
|
||
return new (speciesConstructor(original))(length);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 135 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var isObject = __webpack_require__(5);
|
||
var isArray = __webpack_require__(70);
|
||
var SPECIES = __webpack_require__(3)('species');
|
||
|
||
module.exports = function (original) {
|
||
var C;
|
||
if (isArray(original)) {
|
||
C = original.constructor;
|
||
// cross-realm fallback
|
||
if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
|
||
if (isObject(C)) {
|
||
C = C[SPECIES];
|
||
if (C === null) C = undefined;
|
||
}
|
||
} return C === undefined ? Array : C;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 136 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// https://github.com/DavidBruant/Map-Set.prototype.toJSON
|
||
var $export = __webpack_require__(4);
|
||
|
||
$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(137)('Map') });
|
||
|
||
|
||
/***/ }),
|
||
/* 137 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// https://github.com/DavidBruant/Map-Set.prototype.toJSON
|
||
var classof = __webpack_require__(32);
|
||
var from = __webpack_require__(138);
|
||
module.exports = function (NAME) {
|
||
return function toJSON() {
|
||
if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
|
||
return from(this);
|
||
};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 138 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var forOf = __webpack_require__(25);
|
||
|
||
module.exports = function (iter, ITERATOR) {
|
||
var result = [];
|
||
forOf(iter, false, result.push, result, ITERATOR);
|
||
return result;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 139 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
|
||
__webpack_require__(140)('Map');
|
||
|
||
|
||
/***/ }),
|
||
/* 140 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
// https://tc39.github.io/proposal-setmap-offrom/
|
||
var $export = __webpack_require__(4);
|
||
|
||
module.exports = function (COLLECTION) {
|
||
$export($export.S, COLLECTION, { of: function of() {
|
||
var length = arguments.length;
|
||
var A = new Array(length);
|
||
while (length--) A[length] = arguments[length];
|
||
return new this(A);
|
||
} });
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 141 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
|
||
__webpack_require__(142)('Map');
|
||
|
||
|
||
/***/ }),
|
||
/* 142 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
// https://tc39.github.io/proposal-setmap-offrom/
|
||
var $export = __webpack_require__(4);
|
||
var aFunction = __webpack_require__(21);
|
||
var ctx = __webpack_require__(11);
|
||
var forOf = __webpack_require__(25);
|
||
|
||
module.exports = function (COLLECTION) {
|
||
$export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {
|
||
var mapFn = arguments[1];
|
||
var mapping, A, n, cb;
|
||
aFunction(this);
|
||
mapping = mapFn !== undefined;
|
||
if (mapping) aFunction(mapFn);
|
||
if (source == undefined) return new this();
|
||
A = [];
|
||
if (mapping) {
|
||
n = 0;
|
||
cb = ctx(mapFn, arguments[2], 2);
|
||
forOf(source, false, function (nextItem) {
|
||
A.push(cb(nextItem, n++));
|
||
});
|
||
} else {
|
||
forOf(source, false, A.push, A);
|
||
}
|
||
return new this(A);
|
||
} });
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 143 */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* harmony export (immutable) */ __webpack_exports__["c"] = osgbToglb;
|
||
/* harmony export (immutable) */ __webpack_exports__["d"] = shapeToglb;
|
||
/* unused harmony export objToglb */
|
||
/* harmony export (immutable) */ __webpack_exports__["a"] = b3dmToglb;
|
||
/* harmony export (immutable) */ __webpack_exports__["b"] = daeTogltf;
|
||
var path = __webpack_require__(1);
|
||
var childProcess = __webpack_require__(15);
|
||
|
||
var _3dtilePath = path.join(process.cwd(), '/convert/_3dtile.exe');
|
||
var colladaPath = path.join(process.cwd(), '/collada2gltf/COLLADA2GLTF-bin.exe');
|
||
|
||
function osgbToglb(input, output, callBack) {
|
||
var exeFilePath = 'start ' + _3dtilePath + ' -f osgb -i ' + input + ' -o ' + output;
|
||
|
||
start(exeFilePath, callBack);
|
||
}
|
||
|
||
function shapeToglb(input, output, callBack) {
|
||
var exeFilePath = 'start ' + _3dtilePath + ' -f shape -i ' + input + ' -o ' + output + ' --height height';
|
||
|
||
start(exeFilePath, callBack);
|
||
}
|
||
|
||
function objToglb(input, output, callBack) {
|
||
var exeFilePath = 'start ' + _3dtilePath + ' -f gltf -i ' + input + ' -o ' + output;
|
||
|
||
start(exeFilePath, callBack);
|
||
}
|
||
|
||
function b3dmToglb(input, output, callBack) {
|
||
var exeFilePath = 'start ' + _3dtilePath + ' -f b3dm -i ' + input + ' -o ' + output;
|
||
|
||
start(exeFilePath, callBack);
|
||
}
|
||
|
||
function start(exeFilePath, callBack) {
|
||
console.log(exeFilePath);
|
||
try {
|
||
var a = childProcess.exec(exeFilePath, { cwd: path.join(process.cwd(), 'convert') });
|
||
a.stdout.on('data', function (data) {});
|
||
a.stderr.on('data', function (data) {
|
||
console.log("stderr_________________________");
|
||
});
|
||
a.on('close', function (code) {
|
||
console.log('out code_______________________:' + code);
|
||
callBack();
|
||
});
|
||
} catch (e) {
|
||
console.log(e);
|
||
}
|
||
}
|
||
|
||
function daeTogltf(i, o, c) {
|
||
var exeFilePath = 'start ' + colladaPath + ' -i ' + i + ' -o ' + o;
|
||
try {
|
||
var a = childProcess.exec(exeFilePath, { cwd: path.join(process.cwd(), 'collada2gltf') });
|
||
a.on('close', function (code) {
|
||
c();
|
||
});
|
||
} catch (e) {
|
||
console.log(e);
|
||
}
|
||
}
|
||
|
||
/***/ }),
|
||
/* 144 */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* harmony export (immutable) */ __webpack_exports__["a"] = Format;
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify__ = __webpack_require__(145);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify__);
|
||
|
||
|
||
var obj2gltf = __webpack_require__(147);
|
||
var fs = __webpack_require__(6);
|
||
|
||
var gltfPipeline = __webpack_require__(148);
|
||
|
||
|
||
var processGltf = gltfPipeline.processGltf;
|
||
function Format() {
|
||
|
||
this.obj2gltf = function (name) {
|
||
obj2gltf(name + '.obj').then(function (gltf) {
|
||
var data = Buffer.from(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify___default()(gltf));
|
||
fs.writeFileSync(name + '.gltf', data);
|
||
});
|
||
};
|
||
|
||
this.obj2glb = function (input, output, callBack) {
|
||
var options = {
|
||
binary: true
|
||
};
|
||
obj2gltf(input, options).then(function (glb) {
|
||
fs.writeFileSync(output, glb);
|
||
callBack();
|
||
});
|
||
};
|
||
}
|
||
|
||
/***/ }),
|
||
/* 145 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = { "default": __webpack_require__(146), __esModule: true };
|
||
|
||
/***/ }),
|
||
/* 146 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var core = __webpack_require__(0);
|
||
var $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });
|
||
module.exports = function stringify(it) { // eslint-disable-line no-unused-vars
|
||
return $JSON.stringify.apply($JSON, arguments);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 147 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("obj2gltf");
|
||
|
||
/***/ }),
|
||
/* 148 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("gltf-pipeline");
|
||
|
||
/***/ }),
|
||
/* 149 */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* harmony export (immutable) */ __webpack_exports__["a"] = Fbx2glb;
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise__ = __webpack_require__(150);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise__);
|
||
|
||
|
||
|
||
var childProcess = __webpack_require__(15);
|
||
var fs = __webpack_require__(6);
|
||
var os = __webpack_require__(10);
|
||
var path = __webpack_require__(1);
|
||
var rimraf = __webpack_require__(159);
|
||
console.log(path.join(process.cwd(), 'convert/FBX2glTF.exe'));
|
||
function Fbx2glb() {
|
||
function convert(srcFile, destFile) {
|
||
var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
||
|
||
return new __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise___default.a(function (resolve, reject) {
|
||
try {
|
||
var binExt = os.type() === 'Windows_NT' ? '.exe' : '';
|
||
|
||
var tool = path.join(process.cwd(), 'convert/FBX2glTF.exe');
|
||
if (!fs.existsSync(tool)) {
|
||
throw new Error('Unsupported OS: ' + os.type());
|
||
}
|
||
|
||
var destExt = void 0;
|
||
if (destFile.endsWith('.glb')) {
|
||
destExt = '.glb';
|
||
opts.includes('--binary') || opts.push('--binary');
|
||
} else if (destFile.endsWith('.gltf')) {
|
||
destExt = '.gltf';
|
||
} else {
|
||
throw new Error('Unsupported file extension: ' + destFile);
|
||
}
|
||
|
||
var srcPath = fs.realpathSync(srcFile);
|
||
var destDir = fs.realpathSync(path.dirname(destFile));
|
||
var destPath = path.join(destDir, path.basename(destFile, destExt));
|
||
|
||
var args = opts.slice(0);
|
||
args.push('--input', srcPath, '--output', destPath);
|
||
var child = childProcess.spawn(tool, args);
|
||
|
||
var output = '';
|
||
child.stdout.on('data', function (data) {
|
||
return output += data;
|
||
});
|
||
child.stderr.on('data', function (data) {
|
||
return output += data;
|
||
});
|
||
child.on('error', reject);
|
||
child.on('close', function (code) {
|
||
var fbmCruft = srcPath.replace(/.fbx$/i, '.fbm');
|
||
|
||
var onError = function onError(error) {
|
||
return error && console.warn('Failed to delete ' + fbmCruft + ': ' + error);
|
||
};
|
||
try {
|
||
fs.existsSync(fbmCruft) && rimraf(fbmCruft, {}, onError);
|
||
} catch (error) {
|
||
onError(error);
|
||
}
|
||
|
||
if (code != 0) {
|
||
reject(new Error('Converter output:\n' + (output.length ? output : "<none>")));
|
||
} else {
|
||
resolve(destPath + destExt);
|
||
}
|
||
});
|
||
} catch (error) {
|
||
reject(error);
|
||
}
|
||
});
|
||
}
|
||
|
||
this.fbx2glb = function (input, output, callBack) {
|
||
convert(input, output, ['--khr-materials-unlit']).then(function (destPath) {
|
||
callBack(destPath);
|
||
}, function (error) {
|
||
callBack(error);
|
||
});
|
||
};
|
||
}
|
||
|
||
/***/ }),
|
||
/* 150 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = { "default": __webpack_require__(151), __esModule: true };
|
||
|
||
/***/ }),
|
||
/* 151 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
__webpack_require__(49);
|
||
__webpack_require__(19);
|
||
__webpack_require__(24);
|
||
__webpack_require__(152);
|
||
__webpack_require__(157);
|
||
__webpack_require__(158);
|
||
module.exports = __webpack_require__(0).Promise;
|
||
|
||
|
||
/***/ }),
|
||
/* 152 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
var LIBRARY = __webpack_require__(20);
|
||
var global = __webpack_require__(2);
|
||
var ctx = __webpack_require__(11);
|
||
var classof = __webpack_require__(32);
|
||
var $export = __webpack_require__(4);
|
||
var isObject = __webpack_require__(5);
|
||
var aFunction = __webpack_require__(21);
|
||
var anInstance = __webpack_require__(51);
|
||
var forOf = __webpack_require__(25);
|
||
var speciesConstructor = __webpack_require__(76);
|
||
var task = __webpack_require__(77).set;
|
||
var microtask = __webpack_require__(154)();
|
||
var newPromiseCapabilityModule = __webpack_require__(52);
|
||
var perform = __webpack_require__(78);
|
||
var userAgent = __webpack_require__(155);
|
||
var promiseResolve = __webpack_require__(79);
|
||
var PROMISE = 'Promise';
|
||
var TypeError = global.TypeError;
|
||
var process = global.process;
|
||
var versions = process && process.versions;
|
||
var v8 = versions && versions.v8 || '';
|
||
var $Promise = global[PROMISE];
|
||
var isNode = classof(process) == 'process';
|
||
var empty = function () { /* empty */ };
|
||
var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;
|
||
var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;
|
||
|
||
var USE_NATIVE = !!function () {
|
||
try {
|
||
// correct subclassing with @@species support
|
||
var promise = $Promise.resolve(1);
|
||
var FakePromise = (promise.constructor = {})[__webpack_require__(3)('species')] = function (exec) {
|
||
exec(empty, empty);
|
||
};
|
||
// unhandled rejections tracking support, NodeJS Promise without it fails @@species test
|
||
return (isNode || typeof PromiseRejectionEvent == 'function')
|
||
&& promise.then(empty) instanceof FakePromise
|
||
// v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
|
||
// https://bugs.chromium.org/p/chromium/issues/detail?id=830565
|
||
// we can't detect it synchronously, so just check versions
|
||
&& v8.indexOf('6.6') !== 0
|
||
&& userAgent.indexOf('Chrome/66') === -1;
|
||
} catch (e) { /* empty */ }
|
||
}();
|
||
|
||
// helpers
|
||
var isThenable = function (it) {
|
||
var then;
|
||
return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
|
||
};
|
||
var notify = function (promise, isReject) {
|
||
if (promise._n) return;
|
||
promise._n = true;
|
||
var chain = promise._c;
|
||
microtask(function () {
|
||
var value = promise._v;
|
||
var ok = promise._s == 1;
|
||
var i = 0;
|
||
var run = function (reaction) {
|
||
var handler = ok ? reaction.ok : reaction.fail;
|
||
var resolve = reaction.resolve;
|
||
var reject = reaction.reject;
|
||
var domain = reaction.domain;
|
||
var result, then, exited;
|
||
try {
|
||
if (handler) {
|
||
if (!ok) {
|
||
if (promise._h == 2) onHandleUnhandled(promise);
|
||
promise._h = 1;
|
||
}
|
||
if (handler === true) result = value;
|
||
else {
|
||
if (domain) domain.enter();
|
||
result = handler(value); // may throw
|
||
if (domain) {
|
||
domain.exit();
|
||
exited = true;
|
||
}
|
||
}
|
||
if (result === reaction.promise) {
|
||
reject(TypeError('Promise-chain cycle'));
|
||
} else if (then = isThenable(result)) {
|
||
then.call(result, resolve, reject);
|
||
} else resolve(result);
|
||
} else reject(value);
|
||
} catch (e) {
|
||
if (domain && !exited) domain.exit();
|
||
reject(e);
|
||
}
|
||
};
|
||
while (chain.length > i) run(chain[i++]); // variable length - can't use forEach
|
||
promise._c = [];
|
||
promise._n = false;
|
||
if (isReject && !promise._h) onUnhandled(promise);
|
||
});
|
||
};
|
||
var onUnhandled = function (promise) {
|
||
task.call(global, function () {
|
||
var value = promise._v;
|
||
var unhandled = isUnhandled(promise);
|
||
var result, handler, console;
|
||
if (unhandled) {
|
||
result = perform(function () {
|
||
if (isNode) {
|
||
process.emit('unhandledRejection', value, promise);
|
||
} else if (handler = global.onunhandledrejection) {
|
||
handler({ promise: promise, reason: value });
|
||
} else if ((console = global.console) && console.error) {
|
||
console.error('Unhandled promise rejection', value);
|
||
}
|
||
});
|
||
// Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
|
||
promise._h = isNode || isUnhandled(promise) ? 2 : 1;
|
||
} promise._a = undefined;
|
||
if (unhandled && result.e) throw result.v;
|
||
});
|
||
};
|
||
var isUnhandled = function (promise) {
|
||
return promise._h !== 1 && (promise._a || promise._c).length === 0;
|
||
};
|
||
var onHandleUnhandled = function (promise) {
|
||
task.call(global, function () {
|
||
var handler;
|
||
if (isNode) {
|
||
process.emit('rejectionHandled', promise);
|
||
} else if (handler = global.onrejectionhandled) {
|
||
handler({ promise: promise, reason: promise._v });
|
||
}
|
||
});
|
||
};
|
||
var $reject = function (value) {
|
||
var promise = this;
|
||
if (promise._d) return;
|
||
promise._d = true;
|
||
promise = promise._w || promise; // unwrap
|
||
promise._v = value;
|
||
promise._s = 2;
|
||
if (!promise._a) promise._a = promise._c.slice();
|
||
notify(promise, true);
|
||
};
|
||
var $resolve = function (value) {
|
||
var promise = this;
|
||
var then;
|
||
if (promise._d) return;
|
||
promise._d = true;
|
||
promise = promise._w || promise; // unwrap
|
||
try {
|
||
if (promise === value) throw TypeError("Promise can't be resolved itself");
|
||
if (then = isThenable(value)) {
|
||
microtask(function () {
|
||
var wrapper = { _w: promise, _d: false }; // wrap
|
||
try {
|
||
then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
|
||
} catch (e) {
|
||
$reject.call(wrapper, e);
|
||
}
|
||
});
|
||
} else {
|
||
promise._v = value;
|
||
promise._s = 1;
|
||
notify(promise, false);
|
||
}
|
||
} catch (e) {
|
||
$reject.call({ _w: promise, _d: false }, e); // wrap
|
||
}
|
||
};
|
||
|
||
// constructor polyfill
|
||
if (!USE_NATIVE) {
|
||
// 25.4.3.1 Promise(executor)
|
||
$Promise = function Promise(executor) {
|
||
anInstance(this, $Promise, PROMISE, '_h');
|
||
aFunction(executor);
|
||
Internal.call(this);
|
||
try {
|
||
executor(ctx($resolve, this, 1), ctx($reject, this, 1));
|
||
} catch (err) {
|
||
$reject.call(this, err);
|
||
}
|
||
};
|
||
// eslint-disable-next-line no-unused-vars
|
||
Internal = function Promise(executor) {
|
||
this._c = []; // <- awaiting reactions
|
||
this._a = undefined; // <- checked in isUnhandled reactions
|
||
this._s = 0; // <- state
|
||
this._d = false; // <- done
|
||
this._v = undefined; // <- value
|
||
this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
|
||
this._n = false; // <- notify
|
||
};
|
||
Internal.prototype = __webpack_require__(50)($Promise.prototype, {
|
||
// 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
|
||
then: function then(onFulfilled, onRejected) {
|
||
var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
|
||
reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
|
||
reaction.fail = typeof onRejected == 'function' && onRejected;
|
||
reaction.domain = isNode ? process.domain : undefined;
|
||
this._c.push(reaction);
|
||
if (this._a) this._a.push(reaction);
|
||
if (this._s) notify(this, false);
|
||
return reaction.promise;
|
||
},
|
||
// 25.4.5.1 Promise.prototype.catch(onRejected)
|
||
'catch': function (onRejected) {
|
||
return this.then(undefined, onRejected);
|
||
}
|
||
});
|
||
OwnPromiseCapability = function () {
|
||
var promise = new Internal();
|
||
this.promise = promise;
|
||
this.resolve = ctx($resolve, promise, 1);
|
||
this.reject = ctx($reject, promise, 1);
|
||
};
|
||
newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
|
||
return C === $Promise || C === Wrapper
|
||
? new OwnPromiseCapability(C)
|
||
: newGenericPromiseCapability(C);
|
||
};
|
||
}
|
||
|
||
$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });
|
||
__webpack_require__(23)($Promise, PROMISE);
|
||
__webpack_require__(74)(PROMISE);
|
||
Wrapper = __webpack_require__(0)[PROMISE];
|
||
|
||
// statics
|
||
$export($export.S + $export.F * !USE_NATIVE, PROMISE, {
|
||
// 25.4.4.5 Promise.reject(r)
|
||
reject: function reject(r) {
|
||
var capability = newPromiseCapability(this);
|
||
var $$reject = capability.reject;
|
||
$$reject(r);
|
||
return capability.promise;
|
||
}
|
||
});
|
||
$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
|
||
// 25.4.4.6 Promise.resolve(x)
|
||
resolve: function resolve(x) {
|
||
return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);
|
||
}
|
||
});
|
||
$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(156)(function (iter) {
|
||
$Promise.all(iter)['catch'](empty);
|
||
})), PROMISE, {
|
||
// 25.4.4.1 Promise.all(iterable)
|
||
all: function all(iterable) {
|
||
var C = this;
|
||
var capability = newPromiseCapability(C);
|
||
var resolve = capability.resolve;
|
||
var reject = capability.reject;
|
||
var result = perform(function () {
|
||
var values = [];
|
||
var index = 0;
|
||
var remaining = 1;
|
||
forOf(iterable, false, function (promise) {
|
||
var $index = index++;
|
||
var alreadyCalled = false;
|
||
values.push(undefined);
|
||
remaining++;
|
||
C.resolve(promise).then(function (value) {
|
||
if (alreadyCalled) return;
|
||
alreadyCalled = true;
|
||
values[$index] = value;
|
||
--remaining || resolve(values);
|
||
}, reject);
|
||
});
|
||
--remaining || resolve(values);
|
||
});
|
||
if (result.e) reject(result.v);
|
||
return capability.promise;
|
||
},
|
||
// 25.4.4.4 Promise.race(iterable)
|
||
race: function race(iterable) {
|
||
var C = this;
|
||
var capability = newPromiseCapability(C);
|
||
var reject = capability.reject;
|
||
var result = perform(function () {
|
||
forOf(iterable, false, function (promise) {
|
||
C.resolve(promise).then(capability.resolve, reject);
|
||
});
|
||
});
|
||
if (result.e) reject(result.v);
|
||
return capability.promise;
|
||
}
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
/* 153 */
|
||
/***/ (function(module, exports) {
|
||
|
||
// fast apply, http://jsperf.lnkit.com/fast-apply/5
|
||
module.exports = function (fn, args, that) {
|
||
var un = that === undefined;
|
||
switch (args.length) {
|
||
case 0: return un ? fn()
|
||
: fn.call(that);
|
||
case 1: return un ? fn(args[0])
|
||
: fn.call(that, args[0]);
|
||
case 2: return un ? fn(args[0], args[1])
|
||
: fn.call(that, args[0], args[1]);
|
||
case 3: return un ? fn(args[0], args[1], args[2])
|
||
: fn.call(that, args[0], args[1], args[2]);
|
||
case 4: return un ? fn(args[0], args[1], args[2], args[3])
|
||
: fn.call(that, args[0], args[1], args[2], args[3]);
|
||
} return fn.apply(that, args);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 154 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(2);
|
||
var macrotask = __webpack_require__(77).set;
|
||
var Observer = global.MutationObserver || global.WebKitMutationObserver;
|
||
var process = global.process;
|
||
var Promise = global.Promise;
|
||
var isNode = __webpack_require__(22)(process) == 'process';
|
||
|
||
module.exports = function () {
|
||
var head, last, notify;
|
||
|
||
var flush = function () {
|
||
var parent, fn;
|
||
if (isNode && (parent = process.domain)) parent.exit();
|
||
while (head) {
|
||
fn = head.fn;
|
||
head = head.next;
|
||
try {
|
||
fn();
|
||
} catch (e) {
|
||
if (head) notify();
|
||
else last = undefined;
|
||
throw e;
|
||
}
|
||
} last = undefined;
|
||
if (parent) parent.enter();
|
||
};
|
||
|
||
// Node.js
|
||
if (isNode) {
|
||
notify = function () {
|
||
process.nextTick(flush);
|
||
};
|
||
// browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339
|
||
} else if (Observer && !(global.navigator && global.navigator.standalone)) {
|
||
var toggle = true;
|
||
var node = document.createTextNode('');
|
||
new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new
|
||
notify = function () {
|
||
node.data = toggle = !toggle;
|
||
};
|
||
// environments with maybe non-completely correct, but existent Promise
|
||
} else if (Promise && Promise.resolve) {
|
||
// Promise.resolve without an argument throws an error in LG WebOS 2
|
||
var promise = Promise.resolve(undefined);
|
||
notify = function () {
|
||
promise.then(flush);
|
||
};
|
||
// for other environments - macrotask based on:
|
||
// - setImmediate
|
||
// - MessageChannel
|
||
// - window.postMessag
|
||
// - onreadystatechange
|
||
// - setTimeout
|
||
} else {
|
||
notify = function () {
|
||
// strange IE + webpack dev server bug - use .call(global)
|
||
macrotask.call(global, flush);
|
||
};
|
||
}
|
||
|
||
return function (fn) {
|
||
var task = { fn: fn, next: undefined };
|
||
if (last) last.next = task;
|
||
if (!head) {
|
||
head = task;
|
||
notify();
|
||
} last = task;
|
||
};
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 155 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var global = __webpack_require__(2);
|
||
var navigator = global.navigator;
|
||
|
||
module.exports = navigator && navigator.userAgent || '';
|
||
|
||
|
||
/***/ }),
|
||
/* 156 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var ITERATOR = __webpack_require__(3)('iterator');
|
||
var SAFE_CLOSING = false;
|
||
|
||
try {
|
||
var riter = [7][ITERATOR]();
|
||
riter['return'] = function () { SAFE_CLOSING = true; };
|
||
// eslint-disable-next-line no-throw-literal
|
||
Array.from(riter, function () { throw 2; });
|
||
} catch (e) { /* empty */ }
|
||
|
||
module.exports = function (exec, skipClosing) {
|
||
if (!skipClosing && !SAFE_CLOSING) return false;
|
||
var safe = false;
|
||
try {
|
||
var arr = [7];
|
||
var iter = arr[ITERATOR]();
|
||
iter.next = function () { return { done: safe = true }; };
|
||
arr[ITERATOR] = function () { return iter; };
|
||
exec(arr);
|
||
} catch (e) { /* empty */ }
|
||
return safe;
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 157 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
// https://github.com/tc39/proposal-promise-finally
|
||
|
||
var $export = __webpack_require__(4);
|
||
var core = __webpack_require__(0);
|
||
var global = __webpack_require__(2);
|
||
var speciesConstructor = __webpack_require__(76);
|
||
var promiseResolve = __webpack_require__(79);
|
||
|
||
$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {
|
||
var C = speciesConstructor(this, core.Promise || global.Promise);
|
||
var isFunction = typeof onFinally == 'function';
|
||
return this.then(
|
||
isFunction ? function (x) {
|
||
return promiseResolve(C, onFinally()).then(function () { return x; });
|
||
} : onFinally,
|
||
isFunction ? function (e) {
|
||
return promiseResolve(C, onFinally()).then(function () { throw e; });
|
||
} : onFinally
|
||
);
|
||
} });
|
||
|
||
|
||
/***/ }),
|
||
/* 158 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
// https://github.com/tc39/proposal-promise-try
|
||
var $export = __webpack_require__(4);
|
||
var newPromiseCapability = __webpack_require__(52);
|
||
var perform = __webpack_require__(78);
|
||
|
||
$export($export.S, 'Promise', { 'try': function (callbackfn) {
|
||
var promiseCapability = newPromiseCapability.f(this);
|
||
var result = perform(callbackfn);
|
||
(result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);
|
||
return promiseCapability.promise;
|
||
} });
|
||
|
||
|
||
/***/ }),
|
||
/* 159 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = rimraf
|
||
rimraf.sync = rimrafSync
|
||
|
||
var assert = __webpack_require__(53)
|
||
var path = __webpack_require__(1)
|
||
var fs = __webpack_require__(6)
|
||
var glob = undefined
|
||
try {
|
||
glob = __webpack_require__(80)
|
||
} catch (_err) {
|
||
// treat glob as optional.
|
||
}
|
||
var _0666 = parseInt('666', 8)
|
||
|
||
var defaultGlobOpts = {
|
||
nosort: true,
|
||
silent: true
|
||
}
|
||
|
||
// for EMFILE handling
|
||
var timeout = 0
|
||
|
||
var isWindows = (process.platform === "win32")
|
||
|
||
function defaults (options) {
|
||
var methods = [
|
||
'unlink',
|
||
'chmod',
|
||
'stat',
|
||
'lstat',
|
||
'rmdir',
|
||
'readdir'
|
||
]
|
||
methods.forEach(function(m) {
|
||
options[m] = options[m] || fs[m]
|
||
m = m + 'Sync'
|
||
options[m] = options[m] || fs[m]
|
||
})
|
||
|
||
options.maxBusyTries = options.maxBusyTries || 3
|
||
options.emfileWait = options.emfileWait || 1000
|
||
if (options.glob === false) {
|
||
options.disableGlob = true
|
||
}
|
||
if (options.disableGlob !== true && glob === undefined) {
|
||
throw Error('glob dependency not found, set `options.disableGlob = true` if intentional')
|
||
}
|
||
options.disableGlob = options.disableGlob || false
|
||
options.glob = options.glob || defaultGlobOpts
|
||
}
|
||
|
||
function rimraf (p, options, cb) {
|
||
if (typeof options === 'function') {
|
||
cb = options
|
||
options = {}
|
||
}
|
||
|
||
assert(p, 'rimraf: missing path')
|
||
assert.equal(typeof p, 'string', 'rimraf: path should be a string')
|
||
assert.equal(typeof cb, 'function', 'rimraf: callback function required')
|
||
assert(options, 'rimraf: invalid options argument provided')
|
||
assert.equal(typeof options, 'object', 'rimraf: options should be object')
|
||
|
||
defaults(options)
|
||
|
||
var busyTries = 0
|
||
var errState = null
|
||
var n = 0
|
||
|
||
if (options.disableGlob || !glob.hasMagic(p))
|
||
return afterGlob(null, [p])
|
||
|
||
options.lstat(p, function (er, stat) {
|
||
if (!er)
|
||
return afterGlob(null, [p])
|
||
|
||
glob(p, options.glob, afterGlob)
|
||
})
|
||
|
||
function next (er) {
|
||
errState = errState || er
|
||
if (--n === 0)
|
||
cb(errState)
|
||
}
|
||
|
||
function afterGlob (er, results) {
|
||
if (er)
|
||
return cb(er)
|
||
|
||
n = results.length
|
||
if (n === 0)
|
||
return cb()
|
||
|
||
results.forEach(function (p) {
|
||
rimraf_(p, options, function CB (er) {
|
||
if (er) {
|
||
if ((er.code === "EBUSY" || er.code === "ENOTEMPTY" || er.code === "EPERM") &&
|
||
busyTries < options.maxBusyTries) {
|
||
busyTries ++
|
||
var time = busyTries * 100
|
||
// try again, with the same exact callback as this one.
|
||
return setTimeout(function () {
|
||
rimraf_(p, options, CB)
|
||
}, time)
|
||
}
|
||
|
||
// this one won't happen if graceful-fs is used.
|
||
if (er.code === "EMFILE" && timeout < options.emfileWait) {
|
||
return setTimeout(function () {
|
||
rimraf_(p, options, CB)
|
||
}, timeout ++)
|
||
}
|
||
|
||
// already gone
|
||
if (er.code === "ENOENT") er = null
|
||
}
|
||
|
||
timeout = 0
|
||
next(er)
|
||
})
|
||
})
|
||
}
|
||
}
|
||
|
||
// Two possible strategies.
|
||
// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR
|
||
// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR
|
||
//
|
||
// Both result in an extra syscall when you guess wrong. However, there
|
||
// are likely far more normal files in the world than directories. This
|
||
// is based on the assumption that a the average number of files per
|
||
// directory is >= 1.
|
||
//
|
||
// If anyone ever complains about this, then I guess the strategy could
|
||
// be made configurable somehow. But until then, YAGNI.
|
||
function rimraf_ (p, options, cb) {
|
||
assert(p)
|
||
assert(options)
|
||
assert(typeof cb === 'function')
|
||
|
||
// sunos lets the root user unlink directories, which is... weird.
|
||
// so we have to lstat here and make sure it's not a dir.
|
||
options.lstat(p, function (er, st) {
|
||
if (er && er.code === "ENOENT")
|
||
return cb(null)
|
||
|
||
// Windows can EPERM on stat. Life is suffering.
|
||
if (er && er.code === "EPERM" && isWindows)
|
||
fixWinEPERM(p, options, er, cb)
|
||
|
||
if (st && st.isDirectory())
|
||
return rmdir(p, options, er, cb)
|
||
|
||
options.unlink(p, function (er) {
|
||
if (er) {
|
||
if (er.code === "ENOENT")
|
||
return cb(null)
|
||
if (er.code === "EPERM")
|
||
return (isWindows)
|
||
? fixWinEPERM(p, options, er, cb)
|
||
: rmdir(p, options, er, cb)
|
||
if (er.code === "EISDIR")
|
||
return rmdir(p, options, er, cb)
|
||
}
|
||
return cb(er)
|
||
})
|
||
})
|
||
}
|
||
|
||
function fixWinEPERM (p, options, er, cb) {
|
||
assert(p)
|
||
assert(options)
|
||
assert(typeof cb === 'function')
|
||
if (er)
|
||
assert(er instanceof Error)
|
||
|
||
options.chmod(p, _0666, function (er2) {
|
||
if (er2)
|
||
cb(er2.code === "ENOENT" ? null : er)
|
||
else
|
||
options.stat(p, function(er3, stats) {
|
||
if (er3)
|
||
cb(er3.code === "ENOENT" ? null : er)
|
||
else if (stats.isDirectory())
|
||
rmdir(p, options, er, cb)
|
||
else
|
||
options.unlink(p, cb)
|
||
})
|
||
})
|
||
}
|
||
|
||
function fixWinEPERMSync (p, options, er) {
|
||
assert(p)
|
||
assert(options)
|
||
if (er)
|
||
assert(er instanceof Error)
|
||
|
||
try {
|
||
options.chmodSync(p, _0666)
|
||
} catch (er2) {
|
||
if (er2.code === "ENOENT")
|
||
return
|
||
else
|
||
throw er
|
||
}
|
||
|
||
try {
|
||
var stats = options.statSync(p)
|
||
} catch (er3) {
|
||
if (er3.code === "ENOENT")
|
||
return
|
||
else
|
||
throw er
|
||
}
|
||
|
||
if (stats.isDirectory())
|
||
rmdirSync(p, options, er)
|
||
else
|
||
options.unlinkSync(p)
|
||
}
|
||
|
||
function rmdir (p, options, originalEr, cb) {
|
||
assert(p)
|
||
assert(options)
|
||
if (originalEr)
|
||
assert(originalEr instanceof Error)
|
||
assert(typeof cb === 'function')
|
||
|
||
// try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS)
|
||
// if we guessed wrong, and it's not a directory, then
|
||
// raise the original error.
|
||
options.rmdir(p, function (er) {
|
||
if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM"))
|
||
rmkids(p, options, cb)
|
||
else if (er && er.code === "ENOTDIR")
|
||
cb(originalEr)
|
||
else
|
||
cb(er)
|
||
})
|
||
}
|
||
|
||
function rmkids(p, options, cb) {
|
||
assert(p)
|
||
assert(options)
|
||
assert(typeof cb === 'function')
|
||
|
||
options.readdir(p, function (er, files) {
|
||
if (er)
|
||
return cb(er)
|
||
var n = files.length
|
||
if (n === 0)
|
||
return options.rmdir(p, cb)
|
||
var errState
|
||
files.forEach(function (f) {
|
||
rimraf(path.join(p, f), options, function (er) {
|
||
if (errState)
|
||
return
|
||
if (er)
|
||
return cb(errState = er)
|
||
if (--n === 0)
|
||
options.rmdir(p, cb)
|
||
})
|
||
})
|
||
})
|
||
}
|
||
|
||
// this looks simpler, and is strictly *faster*, but will
|
||
// tie up the JavaScript thread and fail on excessively
|
||
// deep directory trees.
|
||
function rimrafSync (p, options) {
|
||
options = options || {}
|
||
defaults(options)
|
||
|
||
assert(p, 'rimraf: missing path')
|
||
assert.equal(typeof p, 'string', 'rimraf: path should be a string')
|
||
assert(options, 'rimraf: missing options')
|
||
assert.equal(typeof options, 'object', 'rimraf: options should be object')
|
||
|
||
var results
|
||
|
||
if (options.disableGlob || !glob.hasMagic(p)) {
|
||
results = [p]
|
||
} else {
|
||
try {
|
||
options.lstatSync(p)
|
||
results = [p]
|
||
} catch (er) {
|
||
results = glob.sync(p, options.glob)
|
||
}
|
||
}
|
||
|
||
if (!results.length)
|
||
return
|
||
|
||
for (var i = 0; i < results.length; i++) {
|
||
var p = results[i]
|
||
|
||
try {
|
||
var st = options.lstatSync(p)
|
||
} catch (er) {
|
||
if (er.code === "ENOENT")
|
||
return
|
||
|
||
// Windows can EPERM on stat. Life is suffering.
|
||
if (er.code === "EPERM" && isWindows)
|
||
fixWinEPERMSync(p, options, er)
|
||
}
|
||
|
||
try {
|
||
// sunos lets the root user unlink directories, which is... weird.
|
||
if (st && st.isDirectory())
|
||
rmdirSync(p, options, null)
|
||
else
|
||
options.unlinkSync(p)
|
||
} catch (er) {
|
||
if (er.code === "ENOENT")
|
||
return
|
||
if (er.code === "EPERM")
|
||
return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er)
|
||
if (er.code !== "EISDIR")
|
||
throw er
|
||
|
||
rmdirSync(p, options, er)
|
||
}
|
||
}
|
||
}
|
||
|
||
function rmdirSync (p, options, originalEr) {
|
||
assert(p)
|
||
assert(options)
|
||
if (originalEr)
|
||
assert(originalEr instanceof Error)
|
||
|
||
try {
|
||
options.rmdirSync(p)
|
||
} catch (er) {
|
||
if (er.code === "ENOENT")
|
||
return
|
||
if (er.code === "ENOTDIR")
|
||
throw originalEr
|
||
if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")
|
||
rmkidsSync(p, options)
|
||
}
|
||
}
|
||
|
||
function rmkidsSync (p, options) {
|
||
assert(p)
|
||
assert(options)
|
||
options.readdirSync(p).forEach(function (f) {
|
||
rimrafSync(path.join(p, f), options)
|
||
})
|
||
|
||
// We only end up here once we got ENOTEMPTY at least once, and
|
||
// at this point, we are guaranteed to have removed all the kids.
|
||
// So, we know that it won't be ENOENT or ENOTDIR or anything else.
|
||
// try really hard to delete stuff on windows, because it has a
|
||
// PROFOUNDLY annoying habit of not closing handles promptly when
|
||
// files are deleted, resulting in spurious ENOTEMPTY errors.
|
||
var retries = isWindows ? 100 : 1
|
||
var i = 0
|
||
do {
|
||
var threw = true
|
||
try {
|
||
var ret = options.rmdirSync(p, options)
|
||
threw = false
|
||
return ret
|
||
} finally {
|
||
if (++i < retries && threw)
|
||
continue
|
||
}
|
||
} while (true)
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 160 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// Copyright Joyent, Inc. and other Node contributors.
|
||
//
|
||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||
// copy of this software and associated documentation files (the
|
||
// "Software"), to deal in the Software without restriction, including
|
||
// without limitation the rights to use, copy, modify, merge, publish,
|
||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||
// persons to whom the Software is furnished to do so, subject to the
|
||
// following conditions:
|
||
//
|
||
// The above copyright notice and this permission notice shall be included
|
||
// in all copies or substantial portions of the Software.
|
||
//
|
||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||
|
||
var pathModule = __webpack_require__(1);
|
||
var isWindows = process.platform === 'win32';
|
||
var fs = __webpack_require__(6);
|
||
|
||
// JavaScript implementation of realpath, ported from node pre-v6
|
||
|
||
var DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG);
|
||
|
||
function rethrow() {
|
||
// Only enable in debug mode. A backtrace uses ~1000 bytes of heap space and
|
||
// is fairly slow to generate.
|
||
var callback;
|
||
if (DEBUG) {
|
||
var backtrace = new Error;
|
||
callback = debugCallback;
|
||
} else
|
||
callback = missingCallback;
|
||
|
||
return callback;
|
||
|
||
function debugCallback(err) {
|
||
if (err) {
|
||
backtrace.message = err.message;
|
||
err = backtrace;
|
||
missingCallback(err);
|
||
}
|
||
}
|
||
|
||
function missingCallback(err) {
|
||
if (err) {
|
||
if (process.throwDeprecation)
|
||
throw err; // Forgot a callback but don't know where? Use NODE_DEBUG=fs
|
||
else if (!process.noDeprecation) {
|
||
var msg = 'fs: missing callback ' + (err.stack || err.message);
|
||
if (process.traceDeprecation)
|
||
console.trace(msg);
|
||
else
|
||
console.error(msg);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
function maybeCallback(cb) {
|
||
return typeof cb === 'function' ? cb : rethrow();
|
||
}
|
||
|
||
var normalize = pathModule.normalize;
|
||
|
||
// Regexp that finds the next partion of a (partial) path
|
||
// result is [base_with_slash, base], e.g. ['somedir/', 'somedir']
|
||
if (isWindows) {
|
||
var nextPartRe = /(.*?)(?:[\/\\]+|$)/g;
|
||
} else {
|
||
var nextPartRe = /(.*?)(?:[\/]+|$)/g;
|
||
}
|
||
|
||
// Regex to find the device root, including trailing slash. E.g. 'c:\\'.
|
||
if (isWindows) {
|
||
var splitRootRe = /^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/;
|
||
} else {
|
||
var splitRootRe = /^[\/]*/;
|
||
}
|
||
|
||
exports.realpathSync = function realpathSync(p, cache) {
|
||
// make p is absolute
|
||
p = pathModule.resolve(p);
|
||
|
||
if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {
|
||
return cache[p];
|
||
}
|
||
|
||
var original = p,
|
||
seenLinks = {},
|
||
knownHard = {};
|
||
|
||
// current character position in p
|
||
var pos;
|
||
// the partial path so far, including a trailing slash if any
|
||
var current;
|
||
// the partial path without a trailing slash (except when pointing at a root)
|
||
var base;
|
||
// the partial path scanned in the previous round, with slash
|
||
var previous;
|
||
|
||
start();
|
||
|
||
function start() {
|
||
// Skip over roots
|
||
var m = splitRootRe.exec(p);
|
||
pos = m[0].length;
|
||
current = m[0];
|
||
base = m[0];
|
||
previous = '';
|
||
|
||
// On windows, check that the root exists. On unix there is no need.
|
||
if (isWindows && !knownHard[base]) {
|
||
fs.lstatSync(base);
|
||
knownHard[base] = true;
|
||
}
|
||
}
|
||
|
||
// walk down the path, swapping out linked pathparts for their real
|
||
// values
|
||
// NB: p.length changes.
|
||
while (pos < p.length) {
|
||
// find the next part
|
||
nextPartRe.lastIndex = pos;
|
||
var result = nextPartRe.exec(p);
|
||
previous = current;
|
||
current += result[0];
|
||
base = previous + result[1];
|
||
pos = nextPartRe.lastIndex;
|
||
|
||
// continue if not a symlink
|
||
if (knownHard[base] || (cache && cache[base] === base)) {
|
||
continue;
|
||
}
|
||
|
||
var resolvedLink;
|
||
if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {
|
||
// some known symbolic link. no need to stat again.
|
||
resolvedLink = cache[base];
|
||
} else {
|
||
var stat = fs.lstatSync(base);
|
||
if (!stat.isSymbolicLink()) {
|
||
knownHard[base] = true;
|
||
if (cache) cache[base] = base;
|
||
continue;
|
||
}
|
||
|
||
// read the link if it wasn't read before
|
||
// dev/ino always return 0 on windows, so skip the check.
|
||
var linkTarget = null;
|
||
if (!isWindows) {
|
||
var id = stat.dev.toString(32) + ':' + stat.ino.toString(32);
|
||
if (seenLinks.hasOwnProperty(id)) {
|
||
linkTarget = seenLinks[id];
|
||
}
|
||
}
|
||
if (linkTarget === null) {
|
||
fs.statSync(base);
|
||
linkTarget = fs.readlinkSync(base);
|
||
}
|
||
resolvedLink = pathModule.resolve(previous, linkTarget);
|
||
// track this, if given a cache.
|
||
if (cache) cache[base] = resolvedLink;
|
||
if (!isWindows) seenLinks[id] = linkTarget;
|
||
}
|
||
|
||
// resolve the link, then start over
|
||
p = pathModule.resolve(resolvedLink, p.slice(pos));
|
||
start();
|
||
}
|
||
|
||
if (cache) cache[original] = p;
|
||
|
||
return p;
|
||
};
|
||
|
||
|
||
exports.realpath = function realpath(p, cache, cb) {
|
||
if (typeof cb !== 'function') {
|
||
cb = maybeCallback(cache);
|
||
cache = null;
|
||
}
|
||
|
||
// make p is absolute
|
||
p = pathModule.resolve(p);
|
||
|
||
if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {
|
||
return process.nextTick(cb.bind(null, null, cache[p]));
|
||
}
|
||
|
||
var original = p,
|
||
seenLinks = {},
|
||
knownHard = {};
|
||
|
||
// current character position in p
|
||
var pos;
|
||
// the partial path so far, including a trailing slash if any
|
||
var current;
|
||
// the partial path without a trailing slash (except when pointing at a root)
|
||
var base;
|
||
// the partial path scanned in the previous round, with slash
|
||
var previous;
|
||
|
||
start();
|
||
|
||
function start() {
|
||
// Skip over roots
|
||
var m = splitRootRe.exec(p);
|
||
pos = m[0].length;
|
||
current = m[0];
|
||
base = m[0];
|
||
previous = '';
|
||
|
||
// On windows, check that the root exists. On unix there is no need.
|
||
if (isWindows && !knownHard[base]) {
|
||
fs.lstat(base, function(err) {
|
||
if (err) return cb(err);
|
||
knownHard[base] = true;
|
||
LOOP();
|
||
});
|
||
} else {
|
||
process.nextTick(LOOP);
|
||
}
|
||
}
|
||
|
||
// walk down the path, swapping out linked pathparts for their real
|
||
// values
|
||
function LOOP() {
|
||
// stop if scanned past end of path
|
||
if (pos >= p.length) {
|
||
if (cache) cache[original] = p;
|
||
return cb(null, p);
|
||
}
|
||
|
||
// find the next part
|
||
nextPartRe.lastIndex = pos;
|
||
var result = nextPartRe.exec(p);
|
||
previous = current;
|
||
current += result[0];
|
||
base = previous + result[1];
|
||
pos = nextPartRe.lastIndex;
|
||
|
||
// continue if not a symlink
|
||
if (knownHard[base] || (cache && cache[base] === base)) {
|
||
return process.nextTick(LOOP);
|
||
}
|
||
|
||
if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {
|
||
// known symbolic link. no need to stat again.
|
||
return gotResolvedLink(cache[base]);
|
||
}
|
||
|
||
return fs.lstat(base, gotStat);
|
||
}
|
||
|
||
function gotStat(err, stat) {
|
||
if (err) return cb(err);
|
||
|
||
// if not a symlink, skip to the next path part
|
||
if (!stat.isSymbolicLink()) {
|
||
knownHard[base] = true;
|
||
if (cache) cache[base] = base;
|
||
return process.nextTick(LOOP);
|
||
}
|
||
|
||
// stat & read the link if not read before
|
||
// call gotTarget as soon as the link target is known
|
||
// dev/ino always return 0 on windows, so skip the check.
|
||
if (!isWindows) {
|
||
var id = stat.dev.toString(32) + ':' + stat.ino.toString(32);
|
||
if (seenLinks.hasOwnProperty(id)) {
|
||
return gotTarget(null, seenLinks[id], base);
|
||
}
|
||
}
|
||
fs.stat(base, function(err) {
|
||
if (err) return cb(err);
|
||
|
||
fs.readlink(base, function(err, target) {
|
||
if (!isWindows) seenLinks[id] = target;
|
||
gotTarget(err, target);
|
||
});
|
||
});
|
||
}
|
||
|
||
function gotTarget(err, target, base) {
|
||
if (err) return cb(err);
|
||
|
||
var resolvedLink = pathModule.resolve(previous, target);
|
||
if (cache) cache[base] = resolvedLink;
|
||
gotResolvedLink(resolvedLink);
|
||
}
|
||
|
||
function gotResolvedLink(resolvedLink) {
|
||
// resolve the link, then start over
|
||
p = pathModule.resolve(resolvedLink, p.slice(pos));
|
||
start();
|
||
}
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 161 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var concatMap = __webpack_require__(162);
|
||
var balanced = __webpack_require__(163);
|
||
|
||
module.exports = expandTop;
|
||
|
||
var escSlash = '\0SLASH'+Math.random()+'\0';
|
||
var escOpen = '\0OPEN'+Math.random()+'\0';
|
||
var escClose = '\0CLOSE'+Math.random()+'\0';
|
||
var escComma = '\0COMMA'+Math.random()+'\0';
|
||
var escPeriod = '\0PERIOD'+Math.random()+'\0';
|
||
|
||
function numeric(str) {
|
||
return parseInt(str, 10) == str
|
||
? parseInt(str, 10)
|
||
: str.charCodeAt(0);
|
||
}
|
||
|
||
function escapeBraces(str) {
|
||
return str.split('\\\\').join(escSlash)
|
||
.split('\\{').join(escOpen)
|
||
.split('\\}').join(escClose)
|
||
.split('\\,').join(escComma)
|
||
.split('\\.').join(escPeriod);
|
||
}
|
||
|
||
function unescapeBraces(str) {
|
||
return str.split(escSlash).join('\\')
|
||
.split(escOpen).join('{')
|
||
.split(escClose).join('}')
|
||
.split(escComma).join(',')
|
||
.split(escPeriod).join('.');
|
||
}
|
||
|
||
|
||
// Basically just str.split(","), but handling cases
|
||
// where we have nested braced sections, which should be
|
||
// treated as individual members, like {a,{b,c},d}
|
||
function parseCommaParts(str) {
|
||
if (!str)
|
||
return [''];
|
||
|
||
var parts = [];
|
||
var m = balanced('{', '}', str);
|
||
|
||
if (!m)
|
||
return str.split(',');
|
||
|
||
var pre = m.pre;
|
||
var body = m.body;
|
||
var post = m.post;
|
||
var p = pre.split(',');
|
||
|
||
p[p.length-1] += '{' + body + '}';
|
||
var postParts = parseCommaParts(post);
|
||
if (post.length) {
|
||
p[p.length-1] += postParts.shift();
|
||
p.push.apply(p, postParts);
|
||
}
|
||
|
||
parts.push.apply(parts, p);
|
||
|
||
return parts;
|
||
}
|
||
|
||
function expandTop(str) {
|
||
if (!str)
|
||
return [];
|
||
|
||
// I don't know why Bash 4.3 does this, but it does.
|
||
// Anything starting with {} will have the first two bytes preserved
|
||
// but *only* at the top level, so {},a}b will not expand to anything,
|
||
// but a{},b}c will be expanded to [a}c,abc].
|
||
// One could argue that this is a bug in Bash, but since the goal of
|
||
// this module is to match Bash's rules, we escape a leading {}
|
||
if (str.substr(0, 2) === '{}') {
|
||
str = '\\{\\}' + str.substr(2);
|
||
}
|
||
|
||
return expand(escapeBraces(str), true).map(unescapeBraces);
|
||
}
|
||
|
||
function identity(e) {
|
||
return e;
|
||
}
|
||
|
||
function embrace(str) {
|
||
return '{' + str + '}';
|
||
}
|
||
function isPadded(el) {
|
||
return /^-?0\d/.test(el);
|
||
}
|
||
|
||
function lte(i, y) {
|
||
return i <= y;
|
||
}
|
||
function gte(i, y) {
|
||
return i >= y;
|
||
}
|
||
|
||
function expand(str, isTop) {
|
||
var expansions = [];
|
||
|
||
var m = balanced('{', '}', str);
|
||
if (!m || /\$$/.test(m.pre)) return [str];
|
||
|
||
var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
|
||
var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
|
||
var isSequence = isNumericSequence || isAlphaSequence;
|
||
var isOptions = m.body.indexOf(',') >= 0;
|
||
if (!isSequence && !isOptions) {
|
||
// {a},b}
|
||
if (m.post.match(/,.*\}/)) {
|
||
str = m.pre + '{' + m.body + escClose + m.post;
|
||
return expand(str);
|
||
}
|
||
return [str];
|
||
}
|
||
|
||
var n;
|
||
if (isSequence) {
|
||
n = m.body.split(/\.\./);
|
||
} else {
|
||
n = parseCommaParts(m.body);
|
||
if (n.length === 1) {
|
||
// x{{a,b}}y ==> x{a}y x{b}y
|
||
n = expand(n[0], false).map(embrace);
|
||
if (n.length === 1) {
|
||
var post = m.post.length
|
||
? expand(m.post, false)
|
||
: [''];
|
||
return post.map(function(p) {
|
||
return m.pre + n[0] + p;
|
||
});
|
||
}
|
||
}
|
||
}
|
||
|
||
// at this point, n is the parts, and we know it's not a comma set
|
||
// with a single entry.
|
||
|
||
// no need to expand pre, since it is guaranteed to be free of brace-sets
|
||
var pre = m.pre;
|
||
var post = m.post.length
|
||
? expand(m.post, false)
|
||
: [''];
|
||
|
||
var N;
|
||
|
||
if (isSequence) {
|
||
var x = numeric(n[0]);
|
||
var y = numeric(n[1]);
|
||
var width = Math.max(n[0].length, n[1].length)
|
||
var incr = n.length == 3
|
||
? Math.abs(numeric(n[2]))
|
||
: 1;
|
||
var test = lte;
|
||
var reverse = y < x;
|
||
if (reverse) {
|
||
incr *= -1;
|
||
test = gte;
|
||
}
|
||
var pad = n.some(isPadded);
|
||
|
||
N = [];
|
||
|
||
for (var i = x; test(i, y); i += incr) {
|
||
var c;
|
||
if (isAlphaSequence) {
|
||
c = String.fromCharCode(i);
|
||
if (c === '\\')
|
||
c = '';
|
||
} else {
|
||
c = String(i);
|
||
if (pad) {
|
||
var need = width - c.length;
|
||
if (need > 0) {
|
||
var z = new Array(need + 1).join('0');
|
||
if (i < 0)
|
||
c = '-' + z + c.slice(1);
|
||
else
|
||
c = z + c;
|
||
}
|
||
}
|
||
}
|
||
N.push(c);
|
||
}
|
||
} else {
|
||
N = concatMap(n, function(el) { return expand(el, false) });
|
||
}
|
||
|
||
for (var j = 0; j < N.length; j++) {
|
||
for (var k = 0; k < post.length; k++) {
|
||
var expansion = pre + N[j] + post[k];
|
||
if (!isTop || isSequence || expansion)
|
||
expansions.push(expansion);
|
||
}
|
||
}
|
||
|
||
return expansions;
|
||
}
|
||
|
||
|
||
|
||
/***/ }),
|
||
/* 162 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = function (xs, fn) {
|
||
var res = [];
|
||
for (var i = 0; i < xs.length; i++) {
|
||
var x = fn(xs[i], i);
|
||
if (isArray(x)) res.push.apply(res, x);
|
||
else res.push(x);
|
||
}
|
||
return res;
|
||
};
|
||
|
||
var isArray = Array.isArray || function (xs) {
|
||
return Object.prototype.toString.call(xs) === '[object Array]';
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 163 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
module.exports = balanced;
|
||
function balanced(a, b, str) {
|
||
if (a instanceof RegExp) a = maybeMatch(a, str);
|
||
if (b instanceof RegExp) b = maybeMatch(b, str);
|
||
|
||
var r = range(a, b, str);
|
||
|
||
return r && {
|
||
start: r[0],
|
||
end: r[1],
|
||
pre: str.slice(0, r[0]),
|
||
body: str.slice(r[0] + a.length, r[1]),
|
||
post: str.slice(r[1] + b.length)
|
||
};
|
||
}
|
||
|
||
function maybeMatch(reg, str) {
|
||
var m = str.match(reg);
|
||
return m ? m[0] : null;
|
||
}
|
||
|
||
balanced.range = range;
|
||
function range(a, b, str) {
|
||
var begs, beg, left, right, result;
|
||
var ai = str.indexOf(a);
|
||
var bi = str.indexOf(b, ai + 1);
|
||
var i = ai;
|
||
|
||
if (ai >= 0 && bi > 0) {
|
||
if(a===b) {
|
||
return [ai, bi];
|
||
}
|
||
begs = [];
|
||
left = str.length;
|
||
|
||
while (i >= 0 && !result) {
|
||
if (i == ai) {
|
||
begs.push(i);
|
||
ai = str.indexOf(a, i + 1);
|
||
} else if (begs.length == 1) {
|
||
result = [ begs.pop(), bi ];
|
||
} else {
|
||
beg = begs.pop();
|
||
if (beg < left) {
|
||
left = beg;
|
||
right = bi;
|
||
}
|
||
|
||
bi = str.indexOf(b, i + 1);
|
||
}
|
||
|
||
i = ai < bi && ai >= 0 ? ai : bi;
|
||
}
|
||
|
||
if (begs.length) {
|
||
result = [ left, right ];
|
||
}
|
||
}
|
||
|
||
return result;
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 164 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
try {
|
||
var util = __webpack_require__(26);
|
||
/* istanbul ignore next */
|
||
if (typeof util.inherits !== 'function') throw '';
|
||
module.exports = util.inherits;
|
||
} catch (e) {
|
||
/* istanbul ignore next */
|
||
module.exports = __webpack_require__(165);
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 165 */
|
||
/***/ (function(module, exports) {
|
||
|
||
if (typeof Object.create === 'function') {
|
||
// implementation from standard node.js 'util' module
|
||
module.exports = function inherits(ctor, superCtor) {
|
||
if (superCtor) {
|
||
ctor.super_ = superCtor
|
||
ctor.prototype = Object.create(superCtor.prototype, {
|
||
constructor: {
|
||
value: ctor,
|
||
enumerable: false,
|
||
writable: true,
|
||
configurable: true
|
||
}
|
||
})
|
||
}
|
||
};
|
||
} else {
|
||
// old school shim for old browsers
|
||
module.exports = function inherits(ctor, superCtor) {
|
||
if (superCtor) {
|
||
ctor.super_ = superCtor
|
||
var TempCtor = function () {}
|
||
TempCtor.prototype = superCtor.prototype
|
||
ctor.prototype = new TempCtor()
|
||
ctor.prototype.constructor = ctor
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 166 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = globSync
|
||
globSync.GlobSync = GlobSync
|
||
|
||
var rp = __webpack_require__(81)
|
||
var minimatch = __webpack_require__(54)
|
||
var Minimatch = minimatch.Minimatch
|
||
var Glob = __webpack_require__(80).Glob
|
||
var util = __webpack_require__(26)
|
||
var path = __webpack_require__(1)
|
||
var assert = __webpack_require__(53)
|
||
var isAbsolute = __webpack_require__(55)
|
||
var common = __webpack_require__(83)
|
||
var setopts = common.setopts
|
||
var ownProp = common.ownProp
|
||
var childrenIgnored = common.childrenIgnored
|
||
var isIgnored = common.isIgnored
|
||
|
||
function globSync (pattern, options) {
|
||
if (typeof options === 'function' || arguments.length === 3)
|
||
throw new TypeError('callback provided to sync glob\n'+
|
||
'See: https://github.com/isaacs/node-glob/issues/167')
|
||
|
||
return new GlobSync(pattern, options).found
|
||
}
|
||
|
||
function GlobSync (pattern, options) {
|
||
if (!pattern)
|
||
throw new Error('must provide pattern')
|
||
|
||
if (typeof options === 'function' || arguments.length === 3)
|
||
throw new TypeError('callback provided to sync glob\n'+
|
||
'See: https://github.com/isaacs/node-glob/issues/167')
|
||
|
||
if (!(this instanceof GlobSync))
|
||
return new GlobSync(pattern, options)
|
||
|
||
setopts(this, pattern, options)
|
||
|
||
if (this.noprocess)
|
||
return this
|
||
|
||
var n = this.minimatch.set.length
|
||
this.matches = new Array(n)
|
||
for (var i = 0; i < n; i ++) {
|
||
this._process(this.minimatch.set[i], i, false)
|
||
}
|
||
this._finish()
|
||
}
|
||
|
||
GlobSync.prototype._finish = function () {
|
||
assert.ok(this instanceof GlobSync)
|
||
if (this.realpath) {
|
||
var self = this
|
||
this.matches.forEach(function (matchset, index) {
|
||
var set = self.matches[index] = Object.create(null)
|
||
for (var p in matchset) {
|
||
try {
|
||
p = self._makeAbs(p)
|
||
var real = rp.realpathSync(p, self.realpathCache)
|
||
set[real] = true
|
||
} catch (er) {
|
||
if (er.syscall === 'stat')
|
||
set[self._makeAbs(p)] = true
|
||
else
|
||
throw er
|
||
}
|
||
}
|
||
})
|
||
}
|
||
common.finish(this)
|
||
}
|
||
|
||
|
||
GlobSync.prototype._process = function (pattern, index, inGlobStar) {
|
||
assert.ok(this instanceof GlobSync)
|
||
|
||
// Get the first [n] parts of pattern that are all strings.
|
||
var n = 0
|
||
while (typeof pattern[n] === 'string') {
|
||
n ++
|
||
}
|
||
// now n is the index of the first one that is *not* a string.
|
||
|
||
// See if there's anything else
|
||
var prefix
|
||
switch (n) {
|
||
// if not, then this is rather simple
|
||
case pattern.length:
|
||
this._processSimple(pattern.join('/'), index)
|
||
return
|
||
|
||
case 0:
|
||
// pattern *starts* with some non-trivial item.
|
||
// going to readdir(cwd), but not include the prefix in matches.
|
||
prefix = null
|
||
break
|
||
|
||
default:
|
||
// pattern has some string bits in the front.
|
||
// whatever it starts with, whether that's 'absolute' like /foo/bar,
|
||
// or 'relative' like '../baz'
|
||
prefix = pattern.slice(0, n).join('/')
|
||
break
|
||
}
|
||
|
||
var remain = pattern.slice(n)
|
||
|
||
// get the list of entries.
|
||
var read
|
||
if (prefix === null)
|
||
read = '.'
|
||
else if (isAbsolute(prefix) ||
|
||
isAbsolute(pattern.map(function (p) {
|
||
return typeof p === 'string' ? p : '[*]'
|
||
}).join('/'))) {
|
||
if (!prefix || !isAbsolute(prefix))
|
||
prefix = '/' + prefix
|
||
read = prefix
|
||
} else
|
||
read = prefix
|
||
|
||
var abs = this._makeAbs(read)
|
||
|
||
//if ignored, skip processing
|
||
if (childrenIgnored(this, read))
|
||
return
|
||
|
||
var isGlobStar = remain[0] === minimatch.GLOBSTAR
|
||
if (isGlobStar)
|
||
this._processGlobStar(prefix, read, abs, remain, index, inGlobStar)
|
||
else
|
||
this._processReaddir(prefix, read, abs, remain, index, inGlobStar)
|
||
}
|
||
|
||
|
||
GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) {
|
||
var entries = this._readdir(abs, inGlobStar)
|
||
|
||
// if the abs isn't a dir, then nothing can match!
|
||
if (!entries)
|
||
return
|
||
|
||
// It will only match dot entries if it starts with a dot, or if
|
||
// dot is set. Stuff like @(.foo|.bar) isn't allowed.
|
||
var pn = remain[0]
|
||
var negate = !!this.minimatch.negate
|
||
var rawGlob = pn._glob
|
||
var dotOk = this.dot || rawGlob.charAt(0) === '.'
|
||
|
||
var matchedEntries = []
|
||
for (var i = 0; i < entries.length; i++) {
|
||
var e = entries[i]
|
||
if (e.charAt(0) !== '.' || dotOk) {
|
||
var m
|
||
if (negate && !prefix) {
|
||
m = !e.match(pn)
|
||
} else {
|
||
m = e.match(pn)
|
||
}
|
||
if (m)
|
||
matchedEntries.push(e)
|
||
}
|
||
}
|
||
|
||
var len = matchedEntries.length
|
||
// If there are no matched entries, then nothing matches.
|
||
if (len === 0)
|
||
return
|
||
|
||
// if this is the last remaining pattern bit, then no need for
|
||
// an additional stat *unless* the user has specified mark or
|
||
// stat explicitly. We know they exist, since readdir returned
|
||
// them.
|
||
|
||
if (remain.length === 1 && !this.mark && !this.stat) {
|
||
if (!this.matches[index])
|
||
this.matches[index] = Object.create(null)
|
||
|
||
for (var i = 0; i < len; i ++) {
|
||
var e = matchedEntries[i]
|
||
if (prefix) {
|
||
if (prefix.slice(-1) !== '/')
|
||
e = prefix + '/' + e
|
||
else
|
||
e = prefix + e
|
||
}
|
||
|
||
if (e.charAt(0) === '/' && !this.nomount) {
|
||
e = path.join(this.root, e)
|
||
}
|
||
this._emitMatch(index, e)
|
||
}
|
||
// This was the last one, and no stats were needed
|
||
return
|
||
}
|
||
|
||
// now test all matched entries as stand-ins for that part
|
||
// of the pattern.
|
||
remain.shift()
|
||
for (var i = 0; i < len; i ++) {
|
||
var e = matchedEntries[i]
|
||
var newPattern
|
||
if (prefix)
|
||
newPattern = [prefix, e]
|
||
else
|
||
newPattern = [e]
|
||
this._process(newPattern.concat(remain), index, inGlobStar)
|
||
}
|
||
}
|
||
|
||
|
||
GlobSync.prototype._emitMatch = function (index, e) {
|
||
if (isIgnored(this, e))
|
||
return
|
||
|
||
var abs = this._makeAbs(e)
|
||
|
||
if (this.mark)
|
||
e = this._mark(e)
|
||
|
||
if (this.absolute) {
|
||
e = abs
|
||
}
|
||
|
||
if (this.matches[index][e])
|
||
return
|
||
|
||
if (this.nodir) {
|
||
var c = this.cache[abs]
|
||
if (c === 'DIR' || Array.isArray(c))
|
||
return
|
||
}
|
||
|
||
this.matches[index][e] = true
|
||
|
||
if (this.stat)
|
||
this._stat(e)
|
||
}
|
||
|
||
|
||
GlobSync.prototype._readdirInGlobStar = function (abs) {
|
||
// follow all symlinked directories forever
|
||
// just proceed as if this is a non-globstar situation
|
||
if (this.follow)
|
||
return this._readdir(abs, false)
|
||
|
||
var entries
|
||
var lstat
|
||
var stat
|
||
try {
|
||
lstat = this.fs.lstatSync(abs)
|
||
} catch (er) {
|
||
if (er.code === 'ENOENT') {
|
||
// lstat failed, doesn't exist
|
||
return null
|
||
}
|
||
}
|
||
|
||
var isSym = lstat && lstat.isSymbolicLink()
|
||
this.symlinks[abs] = isSym
|
||
|
||
// If it's not a symlink or a dir, then it's definitely a regular file.
|
||
// don't bother doing a readdir in that case.
|
||
if (!isSym && lstat && !lstat.isDirectory())
|
||
this.cache[abs] = 'FILE'
|
||
else
|
||
entries = this._readdir(abs, false)
|
||
|
||
return entries
|
||
}
|
||
|
||
GlobSync.prototype._readdir = function (abs, inGlobStar) {
|
||
var entries
|
||
|
||
if (inGlobStar && !ownProp(this.symlinks, abs))
|
||
return this._readdirInGlobStar(abs)
|
||
|
||
if (ownProp(this.cache, abs)) {
|
||
var c = this.cache[abs]
|
||
if (!c || c === 'FILE')
|
||
return null
|
||
|
||
if (Array.isArray(c))
|
||
return c
|
||
}
|
||
|
||
try {
|
||
return this._readdirEntries(abs, this.fs.readdirSync(abs))
|
||
} catch (er) {
|
||
this._readdirError(abs, er)
|
||
return null
|
||
}
|
||
}
|
||
|
||
GlobSync.prototype._readdirEntries = function (abs, entries) {
|
||
// if we haven't asked to stat everything, then just
|
||
// assume that everything in there exists, so we can avoid
|
||
// having to stat it a second time.
|
||
if (!this.mark && !this.stat) {
|
||
for (var i = 0; i < entries.length; i ++) {
|
||
var e = entries[i]
|
||
if (abs === '/')
|
||
e = abs + e
|
||
else
|
||
e = abs + '/' + e
|
||
this.cache[e] = true
|
||
}
|
||
}
|
||
|
||
this.cache[abs] = entries
|
||
|
||
// mark and cache dir-ness
|
||
return entries
|
||
}
|
||
|
||
GlobSync.prototype._readdirError = function (f, er) {
|
||
// handle errors, and cache the information
|
||
switch (er.code) {
|
||
case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205
|
||
case 'ENOTDIR': // totally normal. means it *does* exist.
|
||
var abs = this._makeAbs(f)
|
||
this.cache[abs] = 'FILE'
|
||
if (abs === this.cwdAbs) {
|
||
var error = new Error(er.code + ' invalid cwd ' + this.cwd)
|
||
error.path = this.cwd
|
||
error.code = er.code
|
||
throw error
|
||
}
|
||
break
|
||
|
||
case 'ENOENT': // not terribly unusual
|
||
case 'ELOOP':
|
||
case 'ENAMETOOLONG':
|
||
case 'UNKNOWN':
|
||
this.cache[this._makeAbs(f)] = false
|
||
break
|
||
|
||
default: // some unusual error. Treat as failure.
|
||
this.cache[this._makeAbs(f)] = false
|
||
if (this.strict)
|
||
throw er
|
||
if (!this.silent)
|
||
console.error('glob error', er)
|
||
break
|
||
}
|
||
}
|
||
|
||
GlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) {
|
||
|
||
var entries = this._readdir(abs, inGlobStar)
|
||
|
||
// no entries means not a dir, so it can never have matches
|
||
// foo.txt/** doesn't match foo.txt
|
||
if (!entries)
|
||
return
|
||
|
||
// test without the globstar, and with every child both below
|
||
// and replacing the globstar.
|
||
var remainWithoutGlobStar = remain.slice(1)
|
||
var gspref = prefix ? [ prefix ] : []
|
||
var noGlobStar = gspref.concat(remainWithoutGlobStar)
|
||
|
||
// the noGlobStar pattern exits the inGlobStar state
|
||
this._process(noGlobStar, index, false)
|
||
|
||
var len = entries.length
|
||
var isSym = this.symlinks[abs]
|
||
|
||
// If it's a symlink, and we're in a globstar, then stop
|
||
if (isSym && inGlobStar)
|
||
return
|
||
|
||
for (var i = 0; i < len; i++) {
|
||
var e = entries[i]
|
||
if (e.charAt(0) === '.' && !this.dot)
|
||
continue
|
||
|
||
// these two cases enter the inGlobStar state
|
||
var instead = gspref.concat(entries[i], remainWithoutGlobStar)
|
||
this._process(instead, index, true)
|
||
|
||
var below = gspref.concat(entries[i], remain)
|
||
this._process(below, index, true)
|
||
}
|
||
}
|
||
|
||
GlobSync.prototype._processSimple = function (prefix, index) {
|
||
// XXX review this. Shouldn't it be doing the mounting etc
|
||
// before doing stat? kinda weird?
|
||
var exists = this._stat(prefix)
|
||
|
||
if (!this.matches[index])
|
||
this.matches[index] = Object.create(null)
|
||
|
||
// If it doesn't exist, then just mark the lack of results
|
||
if (!exists)
|
||
return
|
||
|
||
if (prefix && isAbsolute(prefix) && !this.nomount) {
|
||
var trail = /[\/\\]$/.test(prefix)
|
||
if (prefix.charAt(0) === '/') {
|
||
prefix = path.join(this.root, prefix)
|
||
} else {
|
||
prefix = path.resolve(this.root, prefix)
|
||
if (trail)
|
||
prefix += '/'
|
||
}
|
||
}
|
||
|
||
if (process.platform === 'win32')
|
||
prefix = prefix.replace(/\\/g, '/')
|
||
|
||
// Mark this as a match
|
||
this._emitMatch(index, prefix)
|
||
}
|
||
|
||
// Returns either 'DIR', 'FILE', or false
|
||
GlobSync.prototype._stat = function (f) {
|
||
var abs = this._makeAbs(f)
|
||
var needDir = f.slice(-1) === '/'
|
||
|
||
if (f.length > this.maxLength)
|
||
return false
|
||
|
||
if (!this.stat && ownProp(this.cache, abs)) {
|
||
var c = this.cache[abs]
|
||
|
||
if (Array.isArray(c))
|
||
c = 'DIR'
|
||
|
||
// It exists, but maybe not how we need it
|
||
if (!needDir || c === 'DIR')
|
||
return c
|
||
|
||
if (needDir && c === 'FILE')
|
||
return false
|
||
|
||
// otherwise we have to stat, because maybe c=true
|
||
// if we know it exists, but not what it is.
|
||
}
|
||
|
||
var exists
|
||
var stat = this.statCache[abs]
|
||
if (!stat) {
|
||
var lstat
|
||
try {
|
||
lstat = this.fs.lstatSync(abs)
|
||
} catch (er) {
|
||
if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) {
|
||
this.statCache[abs] = false
|
||
return false
|
||
}
|
||
}
|
||
|
||
if (lstat && lstat.isSymbolicLink()) {
|
||
try {
|
||
stat = this.fs.statSync(abs)
|
||
} catch (er) {
|
||
stat = lstat
|
||
}
|
||
} else {
|
||
stat = lstat
|
||
}
|
||
}
|
||
|
||
this.statCache[abs] = stat
|
||
|
||
var c = true
|
||
if (stat)
|
||
c = stat.isDirectory() ? 'DIR' : 'FILE'
|
||
|
||
this.cache[abs] = this.cache[abs] || c
|
||
|
||
if (needDir && c === 'FILE')
|
||
return false
|
||
|
||
return c
|
||
}
|
||
|
||
GlobSync.prototype._mark = function (p) {
|
||
return common.mark(this, p)
|
||
}
|
||
|
||
GlobSync.prototype._makeAbs = function (f) {
|
||
return common.makeAbs(this, f)
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 167 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var wrappy = __webpack_require__(84)
|
||
var reqs = Object.create(null)
|
||
var once = __webpack_require__(85)
|
||
|
||
module.exports = wrappy(inflight)
|
||
|
||
function inflight (key, cb) {
|
||
if (reqs[key]) {
|
||
reqs[key].push(cb)
|
||
return null
|
||
} else {
|
||
reqs[key] = [cb]
|
||
return makeres(key)
|
||
}
|
||
}
|
||
|
||
function makeres (key) {
|
||
return once(function RES () {
|
||
var cbs = reqs[key]
|
||
var len = cbs.length
|
||
var args = slice(arguments)
|
||
|
||
// XXX It's somewhat ambiguous whether a new callback added in this
|
||
// pass should be queued for later execution if something in the
|
||
// list of callbacks throws, or if it should just be discarded.
|
||
// However, it's such an edge case that it hardly matters, and either
|
||
// choice is likely as surprising as the other.
|
||
// As it happens, we do go ahead and schedule it for later execution.
|
||
try {
|
||
for (var i = 0; i < len; i++) {
|
||
cbs[i].apply(null, args)
|
||
}
|
||
} finally {
|
||
if (cbs.length > len) {
|
||
// added more in the interim.
|
||
// de-zalgo, just in case, but don't call again.
|
||
cbs.splice(0, len)
|
||
process.nextTick(function () {
|
||
RES.apply(null, args)
|
||
})
|
||
} else {
|
||
delete reqs[key]
|
||
}
|
||
}
|
||
})
|
||
}
|
||
|
||
function slice (args) {
|
||
var length = args.length
|
||
var array = []
|
||
|
||
for (var i = 0; i < length; i++) array[i] = args[i]
|
||
return array
|
||
}
|
||
|
||
|
||
/***/ }),
|
||
/* 168 */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Recorder; });
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_createClass__ = __webpack_require__(169);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_createClass__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_get_prototype_of__ = __webpack_require__(173);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_get_prototype_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_get_prototype_of__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__ = __webpack_require__(177);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(178);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(179);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_path__ = __webpack_require__(1);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_path___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_path__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_fs__ = __webpack_require__(6);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_fs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_fs__);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__config__ = __webpack_require__(27);
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
var os = __webpack_require__(10);
|
||
var platform = os.platform();
|
||
var arch = os.arch();
|
||
var moment = __webpack_require__(187);
|
||
|
||
var _require = __webpack_require__(15),
|
||
spawn = _require.spawn;
|
||
|
||
var EventEmitter = __webpack_require__(82);
|
||
var ffmpegExePath = __WEBPACK_IMPORTED_MODULE_5_path___default.a.join(Object(__WEBPACK_IMPORTED_MODULE_7__config__["a" /* GetHomeDir */])(), "ffplay");
|
||
|
||
var MyEmitter = function (_EventEmitter) {
|
||
__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(MyEmitter, _EventEmitter);
|
||
|
||
function MyEmitter() {
|
||
__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, MyEmitter);
|
||
|
||
return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, (MyEmitter.__proto__ || __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_get_prototype_of___default()(MyEmitter)).apply(this, arguments));
|
||
}
|
||
|
||
return MyEmitter;
|
||
}(EventEmitter);
|
||
|
||
var myEmitter = new MyEmitter();
|
||
|
||
var Recorder = function () {
|
||
function Recorder() {
|
||
var option = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
||
|
||
__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, Recorder);
|
||
|
||
this.shell = undefined;
|
||
this.filename = moment(parseInt(new Date().getTime())).format("YYYYMMDDHHmmss") + ".mp4";
|
||
this.exe = "ffmpeg.exe";
|
||
if (platform === "win32") {
|
||
this.exe = "ffmpeg.exe";
|
||
this.params = "-f gdigrab -r 30 -y -i desktop -pix_fmt yuv420p";
|
||
}
|
||
if (platform === "linux") {
|
||
switch (arch) {
|
||
case "x64":
|
||
this.exe = "ffmpeg_x86";
|
||
break;
|
||
case "arm":
|
||
this.exe = "ffmpeg_arm";
|
||
break;
|
||
}
|
||
this.params = "-v verbose -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -c:v libx264 -preset ultrafast -crf 18";
|
||
}
|
||
this.commands = __WEBPACK_IMPORTED_MODULE_5_path___default.a.join(Object(__WEBPACK_IMPORTED_MODULE_7__config__["a" /* GetHomeDir */])(), "/ffplay/" + this.exe);
|
||
}
|
||
|
||
__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_createClass___default()(Recorder, [{
|
||
key: "get_path",
|
||
value: function get_path() {
|
||
return __WEBPACK_IMPORTED_MODULE_5_path___default.a.join(ffmpegExePath, this.filename);
|
||
}
|
||
}, {
|
||
key: "start",
|
||
value: function start() {
|
||
this.exec(this.commands, this.params);
|
||
}
|
||
}, {
|
||
key: "exec",
|
||
value: function exec(commands, param) {
|
||
var arr = param.split(" ");
|
||
arr.push(this.get_path());
|
||
console.log("commands, arr", commands, arr);
|
||
this.shell = spawn(commands, arr, {
|
||
ffmpegExePath: ffmpegExePath
|
||
}).on("exit", function (err) {
|
||
console.log("exit", err);
|
||
myEmitter.emit("process-exit");
|
||
}).on("data", function (data) {}).on("data", function (data) {});
|
||
this.shell.unref();
|
||
}
|
||
}, {
|
||
key: "end",
|
||
value: function end(cb) {
|
||
if (!this.shell.killed) {
|
||
console.log(this.shell);
|
||
this.shell.stdin.write("q");
|
||
myEmitter.once("process-exit", function () {
|
||
cb();
|
||
});
|
||
} else {
|
||
cb();
|
||
}
|
||
}
|
||
}, {
|
||
key: "move",
|
||
value: function move(dst, cb) {
|
||
var _this2 = this;
|
||
|
||
var readStream = __WEBPACK_IMPORTED_MODULE_6_fs___default.a.createReadStream(this.get_path());
|
||
var writeStream = __WEBPACK_IMPORTED_MODULE_6_fs___default.a.createWriteStream(dst);
|
||
readStream.pipe(writeStream);
|
||
readStream.on("end", function () {
|
||
__WEBPACK_IMPORTED_MODULE_6_fs___default.a.unlinkSync(_this2.get_path());
|
||
cb();
|
||
});
|
||
}
|
||
}]);
|
||
|
||
return Recorder;
|
||
}();
|
||
|
||
|
||
|
||
/***/ }),
|
||
/* 169 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
|
||
var _defineProperty = __webpack_require__(170);
|
||
|
||
var _defineProperty2 = _interopRequireDefault(_defineProperty);
|
||
|
||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
||
exports.default = function () {
|
||
function defineProperties(target, props) {
|
||
for (var i = 0; i < props.length; i++) {
|
||
var descriptor = props[i];
|
||
descriptor.enumerable = descriptor.enumerable || false;
|
||
descriptor.configurable = true;
|
||
if ("value" in descriptor) descriptor.writable = true;
|
||
(0, _defineProperty2.default)(target, descriptor.key, descriptor);
|
||
}
|
||
}
|
||
|
||
return function (Constructor, protoProps, staticProps) {
|
||
if (protoProps) defineProperties(Constructor.prototype, protoProps);
|
||
if (staticProps) defineProperties(Constructor, staticProps);
|
||
return Constructor;
|
||
};
|
||
}();
|
||
|
||
/***/ }),
|
||
/* 170 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = { "default": __webpack_require__(171), __esModule: true };
|
||
|
||
/***/ }),
|
||
/* 171 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
__webpack_require__(172);
|
||
var $Object = __webpack_require__(0).Object;
|
||
module.exports = function defineProperty(it, key, desc) {
|
||
return $Object.defineProperty(it, key, desc);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 172 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var $export = __webpack_require__(4);
|
||
// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
|
||
$export($export.S + $export.F * !__webpack_require__(9), 'Object', { defineProperty: __webpack_require__(7).f });
|
||
|
||
|
||
/***/ }),
|
||
/* 173 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = { "default": __webpack_require__(174), __esModule: true };
|
||
|
||
/***/ }),
|
||
/* 174 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
__webpack_require__(175);
|
||
module.exports = __webpack_require__(0).Object.getPrototypeOf;
|
||
|
||
|
||
/***/ }),
|
||
/* 175 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// 19.1.2.9 Object.getPrototypeOf(O)
|
||
var toObject = __webpack_require__(31);
|
||
var $getPrototypeOf = __webpack_require__(67);
|
||
|
||
__webpack_require__(176)('getPrototypeOf', function () {
|
||
return function getPrototypeOf(it) {
|
||
return $getPrototypeOf(toObject(it));
|
||
};
|
||
});
|
||
|
||
|
||
/***/ }),
|
||
/* 176 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// most Object methods by ES6 should accept primitives
|
||
var $export = __webpack_require__(4);
|
||
var core = __webpack_require__(0);
|
||
var fails = __webpack_require__(16);
|
||
module.exports = function (KEY, exec) {
|
||
var fn = (core.Object || {})[KEY] || Object[KEY];
|
||
var exp = {};
|
||
exp[KEY] = exec(fn);
|
||
$export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 177 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
|
||
exports.default = function (instance, Constructor) {
|
||
if (!(instance instanceof Constructor)) {
|
||
throw new TypeError("Cannot call a class as a function");
|
||
}
|
||
};
|
||
|
||
/***/ }),
|
||
/* 178 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
|
||
var _typeof2 = __webpack_require__(34);
|
||
|
||
var _typeof3 = _interopRequireDefault(_typeof2);
|
||
|
||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
||
exports.default = function (self, call) {
|
||
if (!self) {
|
||
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
||
}
|
||
|
||
return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self;
|
||
};
|
||
|
||
/***/ }),
|
||
/* 179 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
|
||
var _setPrototypeOf = __webpack_require__(180);
|
||
|
||
var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);
|
||
|
||
var _create = __webpack_require__(184);
|
||
|
||
var _create2 = _interopRequireDefault(_create);
|
||
|
||
var _typeof2 = __webpack_require__(34);
|
||
|
||
var _typeof3 = _interopRequireDefault(_typeof2);
|
||
|
||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
||
exports.default = function (subClass, superClass) {
|
||
if (typeof superClass !== "function" && superClass !== null) {
|
||
throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass)));
|
||
}
|
||
|
||
subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {
|
||
constructor: {
|
||
value: subClass,
|
||
enumerable: false,
|
||
writable: true,
|
||
configurable: true
|
||
}
|
||
});
|
||
if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;
|
||
};
|
||
|
||
/***/ }),
|
||
/* 180 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = { "default": __webpack_require__(181), __esModule: true };
|
||
|
||
/***/ }),
|
||
/* 181 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
__webpack_require__(182);
|
||
module.exports = __webpack_require__(0).Object.setPrototypeOf;
|
||
|
||
|
||
/***/ }),
|
||
/* 182 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// 19.1.3.19 Object.setPrototypeOf(O, proto)
|
||
var $export = __webpack_require__(4);
|
||
$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(183).set });
|
||
|
||
|
||
/***/ }),
|
||
/* 183 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
// Works with __proto__ only. Old v8 can't work with null proto objects.
|
||
/* eslint-disable no-proto */
|
||
var isObject = __webpack_require__(5);
|
||
var anObject = __webpack_require__(8);
|
||
var check = function (O, proto) {
|
||
anObject(O);
|
||
if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
|
||
};
|
||
module.exports = {
|
||
set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
|
||
function (test, buggy, set) {
|
||
try {
|
||
set = __webpack_require__(11)(Function.call, __webpack_require__(72).f(Object.prototype, '__proto__').set, 2);
|
||
set(test, []);
|
||
buggy = !(test instanceof Array);
|
||
} catch (e) { buggy = true; }
|
||
return function setPrototypeOf(O, proto) {
|
||
check(O, proto);
|
||
if (buggy) O.__proto__ = proto;
|
||
else set(O, proto);
|
||
return O;
|
||
};
|
||
}({}, false) : undefined),
|
||
check: check
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 184 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = { "default": __webpack_require__(185), __esModule: true };
|
||
|
||
/***/ }),
|
||
/* 185 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
__webpack_require__(186);
|
||
var $Object = __webpack_require__(0).Object;
|
||
module.exports = function create(P, D) {
|
||
return $Object.create(P, D);
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 186 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var $export = __webpack_require__(4);
|
||
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
|
||
$export($export.S, 'Object', { create: __webpack_require__(29) });
|
||
|
||
|
||
/***/ }),
|
||
/* 187 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("moment");
|
||
|
||
/***/ }),
|
||
/* 188 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
!function(t,e){ true?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){"use strict";var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p="$isDayjsObject",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f="set"+(this.$u?"UTC":""),l=(n={},n[a]=f+"Date",n[d]=f+"Date",n[c]=f+"Month",n[h]=f+"FullYear",n[u]=f+"Hours",n[s]=f+"Minutes",n[i]=f+"Seconds",n[r]=f+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,"0")},$=f||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return b.s(e.$y,4,"0");case"M":return a+1;case"MM":return b.s(a+1,2,"0");case"MMM":return h(n.monthsShort,a,c,3);case"MMMM":return h(c,a);case"D":return e.$D;case"DD":return b.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return h(n.weekdaysMin,e.$W,o,2);case"ddd":return h(n.weekdaysShort,e.$W,o,3);case"dddd":return o[e.$W];case"H":return String(s);case"HH":return b.s(s,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return $(s,u,!0);case"A":return $(s,u,!1);case"m":return String(u);case"mm":return b.s(u,2,"0");case"s":return String(e.$s);case"ss":return b.s(e.$s,2,"0");case"SSS":return b.s(e.$ms,3,"0");case"Z":return i}return null}(t)||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",c],["$y",h],["$D",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));
|
||
|
||
/***/ }),
|
||
/* 189 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
"use strict";
|
||
|
||
|
||
exports.__esModule = true;
|
||
|
||
var _isIterable2 = __webpack_require__(190);
|
||
|
||
var _isIterable3 = _interopRequireDefault(_isIterable2);
|
||
|
||
var _getIterator2 = __webpack_require__(87);
|
||
|
||
var _getIterator3 = _interopRequireDefault(_getIterator2);
|
||
|
||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||
|
||
exports.default = function () {
|
||
function sliceIterator(arr, i) {
|
||
var _arr = [];
|
||
var _n = true;
|
||
var _d = false;
|
||
var _e = undefined;
|
||
|
||
try {
|
||
for (var _i = (0, _getIterator3.default)(arr), _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 ((0, _isIterable3.default)(Object(arr))) {
|
||
return sliceIterator(arr, i);
|
||
} else {
|
||
throw new TypeError("Invalid attempt to destructure non-iterable instance");
|
||
}
|
||
};
|
||
}();
|
||
|
||
/***/ }),
|
||
/* 190 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
module.exports = { "default": __webpack_require__(191), __esModule: true };
|
||
|
||
/***/ }),
|
||
/* 191 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
__webpack_require__(24);
|
||
__webpack_require__(19);
|
||
module.exports = __webpack_require__(192);
|
||
|
||
|
||
/***/ }),
|
||
/* 192 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var classof = __webpack_require__(32);
|
||
var ITERATOR = __webpack_require__(3)('iterator');
|
||
var Iterators = __webpack_require__(17);
|
||
module.exports = __webpack_require__(0).isIterable = function (it) {
|
||
var O = Object(it);
|
||
return O[ITERATOR] !== undefined
|
||
|| '@@iterator' in O
|
||
// eslint-disable-next-line no-prototype-builtins
|
||
|| Iterators.hasOwnProperty(classof(O));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 193 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
__webpack_require__(24);
|
||
__webpack_require__(19);
|
||
module.exports = __webpack_require__(194);
|
||
|
||
|
||
/***/ }),
|
||
/* 194 */
|
||
/***/ (function(module, exports, __webpack_require__) {
|
||
|
||
var anObject = __webpack_require__(8);
|
||
var get = __webpack_require__(73);
|
||
module.exports = __webpack_require__(0).getIterator = function (it) {
|
||
var iterFn = get(it);
|
||
if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');
|
||
return anObject(iterFn.call(it));
|
||
};
|
||
|
||
|
||
/***/ }),
|
||
/* 195 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("dgram");
|
||
|
||
/***/ }),
|
||
/* 196 */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* unused harmony export logger */
|
||
var log4js = __webpack_require__(197);
|
||
var path = __webpack_require__(1);
|
||
var p = process.cwd();
|
||
if (process.env.NODE_ENV === "production") {
|
||
p = process.execPath.replaceAll("\\", "/").split("/");
|
||
p.pop();
|
||
p = p.join("/");
|
||
}
|
||
console.log(path.join(p, "logs/access.log"));
|
||
log4js.configure({
|
||
appenders: {
|
||
access: {
|
||
type: "dateFile",
|
||
filename: path.join(p, "logs/access.log"),
|
||
pattern: "-yyyy-MM-dd-hh",
|
||
alwaysIncludePattern: true,
|
||
layout: {
|
||
type: "pattern",
|
||
pattern: "[%d{yyyy-MM-dd hh:mm:ss}] %m"
|
||
}
|
||
}
|
||
},
|
||
categories: {
|
||
default: {
|
||
appenders: ["access"],
|
||
level: "debug"
|
||
}
|
||
}
|
||
});
|
||
|
||
var logger = log4js.getLogger();
|
||
|
||
|
||
|
||
/***/ }),
|
||
/* 197 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("log4js");
|
||
|
||
/***/ }),
|
||
/* 198 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("ini");
|
||
|
||
/***/ }),
|
||
/* 199 */
|
||
/***/ (function(module, exports) {
|
||
|
||
module.exports = require("http");
|
||
|
||
/***/ }),
|
||
/* 200 */
|
||
/***/ (function(module, exports) {
|
||
|
||
|
||
|
||
/***/ }),
|
||
/* 201 */
|
||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||
|
||
"use strict";
|
||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return killProcessByName; });
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_get_iterator__ = __webpack_require__(87);
|
||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_get_iterator___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_get_iterator__);
|
||
|
||
|
||
var _require = __webpack_require__(15),
|
||
exec = _require.exec;
|
||
|
||
var os = __webpack_require__(10);
|
||
|
||
function killProcessByName(processName) {
|
||
var command = void 0;
|
||
switch (os.platform()) {
|
||
case "win32":
|
||
processName = "yjearth4" + processName + ".exe";
|
||
|
||
command = "tasklist | findstr \"" + processName + "\"";
|
||
exec(command, function (error, stdout, stderr) {
|
||
if (error) {
|
||
console.error("\u6267\u884C tasklist \u547D\u4EE4\u65F6\u51FA\u9519: " + error);
|
||
return;
|
||
}
|
||
var lines = stdout.split("\n");
|
||
var _iteratorNormalCompletion = true;
|
||
var _didIteratorError = false;
|
||
var _iteratorError = undefined;
|
||
|
||
try {
|
||
for (var _iterator = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_get_iterator___default()(lines), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
||
var line = _step.value;
|
||
|
||
if (line.includes(processName)) {
|
||
(function () {
|
||
var fields = line.split(/\s+/);
|
||
var pid = fields[1];
|
||
exec("taskkill /F /PID " + pid, function (err) {
|
||
if (err) {
|
||
console.error("\u6740\u6B7B\u8FDB\u7A0B\u65F6\u51FA\u9519: " + err);
|
||
return;
|
||
}
|
||
console.log("\u5DF2\u5728 Windows \u7CFB\u7EDF\u6740\u6B7B\u8FDB\u7A0B " + processName + " (PID: " + pid + ")");
|
||
});
|
||
})();
|
||
}
|
||
}
|
||
} catch (err) {
|
||
_didIteratorError = true;
|
||
_iteratorError = err;
|
||
} finally {
|
||
try {
|
||
if (!_iteratorNormalCompletion && _iterator.return) {
|
||
_iterator.return();
|
||
}
|
||
} finally {
|
||
if (_didIteratorError) {
|
||
throw _iteratorError;
|
||
}
|
||
}
|
||
}
|
||
});
|
||
break;
|
||
case "linux":
|
||
command = "ps -ef | grep \"yjearth4" + processName + "\"";
|
||
exec(command, function (error, stdout, stderr) {
|
||
if (error) {
|
||
console.error("\u6267\u884C ps \u547D\u4EE4\u65F6\u51FA\u9519: " + error);
|
||
return;
|
||
}
|
||
var lines = stdout.split("\n");
|
||
var _iteratorNormalCompletion2 = true;
|
||
var _didIteratorError2 = false;
|
||
var _iteratorError2 = undefined;
|
||
|
||
try {
|
||
for (var _iterator2 = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_get_iterator___default()(lines), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
|
||
var line = _step2.value;
|
||
|
||
if (line.includes(processName)) {
|
||
(function () {
|
||
var fields = line.split(/\s+/);
|
||
var pid = fields[1];
|
||
exec("kill -9 " + pid, function (err) {
|
||
if (err) {
|
||
console.error("\u6740\u6B7B\u8FDB\u7A0B\u65F6\u51FA\u9519: " + err);
|
||
return;
|
||
}
|
||
console.log("\u5DF2\u5728 Linux \u7CFB\u7EDF\u6740\u6B7B\u8FDB\u7A0B " + processName + " (PID: " + pid + ")");
|
||
});
|
||
})();
|
||
}
|
||
}
|
||
} catch (err) {
|
||
_didIteratorError2 = true;
|
||
_iteratorError2 = err;
|
||
} finally {
|
||
try {
|
||
if (!_iteratorNormalCompletion2 && _iterator2.return) {
|
||
_iterator2.return();
|
||
}
|
||
} finally {
|
||
if (_didIteratorError2) {
|
||
throw _iteratorError2;
|
||
}
|
||
}
|
||
}
|
||
});
|
||
break;
|
||
default:
|
||
console.error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C\u7CFB\u7EDF: " + os.platform());
|
||
}
|
||
}
|
||
|
||
|
||
|
||
/***/ })
|
||
/******/ ]); |