Comparing version 0.0.2 to 0.0.3
579
Dr.js
@@ -1,578 +0,1 @@ | ||
/******/ (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] = { | ||
/******/ exports: {}, | ||
/******/ id: moduleId, | ||
/******/ loaded: false | ||
/******/ }; | ||
/******/ // Execute the module function | ||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | ||
/******/ // Flag the module as loaded | ||
/******/ module.loaded = 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; | ||
/******/ // __webpack_public_path__ | ||
/******/ __webpack_require__.p = ""; | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(0); | ||
/******/ }) | ||
/************************************************************************/ | ||
/******/ ([ | ||
/* 0 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
module.exports = __webpack_require__(1); | ||
/***/ }, | ||
/* 1 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
var _config = __webpack_require__(2); | ||
var _config2 = _interopRequireDefault(_config); | ||
var _common = __webpack_require__(7); | ||
var _common2 = _interopRequireDefault(_common); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var Dr = _config2.default.GLOBAL.Dr = _extends({}, _config2.default, _common2.default, { | ||
// the lower level the fewer & important message is printed | ||
// normally: 5 - ALL, 10 - WARN, 15+ - CUSTOM DEBUG LEVEL | ||
debugLevel: 0, | ||
log: function log() { | ||
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { | ||
args[_key] = arguments[_key]; | ||
} | ||
return _common2.default.logList(args); | ||
}, | ||
debug: function debug(debugLevel) { | ||
for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { | ||
args[_key2 - 1] = arguments[_key2]; | ||
} | ||
return Dr.debugLevel && Dr.debugLevel <= debugLevel && _common2.default.logList(args); | ||
}, | ||
assert: function assert() { | ||
for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { | ||
args[_key3] = arguments[_key3]; | ||
} | ||
Dr.debugLevel > 15 && _common2.default.logList(['[' + Dr.now().toFixed(4) + 'sec]', '[assert]'].concat(args)); | ||
_common2.default.assertList(args); | ||
}, | ||
logError: function logError(error) { | ||
for (var _len4 = arguments.length, args = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { | ||
args[_key4 - 1] = arguments[_key4]; | ||
} | ||
_common2.default.logList(['Error', error]); | ||
_common2.default.logList([].concat(args)); | ||
error.stack && _common2.default.logList([error.stack]); | ||
}, | ||
toggle: new _common2.default.Toggle() | ||
}); | ||
exports.default = Dr; | ||
/***/ }, | ||
/* 2 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; | ||
exports.loadScriptByList = loadScriptByList; | ||
var GLOBAL = exports.GLOBAL = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : undefined; // normally window, global or this for a sandbox? | ||
var ENVIRONMENT = exports.ENVIRONMENT = function () { | ||
var isBrowser = typeof GLOBAL.window !== 'undefined' && typeof GLOBAL.document !== 'undefined'; | ||
var isNode = typeof GLOBAL.process !== 'undefined' && typeof GLOBAL.process.versions !== 'undefined' && GLOBAL.process.versions.node; | ||
var isCordova = typeof GLOBAL.cordova !== 'undefined'; | ||
return isCordova ? 'cordova' : isNode ? 'node' : isBrowser ? 'browser' : 'unknown'; | ||
}(); | ||
console.log('detected', ENVIRONMENT); | ||
// ENVIRONMENT dependent | ||
var _ref = function () { | ||
var _ret = function () { | ||
switch (ENVIRONMENT) { | ||
case 'browser': | ||
case 'cordova': | ||
return { | ||
v: { | ||
loadScript: function loadScript(src) { | ||
return new Promise(function (resolve) { | ||
var element = document.createElement('script'); | ||
element.type = 'text/javascript'; | ||
element.async = false; | ||
element.src = src; | ||
element.onload = function () { | ||
return resolve(element); | ||
}; | ||
var existElement = document.getElementsByTagName('script')[0]; | ||
existElement.parentNode.insertBefore(element, existElement); | ||
}); | ||
} | ||
} | ||
}; | ||
case 'node': | ||
var nodeModuleFs = __webpack_require__(3); | ||
var nodeModuleVm = __webpack_require__(4); | ||
var nodeModulePath = __webpack_require__(5); | ||
var nodeModuleRepl = __webpack_require__(6); | ||
return { | ||
v: { | ||
nodeExePath: GLOBAL.process.argv[0], | ||
nodeStartScriptPath: nodeModulePath.resolve(GLOBAL.process.cwd(), nodeModulePath.dirname(GLOBAL.process.argv[1])), | ||
getLocalPath: function getLocalPath(relativePath) { | ||
return nodeModulePath.resolve(nodeStartScriptPath, relativePath); | ||
}, | ||
startREPL: function startREPL() { | ||
return nodeModuleRepl.start({ | ||
prompt: 'Dr> ', | ||
input: GLOBAL.process.stdin, | ||
output: GLOBAL.process.stdout, | ||
useGlobal: true | ||
}); | ||
}, | ||
loadScript: function loadScript(src) { | ||
return new Promise(function (resolve, reject) { | ||
if (src.search('://') !== -1) return console.log(['[loadScript] not support web content yet...', src]); | ||
var localPath = getLocalPath(src); | ||
try { | ||
nodeModuleFs.readFile(localPath, function (error, data) { | ||
if (error) throw error; | ||
if (!data) throw new Error('failed to read file data:' + data); | ||
nodeModuleVm.runInThisContext(data.toString(), { filename: localPath }); | ||
resolve(data); | ||
}); | ||
} catch (error) { | ||
reject(error); | ||
} | ||
}); | ||
} | ||
} | ||
}; | ||
} | ||
}(); | ||
if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v; | ||
}(), | ||
loadScript = _ref.loadScript, | ||
nodeExePath = _ref.nodeExePath, | ||
nodeStartScriptPath = _ref.nodeStartScriptPath, | ||
getLocalPath = _ref.getLocalPath, | ||
startREPL = _ref.startREPL; | ||
exports.loadScript = loadScript; | ||
exports.nodeExePath = nodeExePath; | ||
exports.nodeStartScriptPath = nodeStartScriptPath; | ||
exports.getLocalPath = getLocalPath; | ||
exports.startREPL = startREPL; | ||
function loadScriptByList(srcList) { | ||
var loopLoad = function loopLoad() { | ||
return new Promise(function (resolve) { | ||
return srcList.length <= 0 ? resolve() : loadScript(srcList.shift()).then(loopLoad); | ||
}); | ||
}; | ||
return loopLoad(); // start loop | ||
} | ||
var onNextProperUpdate = exports.onNextProperUpdate = GLOBAL.requestAnimationFrame ? GLOBAL.requestAnimationFrame : function (callback) { | ||
return setTimeout(callback, 1000 / 60); | ||
}; | ||
exports.default = { | ||
GLOBAL: GLOBAL, | ||
ENVIRONMENT: ENVIRONMENT, | ||
loadScript: loadScript, | ||
loadScriptByList: loadScriptByList, | ||
onNextProperUpdate: onNextProperUpdate, | ||
nodeExePath: nodeExePath, | ||
nodeStartScriptPath: nodeStartScriptPath, | ||
getLocalPath: getLocalPath, | ||
startREPL: startREPL | ||
}; | ||
/***/ }, | ||
/* 3 */ | ||
/***/ function(module, exports) { | ||
module.exports = require("fs"); | ||
/***/ }, | ||
/* 4 */ | ||
/***/ function(module, exports) { | ||
module.exports = require("vm"); | ||
/***/ }, | ||
/* 5 */ | ||
/***/ function(module, exports) { | ||
module.exports = require("path"); | ||
/***/ }, | ||
/* 6 */ | ||
/***/ function(module, exports) { | ||
module.exports = require("repl"); | ||
/***/ }, | ||
/* 7 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
var _utils = __webpack_require__(8); | ||
var Utils = _interopRequireWildcard(_utils); | ||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } | ||
exports.default = _extends({}, Utils); | ||
/***/ }, | ||
/* 8 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.UpdateLoop = exports.Event = exports.startClock = exports.startTimestamp = exports.clockPerSec = exports.generateId = exports.assertList = exports.logList = exports.getArgumentArray = undefined; | ||
var _createClass = 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; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
exports.getRandomInt = getRandomInt; | ||
exports.getRandomIntMulti = getRandomIntMulti; | ||
exports.pick = pick; | ||
exports.reverseKeyValue = reverseKeyValue; | ||
exports.arrayDeduplication = arrayDeduplication; | ||
exports.getUTCTimeStamp = getUTCTimeStamp; | ||
exports.clock = clock; | ||
exports.now = now; | ||
exports.delay = delay; | ||
exports.loop = loop; | ||
exports.Toggle = Toggle; | ||
var _config = __webpack_require__(2); | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
var getArgumentArray = exports.getArgumentArray = function getArgumentArray(args) { | ||
var omitCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; | ||
return Array.prototype.slice.call(args, omitCount); | ||
}; | ||
var logList = exports.logList = console.log.apply ? function (argList) { | ||
return console.log.apply(console, argList); | ||
} : function (argList) { | ||
return console.log(argList); | ||
}; | ||
var assertList = exports.assertList = console.assert.apply ? function (argList) { | ||
return console.assert.apply(console, argList); | ||
} : function (assertion) { | ||
for (var _len = arguments.length, argList = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { | ||
argList[_key - 1] = arguments[_key]; | ||
} | ||
if (!assertion) throw new Error(argList); | ||
}; | ||
// math related | ||
function __getRandomInt(from, to) { | ||
// this will not auto swap, meaning <from> should be smaller than <to> | ||
return Math.floor(Math.random() * (to - from + 1) + from); // range [from, to] | ||
} | ||
function getRandomInt(a) { | ||
var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; | ||
return __getRandomInt(Math.min(a, b), Math.max(a, b)); | ||
} | ||
function getRandomIntMulti(a, b, count) { | ||
// the result will be from small to big | ||
var from = Math.min(a, b); | ||
var to = Math.max(a, b); | ||
var resultList = []; | ||
count = Math.min(count, to - from + 1); | ||
for (var i = 0; i < count; i++) { | ||
var next = __getRandomInt(from, to - i); | ||
var j = 0; | ||
while (j < resultList.length) { | ||
if (resultList[j] > next) break; | ||
next++; | ||
j++; | ||
} | ||
resultList.splice(j, 0, next); | ||
} | ||
return resultList; | ||
} | ||
// data operation | ||
function pick(pack, key) { | ||
var pickData = void 0; | ||
if (pack instanceof Object) { | ||
pickData = pack[key]; | ||
delete pack[key]; | ||
} | ||
return pickData; | ||
} | ||
function reverseKeyValue(pack, maskValue) { | ||
var resultMap = {}; | ||
if (maskValue) for (var key in pack) { | ||
resultMap[pack[key]] = maskValue; | ||
} else for (var _key2 in pack) { | ||
resultMap[pack[_key2]] = _key2; | ||
}return resultMap; | ||
} | ||
function arrayDeduplication() { | ||
var dedupMap = {}; | ||
for (var _len2 = arguments.length, arrayList = Array(_len2), _key3 = 0; _key3 < _len2; _key3++) { | ||
arrayList[_key3] = arguments[_key3]; | ||
} | ||
for (var i in arrayList) { | ||
var array = arrayList[i]; | ||
for (var j in array) { | ||
dedupMap[array[j]] = true; | ||
} | ||
} | ||
var result = []; | ||
for (var key in dedupMap) { | ||
result.push(key); | ||
}return result; | ||
} | ||
var generateId = exports.generateId = function () { | ||
// const symbolList = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.split(''); //full 62 | ||
var symbolList = '0123456789ACEFGHJKLMNPQRSTUVWXYZ'.split(''); // lite 32, easy to recognise, but only safe within one runtime | ||
var symbolCount = symbolList.length; | ||
var resultCount = 20; | ||
var indexList = []; | ||
var resultList = []; | ||
for (var i = 0; i < resultCount; i++) { | ||
indexList[i] = 0; | ||
resultList[i] = symbolList[indexList[i]]; | ||
} | ||
return function () { | ||
for (var _i = resultCount - 1; _i >= 0; _i--) { | ||
indexList[_i] = (indexList[_i] + 1) % symbolCount; | ||
resultList[_i] = symbolList[indexList[_i]]; | ||
if (indexList[_i] > 0) break; | ||
} | ||
return resultList.join(''); // get string | ||
}; | ||
}(); | ||
// time related | ||
var clockPerSec = exports.clockPerSec = 1000; | ||
function getUTCTimeStamp() { | ||
return Math.floor(Date.now() / clockPerSec); | ||
} | ||
var startTimestamp = exports.startTimestamp = getUTCTimeStamp(); | ||
var startClock = exports.startClock = Date.now(); | ||
function clock() { | ||
return Date.now() - startClock; // return running time in milliseconds | ||
} | ||
function now() { | ||
return (Date.now() - startClock) / clockPerSec; // return running time in seconds | ||
} | ||
function delay(callback, time, isRepeat) { | ||
var setFunc = isRepeat ? setInterval : setTimeout; | ||
var clearFunc = isRepeat ? clearInterval : clearTimeout; | ||
var clearId = setFunc(callback, time * 1000); | ||
return function () { | ||
return clearFunc(clearId); | ||
}; // can be called to remove callback | ||
} | ||
// logic | ||
function loop(count, callback) { | ||
var looped = 0; | ||
while (count > looped) { | ||
callback(looped); | ||
looped++; | ||
} | ||
} | ||
var Event = exports.Event = function () { | ||
function Event() { | ||
_classCallCheck(this, Event); | ||
this.eventMap = new Map(); | ||
} | ||
_createClass(Event, [{ | ||
key: 'emit', | ||
value: function emit(key) { | ||
var callbackList = this.getListenerList(key); | ||
if (callbackList) for (var i in callbackList) { | ||
callbackList[i].apply(null, arguments); | ||
} | ||
} | ||
}, { | ||
key: 'addEventListener', | ||
value: function addEventListener(key, callback) { | ||
if (!callback || typeof callback === 'function') throw new Error('invalid callback'); | ||
var callbackList = this.getListenerList(key); | ||
for (var i in callbackList) { | ||
if (callbackList[i] === callback) throw new Error('callback already exist'); | ||
}callbackList.push(callback); | ||
return key; | ||
} | ||
}, { | ||
key: 'removeEventListener', | ||
value: function removeEventListener(key, callback) { | ||
var callbackList = this.getListenerList(key); | ||
for (var i in callbackList) { | ||
if (callbackList[i] === callback) { | ||
callbackList.splice(i, 1); | ||
return callback; | ||
} | ||
} | ||
return null; | ||
} | ||
}, { | ||
key: 'removeEventKey', | ||
value: function removeEventKey(key) { | ||
this.eventMap.delete(key); | ||
} | ||
}, { | ||
key: 'removeAll', | ||
value: function removeAll() { | ||
this.eventMap.clear(); | ||
} | ||
}, { | ||
key: 'getListenerList', | ||
value: function getListenerList(key) { | ||
if (!this.eventMap.has(key)) this.eventMap.set(key, []); | ||
return this.eventMap.get(key); | ||
} | ||
}]); | ||
return Event; | ||
}(); | ||
var UpdateLoop = exports.UpdateLoop = function () { | ||
function UpdateLoop() { | ||
_classCallCheck(this, UpdateLoop); | ||
this.lastUpdateTime = now(); | ||
this.isActive = false; | ||
this.clear(); | ||
// bind first | ||
this.update = this.update().bind(this); | ||
} | ||
_createClass(UpdateLoop, [{ | ||
key: 'start', | ||
value: function start() { | ||
this.isActive = true; | ||
(0, _config.onNextProperUpdate)(this.update); | ||
} | ||
}, { | ||
key: 'stop', | ||
value: function stop() { | ||
this.isActive = false; | ||
} | ||
}, { | ||
key: 'clear', | ||
value: function clear() { | ||
this.updateFuncList = []; // index non-constant, will be refreshed on every update | ||
this.updateFuncMap = new Map(); // key constant, will be refreshed on every update | ||
} | ||
}, { | ||
key: 'add', | ||
value: function add(updateFunc, key) { | ||
key ? this.updateFuncMap.set(key, updateFunc) : this.updateFuncList.push(updateFunc); | ||
} | ||
}, { | ||
key: 'update', | ||
value: function update() { | ||
var currentUpdateTime = now(); | ||
var deltaTime = currentUpdateTime - this.lastUpdateTime; | ||
this.lastUpdateTime = currentUpdateTime; | ||
var nextUpdateFuncList = []; | ||
this.updateFuncList.forEach(function (index, updateFunc) { | ||
return updateFunc(deltaTime) && nextUpdateFuncList.push(updateFunc); | ||
}); | ||
this.updateFuncList = nextUpdateFuncList; | ||
var nextUpdateFuncMap = new Map(); | ||
this.updateFuncMap.forEach(function (key, updateFunc) { | ||
return updateFunc(deltaTime) && nextUpdateFuncMap.set(key, updateFunc); | ||
}); | ||
this.updateFuncMap = nextUpdateFuncMap; | ||
this.isActive && (0, _config.onNextProperUpdate)(this.update); | ||
} | ||
}]); | ||
return UpdateLoop; | ||
}(); | ||
function Toggle() { | ||
var toggle = function toggle(key, value) { | ||
if (value === undefined) value = !toggle[key]; | ||
toggle[key] = value; | ||
return value; | ||
}; | ||
return toggle; | ||
} | ||
/***/ } | ||
/******/ ]); | ||
!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Dr=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(6),a=r({},o.Extend,{Module:o.Module,debugLevel:0,debug:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return a.debugLevel&&a.debugLevel<=e&&o.Extend.logList(n)},Event:new o.Module.Event,Toggle:new o.Module.Toggle,initModuleManager:function(){var e=new o.Module.ModuleManager;Object.assign(a,{Declare:e.declare.bind(e),Require:e.require.bind(e),Implement:e.implement.bind(e),LoadAll:e.loadAll.bind(e),Get:e.get.bind(e),GetNew:function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];var a=e.get(t);return a?new(Function.prototype.bind.apply(a,[null].concat(r))):null}});for(var t in a.Module)e.declare(t),e.setModule(t,a.Module[t]);return e}});o.Extend.GLOBAL.Dr=a,t.Dr=a,t.default=a},function(e,t,n){"use strict";function r(e){var t=function t(){return new Promise(function(n){return e.length<=0?n():P(e.shift()).then(t)})};return t()}function o(e){var t=console[e].apply?function(t){return console[e].apply(console,t)}:function(t){return console[e](t)},n=console[e].bind?console[e].bind(console):function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return t(n)};return[t,n]}function a(e){throw e.unshift("[ASSERT]"),R(e),new Error(e.join(", "))}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return C(Math.min(e,t),Math.max(e,t))}function i(e,t,n){for(var r=Math.min(e,t),o=Math.max(e,t),a=[],u=0,i=Math.min(n,o-r+1);u<i;u++){for(var l=C(r,o-u),c=0;c<a.length&&!(a[c]>l);)l++,c++;a.splice(c,0,l)}return a}function l(e,t){var n=void 0;return e instanceof Object&&(n=e[t],delete e[t]),n}function c(e,t){var n={};if(t)for(var r in e)n[e[r]]=t;else for(var o in e)n[e[o]]=o;return n}function s(){for(var e={},t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];for(var o in n){var a=n[o];for(var u in a)e[a[u]]=!0}var i=[];for(var l in e)i.push(l);return i}function f(e){q("Error",e.stack||e);for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];N(n)}function d(e,t){return new Array(Number(e)).fill(t)}function p(){for(var e=V-1;e>=0&&(Y[e]=(Y[e]+1)%K,H[e]=G[Y[e]],!(Y[e]>0));e--);return H.join("")}function v(){return Date.now()-W}function h(){return(Date.now()-W)*Q}function y(){return Math.floor(Date.now()*Q)}function g(e,t,n){var r=n?setInterval:setTimeout,o=n?clearInterval:clearTimeout,a=r(e,1e3*t);return function(){return o(a)}}function m(e,t){for(var n=0;e>n;)t(n),n++}Object.defineProperty(t,"__esModule",{value:!0});var M=function(){function e(e,t){var n=[],r=!0,o=!1,a=void 0;try{for(var u,i=e[Symbol.iterator]();!(r=(u=i.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{!r&&i.return&&i.return()}finally{if(o)throw a}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.loadScriptByList=r,t.getRandomInt=u,t.getRandomIntMulti=i,t.pick=l,t.reverseKeyValue=c,t.arrayDeduplication=s,t.logError=f,t.getFilledArray=d,t.generateId=p,t.clock=v,t.now=h,t.getTimeStamp=y,t.delay=g,t.loop=m;var w=t.GLOBAL="undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0,E=t.ENVIRONMENT=function(){var e="undefined"!=typeof w.window&&"undefined"!=typeof w.document,t="undefined"!=typeof w.process&&"undefined"!=typeof w.process.versions&&w.process.versions.node,n="undefined"!=typeof w.cordova;return n?"cordova":t?"node":e?"browser":"unknown"}(),L=(t.SYSTEM_ENDIANNESS=function(){try{var e=new ArrayBuffer(4),t=new Uint8Array(e),n=new Uint32Array(e);if(t[0]=161,t[1]=178,t[2]=195,t[3]=212,3569595041===n[0])return"little";if(2712847316===n[0])return"big"}catch(e){}return"unknown"}(),function(){var e=function(){switch(E){case"browser":case"cordova":return{v:{loadScript:function(e){return new Promise(function(t){var n=document.createElement("script");n.type="text/javascript",n.async=!1,n.src=e,n.onload=function(){return t(n)};var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(n,r)})}}};case"node":var e=n(3),t=n(5),r=n(4),o=n(12);return{v:{nodeExePath:w.process.argv[0],nodeStartScriptPath:r.resolve(w.process.cwd(),r.dirname(w.process.argv[1])),getLocalPath:function(e){return r.resolve(k,e)},startREPL:function(){return o.start({prompt:"Dr> ",input:w.process.stdin,output:w.process.stdout,useGlobal:!0})},loadScript:function(n){return new Promise(function(r,o){if(n.search("://")!==-1)return console.log(["[loadScript] not support web content yet...",n]);var a=S(n);try{e.readFile(a,function(e,n){if(e)throw e;if(!n)throw new Error("failed to read file data:"+n);t.runInThisContext(n.toString(),{filename:a}),r(n)})}catch(e){o(e)}})}}}}}();if("object"===("undefined"==typeof e?"undefined":b(e)))return e.v}()),P=L.loadScript,A=L.nodeExePath,k=L.nodeStartScriptPath,S=L.getLocalPath,x=L.startREPL;t.loadScript=P,t.nodeExePath=A,t.nodeStartScriptPath=k,t.getLocalPath=S,t.startREPL=x;var O=(t.onNextProperUpdate=w.requestAnimationFrame?w.requestAnimationFrame:function(e){return setTimeout(e,1e3/60)},o("log")),j=M(O,2),T=j[0],_=j[1],D=o("warn"),F=M(D,2),N=F[0],q=F[1],I=o("error"),U=M(I,2),R=U[0],B=U[1];t.logList=T,t.log=_,t.warnList=N,t.warn=q,t.errorList=R,t.error=B;var C=(t.assertList=function(e){e.shift()||a(e)},t.assert=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];e||a(n)},t.getArgumentArray=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Array.prototype.slice.call(e,t)},function(e,t){return Math.floor(Math.random()*(t-e+1)+e)}),G="0123456789ACEFGHJKLMNPQRSTUVWXYZ".split(""),K=G.length,V=20,Y=d(V,0),H=d(V,G[0]),J=t.clockPerSecond=1e3,Q=t.clockToSecond=1/J,W=t.startClock=Date.now();t.startTimestamp=Math.floor(W*Q)},function(e,t){e.exports=require("fs")},function(e,t){e.exports=require("path")},function(e,t){e.exports=require("vm")},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Object.defineProperty(t,"__esModule",{value:!0}),t.Module=t.Extend=void 0;var a=n(2),u=o(a),i=n(11),l=r(i);"function"!=typeof Object.assign&&!function(){Object.assign=function(e){if(void 0===e||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),n=1,r=arguments.length;n<r;n++){var o=arguments[n];if(void 0!==o&&null!==o)for(var a in o)o.hasOwnProperty(a)&&(t[a]=o[a])}return t}}(),t.Extend=u,t.Module=l.default,t.default={Extend:u,Module:l.default}},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=function(){function e(){n(this,e),this.eventMap=new Map}return r(e,[{key:"emit",value:function(e){var t=this.getListenerList(e);if(t)for(var n in t)t[n].apply(null,arguments)}},{key:"addEventListener",value:function(e,t){if(!t||"function"!=typeof t)throw new Error("invalid callback");var n=this.getListenerList(e);for(var r in n)if(n[r]===t)throw new Error("callback already exist");return n.push(t),e}},{key:"removeEventListener",value:function(e,t){var n=this.getListenerList(e);for(var r in n)if(n[r]===t)return n.splice(r,1),t;return null}},{key:"removeEventKey",value:function(e){this.eventMap.delete(e)}},{key:"removeAll",value:function(){this.eventMap.clear()}},{key:"getListenerList",value:function(e){return this.eventMap.has(e)||this.eventMap.set(e,[]),this.eventMap.get(e)}}]),e}();t.default=o},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(2),u=function(){function e(){var t=this;r(this,e),this.moduleDataMap=new Map,this.getModuleData=function(e){var n=t.moduleDataMap.get(e);return(0,a.assert)(n,"[require] module not declared",e),n},this.getModule=function(e){var n=t.moduleDataMap.get(e);return n?n.module:null},this.setModule=function(e,n){var r=t.moduleDataMap.get(e);(0,a.assert)(r,"[setModule] module not declared",e,n),r.module=n}}return o(e,[{key:"declare",value:function(e,t){(0,a.assert)(e,"[declare] error declare nameless module");var n=this.moduleDataMap.get(e);n&&((0,a.assert)(t===n.type,"[declare] re-declare failed, type mismatch"),(0,a.log)("[declare] re-declare",e,t)),this.moduleDataMap.set(e,{name:e,type:t,require:[],loadFunction:null,module:null})}},{key:"implement",value:function(e,t){this.getModuleData(e).loadFunction=t}},{key:"require",value:function(e,t){this.getModuleData(e).require.push(t)}},{key:"load",value:function(e){var t=this.getModuleData(e);if((0,a.assert)("function"==typeof t.loadFunction,"[load] missing module implement func",t.loadFunction,"for loading module",e),t.module)return!0;if(!t.require.every(this.getModule))return!1;try{return this.setModule(e,t.loadFunction(a.GLOBAL,this.getModule)),!0}catch(e){return(0,a.warn)("[load] error",e),!1}}},{key:"loadAll",value:function(){for(var e=this,t=[],n="init";0!==t.length;)n=t.length,t.length=0,this.moduleDataMap.forEach(function(n,r){return n.module||e.load(r)||t.push(r)}),(0,a.assert)(n!==t.length,"[loadAll] infinite loop load?",t)}},{key:"get",value:function(e){var t=this.getModule(e);return(0,a.assert)(t,"[get] module not ready",e),t}}]),e}();t.default=u},function(e,t){"use strict";function n(){var e=function e(t,n){return void 0===n&&(n=!e[t]),e[t]=n,n};return e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=n},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(2),u=function(){function e(){r(this,e),this.lastUpdateTime=(0,a.now)(),this.isActive=!1,this.clear(),this.update=this.update().bind(this)}return o(e,[{key:"start",value:function(){this.isActive=!0,(0,a.onNextProperUpdate)(this.update)}},{key:"stop",value:function(){this.isActive=!1}},{key:"clear",value:function(){this.updateFuncList=[],this.updateFuncMap=new Map}},{key:"add",value:function(e,t){t?this.updateFuncMap.set(t,e):this.updateFuncList.push(e)}},{key:"update",value:function(){var e=(0,a.now)(),t=e-this.lastUpdateTime;this.lastUpdateTime=e;var n=[];this.updateFuncList.forEach(function(e,r){return r(t)&&n.push(r)}),this.updateFuncList=n;var r=new Map;this.updateFuncMap.forEach(function(e,n){return n(t)&&r.set(e,n)}),this.updateFuncMap=r,this.isActive&&(0,a.onNextProperUpdate)(this.update)}}]),e}();t.default=u},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(8),a=r(o),u=n(7),i=r(u),l=n(10),c=r(l),s=n(9),f=r(s);t.default={ModuleManager:a.default,Event:i.default,UpdateLoop:c.default,Toggle:f.default}},function(e,t){e.exports=require("repl")}]); |
1416
Dr.node.js
@@ -1,1415 +0,1 @@ | ||
/******/ (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] = { | ||
/******/ exports: {}, | ||
/******/ id: moduleId, | ||
/******/ loaded: false | ||
/******/ }; | ||
/******/ // Execute the module function | ||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | ||
/******/ // Flag the module as loaded | ||
/******/ module.loaded = 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; | ||
/******/ // __webpack_public_path__ | ||
/******/ __webpack_require__.p = ""; | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(0); | ||
/******/ }) | ||
/************************************************************************/ | ||
/******/ ([ | ||
/* 0 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
module.exports = __webpack_require__(9); | ||
/***/ }, | ||
/* 1 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
var _config = __webpack_require__(2); | ||
var _config2 = _interopRequireDefault(_config); | ||
var _common = __webpack_require__(7); | ||
var _common2 = _interopRequireDefault(_common); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var Dr = _config2.default.GLOBAL.Dr = _extends({}, _config2.default, _common2.default, { | ||
// the lower level the fewer & important message is printed | ||
// normally: 5 - ALL, 10 - WARN, 15+ - CUSTOM DEBUG LEVEL | ||
debugLevel: 0, | ||
log: function log() { | ||
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { | ||
args[_key] = arguments[_key]; | ||
} | ||
return _common2.default.logList(args); | ||
}, | ||
debug: function debug(debugLevel) { | ||
for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { | ||
args[_key2 - 1] = arguments[_key2]; | ||
} | ||
return Dr.debugLevel && Dr.debugLevel <= debugLevel && _common2.default.logList(args); | ||
}, | ||
assert: function assert() { | ||
for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { | ||
args[_key3] = arguments[_key3]; | ||
} | ||
Dr.debugLevel > 15 && _common2.default.logList(['[' + Dr.now().toFixed(4) + 'sec]', '[assert]'].concat(args)); | ||
_common2.default.assertList(args); | ||
}, | ||
logError: function logError(error) { | ||
for (var _len4 = arguments.length, args = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) { | ||
args[_key4 - 1] = arguments[_key4]; | ||
} | ||
_common2.default.logList(['Error', error]); | ||
_common2.default.logList([].concat(args)); | ||
error.stack && _common2.default.logList([error.stack]); | ||
}, | ||
toggle: new _common2.default.Toggle() | ||
}); | ||
exports.default = Dr; | ||
/***/ }, | ||
/* 2 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; | ||
exports.loadScriptByList = loadScriptByList; | ||
var GLOBAL = exports.GLOBAL = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : undefined; // normally window, global or this for a sandbox? | ||
var ENVIRONMENT = exports.ENVIRONMENT = function () { | ||
var isBrowser = typeof GLOBAL.window !== 'undefined' && typeof GLOBAL.document !== 'undefined'; | ||
var isNode = typeof GLOBAL.process !== 'undefined' && typeof GLOBAL.process.versions !== 'undefined' && GLOBAL.process.versions.node; | ||
var isCordova = typeof GLOBAL.cordova !== 'undefined'; | ||
return isCordova ? 'cordova' : isNode ? 'node' : isBrowser ? 'browser' : 'unknown'; | ||
}(); | ||
console.log('detected', ENVIRONMENT); | ||
// ENVIRONMENT dependent | ||
var _ref = function () { | ||
var _ret = function () { | ||
switch (ENVIRONMENT) { | ||
case 'browser': | ||
case 'cordova': | ||
return { | ||
v: { | ||
loadScript: function loadScript(src) { | ||
return new Promise(function (resolve) { | ||
var element = document.createElement('script'); | ||
element.type = 'text/javascript'; | ||
element.async = false; | ||
element.src = src; | ||
element.onload = function () { | ||
return resolve(element); | ||
}; | ||
var existElement = document.getElementsByTagName('script')[0]; | ||
existElement.parentNode.insertBefore(element, existElement); | ||
}); | ||
} | ||
} | ||
}; | ||
case 'node': | ||
var nodeModuleFs = __webpack_require__(3); | ||
var nodeModuleVm = __webpack_require__(4); | ||
var nodeModulePath = __webpack_require__(5); | ||
var nodeModuleRepl = __webpack_require__(6); | ||
return { | ||
v: { | ||
nodeExePath: GLOBAL.process.argv[0], | ||
nodeStartScriptPath: nodeModulePath.resolve(GLOBAL.process.cwd(), nodeModulePath.dirname(GLOBAL.process.argv[1])), | ||
getLocalPath: function getLocalPath(relativePath) { | ||
return nodeModulePath.resolve(nodeStartScriptPath, relativePath); | ||
}, | ||
startREPL: function startREPL() { | ||
return nodeModuleRepl.start({ | ||
prompt: 'Dr> ', | ||
input: GLOBAL.process.stdin, | ||
output: GLOBAL.process.stdout, | ||
useGlobal: true | ||
}); | ||
}, | ||
loadScript: function loadScript(src) { | ||
return new Promise(function (resolve, reject) { | ||
if (src.search('://') !== -1) return console.log(['[loadScript] not support web content yet...', src]); | ||
var localPath = getLocalPath(src); | ||
try { | ||
nodeModuleFs.readFile(localPath, function (error, data) { | ||
if (error) throw error; | ||
if (!data) throw new Error('failed to read file data:' + data); | ||
nodeModuleVm.runInThisContext(data.toString(), { filename: localPath }); | ||
resolve(data); | ||
}); | ||
} catch (error) { | ||
reject(error); | ||
} | ||
}); | ||
} | ||
} | ||
}; | ||
} | ||
}(); | ||
if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v; | ||
}(), | ||
loadScript = _ref.loadScript, | ||
nodeExePath = _ref.nodeExePath, | ||
nodeStartScriptPath = _ref.nodeStartScriptPath, | ||
getLocalPath = _ref.getLocalPath, | ||
startREPL = _ref.startREPL; | ||
exports.loadScript = loadScript; | ||
exports.nodeExePath = nodeExePath; | ||
exports.nodeStartScriptPath = nodeStartScriptPath; | ||
exports.getLocalPath = getLocalPath; | ||
exports.startREPL = startREPL; | ||
function loadScriptByList(srcList) { | ||
var loopLoad = function loopLoad() { | ||
return new Promise(function (resolve) { | ||
return srcList.length <= 0 ? resolve() : loadScript(srcList.shift()).then(loopLoad); | ||
}); | ||
}; | ||
return loopLoad(); // start loop | ||
} | ||
var onNextProperUpdate = exports.onNextProperUpdate = GLOBAL.requestAnimationFrame ? GLOBAL.requestAnimationFrame : function (callback) { | ||
return setTimeout(callback, 1000 / 60); | ||
}; | ||
exports.default = { | ||
GLOBAL: GLOBAL, | ||
ENVIRONMENT: ENVIRONMENT, | ||
loadScript: loadScript, | ||
loadScriptByList: loadScriptByList, | ||
onNextProperUpdate: onNextProperUpdate, | ||
nodeExePath: nodeExePath, | ||
nodeStartScriptPath: nodeStartScriptPath, | ||
getLocalPath: getLocalPath, | ||
startREPL: startREPL | ||
}; | ||
/***/ }, | ||
/* 3 */ | ||
/***/ function(module, exports) { | ||
module.exports = require("fs"); | ||
/***/ }, | ||
/* 4 */ | ||
/***/ function(module, exports) { | ||
module.exports = require("vm"); | ||
/***/ }, | ||
/* 5 */ | ||
/***/ function(module, exports) { | ||
module.exports = require("path"); | ||
/***/ }, | ||
/* 6 */ | ||
/***/ function(module, exports) { | ||
module.exports = require("repl"); | ||
/***/ }, | ||
/* 7 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
var _utils = __webpack_require__(8); | ||
var Utils = _interopRequireWildcard(_utils); | ||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } | ||
exports.default = _extends({}, Utils); | ||
/***/ }, | ||
/* 8 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.UpdateLoop = exports.Event = exports.startClock = exports.startTimestamp = exports.clockPerSec = exports.generateId = exports.assertList = exports.logList = exports.getArgumentArray = undefined; | ||
var _createClass = 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; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
exports.getRandomInt = getRandomInt; | ||
exports.getRandomIntMulti = getRandomIntMulti; | ||
exports.pick = pick; | ||
exports.reverseKeyValue = reverseKeyValue; | ||
exports.arrayDeduplication = arrayDeduplication; | ||
exports.getUTCTimeStamp = getUTCTimeStamp; | ||
exports.clock = clock; | ||
exports.now = now; | ||
exports.delay = delay; | ||
exports.loop = loop; | ||
exports.Toggle = Toggle; | ||
var _config = __webpack_require__(2); | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
var getArgumentArray = exports.getArgumentArray = function getArgumentArray(args) { | ||
var omitCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; | ||
return Array.prototype.slice.call(args, omitCount); | ||
}; | ||
var logList = exports.logList = console.log.apply ? function (argList) { | ||
return console.log.apply(console, argList); | ||
} : function (argList) { | ||
return console.log(argList); | ||
}; | ||
var assertList = exports.assertList = console.assert.apply ? function (argList) { | ||
return console.assert.apply(console, argList); | ||
} : function (assertion) { | ||
for (var _len = arguments.length, argList = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { | ||
argList[_key - 1] = arguments[_key]; | ||
} | ||
if (!assertion) throw new Error(argList); | ||
}; | ||
// math related | ||
function __getRandomInt(from, to) { | ||
// this will not auto swap, meaning <from> should be smaller than <to> | ||
return Math.floor(Math.random() * (to - from + 1) + from); // range [from, to] | ||
} | ||
function getRandomInt(a) { | ||
var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; | ||
return __getRandomInt(Math.min(a, b), Math.max(a, b)); | ||
} | ||
function getRandomIntMulti(a, b, count) { | ||
// the result will be from small to big | ||
var from = Math.min(a, b); | ||
var to = Math.max(a, b); | ||
var resultList = []; | ||
count = Math.min(count, to - from + 1); | ||
for (var i = 0; i < count; i++) { | ||
var next = __getRandomInt(from, to - i); | ||
var j = 0; | ||
while (j < resultList.length) { | ||
if (resultList[j] > next) break; | ||
next++; | ||
j++; | ||
} | ||
resultList.splice(j, 0, next); | ||
} | ||
return resultList; | ||
} | ||
// data operation | ||
function pick(pack, key) { | ||
var pickData = void 0; | ||
if (pack instanceof Object) { | ||
pickData = pack[key]; | ||
delete pack[key]; | ||
} | ||
return pickData; | ||
} | ||
function reverseKeyValue(pack, maskValue) { | ||
var resultMap = {}; | ||
if (maskValue) for (var key in pack) { | ||
resultMap[pack[key]] = maskValue; | ||
} else for (var _key2 in pack) { | ||
resultMap[pack[_key2]] = _key2; | ||
}return resultMap; | ||
} | ||
function arrayDeduplication() { | ||
var dedupMap = {}; | ||
for (var _len2 = arguments.length, arrayList = Array(_len2), _key3 = 0; _key3 < _len2; _key3++) { | ||
arrayList[_key3] = arguments[_key3]; | ||
} | ||
for (var i in arrayList) { | ||
var array = arrayList[i]; | ||
for (var j in array) { | ||
dedupMap[array[j]] = true; | ||
} | ||
} | ||
var result = []; | ||
for (var key in dedupMap) { | ||
result.push(key); | ||
}return result; | ||
} | ||
var generateId = exports.generateId = function () { | ||
// const symbolList = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.split(''); //full 62 | ||
var symbolList = '0123456789ACEFGHJKLMNPQRSTUVWXYZ'.split(''); // lite 32, easy to recognise, but only safe within one runtime | ||
var symbolCount = symbolList.length; | ||
var resultCount = 20; | ||
var indexList = []; | ||
var resultList = []; | ||
for (var i = 0; i < resultCount; i++) { | ||
indexList[i] = 0; | ||
resultList[i] = symbolList[indexList[i]]; | ||
} | ||
return function () { | ||
for (var _i = resultCount - 1; _i >= 0; _i--) { | ||
indexList[_i] = (indexList[_i] + 1) % symbolCount; | ||
resultList[_i] = symbolList[indexList[_i]]; | ||
if (indexList[_i] > 0) break; | ||
} | ||
return resultList.join(''); // get string | ||
}; | ||
}(); | ||
// time related | ||
var clockPerSec = exports.clockPerSec = 1000; | ||
function getUTCTimeStamp() { | ||
return Math.floor(Date.now() / clockPerSec); | ||
} | ||
var startTimestamp = exports.startTimestamp = getUTCTimeStamp(); | ||
var startClock = exports.startClock = Date.now(); | ||
function clock() { | ||
return Date.now() - startClock; // return running time in milliseconds | ||
} | ||
function now() { | ||
return (Date.now() - startClock) / clockPerSec; // return running time in seconds | ||
} | ||
function delay(callback, time, isRepeat) { | ||
var setFunc = isRepeat ? setInterval : setTimeout; | ||
var clearFunc = isRepeat ? clearInterval : clearTimeout; | ||
var clearId = setFunc(callback, time * 1000); | ||
return function () { | ||
return clearFunc(clearId); | ||
}; // can be called to remove callback | ||
} | ||
// logic | ||
function loop(count, callback) { | ||
var looped = 0; | ||
while (count > looped) { | ||
callback(looped); | ||
looped++; | ||
} | ||
} | ||
var Event = exports.Event = function () { | ||
function Event() { | ||
_classCallCheck(this, Event); | ||
this.eventMap = new Map(); | ||
} | ||
_createClass(Event, [{ | ||
key: 'emit', | ||
value: function emit(key) { | ||
var callbackList = this.getListenerList(key); | ||
if (callbackList) for (var i in callbackList) { | ||
callbackList[i].apply(null, arguments); | ||
} | ||
} | ||
}, { | ||
key: 'addEventListener', | ||
value: function addEventListener(key, callback) { | ||
if (!callback || typeof callback === 'function') throw new Error('invalid callback'); | ||
var callbackList = this.getListenerList(key); | ||
for (var i in callbackList) { | ||
if (callbackList[i] === callback) throw new Error('callback already exist'); | ||
}callbackList.push(callback); | ||
return key; | ||
} | ||
}, { | ||
key: 'removeEventListener', | ||
value: function removeEventListener(key, callback) { | ||
var callbackList = this.getListenerList(key); | ||
for (var i in callbackList) { | ||
if (callbackList[i] === callback) { | ||
callbackList.splice(i, 1); | ||
return callback; | ||
} | ||
} | ||
return null; | ||
} | ||
}, { | ||
key: 'removeEventKey', | ||
value: function removeEventKey(key) { | ||
this.eventMap.delete(key); | ||
} | ||
}, { | ||
key: 'removeAll', | ||
value: function removeAll() { | ||
this.eventMap.clear(); | ||
} | ||
}, { | ||
key: 'getListenerList', | ||
value: function getListenerList(key) { | ||
if (!this.eventMap.has(key)) this.eventMap.set(key, []); | ||
return this.eventMap.get(key); | ||
} | ||
}]); | ||
return Event; | ||
}(); | ||
var UpdateLoop = exports.UpdateLoop = function () { | ||
function UpdateLoop() { | ||
_classCallCheck(this, UpdateLoop); | ||
this.lastUpdateTime = now(); | ||
this.isActive = false; | ||
this.clear(); | ||
// bind first | ||
this.update = this.update().bind(this); | ||
} | ||
_createClass(UpdateLoop, [{ | ||
key: 'start', | ||
value: function start() { | ||
this.isActive = true; | ||
(0, _config.onNextProperUpdate)(this.update); | ||
} | ||
}, { | ||
key: 'stop', | ||
value: function stop() { | ||
this.isActive = false; | ||
} | ||
}, { | ||
key: 'clear', | ||
value: function clear() { | ||
this.updateFuncList = []; // index non-constant, will be refreshed on every update | ||
this.updateFuncMap = new Map(); // key constant, will be refreshed on every update | ||
} | ||
}, { | ||
key: 'add', | ||
value: function add(updateFunc, key) { | ||
key ? this.updateFuncMap.set(key, updateFunc) : this.updateFuncList.push(updateFunc); | ||
} | ||
}, { | ||
key: 'update', | ||
value: function update() { | ||
var currentUpdateTime = now(); | ||
var deltaTime = currentUpdateTime - this.lastUpdateTime; | ||
this.lastUpdateTime = currentUpdateTime; | ||
var nextUpdateFuncList = []; | ||
this.updateFuncList.forEach(function (index, updateFunc) { | ||
return updateFunc(deltaTime) && nextUpdateFuncList.push(updateFunc); | ||
}); | ||
this.updateFuncList = nextUpdateFuncList; | ||
var nextUpdateFuncMap = new Map(); | ||
this.updateFuncMap.forEach(function (key, updateFunc) { | ||
return updateFunc(deltaTime) && nextUpdateFuncMap.set(key, updateFunc); | ||
}); | ||
this.updateFuncMap = nextUpdateFuncMap; | ||
this.isActive && (0, _config.onNextProperUpdate)(this.update); | ||
} | ||
}]); | ||
return UpdateLoop; | ||
}(); | ||
function Toggle() { | ||
var toggle = function toggle(key, value) { | ||
if (value === undefined) value = !toggle[key]; | ||
toggle[key] = value; | ||
return value; | ||
}; | ||
return toggle; | ||
} | ||
/***/ }, | ||
/* 9 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _Dr = __webpack_require__(1); | ||
var _Dr2 = _interopRequireDefault(_Dr); | ||
var _node = __webpack_require__(10); | ||
var _node2 = _interopRequireDefault(_node); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
Object.assign(_Dr2.default, _node2.default); | ||
_Dr2.default.GLOBAL.Dr = _Dr2.default; | ||
exports.default = _Dr2.default; | ||
/***/ }, | ||
/* 10 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
var _utils = __webpack_require__(11); | ||
var Utils = _interopRequireWildcard(_utils); | ||
var _ArgvParser = __webpack_require__(12); | ||
var _ArgvParser2 = _interopRequireDefault(_ArgvParser); | ||
var _Command = __webpack_require__(13); | ||
var _Command2 = _interopRequireDefault(_Command); | ||
var _FileOperation = __webpack_require__(16); | ||
var _FileOperation2 = _interopRequireDefault(_FileOperation); | ||
var _DirectoryOperation = __webpack_require__(17); | ||
var _DirectoryOperation2 = _interopRequireDefault(_DirectoryOperation); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } | ||
exports.default = _extends({}, Utils, { | ||
ArgvParser: _ArgvParser2.default, | ||
Command: _Command2.default, | ||
FileOperation: _FileOperation2.default, | ||
DirectoryOperation: _DirectoryOperation2.default | ||
}); | ||
/***/ }, | ||
/* 11 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.loadScriptSync = loadScriptSync; | ||
exports.loadJSONSync = loadJSONSync; | ||
var _Dr = __webpack_require__(1); | ||
var _Dr2 = _interopRequireDefault(_Dr); | ||
var _vm = __webpack_require__(4); | ||
var _vm2 = _interopRequireDefault(_vm); | ||
var _fs = __webpack_require__(3); | ||
var _fs2 = _interopRequireDefault(_fs); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function loadScriptSync(src) { | ||
var filePath = _Dr2.default.getLocalPath(src); | ||
try { | ||
var data = _fs2.default.readFileSync(filePath); | ||
_vm2.default.runInThisContext(data.toString(), { filename: filePath }); | ||
} catch (error) { | ||
_Dr2.default.logError(error, '[loadScript] Failed to load Script', filePath); | ||
} | ||
} | ||
function loadJSONSync(src) { | ||
var filePath = _Dr2.default.getLocalPath(src); | ||
var fileString = _fs2.default.readFileSync(filePath, { encoding: 'utf8' }); | ||
var stringList = fileString.split('\n').forEach(function (v) { | ||
return v.replace(/\/\/.*/, ''); | ||
}); // support single line comment like '//...' | ||
return JSON.parse(stringList.join('\n')); | ||
} | ||
/***/ }, | ||
/* 12 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _createClass = 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; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
var _Dr = __webpack_require__(1); | ||
var _Dr2 = _interopRequireDefault(_Dr); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
var ArgvParser = function () { | ||
function ArgvParser(formatListList) { | ||
var _this = this; | ||
_classCallCheck(this, ArgvParser); | ||
this.keyList = ['nodeExecutable', 'scriptFile']; | ||
this.formatMap = { | ||
nodeExecutable: {}, | ||
scriptFile: {} | ||
}; | ||
formatListList.forEach(function (formatList) { | ||
var key = formatList.shift(); | ||
if (_this.formatMap[key]) return _Dr2.default.assert(false, '[ArgvParser] duplicate argv_key:' + key); | ||
_this.keyList.push(key); | ||
_this.formatMap[key] = ArgvParser.parseFormatList(formatList); | ||
}); | ||
} | ||
_createClass(ArgvParser, [{ | ||
key: 'parse', | ||
value: function parse(argvList) { | ||
var _this2 = this; | ||
var argvMap = {}; | ||
this.keyList.forEach(function (key) { | ||
var format = _this2.formatMap[key]; | ||
if (format.isOptional && argvList.length === 0) { | ||
if (format.isDefaultValue) argvMap[key] = format.defaultValue; | ||
} else if (format.isMulti && argvList.length > 0) { | ||
argvMap[key] = argvList; | ||
argvList = []; | ||
} else if (argvList.length > 0) { | ||
argvMap[key] = argvList.shift(); | ||
} else { | ||
_Dr2.default.log('[Usage] ' + _this2.getUsage()); | ||
_Dr2.default.log('[Get] ' + _this2.getResultArgvUsage(argvMap)); | ||
_Dr2.default.log('[Error]\n -- missing arg:<' + key + '> left input argv: [' + argvList.join(', ') + ']'); | ||
return _Dr2.default.global.process.exit(-1); | ||
} | ||
}); | ||
return argvMap; | ||
} | ||
}, { | ||
key: 'getUsage', | ||
value: function getUsage() { | ||
var _this3 = this; | ||
return ' - ' + this.keyList.map(function (v, i) { | ||
return '[' + i + '] <' + v + '> ' + _this3.getFormatUsage(v); | ||
}).join('\n - '); | ||
} | ||
}, { | ||
key: 'getFormatUsage', | ||
value: function getFormatUsage(key) { | ||
var format = this.formatMap[key]; | ||
return (format.isOptional ? ' [OPTIONAL]' : '') + (format.isMulti ? ' [MULTI]' : '') + (format.isDefaultValue ? ' [DEFAULT = ' + format.defaultValue + ']' : ''); | ||
} | ||
}, { | ||
key: 'getResultArgvUsage', | ||
value: function getResultArgvUsage(argumentMap) { | ||
return ' - ' + this.keyList.map(function (v, i) { | ||
return '[' + i + '] ' + (argumentMap[v] || '! <' + v + '>'); | ||
}).join('\n - '); | ||
} | ||
}], [{ | ||
key: 'parseFormatList', | ||
value: function parseFormatList(formatList) { | ||
var format = {}; | ||
for (var index = 0, indexMax = formatList.length; index < indexMax; index++) { | ||
switch (formatList[index]) { | ||
case ArgvParser.TYPE.OPTIONAL: | ||
format.isOptional = true; | ||
break; | ||
case ArgvParser.TYPE.MULTI: | ||
format.isMulti = true; | ||
break; | ||
case ArgvParser.TYPE.DEFAULT: | ||
index++; | ||
_Dr2.default.assert(index >= indexMax, '[ArgvParser][parseFormatList] Missing value for DEFAULT'); | ||
format.isDefaultValue = true; | ||
format.defaultValue = formatList[index]; // pick defaultValue from next index | ||
break; | ||
} | ||
} | ||
return format; | ||
} | ||
}]); | ||
return ArgvParser; | ||
}(); | ||
ArgvParser.TYPE = { | ||
OPTIONAL: 'OPTIONAL', | ||
MULTI: 'MULTI', | ||
DEFAULT: 'DEFAULT' | ||
}; | ||
exports.default = ArgvParser; | ||
/***/ }, | ||
/* 13 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.spawn = exports.run = undefined; | ||
var _Dr = __webpack_require__(1); | ||
var _Dr2 = _interopRequireDefault(_Dr); | ||
var _os = __webpack_require__(14); | ||
var _os2 = _interopRequireDefault(_os); | ||
var _child_process = __webpack_require__(15); | ||
var _child_process2 = _interopRequireDefault(_child_process); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
// const SAMPLE_OPTIONS = { | ||
// cwd: 'cwd', | ||
// env: { env: 'env' }, | ||
// stdoutStream: process.stdout, | ||
// stderrStream: process.stderr, | ||
// callbackOutput: (eventType, outputType, data) => {}, | ||
// callback: (code, signal) => {}, | ||
// } | ||
var PLATFORM = _os2.default.platform(); | ||
function run(command, options) { | ||
if (~PLATFORM.search('win')) return spawn('cmd', ['/s', '/c', command], options); | ||
if (~PLATFORM.search('nux') || ~PLATFORM.search('darwin')) return spawn('sh', ['-c', command], options); | ||
throw new Error('[Command][run] unrecognized PLATFORM:' + PLATFORM); | ||
} | ||
function spawn(command) { | ||
var argList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; | ||
var _ref = arguments[2]; | ||
var callback = _ref.callback, | ||
cwd = _ref.cwd, | ||
env = _ref.env, | ||
shell = _ref.shell, | ||
detached = _ref.detached, | ||
stdoutStream = _ref.stdoutStream, | ||
stderrStream = _ref.stderrStream, | ||
callbackOutput = _ref.callbackOutput; | ||
var childProcess = _child_process2.default.spawn(command, argList, { | ||
cwd: cwd || process.cwd(), | ||
env: env || process.env, | ||
shell: shell || true, | ||
detached: detached || false // Added in: v0.7.10 | ||
}); | ||
childProcess.stdout.on('data', function (data) { | ||
stdoutStream && stdoutStream.write(data); | ||
callbackOutput && callbackOutput('data', 'stdout', data); | ||
}); | ||
childProcess.stdout.on('end', function () { | ||
// stdoutStream && stdoutStream.end() // may close | ||
callbackOutput && callbackOutput('end', 'stdout'); | ||
}); | ||
childProcess.stderr.on('data', function (data) { | ||
stderrStream && stderrStream.write(data); | ||
callbackOutput && callbackOutput('data', 'stderr', data); | ||
}); | ||
childProcess.stderr.on('end', function () { | ||
// stderrStream && stderrStream.end() | ||
callbackOutput && callbackOutput('end', 'stderr'); | ||
}); | ||
childProcess.on('exit', function (code, signal) { | ||
_Dr2.default.debug(10, '[Exit] code:', code, 'signal:', signal); | ||
callback && callback(code, signal); | ||
}); | ||
childProcess.on('error', function (error) { | ||
_Dr2.default.debug(10, '[Error] error:', error, error.stack && error.stack); | ||
callback && callback(-1, error); | ||
}); | ||
return childProcess; | ||
} | ||
exports.run = run; | ||
exports.spawn = spawn; | ||
exports.default = { | ||
run: run, | ||
spawn: spawn | ||
}; | ||
/***/ }, | ||
/* 14 */ | ||
/***/ function(module, exports) { | ||
module.exports = require("os"); | ||
/***/ }, | ||
/* 15 */ | ||
/***/ function(module, exports) { | ||
module.exports = require("child_process"); | ||
/***/ }, | ||
/* 16 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.modify = exports.copyPath = exports.movePath = exports.deletePath = exports.copyFileSync = exports.writeFileSync = exports.readFileSync = exports.createDirectorySync = exports.getPathTypeSync = exports.MODIFY_OPERATION_TYPE = exports.FILE_TYPE = undefined; | ||
var _Dr = __webpack_require__(1); | ||
var _Dr2 = _interopRequireDefault(_Dr); | ||
var _fs = __webpack_require__(3); | ||
var _fs2 = _interopRequireDefault(_fs); | ||
var _path = __webpack_require__(5); | ||
var _path2 = _interopRequireDefault(_path); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var FILE_TYPE = { | ||
File: 'File', | ||
Directory: 'Directory', | ||
SymbolicLink: 'SymbolicLink', // tricky | ||
Other: 'Other', | ||
Error: 'Error' // non-exist or other reason | ||
}; | ||
var MODIFY_OPERATION_TYPE = { | ||
MOVE: 'MOVE', | ||
COPY: 'COPY', | ||
DELETE: 'DELETE' | ||
}; | ||
function getPathTypeSync(path) { | ||
try { | ||
var stat = _fs2.default.lstatSync(path); | ||
return stat.isDirectory() ? FILE_TYPE.Directory : stat.isFile() ? FILE_TYPE.File : stat.isSymbolicLink() ? FILE_TYPE.SymbolicLink : FILE_TYPE.Other; | ||
} catch (error) { | ||
return FILE_TYPE.Error; | ||
} | ||
} | ||
function createDirectorySync(path) { | ||
var dirPath = _path2.default.resolve(path); | ||
var upperDirPath = _path2.default.dirname(dirPath); | ||
getPathTypeSync(upperDirPath) !== FILE_TYPE.Directory && createDirectorySync(upperDirPath); | ||
getPathTypeSync(dirPath) !== FILE_TYPE.Directory && _fs2.default.mkdirSync(dirPath); | ||
} | ||
function readFileSync(path) { | ||
var fd = _fs2.default.openSync(path, 'r'); | ||
var stat = _fs2.default.fstatSync(fd); | ||
var buffer = new Buffer(stat.size); | ||
_fs2.default.readSync(fd, buffer, 0, stat.size, 0); | ||
_fs2.default.closeSync(fd); | ||
return buffer; | ||
} | ||
function writeFileSync(path, buffer, mode) { | ||
var fd = _fs2.default.openSync(path, 'w', mode); | ||
_fs2.default.writeSync(fd, buffer, 0, buffer.length); | ||
_fs2.default.closeSync(fd); | ||
return buffer; | ||
} | ||
function copyFileSync(pathFrom, pathTo) { | ||
var fdFrom = _fs2.default.openSync(pathFrom, 'r'); | ||
var fdTo = _fs2.default.openSync(pathTo, 'w', stat.mode); | ||
var BUFFER_LENGTH = 64 * 1024; | ||
var buffer = new Buffer(BUFFER_LENGTH); | ||
var stat = _fs2.default.fstatSync(fdFrom); | ||
var bytesRead = stat.size; | ||
var pos = 0; | ||
while (bytesRead > 0) { | ||
bytesRead = _fs2.default.readSync(fdFrom, buffer, 0, BUFFER_LENGTH, pos); | ||
_fs2.default.writeSync(fdTo, buffer, 0, bytesRead); | ||
pos += bytesRead; | ||
} | ||
_fs2.default.closeSync(fdFrom); | ||
_fs2.default.closeSync(fdTo); | ||
} | ||
// NOT deep delete | ||
function deletePath(pathType, path) { | ||
_Dr2.default.debug(5, '[deletePath]', arguments); | ||
switch (pathType) { | ||
case FILE_TYPE.File: | ||
case FILE_TYPE.SymbolicLink: | ||
return _fs2.default.unlinkSync(path); | ||
case FILE_TYPE.Directory: | ||
return _fs2.default.rmdirSync(path); | ||
} | ||
_Dr2.default.log('[deletePath] strange path type', pathType); | ||
} | ||
// NOT deep move | ||
function movePath(pathType, pathFrom, pathTo) { | ||
_Dr2.default.debug(5, '[movePath]', arguments); | ||
switch (pathType) { | ||
case FILE_TYPE.File: | ||
case FILE_TYPE.SymbolicLink: | ||
case FILE_TYPE.Directory: | ||
return _fs2.default.renameSync(pathFrom, pathTo); | ||
} | ||
return _Dr2.default.log('[movePath] strange path type', pathType); | ||
} | ||
// NOT deep copy | ||
function copyPath(pathType, pathFrom, pathTo) { | ||
_Dr2.default.debug(5, '[copyPath]', arguments); | ||
if (getPathTypeSync(pathTo) === pathType) return _Dr2.default.log('[copyPath] exist, skipped'); | ||
switch (pathType) { | ||
case FILE_TYPE.File: | ||
case FILE_TYPE.SymbolicLink: | ||
return copyFileSync(pathFrom, pathTo); | ||
case FILE_TYPE.Directory: | ||
return _fs2.default.mkdirSync(pathTo); | ||
} | ||
_Dr2.default.log('[copyPath] strange path type', pathType); | ||
} | ||
function modify(operationType, pathType, pathFrom, pathTo) { | ||
pathType = pathType || getPathTypeSync(pathFrom); | ||
switch (operationType) { | ||
case MODIFY_OPERATION_TYPE.COPY: | ||
createDirectorySync(_path2.default.dirname(pathTo)); | ||
return copyPath(pathType, pathFrom, pathTo); | ||
case MODIFY_OPERATION_TYPE.MOVE: | ||
createDirectorySync(_path2.default.dirname(pathTo)); | ||
return movePath(pathType, pathFrom, pathTo); | ||
case MODIFY_OPERATION_TYPE.DELETE: | ||
return deletePath(pathType, pathFrom); | ||
default: | ||
throw new Error('[modify] Error operationType:' + operationType); | ||
} | ||
} | ||
exports.FILE_TYPE = FILE_TYPE; | ||
exports.MODIFY_OPERATION_TYPE = MODIFY_OPERATION_TYPE; | ||
exports.getPathTypeSync = getPathTypeSync; | ||
exports.createDirectorySync = createDirectorySync; | ||
exports.readFileSync = readFileSync; | ||
exports.writeFileSync = writeFileSync; | ||
exports.copyFileSync = copyFileSync; | ||
exports.deletePath = deletePath; | ||
exports.movePath = movePath; | ||
exports.copyPath = copyPath; | ||
exports.modify = modify; | ||
exports.default = { | ||
FILE_TYPE: FILE_TYPE, | ||
MODIFY_OPERATION_TYPE: MODIFY_OPERATION_TYPE, | ||
getPathTypeSync: getPathTypeSync, | ||
createDirectorySync: createDirectorySync, | ||
readFileSync: readFileSync, | ||
writeFileSync: writeFileSync, | ||
copyFileSync: copyFileSync, | ||
deletePath: deletePath, | ||
movePath: movePath, | ||
copyPath: copyPath, | ||
modify: modify | ||
}; | ||
/***/ }, | ||
/* 17 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.modify = exports.getPrefixMapper = exports.getExtnameFilter = exports.getFileList = exports.Directory = exports.MODIFY_OPERATION_TYPE = exports.WALK_CONTROL_TYPE = exports.FILE_TYPE = exports.FileOperation = undefined; | ||
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); | ||
var _createClass = 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; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
var _Dr = __webpack_require__(1); | ||
var _Dr2 = _interopRequireDefault(_Dr); | ||
var _FileOperation = __webpack_require__(16); | ||
var _FileOperation2 = _interopRequireDefault(_FileOperation); | ||
var _fs = __webpack_require__(3); | ||
var _fs2 = _interopRequireDefault(_fs); | ||
var _path = __webpack_require__(5); | ||
var _path2 = _interopRequireDefault(_path); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
var WALK_CONTROL_TYPE = { | ||
CONTINUE: 'CONTINUE', | ||
BREAK: 'BREAK' | ||
}; | ||
var Directory = function () { | ||
function Directory(path) { | ||
_classCallCheck(this, Directory); | ||
this.path = ''; | ||
this.content = null; | ||
path && this.readContent(path); | ||
} | ||
_createClass(Directory, [{ | ||
key: 'readContent', | ||
value: function readContent(path) { | ||
var _content, | ||
_this = this; | ||
_Dr2.default.assert(_FileOperation2.default.getPathTypeSync(path) === _FileOperation.FILE_TYPE.Directory, '[DirectoryOperation] Error! path not Directory', path); | ||
var content = (_content = {}, _defineProperty(_content, _FileOperation.FILE_TYPE.Directory, new Map()), _defineProperty(_content, _FileOperation.FILE_TYPE.File, []), _defineProperty(_content, _FileOperation.FILE_TYPE.SymbolicLink, []), _defineProperty(_content, _FileOperation.FILE_TYPE.Other, []), _content); | ||
_fs2.default.readdirSync(this.path).forEach(function (name) { | ||
var subPath = _path2.default.join(_this.path, name); | ||
var subPathType = _FileOperation2.default.getPathTypeSync(subPath); | ||
switch (subPathType) { | ||
case _FileOperation.FILE_TYPE.Directory: | ||
content[subPathType].set(name, new _this.constructor(subPath)); | ||
break; | ||
case _FileOperation.FILE_TYPE.File: | ||
case _FileOperation.FILE_TYPE.SymbolicLink: | ||
content[subPathType].push(name); | ||
break; | ||
default: | ||
content[_FileOperation.FILE_TYPE.Other].push(name); | ||
break; | ||
} | ||
}); | ||
this.path = path; | ||
this.content = content; | ||
return content; | ||
} | ||
}, { | ||
key: 'walk', | ||
value: function walk(callback, isCallbackFirst) { | ||
var _this2 = this; | ||
[_FileOperation.FILE_TYPE.File, _FileOperation.FILE_TYPE.SymbolicLink, _FileOperation.FILE_TYPE.Other].forEach(function (type) { | ||
var nameList = _this2.content[type]; | ||
var _iteratorNormalCompletion = true; | ||
var _didIteratorError = false; | ||
var _iteratorError = undefined; | ||
try { | ||
for (var _iterator = nameList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | ||
var name = _step.value; | ||
var walkControl = callback(_this2.path, name, type); | ||
if (walkControl === WALK_CONTROL_TYPE.CONTINUE) continue; // skip current (should be sub Directory + is_call_before_walk == false) | ||
if (walkControl === WALK_CONTROL_TYPE.BREAK) break; // skip current content type | ||
} | ||
} catch (err) { | ||
_didIteratorError = true; | ||
_iteratorError = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion && _iterator.return) { | ||
_iterator.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError) { | ||
throw _iteratorError; | ||
} | ||
} | ||
} | ||
}); | ||
var subDirectoryMap = this.content[_FileOperation.FILE_TYPE.Directory]; | ||
var _iteratorNormalCompletion2 = true; | ||
var _didIteratorError2 = false; | ||
var _iteratorError2 = undefined; | ||
try { | ||
for (var _iterator2 = subDirectoryMap[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { | ||
var _step2$value = _slicedToArray(_step2.value, 2), | ||
name = _step2$value[0], | ||
subDirectory = _step2$value[1]; | ||
!isCallbackFirst && subDirectory.walk(callback, isCallbackFirst); | ||
var walkControl = callback(this.path, name, _FileOperation.FILE_TYPE.Directory); | ||
if (walkControl === WALK_CONTROL_TYPE.CONTINUE) continue; // skip current (should be sub Directory + is_call_before_walk == false) | ||
if (walkControl === WALK_CONTROL_TYPE.BREAK) break; // skip current content type | ||
isCallbackFirst && subDirectory.walk(callback, isCallbackFirst); | ||
} | ||
} catch (err) { | ||
_didIteratorError2 = true; | ||
_iteratorError2 = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion2 && _iterator2.return) { | ||
_iterator2.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError2) { | ||
throw _iteratorError2; | ||
} | ||
} | ||
} | ||
} | ||
}, { | ||
key: 'walkOnce', | ||
value: function walkOnce(callback) { | ||
var _this3 = this; | ||
[_FileOperation.FILE_TYPE.File, _FileOperation.FILE_TYPE.SymbolicLink, _FileOperation.FILE_TYPE.Other].forEach(function (type) { | ||
var nameList = _this3.content[type]; | ||
var _iteratorNormalCompletion3 = true; | ||
var _didIteratorError3 = false; | ||
var _iteratorError3 = undefined; | ||
try { | ||
for (var _iterator3 = nameList[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { | ||
var name = _step3.value; | ||
var walkControl = callback(_this3.path, name, type); | ||
if (walkControl === WALK_CONTROL_TYPE.CONTINUE) continue; // skip current (should be sub Directory + is_call_before_walk == false) | ||
if (walkControl === WALK_CONTROL_TYPE.BREAK) break; // skip current content type | ||
} | ||
} catch (err) { | ||
_didIteratorError3 = true; | ||
_iteratorError3 = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion3 && _iterator3.return) { | ||
_iterator3.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError3) { | ||
throw _iteratorError3; | ||
} | ||
} | ||
} | ||
}); | ||
var subDirectoryMap = this.content[_FileOperation.FILE_TYPE.Directory]; | ||
var _iteratorNormalCompletion4 = true; | ||
var _didIteratorError4 = false; | ||
var _iteratorError4 = undefined; | ||
try { | ||
for (var _iterator4 = subDirectoryMap[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { | ||
var name = _step4.value; | ||
var walkControl = callback(this.path, name, _FileOperation.FILE_TYPE.Directory); | ||
if (walkControl === WALK_CONTROL_TYPE.CONTINUE) continue; // skip current (should be sub Directory + is_call_before_walk == false) | ||
if (walkControl === WALK_CONTROL_TYPE.BREAK) break; // skip current content type | ||
} | ||
} catch (err) { | ||
_didIteratorError4 = true; | ||
_iteratorError4 = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion4 && _iterator4.return) { | ||
_iterator4.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError4) { | ||
throw _iteratorError4; | ||
} | ||
} | ||
} | ||
} | ||
}, { | ||
key: 'copy', | ||
value: function copy(pathTo) { | ||
_FileOperation2.default.createDirectorySync(pathTo); | ||
var pathToMap = _defineProperty({}, this.path, pathTo); | ||
this.walk(function (path, name, type) { | ||
var pathFrom = _path2.default.join(path, name); | ||
var pathTo = _path2.default.join(pathToMap[path], name); | ||
pathToMap[pathFrom] = pathTo; | ||
_FileOperation2.default.copyPath(type, pathFrom, pathTo); | ||
}, true); | ||
} | ||
}, { | ||
key: 'move', | ||
value: function move(pathTo) { | ||
_FileOperation2.default.createDirectorySync(pathTo); | ||
this.walkOnce(function (path, name, type) { | ||
return _FileOperation2.default.movePath(type, _path2.default.join(path, name), _path2.default.join(pathTo, name)); | ||
}); | ||
} | ||
}, { | ||
key: 'delete', | ||
value: function _delete() { | ||
return this.walk(function (path, name, type) { | ||
return _FileOperation2.default.deletePath(type, _path2.default.join(path, name)); | ||
}, false); | ||
} | ||
}]); | ||
return Directory; | ||
}(); | ||
/* | ||
* @{param} path | ||
* @{param}[optional] fileFilter(path, name) return true to filter | ||
* @{param}[optional] outputMapper(path, name) return new path | ||
* if outputMapper, return [ [ sourcePath, mappedPath ] ] | ||
* if no outputMapper, return [ sourcePath ] | ||
* */ | ||
function getFileList(path, fileFilter, outputMapper) { | ||
var fileList = []; | ||
function addFile(path, name) { | ||
if (fileFilter && fileFilter(path, name)) return; | ||
var sourcePath = _path2.default.join(path, name); | ||
outputMapper ? fileList.push([sourcePath, outputMapper(path, name)]) : fileList.push(sourcePath); | ||
} | ||
switch (_FileOperation2.default.getPathTypeSync(path)) { | ||
case _FileOperation.FILE_TYPE.File: | ||
addFile(_path2.default.dirname(path), _path2.default.basename(path)); | ||
break; | ||
case _FileOperation.FILE_TYPE.Directory: | ||
new Directory(path).walk(function (path, name, type) { | ||
return type === _FileOperation.FILE_TYPE.File && addFile(path, name); | ||
}); | ||
break; | ||
} | ||
return fileList; | ||
} | ||
function getExtnameFilter(extname) { | ||
return function (path, name) { | ||
return extname !== _path2.default.extname(name); | ||
}; | ||
} | ||
function getPrefixMapper(prefix) { | ||
return function (path, name) { | ||
return _path2.default.join(path, prefix + name); | ||
}; | ||
} | ||
// pathTo only needed for copy / move | ||
function modify(operationType, pathType, pathFrom, pathTo) { | ||
pathType = pathType || _FileOperation2.default.getPathTypeSync(pathFrom); | ||
switch (pathType) { | ||
case _FileOperation.FILE_TYPE.Directory: | ||
var directory = new Directory(pathFrom); | ||
switch (operationType) { | ||
case _FileOperation.MODIFY_OPERATION_TYPE.COPY: | ||
return directory.copy(pathTo); | ||
case _FileOperation.MODIFY_OPERATION_TYPE.MOVE: | ||
directory.move(pathTo); | ||
return _FileOperation2.default.deletePath(_FileOperation.FILE_TYPE.Directory, pathFrom); | ||
case _FileOperation.MODIFY_OPERATION_TYPE.DELETE: | ||
directory.delete(pathTo); | ||
return _FileOperation2.default.deletePath(_FileOperation.FILE_TYPE.Directory, pathFrom); | ||
} | ||
return _Dr2.default.assert(false, '[modify] Error operationType:' + operationType); | ||
case _FileOperation.FILE_TYPE.File: | ||
case _FileOperation.FILE_TYPE.SymbolicLink: | ||
return _FileOperation2.default.modify(operationType, pathType, pathFrom, pathTo); | ||
} | ||
} | ||
exports.FileOperation = _FileOperation2.default; | ||
exports.FILE_TYPE = _FileOperation.FILE_TYPE; | ||
exports.WALK_CONTROL_TYPE = WALK_CONTROL_TYPE; | ||
exports.MODIFY_OPERATION_TYPE = _FileOperation.MODIFY_OPERATION_TYPE; | ||
exports.Directory = Directory; | ||
exports.getFileList = getFileList; | ||
exports.getExtnameFilter = getExtnameFilter; | ||
exports.getPrefixMapper = getPrefixMapper; | ||
exports.modify = modify; | ||
exports.default = { | ||
FileOperation: _FileOperation2.default, | ||
FILE_TYPE: _FileOperation.FILE_TYPE, | ||
WALK_CONTROL_TYPE: WALK_CONTROL_TYPE, | ||
MODIFY_OPERATION_TYPE: _FileOperation.MODIFY_OPERATION_TYPE, | ||
Directory: Directory, | ||
getFileList: getFileList, | ||
getExtnameFilter: getExtnameFilter, | ||
getPrefixMapper: getPrefixMapper, | ||
modify: modify | ||
}; | ||
/***/ } | ||
/******/ ]); | ||
!function(e){function t(n){if(r[n])return r[n].exports;var a=r[n]={exports:{},id:n,loaded:!1};return e[n].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){e.exports=r(15)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Dr=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a=r(6),o=n({},a.Extend,{Module:a.Module,debugLevel:0,debug:function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return o.debugLevel&&o.debugLevel<=e&&a.Extend.logList(r)},Event:new a.Module.Event,Toggle:new a.Module.Toggle,initModuleManager:function(){var e=new a.Module.ModuleManager;Object.assign(o,{Declare:e.declare.bind(e),Require:e.require.bind(e),Implement:e.implement.bind(e),LoadAll:e.loadAll.bind(e),Get:e.get.bind(e),GetNew:function(t){for(var r=arguments.length,n=Array(r>1?r-1:0),a=1;a<r;a++)n[a-1]=arguments[a];var o=e.get(t);return o?new(Function.prototype.bind.apply(o,[null].concat(n))):null}});for(var t in o.Module)e.declare(t),e.setModule(t,o.Module[t]);return e}});a.Extend.GLOBAL.Dr=o,t.Dr=o,t.default=o},function(e,t,r){"use strict";function n(e){var t=function t(){return new Promise(function(r){return e.length<=0?r():w(e.shift()).then(t)})};return t()}function a(e){var t=console[e].apply?function(t){return console[e].apply(console,t)}:function(t){return console[e](t)},r=console[e].bind?console[e].bind(console):function(){for(var e=arguments.length,r=Array(e),n=0;n<e;n++)r[n]=arguments[n];return t(r)};return[t,r]}function o(e){throw e.unshift("[ASSERT]"),U(e),new Error(e.join(", "))}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return q(Math.min(e,t),Math.max(e,t))}function u(e,t,r){for(var n=Math.min(e,t),a=Math.max(e,t),o=[],i=0,u=Math.min(r,a-n+1);i<u;i++){for(var l=q(n,a-i),c=0;c<o.length&&!(o[c]>l);)l++,c++;o.splice(c,0,l)}return o}function l(e,t){var r=void 0;return e instanceof Object&&(r=e[t],delete e[t]),r}function c(e,t){var r={};if(t)for(var n in e)r[e[n]]=t;else for(var a in e)r[e[a]]=a;return r}function f(){for(var e={},t=arguments.length,r=Array(t),n=0;n<t;n++)r[n]=arguments[n];for(var a in r){var o=r[a];for(var i in o)e[o[i]]=!0}var u=[];for(var l in e)u.push(l);return u}function s(e){j("Error",e.stack||e);for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];x(r)}function d(e,t){return new Array(Number(e)).fill(t)}function y(){for(var e=K-1;e>=0&&(G[e]=(G[e]+1)%V,z[e]=B[G[e]],!(G[e]>0));e--);return z.join("")}function p(){return Date.now()-H}function v(){return(Date.now()-H)*J}function h(){return Math.floor(Date.now()*J)}function E(e,t,r){var n=r?setInterval:setTimeout,a=r?clearInterval:clearTimeout,o=n(e,1e3*t);return function(){return a(o)}}function m(e,t){for(var r=0;e>r;)t(r),r++}Object.defineProperty(t,"__esModule",{value:!0});var g=function(){function e(e,t){var r=[],n=!0,a=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){a=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(a)throw o}}return r}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),P="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.loadScriptByList=n,t.getRandomInt=i,t.getRandomIntMulti=u,t.pick=l,t.reverseKeyValue=c,t.arrayDeduplication=f,t.logError=s,t.getFilledArray=d,t.generateId=y,t.clock=p,t.now=v,t.getTimeStamp=h,t.delay=E,t.loop=m;var b=t.GLOBAL="undefined"!=typeof window?window:"undefined"!=typeof global?global:void 0,M=t.ENVIRONMENT=function(){var e="undefined"!=typeof b.window&&"undefined"!=typeof b.document,t="undefined"!=typeof b.process&&"undefined"!=typeof b.process.versions&&b.process.versions.node,r="undefined"!=typeof b.cordova;return r?"cordova":t?"node":e?"browser":"unknown"}(),T=(t.SYSTEM_ENDIANNESS=function(){try{var e=new ArrayBuffer(4),t=new Uint8Array(e),r=new Uint32Array(e);if(t[0]=161,t[1]=178,t[2]=195,t[3]=212,3569595041===r[0])return"little";if(2712847316===r[0])return"big"}catch(e){}return"unknown"}(),function(){var e=function(){switch(M){case"browser":case"cordova":return{v:{loadScript:function(e){return new Promise(function(t){var r=document.createElement("script");r.type="text/javascript",r.async=!1,r.src=e,r.onload=function(){return t(r)};var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(r,n)})}}};case"node":var e=r(3),t=r(5),n=r(4),a=r(12);return{v:{nodeExePath:b.process.argv[0],nodeStartScriptPath:n.resolve(b.process.cwd(),n.dirname(b.process.argv[1])),getLocalPath:function(e){return n.resolve(L,e)},startREPL:function(){return a.start({prompt:"Dr> ",input:b.process.stdin,output:b.process.stdout,useGlobal:!0})},loadScript:function(r){return new Promise(function(n,a){if(r.search("://")!==-1)return console.log(["[loadScript] not support web content yet...",r]);var o=_(r);try{e.readFile(o,function(e,r){if(e)throw e;if(!r)throw new Error("failed to read file data:"+r);t.runInThisContext(r.toString(),{filename:o}),n(r)})}catch(e){a(e)}})}}}}}();if("object"===("undefined"==typeof e?"undefined":P(e)))return e.v}()),w=T.loadScript,O=T.nodeExePath,L=T.nodeStartScriptPath,_=T.getLocalPath,F=T.startREPL;t.loadScript=w,t.nodeExePath=O,t.nodeStartScriptPath=L,t.getLocalPath=_,t.startREPL=F;var S=(t.onNextProperUpdate=b.requestAnimationFrame?b.requestAnimationFrame:function(e){return setTimeout(e,1e3/60)},a("log")),k=g(S,2),I=k[0],D=k[1],A=a("warn"),Y=g(A,2),x=Y[0],j=Y[1],N=a("error"),R=g(N,2),U=R[0],C=R[1];t.logList=I,t.log=D,t.warnList=x,t.warn=j,t.errorList=U,t.error=C;var q=(t.assertList=function(e){e.shift()||o(e)},t.assert=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];e||o(r)},t.getArgumentArray=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Array.prototype.slice.call(e,t)},function(e,t){return Math.floor(Math.random()*(t-e+1)+e)}),B="0123456789ACEFGHJKLMNPQRSTUVWXYZ".split(""),V=B.length,K=20,G=d(K,0),z=d(K,B[0]),W=t.clockPerSecond=1e3,J=t.clockToSecond=1/W,H=t.startClock=Date.now();t.startTimestamp=Math.floor(H*J)},function(e,t){e.exports=require("fs")},function(e,t){e.exports=require("path")},function(e,t){e.exports=require("vm")},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}Object.defineProperty(t,"__esModule",{value:!0}),t.Module=t.Extend=void 0;var o=r(2),i=a(o),u=r(11),l=n(u);"function"!=typeof Object.assign&&!function(){Object.assign=function(e){if(void 0===e||null===e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1,n=arguments.length;r<n;r++){var a=arguments[r];if(void 0!==a&&null!==a)for(var o in a)a.hasOwnProperty(o)&&(t[o]=a[o])}return t}}(),t.Extend=i,t.Module=l.default,t.default={Extend:i,Module:l.default}},function(e,t){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),a=function(){function e(){r(this,e),this.eventMap=new Map}return n(e,[{key:"emit",value:function(e){var t=this.getListenerList(e);if(t)for(var r in t)t[r].apply(null,arguments)}},{key:"addEventListener",value:function(e,t){if(!t||"function"!=typeof t)throw new Error("invalid callback");var r=this.getListenerList(e);for(var n in r)if(r[n]===t)throw new Error("callback already exist");return r.push(t),e}},{key:"removeEventListener",value:function(e,t){var r=this.getListenerList(e);for(var n in r)if(r[n]===t)return r.splice(n,1),t;return null}},{key:"removeEventKey",value:function(e){this.eventMap.delete(e)}},{key:"removeAll",value:function(){this.eventMap.clear()}},{key:"getListenerList",value:function(e){return this.eventMap.has(e)||this.eventMap.set(e,[]),this.eventMap.get(e)}}]),e}();t.default=a},function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=r(2),i=function(){function e(){var t=this;n(this,e),this.moduleDataMap=new Map,this.getModuleData=function(e){var r=t.moduleDataMap.get(e);return(0,o.assert)(r,"[require] module not declared",e),r},this.getModule=function(e){var r=t.moduleDataMap.get(e);return r?r.module:null},this.setModule=function(e,r){var n=t.moduleDataMap.get(e);(0,o.assert)(n,"[setModule] module not declared",e,r),n.module=r}}return a(e,[{key:"declare",value:function(e,t){(0,o.assert)(e,"[declare] error declare nameless module");var r=this.moduleDataMap.get(e);r&&((0,o.assert)(t===r.type,"[declare] re-declare failed, type mismatch"),(0,o.log)("[declare] re-declare",e,t)),this.moduleDataMap.set(e,{name:e,type:t,require:[],loadFunction:null,module:null})}},{key:"implement",value:function(e,t){this.getModuleData(e).loadFunction=t}},{key:"require",value:function(e,t){this.getModuleData(e).require.push(t)}},{key:"load",value:function(e){var t=this.getModuleData(e);if((0,o.assert)("function"==typeof t.loadFunction,"[load] missing module implement func",t.loadFunction,"for loading module",e),t.module)return!0;if(!t.require.every(this.getModule))return!1;try{return this.setModule(e,t.loadFunction(o.GLOBAL,this.getModule)),!0}catch(e){return(0,o.warn)("[load] error",e),!1}}},{key:"loadAll",value:function(){for(var e=this,t=[],r="init";0!==t.length;)r=t.length,t.length=0,this.moduleDataMap.forEach(function(r,n){return r.module||e.load(n)||t.push(n)}),(0,o.assert)(r!==t.length,"[loadAll] infinite loop load?",t)}},{key:"get",value:function(e){var t=this.getModule(e);return(0,o.assert)(t,"[get] module not ready",e),t}}]),e}();t.default=i},function(e,t){"use strict";function r(){var e=function e(t,r){return void 0===r&&(r=!e[t]),e[t]=r,r};return e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r},function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=r(2),i=function(){function e(){n(this,e),this.lastUpdateTime=(0,o.now)(),this.isActive=!1,this.clear(),this.update=this.update().bind(this)}return a(e,[{key:"start",value:function(){this.isActive=!0,(0,o.onNextProperUpdate)(this.update)}},{key:"stop",value:function(){this.isActive=!1}},{key:"clear",value:function(){this.updateFuncList=[],this.updateFuncMap=new Map}},{key:"add",value:function(e,t){t?this.updateFuncMap.set(t,e):this.updateFuncList.push(e)}},{key:"update",value:function(){var e=(0,o.now)(),t=e-this.lastUpdateTime;this.lastUpdateTime=e;var r=[];this.updateFuncList.forEach(function(e,n){return n(t)&&r.push(n)}),this.updateFuncList=r;var n=new Map;this.updateFuncMap.forEach(function(e,r){return r(t)&&n.set(e,r)}),this.updateFuncMap=n,this.isActive&&(0,o.onNextProperUpdate)(this.update)}}]),e}();t.default=i},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(8),o=n(a),i=r(7),u=n(i),l=r(10),c=n(l),f=r(9),s=n(f);t.default={ModuleManager:o.default,Event:u.default,UpdateLoop:c.default,Toggle:s.default}},function(e,t){e.exports=require("repl")},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e){try{var t=h.default.lstatSync(e);return t.isDirectory()?g.Directory:t.isFile()?g.File:t.isSymbolicLink()?g.SymbolicLink:g.Other}catch(e){return g.Error}}function o(e){var t=m.default.resolve(e),r=m.default.dirname(t);a(r)!==g.Directory&&o(r),a(t)!==g.Directory&&h.default.mkdirSync(t)}function i(e){var t=h.default.openSync(e,"r"),r=h.default.fstatSync(t),n=new Buffer(r.size);return h.default.readSync(t,n,0,r.size,0),h.default.closeSync(t),n}function u(e,t,r){var n=h.default.openSync(e,"w",r);return h.default.writeSync(n,t,0,t.length),h.default.closeSync(n),t}function l(e,t){for(var r=h.default.openSync(e,"r"),n=h.default.openSync(t,"w",i.mode),a=65536,o=new Buffer(a),i=h.default.fstatSync(r),u=i.size,l=0;u>0;)u=h.default.readSync(r,o,0,a,l),h.default.writeSync(n,o,0,u),l+=u;h.default.closeSync(r),h.default.closeSync(n)}function c(e,t){switch(p.default.debug(5,"[deletePath]",arguments),e){case g.File:case g.SymbolicLink:return h.default.unlinkSync(t);case g.Directory:return h.default.rmdirSync(t)}p.default.log("[deletePath] strange path type",e)}function f(e,t,r){switch(p.default.debug(5,"[movePath]",arguments),e){case g.File:case g.SymbolicLink:case g.Directory:return h.default.renameSync(t,r)}return p.default.log("[movePath] strange path type",e)}function s(e,t,r){if(p.default.debug(5,"[copyPath]",arguments),a(r)===e)return p.default.log("[copyPath] exist, skipped");switch(e){case g.File:case g.SymbolicLink:return l(t,r);case g.Directory:return h.default.mkdirSync(r)}p.default.log("[copyPath] strange path type",e)}function d(e,t,r,n){switch(t=t||a(r),e){case P.COPY:return o(m.default.dirname(n)),s(t,r,n);case P.MOVE:return o(m.default.dirname(n)),f(t,r,n);case P.DELETE:return c(t,r);default:throw new Error("[modify] Error operationType:"+e)}}Object.defineProperty(t,"__esModule",{value:!0}),t.modify=t.copyPath=t.movePath=t.deletePath=t.copyFileSync=t.writeFileSync=t.readFileSync=t.createDirectorySync=t.getPathTypeSync=t.MODIFY_OPERATION_TYPE=t.FILE_TYPE=void 0;var y=r(1),p=n(y),v=r(3),h=n(v),E=r(4),m=n(E),g={File:"File",Directory:"Directory",SymbolicLink:"SymbolicLink",Other:"Other",Error:"Error"},P={MOVE:"MOVE",COPY:"COPY",DELETE:"DELETE"};t.FILE_TYPE=g,t.MODIFY_OPERATION_TYPE=P,t.getPathTypeSync=a,t.createDirectorySync=o,t.readFileSync=i,t.writeFileSync=u,t.copyFileSync=l,t.deletePath=c,t.movePath=f,t.copyPath=s,t.modify=d,t.default={FILE_TYPE:g,MODIFY_OPERATION_TYPE:P,getPathTypeSync:a,createDirectorySync:o,readFileSync:i,writeFileSync:u,copyFileSync:l,deletePath:c,movePath:f,copyPath:s,modify:d}},,function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(1),o=n(a),i=r(21);Object.assign(o.default,i.Extend),Object.assign(o.default.Module,i.Module),t.default=o.default},,,,,function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e){var t=u.default.getLocalPath(e);try{var r=s.default.readFileSync(t);c.default.runInThisContext(r.toString(),{filename:t})}catch(e){u.default.logError(e,"[loadScript] Failed to load Script",t)}}function o(e){var t=u.default.getLocalPath(e),r=s.default.readFileSync(t,{encoding:"utf8"}),n=r.split("\n").forEach(function(e){return e.replace(/\/\/.*/,"")});return JSON.parse(n.join("\n"))}Object.defineProperty(t,"__esModule",{value:!0}),t.loadScriptSync=a,t.loadJSONSync=o;var i=r(1),u=n(i),l=r(5),c=n(l),f=r(3),s=n(f)},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}Object.defineProperty(t,"__esModule",{value:!0}),t.Module=t.Extend=void 0;var o=r(20),i=a(o),u=r(25),l=n(u);t.Extend=i,t.Module=l.default,t.default={Extend:i,Module:l.default}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),i=r(1),u=n(i),l=function(){function e(t){var r=this;a(this,e),this.keyList=["nodeExecutable","scriptFile"],this.formatMap={nodeExecutable:{},scriptFile:{}},t.forEach(function(t){var n=t.shift();return r.formatMap[n]?u.default.assert(!1,"[ArgvParser] duplicate argv_key:"+n):(r.keyList.push(n),void(r.formatMap[n]=e.parseFormatList(t)))})}return o(e,[{key:"parse",value:function(e){var t=this,r={};return this.keyList.forEach(function(n){var a=t.formatMap[n];if(a.isOptional&&0===e.length)a.isDefaultValue&&(r[n]=a.defaultValue);else if(a.isMulti&&e.length>0)r[n]=e,e=[];else{if(!(e.length>0))return u.default.log("[Usage] "+t.getUsage()),u.default.log("[Get] "+t.getResultArgvUsage(r)),u.default.log("[Error]\n -- missing arg:<"+n+"> left input argv: ["+e.join(", ")+"]"),u.default.global.process.exit(-1);r[n]=e.shift()}}),r}},{key:"getUsage",value:function(){var e=this;return" - "+this.keyList.map(function(t,r){return"["+r+"] <"+t+"> "+e.getFormatUsage(t)}).join("\n - ")}},{key:"getFormatUsage",value:function(e){var t=this.formatMap[e];return(t.isOptional?" [OPTIONAL]":"")+(t.isMulti?" [MULTI]":"")+(t.isDefaultValue?" [DEFAULT = "+t.defaultValue+"]":"")}},{key:"getResultArgvUsage",value:function(e){return" - "+this.keyList.map(function(t,r){return"["+r+"] "+(e[t]||"! <"+t+">")}).join("\n - ")}}],[{key:"parseFormatList",value:function(t){for(var r={},n=0,a=t.length;n<a;n++)switch(t[n]){case e.TYPE.OPTIONAL:r.isOptional=!0;break;case e.TYPE.MULTI:r.isMulti=!0;break;case e.TYPE.DEFAULT:n++,u.default.assert(n>=a,"[ArgvParser][parseFormatList] Missing value for DEFAULT"),r.isDefaultValue=!0,r.defaultValue=t[n]}return r}}]),e}();l.TYPE={OPTIONAL:"OPTIONAL",MULTI:"MULTI",DEFAULT:"DEFAULT"},t.default=l},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(~d.search("win"))return o("cmd",["/s","/c",e],t);if(~d.search("nux")||~d.search("darwin"))return o("sh",["-c",e],t);throw new Error("[Command][run] unrecognized PLATFORM:"+d)}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments[2],n=r.callback,a=r.cwd,o=r.env,i=r.shell,l=r.detached,c=r.stdoutStream,f=r.stderrStream,d=r.callbackOutput,y=s.default.spawn(e,t,{cwd:a||process.cwd(),env:o||process.env,shell:i||!0,detached:l||!1});return y.stdout.on("data",function(e){c&&c.write(e),d&&d("data","stdout",e)}),y.stdout.on("end",function(){d&&d("end","stdout")}),y.stderr.on("data",function(e){f&&f.write(e),d&&d("data","stderr",e)}),y.stderr.on("end",function(){d&&d("end","stderr")}),y.on("exit",function(e,t){u.default.debug(10,"[Exit] code:",e,"signal:",t),n&&n(e,t)}),y.on("error",function(e){u.default.debug(10,"[Error] error:",e,e.stack&&e.stack),n&&n(-1,e)}),y}Object.defineProperty(t,"__esModule",{value:!0}),t.spawn=t.run=void 0;var i=r(1),u=n(i),l=r(27),c=n(l),f=r(26),s=n(f),d=c.default.platform();t.run=a,t.spawn=o,t.default={run:a,spawn:o}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t,r){function n(e,n){if(!t||!t(e,n)){var o=g.default.join(e,n);r?a.push([o,r(e,n)]):a.push(o)}}var a=[];switch(v.default.getPathTypeSync(e)){case p.FILE_TYPE.File:n(g.default.dirname(e),g.default.basename(e));break;case p.FILE_TYPE.Directory:new b(e).walk(function(e,t,r){return r===p.FILE_TYPE.File&&n(e,t)})}return a}function u(e){return function(t,r){return e!==g.default.extname(r)}}function l(e){return function(t,r){return g.default.join(t,e+r)}}function c(e,t,r,n){switch(t=t||v.default.getPathTypeSync(r)){case p.FILE_TYPE.Directory:var a=new b(r);switch(e){case p.MODIFY_OPERATION_TYPE.COPY:return a.copy(n);case p.MODIFY_OPERATION_TYPE.MOVE:return a.move(n),v.default.deletePath(p.FILE_TYPE.Directory,r);case p.MODIFY_OPERATION_TYPE.DELETE:return a.delete(n),v.default.deletePath(p.FILE_TYPE.Directory,r)}return y.default.assert(!1,"[modify] Error operationType:"+e);case p.FILE_TYPE.File:case p.FILE_TYPE.SymbolicLink:return v.default.modify(e,t,r,n)}}Object.defineProperty(t,"__esModule",{value:!0}),t.modify=t.getPrefixMapper=t.getExtnameFilter=t.getFileList=t.Directory=t.MODIFY_OPERATION_TYPE=t.WALK_CONTROL_TYPE=t.FILE_TYPE=t.FileOperation=void 0;var f=function(){function e(e,t){var r=[],n=!0,a=!1,o=void 0;try{for(var i,u=e[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){a=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(a)throw o}}return r}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),s=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),d=r(1),y=n(d),p=r(13),v=n(p),h=r(3),E=n(h),m=r(4),g=n(m),P={CONTINUE:"CONTINUE",BREAK:"BREAK"},b=function(){function e(t){o(this,e),this.path="",this.content=null,t&&this.readContent(t)}return s(e,[{key:"readContent",value:function(e){var t,r=this;y.default.assert(v.default.getPathTypeSync(e)===p.FILE_TYPE.Directory,"[DirectoryOperation] Error! path not Directory",e);var n=(t={},a(t,p.FILE_TYPE.Directory,new Map),a(t,p.FILE_TYPE.File,[]),a(t,p.FILE_TYPE.SymbolicLink,[]),a(t,p.FILE_TYPE.Other,[]),t);return E.default.readdirSync(e).forEach(function(t){var a=g.default.join(e,t),o=v.default.getPathTypeSync(a);switch(o){case p.FILE_TYPE.Directory:n[o].set(t,new r.constructor(a));break;case p.FILE_TYPE.File:case p.FILE_TYPE.SymbolicLink:n[o].push(t);break;default:n[p.FILE_TYPE.Other].push(t)}}),this.path=e,this.content=n,n}},{key:"walk",value:function(e,t){var r=this;[p.FILE_TYPE.File,p.FILE_TYPE.SymbolicLink,p.FILE_TYPE.Other].forEach(function(t){var n=r.content[t],a=!0,o=!1,i=void 0;try{for(var u,l=n[Symbol.iterator]();!(a=(u=l.next()).done);a=!0){var c=u.value,f=e(r.path,c,t);if(f!==P.CONTINUE&&f===P.BREAK)break}}catch(e){o=!0,i=e}finally{try{!a&&l.return&&l.return()}finally{if(o)throw i}}});var n=this.content[p.FILE_TYPE.Directory],a=!0,o=!1,i=void 0;try{for(var u,l=n[Symbol.iterator]();!(a=(u=l.next()).done);a=!0){var c=f(u.value,2),s=c[0],d=c[1];!t&&d.walk(e,t);var y=e(this.path,s,p.FILE_TYPE.Directory);if(y!==P.CONTINUE){if(y===P.BREAK)break;t&&d.walk(e,t)}}}catch(e){o=!0,i=e}finally{try{!a&&l.return&&l.return()}finally{if(o)throw i}}}},{key:"walkOnce",value:function(e){var t=this;[p.FILE_TYPE.File,p.FILE_TYPE.SymbolicLink,p.FILE_TYPE.Other].forEach(function(r){var n=t.content[r],a=!0,o=!1,i=void 0;try{for(var u,l=n[Symbol.iterator]();!(a=(u=l.next()).done);a=!0){var c=u.value,f=e(t.path,c,r);if(f!==P.CONTINUE&&f===P.BREAK)break}}catch(e){o=!0,i=e}finally{try{!a&&l.return&&l.return()}finally{if(o)throw i}}});var r=this.content[p.FILE_TYPE.Directory],n=!0,a=!1,o=void 0;try{for(var i,u=r[Symbol.iterator]();!(n=(i=u.next()).done);n=!0){var l=i.value,c=e(this.path,l,p.FILE_TYPE.Directory);if(c!==P.CONTINUE&&c===P.BREAK)break}}catch(e){a=!0,o=e}finally{try{!n&&u.return&&u.return()}finally{if(a)throw o}}}},{key:"copy",value:function(e){v.default.createDirectorySync(e);var t=a({},this.path,e);this.walk(function(e,r,n){var a=g.default.join(e,r),o=g.default.join(t[e],r);t[a]=o,v.default.copyPath(n,a,o)},!0)}},{key:"move",value:function(e){v.default.createDirectorySync(e),this.walkOnce(function(t,r,n){return v.default.movePath(n,g.default.join(t,r),g.default.join(e,r))})}},{key:"delete",value:function(){return this.walk(function(e,t,r){return v.default.deletePath(r,g.default.join(e,t))},!1)}}]),e}();t.FileOperation=v.default,t.FILE_TYPE=p.FILE_TYPE,t.WALK_CONTROL_TYPE=P,t.MODIFY_OPERATION_TYPE=p.MODIFY_OPERATION_TYPE,t.Directory=b,t.getFileList=i,t.getExtnameFilter=u,t.getPrefixMapper=l,t.modify=c,t.default={FileOperation:v.default,FILE_TYPE:p.FILE_TYPE,WALK_CONTROL_TYPE:P,MODIFY_OPERATION_TYPE:p.MODIFY_OPERATION_TYPE,Directory:b,getFileList:i,getExtnameFilter:u,getPrefixMapper:l,modify:c}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=r(22),o=n(a),i=r(23),u=n(i),l=r(13),c=n(l),f=r(24),s=n(f);t.default={ArgvParser:o.default,Command:u.default,FileOperation:c.default,DirectoryOperation:s.default}},function(e,t){e.exports=require("child_process")},function(e,t){e.exports=require("os")}]); |
{ | ||
"name": "dr-js", | ||
"version": "0.0.2", | ||
"version": "0.0.3", | ||
"description": "a collection of strange functions", | ||
"main": "distribute/Dr.js", | ||
"scripts": { | ||
"compile": "cross-env NODE_ENV=production webpack", | ||
"prepublish": "npm run compile" | ||
"buildDevelopment": "cross-env NODE_ENV=development webpack", | ||
"buildProduction": "cross-env NODE_ENV=production webpack -p", | ||
"prepublish": "npm run buildProduction" | ||
}, | ||
@@ -10,0 +11,0 @@ "repository": { |
Empty package
Supply chain riskPackage does not contain any code. It may be removed, is name squatting, or the result of a faulty package publish.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
6
60421
0
4
10
3