New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

dr-js

Package Overview
Dependencies
Maintainers
1
Versions
243
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dr-js - npm Package Compare versions

Comparing version 0.0.2 to 0.0.3

Dr.browser.js

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")}]);

@@ -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": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc