From fdba3fdc748778214a9fc130d716529f3fa39d7c Mon Sep 17 00:00:00 2001 From: hide_d Date: Sun, 15 Aug 2021 21:04:06 +0900 Subject: [PATCH] =?UTF-8?q?js2ts:=20ext.plugin=5Ftroop=20-=20async=20await?= =?UTF-8?q?=20=EB=8C=80=EC=9D=91=20-=20axios=20=EC=A4=80=EB=B9=84=20-=20tr?= =?UTF-8?q?oop.css?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .babelrc | 3 +- hwe/b_troop.php | 7 +- hwe/css/troop.css | 3 + hwe/css/troop.css.map | 1 + hwe/js/common.js | 2 +- hwe/js/common.js.map | 2 +- hwe/js/inheritPoint.js | 2 +- hwe/js/inheritPoint.js.map | 2 +- hwe/js/troop.js | 2 +- hwe/js/troop.js.map | 2 +- hwe/{css/troops.css => scss/troop.scss} | 0 hwe/ts/ext.plugin_troop.ts | 123 ++++++++++++++++++++++++ hwe/ts/troop.ts | 4 + package.json | 4 + 14 files changed, 146 insertions(+), 11 deletions(-) create mode 100644 hwe/css/troop.css create mode 100644 hwe/css/troop.css.map rename hwe/{css/troops.css => scss/troop.scss} (100%) create mode 100644 hwe/ts/ext.plugin_troop.ts diff --git a/.babelrc b/.babelrc index c9bc940f..9f4b9828 100644 --- a/.babelrc +++ b/.babelrc @@ -18,6 +18,7 @@ ] ], "plugins": [ - "lodash" + "lodash", + "@babel/plugin-transform-runtime" ] } \ No newline at end of file diff --git a/hwe/b_troop.php b/hwe/b_troop.php index cd632b1b..bd666d14 100644 --- a/hwe/b_troop.php +++ b/hwe/b_troop.php @@ -85,15 +85,13 @@ uasort($troops, function($lhs, $rhs){ <?=UniqueConst::$serverName?>: 부대편성 + - - - - + @@ -210,6 +208,7 @@ foreach ($troops as $troopNo=>$troop) { + diff --git a/hwe/css/troop.css b/hwe/css/troop.css new file mode 100644 index 00000000..c37359b3 --- /dev/null +++ b/hwe/css/troop.css @@ -0,0 +1,3 @@ +#troop_list .cityText{display:none}#troop_list .diffCity .cityText{display:inline}#troop_list .diffCity{color:red}#troop_list .leader{color:#90ee90}#troop_list .leader::before{content:"*"}#troop_list .leader::after{content:"*"} + +/*# sourceMappingURL=troop.css.map*/ \ No newline at end of file diff --git a/hwe/css/troop.css.map b/hwe/css/troop.css.map new file mode 100644 index 00000000..84174445 --- /dev/null +++ b/hwe/css/troop.css.map @@ -0,0 +1 @@ +{"version":3,"file":"../css/troop.css","mappings":"AAEA,sBACI,aAGJ,gCACI,eAGJ,sBACI,UAGJ,oBACI,cAGJ,4BACI,YAGJ,2BACI,Y","sources":["webpack://hidche_lib/./hwe/scss/troop.scss"],"sourcesContent":["@charset \"UTF-8\";\n\n#troop_list .cityText{\n display:none;\n}\n\n#troop_list .diffCity .cityText{\n display:inline;\n}\n\n#troop_list .diffCity {\n color:red;\n}\n\n#troop_list .leader{\n color:lightgreen;\n}\n\n#troop_list .leader::before{\n content:'*';\n}\n\n#troop_list .leader::after{\n content:'*';\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/hwe/js/common.js b/hwe/js/common.js index bfa2fe2e..6480d89d 100644 --- a/hwe/js/common.js +++ b/hwe/js/common.js @@ -1,2 +1,2 @@ -(()=>{"use strict";function t(n){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(n)}function n(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function r(t,n){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:"";return n(this,l),p(a(t=c.call(this,r)),"name","RuntimeError"),t.message=r,t}return i=l,(u=[{key:"toString",value:function(){return this.message?this.name+": "+this.message:this.name}}])&&r(i.prototype,u),l}(u(Error)));function h(t,n){(null==n||n>t.length)&&(n=t.length);for(var r=0,e=new Array(n);r":">",'"':""","'":"'","/":"/","`":"`","=":"="},function(t){return String(t).replace(/[&<>"'`=/]/g,(function(t){return v[t]}))});function y(t){for(var n=t.length,r=0,e=0;e');r.text(n),r.appendTo(t("head"))}})),window.escapeHtml=w,window.isInt=function(t){return+t===t&&!(t%1)},window.mb_strwidth=y,window.mb_strimwidth=function(t,n,r){for(var e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=y(e),i=t.length,a=0,u=[],c=n;cr){u.push(e);break}}return u.join("")},window.convertDictById=function(t){for(var n={},r=0,e=Object.values(t);r140},window.convColorValue=function(t){return"#"==t.charAt(0)&&(t=t.substr(1)),t=t.toUpperCase(),new Set(["000080","0000FF","008000","008080","00BFFF","00FF00","00FFFF","20B2AA","2E8B57","483D8B","6495ED","7B68EE","7CFC00","7FFFD4","800000","800080","808000","87CEEB","A0522D","A9A9A9","AFEEEE","BA55D3","E0FFFF","F5F5DC","FF0000","FF00FF","FF6347","FFA500","FFC0CB","FFD700","FFDAB9","FFFF00","FFFFFF"]).has(t)?t:"000000"},window.numberWithCommas=function(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")},window.linkifyStrWithOpt=m,window.TemplateEngine=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=/<%(.+?)%>/g,e=/(^( )?(var|if|for|else|switch|case|break|{|}|;))(.*)?/g,o=0,i=function t(n,r){return u+=r?n.match(e)?n+"\n":"r.push("+n+");\n":""!=n?'r.push("'+n.replace(/"/g,'\\"')+'");\n':"",t};for(n.e=w,n.linkifyStr=m;;){var a=r.exec(t);if(!a)break;i(t.slice(o,a.index))(a[1],!0),o=a.index+a[0].length}i(t.substr(o,t.length-o));var u="with(obj) { var r=[];\n";u=(u+'return r.join(""); }').replace(/[\r\t\n]/g," ");try{return new Function("obj",u).apply(n,[n])}catch(t){throw console.error("'"+t.message+"'"," in \n\nCode:\n",u,"\n"),t}},window.getIconPath=function(t,n){return t?window.pathConfig.root+"/d_pic/"+n:window.pathConfig.sharedIcon+"/"+n},window.activeFlip=g,window.combineObject=F,window.combineArray=function(t,n){var r,e=[],o=function(t,n){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,n){if(t){if("string"==typeof t)return h(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?h(t,n):void 0}}(t))||n&&t&&"number"==typeof t.length){r&&(t=r);var e=0,o=function(){};return{s:o,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(t.keys());try{for(o.s();!(r=o.n()).done;){var i=r.value,a=t[i];e[i]=F(a,n)}}catch(t){o.e(t)}finally{o.f()}return e},window.activeFlipItem=j,window.errUnknown=function(){alert("작업을 실패했습니다.")},window.errUnknownToast=function(){jQuery.toast({title:"에러!",content:"작업을 실패했습니다.",type:"danger",delay:5e3})},window.quickReject=function(t){void 0===t&&(t="작업을 실패했습니다.");var n=$.Deferred();return n.reject(t),n.promise()},window.nl2br=function(t){return t.replace(/\n/g,"
")},window.getNpcColor=function(t){return t>=2?"cyan":1==t?"skyblue":null},window.initTooltip=S})(); +(()=>{"use strict";function t(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function n(t,n){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:"";return t(this,c),s(r(n=u.call(this,e)),"name","RuntimeError"),n.message=e,n}return i=c,(a=[{key:"toString",value:function(){return this.message?this.name+": "+this.message:this.name}}])&&n(i.prototype,a),c}(l(Error)));function h(t,n){(null==n||n>t.length)&&(n=t.length);for(var r=0,e=new Array(n);r":">",'"':""","'":"'","/":"/","`":"`","=":"="},function(t){return String(t).replace(/[&<>"'`=/]/g,(function(t){return y[t]}))});function w(t){for(var n=t.length,r=0,e=0;e');r.text(n),r.appendTo(t("head"))}})),window.escapeHtml=v,window.isInt=function(t){return+t===t&&!(t%1)},window.mb_strwidth=w,window.mb_strimwidth=function(t,n,r){for(var e=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=w(e),i=t.length,a=0,u=[],c=n;cr){u.push(e);break}}return u.join("")},window.convertDictById=function(t){for(var n={},r=0,e=Object.values(t);r140},window.convColorValue=function(t){return"#"==t.charAt(0)&&(t=t.substr(1)),t=t.toUpperCase(),new Set(["000080","0000FF","008000","008080","00BFFF","00FF00","00FFFF","20B2AA","2E8B57","483D8B","6495ED","7B68EE","7CFC00","7FFFD4","800000","800080","808000","87CEEB","A0522D","A9A9A9","AFEEEE","BA55D3","E0FFFF","F5F5DC","FF0000","FF00FF","FF6347","FFA500","FFC0CB","FFD700","FFDAB9","FFFF00","FFFFFF"]).has(t)?t:"000000"},window.numberWithCommas=function(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")},window.linkifyStrWithOpt=m,window.TemplateEngine=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=/<%(.+?)%>/g,e=/(^( )?(var|if|for|else|switch|case|break|{|}|;))(.*)?/g,o=0,i=function t(n,r){return u+=r?n.match(e)?n+"\n":"r.push("+n+");\n":""!=n?'r.push("'+n.replace(/"/g,'\\"')+'");\n':"",t};for(n.e=v,n.linkifyStr=m;;){var a=r.exec(t);if(!a)break;i(t.slice(o,a.index))(a[1],!0),o=a.index+a[0].length}i(t.substr(o,t.length-o));var u="with(obj) { var r=[];\n";u=(u+'return r.join(""); }').replace(/[\r\t\n]/g," ");try{return new Function("obj",u).apply(n,[n])}catch(t){throw console.error("'"+t.message+"'"," in \n\nCode:\n",u,"\n"),t}},window.getIconPath=function(t,n){return t?window.pathConfig.root+"/d_pic/"+n:window.pathConfig.sharedIcon+"/"+n},window.activeFlip=g,window.combineObject=F,window.combineArray=function(t,n){var r,e=[],o=function(t,n){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,n){if(t){if("string"==typeof t)return h(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?h(t,n):void 0}}(t))||n&&t&&"number"==typeof t.length){r&&(t=r);var e=0,o=function(){};return{s:o,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(t.keys());try{for(o.s();!(r=o.n()).done;){var i=r.value,a=t[i];e[i]=F(a,n)}}catch(t){o.e(t)}finally{o.f()}return e},window.activeFlipItem=j,window.errUnknown=function(){alert("작업을 실패했습니다.")},window.errUnknownToast=function(){jQuery.toast({title:"에러!",content:"작업을 실패했습니다.",type:"danger",delay:5e3})},window.quickReject=function(t){void 0===t&&(t="작업을 실패했습니다.");var n=$.Deferred();return n.reject(t),n.promise()},window.nl2br=function(t){return t.replace(/\n/g,"
")},window.getNpcColor=function(t){return t>=2?"cyan":1==t?"skyblue":null},window.initTooltip=S})(); //# sourceMappingURL=common.js.map \ No newline at end of file diff --git a/hwe/js/common.js.map b/hwe/js/common.js.map index e459e6bf..35b6d3af 100644 --- a/hwe/js/common.js.map +++ b/hwe/js/common.js.map @@ -1 +1 @@ -{"version":3,"file":"common.js","mappings":"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","sources":["webpack://hidche_lib/./hwe/ts/util.ts","webpack://hidche_lib/./hwe/ts/common_legacy.ts","webpack://hidche_lib/./hwe/ts/common_deprecated.ts"],"sourcesContent":["type ErrType = { new(msg?: string): T }\ntype Nullable = T | null | undefined\n\nexport class RuntimeError extends Error {\n public name = 'RuntimeError';\n constructor(public message: string = '') {\n super(message);\n }\n toString(): string {\n if (this.message) {\n return this.name + ': ' + this.message;\n }\n else {\n return this.name;\n }\n }\n}\n\nexport class NotNullExpected extends RuntimeError {\n public name = 'NotNullExpected';\n}\n\nexport function unwrap(result: Nullable): T {\n if (result === null || result === undefined) {\n throw new NotNullExpected();\n }\n return result;\n}\n\nexport function unwrap_err(result: Nullable, errType: ErrType, errMsg?: string): T {\n if (result === null || result === undefined) {\n throw new errType(errMsg);\n }\n return result;\n}","import { unwrap } from \"./util\";\n\ndeclare const jQuery: JQueryStatic;\n\n\n/** \n * <>& 등을 html에서도 그대로 보이도록 escape주는 함수\n * @see https://stackoverflow.com/questions/24816/escaping-html-strings-with-jquery\n */\nexport const escapeHtml = (() => {\n const entityMap: { [v: string]: string } = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/',\n '`': '`',\n '=': '='\n };\n\n return function (string: string) {\n return String(string).replace(/[&<>\"'`=/]/g, function (s: string) {\n return entityMap[s];\n });\n }\n})();\n\n/**\n * 변수가 정수인지 확인하는 함수\n * @param {*} n 정수인지 확인하기 위한 인자\n * @return {boolean} 정수인지 여부\n */\nexport function isInt(n: unknown): n is number {\n const v = n as number;\n return +v === v && !(v % 1);\n}\n\n\n//https://gist.github.com/demouth/3217440\n/**\n * mb_strwidth\n * @see http://php.net/manual/function.mb-strwidth.php\n */\nexport function mb_strwidth(str: string): number {\n const l = str.length;\n let length = 0;\n for (let i = 0; i < l; i++) {\n const c = str.charCodeAt(i);\n if (0x0000 <= c && c <= 0x0019) {\n length += 0;\n } else if (0x0020 <= c && c <= 0x1FFF) {\n length += 1;\n } else if (0x2000 <= c && c <= 0xFF60) {\n length += 2;\n } else if (0xFF61 <= c && c <= 0xFF9F) {\n length += 1;\n } else if (0xFFA0 <= c) {\n length += 2;\n }\n }\n return length;\n}\n\n\n/**\n * mb_strimwidth\n * @param String\n * @param int\n * @param int\n * @param String\n * @return String\n * @see http://www.php.net/manual/function.mb-strimwidth.php\n */\nexport function mb_strimwidth(str: string, start: number, width: number, trimmarker = ''): string {\n const trimmakerWidth = mb_strwidth(trimmarker);\n const l = str.length;\n let trimmedLength = 0;\n const trimmedStr: string[] = [];\n for (let i = start; i < l; i++) {\n const c = str.charAt(i);\n const charWidth = mb_strwidth(c);\n const next = str.charAt(i + 1);\n const nextWidth = mb_strwidth(next);\n\n trimmedLength += charWidth;\n trimmedStr.push(c);\n if (trimmedLength + trimmakerWidth + nextWidth > width) {\n trimmedStr.push(trimmarker);\n break;\n }\n }\n return trimmedStr.join('');\n}\n\n/**\n * object의 array를 id를 key로 삼는 object로 재 변환\n */\nexport function convertDictById(arr: ArrayLike): Record {\n const result: Record = {};\n for (const v of Object.values(arr)) {\n result[v.id] = v;\n }\n return result;\n}\n\n/**\n * array를 set 형태의 object로 변환\n */\nexport function convertSet(arr: ArrayLike): Record {\n const result: Record = {};\n for (const v of Object.values(arr)) {\n result[v] = true;\n }\n return result;\n}\n\n\n/** \n * {0}, {1}, {2}형태로 포맷해주는 함수\n */\n\ndeclare global {\n interface String {\n format(...args: string[]): string;\n }\n}\nString.prototype.format = function (...args: string[]) {\n return this.replace(/{(\\d+)}/g, function (match, number) {\n return (typeof args[number] != 'undefined') ? args[number] : match;\n });\n};\n\n\nexport function hexToRgb(hex: string): { r: number, g: number, b: number } | null {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n}\n\nexport function isBrightColor(color: string): boolean {\n const cv = unwrap(hexToRgb(color));\n if ((cv.r * 0.299 + cv.g * 0.587 + cv.b * 0.114) > 140) {\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * 게임내에서 지원하는 color type만 선택할 수 있도록 해주는 함수\n * @param {string} color #AAAAAA 또는 AAAAAA 형태로 작성된 RGB hex color string\n * @returns {string}\n */\nexport function convColorValue(color: string): string {\n if (color.charAt(0) == '#') {\n color = color.substr(1);\n }\n color = color.toUpperCase();\n\n const colorBase = new Set([\n '000080', '0000FF', '008000', '008080', '00BFFF', '00FF00', '00FFFF', '20B2AA',\n '2E8B57', '483D8B', '6495ED', '7B68EE', '7CFC00', '7FFFD4', '800000', '800080',\n '808000', '87CEEB', 'A0522D', 'A9A9A9', 'AFEEEE', 'BA55D3', 'E0FFFF', 'F5F5DC',\n 'FF0000', 'FF00FF', 'FF6347', 'FFA500', 'FFC0CB', 'FFD700', 'FFDAB9', 'FFFF00',\n 'FFFFFF'\n ]);\n\n if (!colorBase.has(color)) {\n return '000000';\n }\n\n return color;\n}\n\n\nexport function numberWithCommas(x: number): string {\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n}\n\n//linkify가 불러와 있어야함\ndeclare global {\n interface Window {\n linkifyStr: (v: string, k?: Record) => string;\n }\n}\nexport function linkifyStrWithOpt(text: string): string {\n return window.linkifyStr(text, {});\n}\n\n/**\n * 단순한 Template 함수. <%변수명%>으로 template 가능\n * @see https://github.com/krasimir/absurd/blob/master/lib/processors/html/helpers/TemplateEngine.js\n * @param {string} html \n * @param {object} options \n * @returns {string}\n */\nexport function TemplateEngine(html: string, options: Record = {}): string {\n const re = /<%(.+?)%>/g;\n const reExp = /(^( )?(var|if|for|else|switch|case|break|{|}|;))(.*)?/g;\n let cursor = 0;\n const add = function (line: string, js?: boolean) {\n js ? (code += line.match(reExp) ? line + '\\n' : 'r.push(' + line + ');\\n') :\n (code += line != '' ? 'r.push(\"' + line.replace(/\"/g, '\\\\\"') + '\");\\n' : '');\n return add;\n }\n options.e = escapeHtml;\n options.linkifyStr = linkifyStrWithOpt;\n for (; ;) {\n const match = re.exec(html);\n if (!match) {\n break;\n }\n add(html.slice(cursor, match.index))(match[1], true);\n cursor = match.index + match[0].length;\n }\n add(html.substr(cursor, html.length - cursor));\n\n let code = 'with(obj) { var r=[];\\n';\n code = (code + 'return r.join(\"\"); }').replace(/[\\r\\t\\n]/g, ' ');\n try {\n return new Function('obj', code).apply(options, [options]);\n } catch (err) {\n console.error(\"'\" + err.message + \"'\", \" in \\n\\nCode:\\n\", code, \"\\n\");\n throw err;\n }\n}\n\nexport function getIconPath(imgsvr: boolean | 1 | 0, picture: string): string {\n // ../d_shared/common_path.js 필요\n if (!imgsvr) {\n return window.pathConfig.sharedIcon + '/' + picture;\n } else {\n return window.pathConfig.root + '/d_pic/' + picture;\n }\n}\n\nexport function activeFlip($obj?: JQuery): void {\n let $result: JQuery;\n if ($obj === undefined) {\n $result = $('img[data-flip]');\n } else {\n $result = $obj.find('img[data-flip]');\n }\n\n $result.each(function () {\n activeFlipItem($(this));\n });\n\n}\n\nexport function combineObject(item: V[], columnList: K[]): Record {\n const newItem: Record = {};\n for (const columnIdx in columnList) {\n const columnName = columnList[columnIdx];\n newItem[columnName] = item[columnIdx];\n }\n return newItem;\n}\n\nexport function combineArray(array: V[][], columnList: K[]): Record[] {\n const result: Record[] = [];\n for (const key of array.keys()) {\n const item = array[key];\n result[key] = combineObject(item, columnList);\n }\n return result;\n}\n\nexport function activeFlipItem($img: JQuery): void {\n const imageList = [];\n imageList.push($img.attr('src'));\n $.each($img.data('flip').split(','), function (idx, value) {\n value = $.trim(value);\n if (!value) {\n return true;\n }\n imageList.push(value);\n });\n if (imageList.length <= 1) {\n return;\n }\n $img.data('computed_flip_array', imageList);\n $img.data('computed_flip_idx', 0);\n\n $img.click(function () {\n const arr = $img.data('computed_flip_array');\n let idx = $img.data('computed_flip_idx');\n idx = (idx + 1) % (arr.length);\n $img.attr('src', arr[idx]);\n $img.data('computed_flip_idx', idx);\n });\n $img.css('cursor', 'pointer');\n}\n\n\n\nexport function errUnknown(): void {\n alert('작업을 실패했습니다.');\n}\n\n\n\nexport function errUnknownToast(): void {\n jQuery.toast({\n title: '에러!',\n content: '작업을 실패했습니다.',\n type: 'danger',\n delay: 5000\n });\n}\n\nexport function quickReject(errMsg: string): JQuery.Promise {\n if (errMsg === undefined) {\n errMsg = '작업을 실패했습니다.';\n }\n const deferred = $.Deferred();\n void deferred.reject(errMsg);\n return deferred.promise();\n}\n\nexport function nl2br(text: string): string {\n return text.replace(/\\n/g, \"
\");\n}\n/*\nfunction br2nl (text) { \n return text.replace(/<\\s*\\/?br\\s*[\\/]?>/gi, '\\n');\n}\n*/\n\nexport function getNpcColor(npcType: number): 'cyan' | 'skyblue' | null {\n if (npcType >= 2) {\n return 'cyan';\n }\n if (npcType == 1) {\n return 'skyblue';\n }\n return null;\n}\n\nexport function initTooltip($obj?: JQuery): void {\n if ($obj === undefined) {\n $obj = $('.obj_tooltip');\n } else if (!$obj.hasClass('obj_tooltip')) {\n $obj = $obj.find('.obj_tooltip');\n }\n console.log($obj);\n\n $obj.each(function () {\n const $target = $(this);\n\n if ($target.data('installHandler')) {\n return;\n }\n $target.data('installHandler', true);\n\n $target.mouseover(function () {\n const $objTooltip = $(this);\n if ($objTooltip.data('setObjTooltip')) {\n return;\n }\n\n let tooltipClassText = $objTooltip.data('tooltip-class');\n if (!tooltipClassText) {\n tooltipClassText = '';\n }\n const template = '
'\n .format(tooltipClassText);\n\n $objTooltip.tooltip({\n title: function () {\n return $.trim($(this).find('.tooltiptext').html());\n },\n template: template,\n html: true\n }).tooltip('show');\n\n $objTooltip.data('setObjTooltip', true);\n });\n });\n}","import { activeFlip, escapeHtml, isInt, mb_strwidth, mb_strimwidth, convertDictById, convertSet, hexToRgb, isBrightColor, convColorValue, numberWithCommas, linkifyStrWithOpt, TemplateEngine, getIconPath, combineObject, combineArray, activeFlipItem, errUnknown, errUnknownToast, quickReject, nl2br, getNpcColor, initTooltip } from \"./common_legacy\";\n\njQuery(function ($) {\n initTooltip();\n activeFlip();\n\n const customCSS = localStorage.getItem('sam_customCSS');\n if (customCSS) {\n const $style = $('');\n $style.text(customCSS);\n $style.appendTo($('head'));\n }\n});\n\ndeclare global {\n interface Window {\n /** @deprecated Module 사용할 것 */\n escapeHtml: typeof escapeHtml;\n /** @deprecated Module 사용할 것 */\n isInt: typeof isInt;\n /** @deprecated Module 사용할 것 */\n mb_strwidth: typeof mb_strwidth;\n /** @deprecated Module 사용할 것 */\n mb_strimwidth: typeof mb_strimwidth;\n /** @deprecated Module 사용할 것 */\n convertDictById: typeof convertDictById;\n /** @deprecated Module 사용할 것 */\n convertSet: typeof convertSet;\n /** @deprecated Module 사용할 것 */\n hexToRgb: typeof hexToRgb;\n /** @deprecated Module 사용할 것 */\n isBrightColor: typeof isBrightColor;\n /** @deprecated Module 사용할 것 */\n convColorValue: typeof convColorValue;\n /** @deprecated Module 사용할 것 */\n numberWithCommas: typeof numberWithCommas;\n /** @deprecated Module 사용할 것 */\n linkifyStrWithOpt: typeof linkifyStrWithOpt;\n /** @deprecated Module 사용할 것 */\n TemplateEngine: typeof TemplateEngine;\n /** @deprecated Module 사용할 것 */\n getIconPath: typeof getIconPath;\n /** @deprecated Module 사용할 것 */\n activeFlip: typeof activeFlip;\n /** @deprecated Module 사용할 것 */\n combineObject: typeof combineObject;\n /** @deprecated Module 사용할 것 */\n combineArray: typeof combineArray;\n /** @deprecated Module 사용할 것 */\n activeFlipItem: typeof activeFlipItem;\n /** @deprecated Module 사용할 것 */\n errUnknown: typeof errUnknown;\n /** @deprecated Module 사용할 것 */\n errUnknownToast: typeof errUnknownToast;\n /** @deprecated Module 사용할 것 */\n quickReject: typeof quickReject;\n /** @deprecated Module 사용할 것 */\n nl2br: typeof nl2br;\n /** @deprecated Module 사용할 것 */\n getNpcColor: typeof getNpcColor;\n /** @deprecated Module 사용할 것 */\n initTooltip: typeof initTooltip;\n }\n}\n\nwindow.escapeHtml = escapeHtml;\nwindow.isInt = isInt;\nwindow.mb_strwidth = mb_strwidth;\nwindow.mb_strimwidth = mb_strimwidth;\nwindow.convertDictById = convertDictById;\nwindow.convertSet = convertSet;\nwindow.hexToRgb = hexToRgb;\nwindow.isBrightColor = isBrightColor;\nwindow.convColorValue = convColorValue;\nwindow.numberWithCommas = numberWithCommas;\nwindow.linkifyStrWithOpt = linkifyStrWithOpt;\nwindow.TemplateEngine = TemplateEngine;\nwindow.getIconPath = getIconPath;\nwindow.activeFlip = activeFlip;\nwindow.combineObject = combineObject;\nwindow.combineArray = combineArray;\nwindow.activeFlipItem = activeFlipItem;\nwindow.errUnknown = errUnknown;\nwindow.errUnknownToast = errUnknownToast;\nwindow.quickReject = quickReject;\nwindow.nl2br = nl2br;\nwindow.getNpcColor = getNpcColor;\nwindow.initTooltip = initTooltip;"],"names":["NotNullExpected","message","this","name","Error","entityMap","escapeHtml","string","String","replace","s","mb_strwidth","str","l","length","i","c","charCodeAt","hexToRgb","hex","result","exec","r","parseInt","g","b","linkifyStrWithOpt","text","window","linkifyStr","activeFlip","$obj","undefined","$","find","each","activeFlipItem","combineObject","item","columnList","newItem","columnIdx","$img","imageList","push","attr","data","split","idx","value","trim","click","arr","css","initTooltip","hasClass","console","log","$target","mouseover","$objTooltip","tooltipClassText","template","format","tooltip","title","html","prototype","args","match","number","jQuery","customCSS","localStorage","getItem","$style","appendTo","isInt","n","mb_strimwidth","start","width","trimmarker","trimmakerWidth","trimmedLength","trimmedStr","charAt","charWidth","next","nextWidth","join","convertDictById","Object","values","v","id","convertSet","isBrightColor","color","cv","unwrap","convColorValue","substr","toUpperCase","Set","has","numberWithCommas","x","toString","TemplateEngine","options","re","reExp","cursor","add","line","js","code","e","slice","index","Function","apply","err","error","getIconPath","imgsvr","picture","pathConfig","root","sharedIcon","combineArray","array","keys","key","errUnknown","alert","errUnknownToast","toast","content","type","delay","quickReject","errMsg","deferred","Deferred","reject","promise","nl2br","getNpcColor","npcType"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"common.js","mappings":"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","sources":["webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://hidche_lib/./hwe/ts/util.ts","webpack://hidche_lib/./hwe/ts/common_legacy.ts","webpack://hidche_lib/./hwe/ts/common_deprecated.ts"],"sourcesContent":["export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","type ErrType = { new(msg?: string): T }\ntype Nullable = T | null | undefined\n\nexport class RuntimeError extends Error {\n public name = 'RuntimeError';\n constructor(public message: string = '') {\n super(message);\n }\n toString(): string {\n if (this.message) {\n return this.name + ': ' + this.message;\n }\n else {\n return this.name;\n }\n }\n}\n\nexport class NotNullExpected extends RuntimeError {\n public name = 'NotNullExpected';\n}\n\nexport function unwrap(result: Nullable): T {\n if (result === null || result === undefined) {\n throw new NotNullExpected();\n }\n return result;\n}\n\nexport function unwrap_err(result: Nullable, errType: ErrType, errMsg?: string): T {\n if (result === null || result === undefined) {\n throw new errType(errMsg);\n }\n return result;\n}","import { unwrap } from \"./util\";\n\ndeclare const jQuery: JQueryStatic;\n\n\n/** \n * <>& 등을 html에서도 그대로 보이도록 escape주는 함수\n * @see https://stackoverflow.com/questions/24816/escaping-html-strings-with-jquery\n */\nexport const escapeHtml = (() => {\n const entityMap: { [v: string]: string } = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/',\n '`': '`',\n '=': '='\n };\n\n return function (string: string) {\n return String(string).replace(/[&<>\"'`=/]/g, function (s: string) {\n return entityMap[s];\n });\n }\n})();\n\n/**\n * 변수가 정수인지 확인하는 함수\n * @param {*} n 정수인지 확인하기 위한 인자\n * @return {boolean} 정수인지 여부\n */\nexport function isInt(n: unknown): n is number {\n const v = n as number;\n return +v === v && !(v % 1);\n}\n\n\n//https://gist.github.com/demouth/3217440\n/**\n * mb_strwidth\n * @see http://php.net/manual/function.mb-strwidth.php\n */\nexport function mb_strwidth(str: string): number {\n const l = str.length;\n let length = 0;\n for (let i = 0; i < l; i++) {\n const c = str.charCodeAt(i);\n if (0x0000 <= c && c <= 0x0019) {\n length += 0;\n } else if (0x0020 <= c && c <= 0x1FFF) {\n length += 1;\n } else if (0x2000 <= c && c <= 0xFF60) {\n length += 2;\n } else if (0xFF61 <= c && c <= 0xFF9F) {\n length += 1;\n } else if (0xFFA0 <= c) {\n length += 2;\n }\n }\n return length;\n}\n\n\n/**\n * mb_strimwidth\n * @param String\n * @param int\n * @param int\n * @param String\n * @return String\n * @see http://www.php.net/manual/function.mb-strimwidth.php\n */\nexport function mb_strimwidth(str: string, start: number, width: number, trimmarker = ''): string {\n const trimmakerWidth = mb_strwidth(trimmarker);\n const l = str.length;\n let trimmedLength = 0;\n const trimmedStr: string[] = [];\n for (let i = start; i < l; i++) {\n const c = str.charAt(i);\n const charWidth = mb_strwidth(c);\n const next = str.charAt(i + 1);\n const nextWidth = mb_strwidth(next);\n\n trimmedLength += charWidth;\n trimmedStr.push(c);\n if (trimmedLength + trimmakerWidth + nextWidth > width) {\n trimmedStr.push(trimmarker);\n break;\n }\n }\n return trimmedStr.join('');\n}\n\n/**\n * object의 array를 id를 key로 삼는 object로 재 변환\n */\nexport function convertDictById(arr: ArrayLike): Record {\n const result: Record = {};\n for (const v of Object.values(arr)) {\n result[v.id] = v;\n }\n return result;\n}\n\n/**\n * array를 set 형태의 object로 변환\n */\nexport function convertSet(arr: ArrayLike): Record {\n const result: Record = {};\n for (const v of Object.values(arr)) {\n result[v] = true;\n }\n return result;\n}\n\n\n/** \n * {0}, {1}, {2}형태로 포맷해주는 함수\n */\n\ndeclare global {\n interface String {\n format(...args: string[]): string;\n }\n}\nString.prototype.format = function (...args: string[]) {\n return this.replace(/{(\\d+)}/g, function (match, number) {\n return (typeof args[number] != 'undefined') ? args[number] : match;\n });\n};\n\n\nexport function hexToRgb(hex: string): { r: number, g: number, b: number } | null {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n}\n\nexport function isBrightColor(color: string): boolean {\n const cv = unwrap(hexToRgb(color));\n if ((cv.r * 0.299 + cv.g * 0.587 + cv.b * 0.114) > 140) {\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * 게임내에서 지원하는 color type만 선택할 수 있도록 해주는 함수\n * @param {string} color #AAAAAA 또는 AAAAAA 형태로 작성된 RGB hex color string\n * @returns {string}\n */\nexport function convColorValue(color: string): string {\n if (color.charAt(0) == '#') {\n color = color.substr(1);\n }\n color = color.toUpperCase();\n\n const colorBase = new Set([\n '000080', '0000FF', '008000', '008080', '00BFFF', '00FF00', '00FFFF', '20B2AA',\n '2E8B57', '483D8B', '6495ED', '7B68EE', '7CFC00', '7FFFD4', '800000', '800080',\n '808000', '87CEEB', 'A0522D', 'A9A9A9', 'AFEEEE', 'BA55D3', 'E0FFFF', 'F5F5DC',\n 'FF0000', 'FF00FF', 'FF6347', 'FFA500', 'FFC0CB', 'FFD700', 'FFDAB9', 'FFFF00',\n 'FFFFFF'\n ]);\n\n if (!colorBase.has(color)) {\n return '000000';\n }\n\n return color;\n}\n\n\nexport function numberWithCommas(x: number): string {\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n}\n\n//linkify가 불러와 있어야함\ndeclare global {\n interface Window {\n linkifyStr: (v: string, k?: Record) => string;\n }\n}\nexport function linkifyStrWithOpt(text: string): string {\n return window.linkifyStr(text, {});\n}\n\n/**\n * 단순한 Template 함수. <%변수명%>으로 template 가능\n * @see https://github.com/krasimir/absurd/blob/master/lib/processors/html/helpers/TemplateEngine.js\n * @param {string} html \n * @param {object} options \n * @returns {string}\n */\nexport function TemplateEngine(html: string, options: Record = {}): string {\n const re = /<%(.+?)%>/g;\n const reExp = /(^( )?(var|if|for|else|switch|case|break|{|}|;))(.*)?/g;\n let cursor = 0;\n const add = function (line: string, js?: boolean) {\n js ? (code += line.match(reExp) ? line + '\\n' : 'r.push(' + line + ');\\n') :\n (code += line != '' ? 'r.push(\"' + line.replace(/\"/g, '\\\\\"') + '\");\\n' : '');\n return add;\n }\n options.e = escapeHtml;\n options.linkifyStr = linkifyStrWithOpt;\n for (; ;) {\n const match = re.exec(html);\n if (!match) {\n break;\n }\n add(html.slice(cursor, match.index))(match[1], true);\n cursor = match.index + match[0].length;\n }\n add(html.substr(cursor, html.length - cursor));\n\n let code = 'with(obj) { var r=[];\\n';\n code = (code + 'return r.join(\"\"); }').replace(/[\\r\\t\\n]/g, ' ');\n try {\n return new Function('obj', code).apply(options, [options]);\n } catch (err) {\n console.error(\"'\" + err.message + \"'\", \" in \\n\\nCode:\\n\", code, \"\\n\");\n throw err;\n }\n}\n\nexport function getIconPath(imgsvr: boolean | 1 | 0, picture: string): string {\n // ../d_shared/common_path.js 필요\n if (!imgsvr) {\n return window.pathConfig.sharedIcon + '/' + picture;\n } else {\n return window.pathConfig.root + '/d_pic/' + picture;\n }\n}\n\nexport function activeFlip($obj?: JQuery): void {\n let $result: JQuery;\n if ($obj === undefined) {\n $result = $('img[data-flip]');\n } else {\n $result = $obj.find('img[data-flip]');\n }\n\n $result.each(function () {\n activeFlipItem($(this));\n });\n\n}\n\nexport function combineObject(item: V[], columnList: K[]): Record {\n const newItem: Record = {};\n for (const columnIdx in columnList) {\n const columnName = columnList[columnIdx];\n newItem[columnName] = item[columnIdx];\n }\n return newItem;\n}\n\nexport function combineArray(array: V[][], columnList: K[]): Record[] {\n const result: Record[] = [];\n for (const key of array.keys()) {\n const item = array[key];\n result[key] = combineObject(item, columnList);\n }\n return result;\n}\n\nexport function activeFlipItem($img: JQuery): void {\n const imageList = [];\n imageList.push($img.attr('src'));\n $.each($img.data('flip').split(','), function (idx, value) {\n value = $.trim(value);\n if (!value) {\n return true;\n }\n imageList.push(value);\n });\n if (imageList.length <= 1) {\n return;\n }\n $img.data('computed_flip_array', imageList);\n $img.data('computed_flip_idx', 0);\n\n $img.click(function () {\n const arr = $img.data('computed_flip_array');\n let idx = $img.data('computed_flip_idx');\n idx = (idx + 1) % (arr.length);\n $img.attr('src', arr[idx]);\n $img.data('computed_flip_idx', idx);\n });\n $img.css('cursor', 'pointer');\n}\n\n\n\nexport function errUnknown(): void {\n alert('작업을 실패했습니다.');\n}\n\n\n\nexport function errUnknownToast(): void {\n jQuery.toast({\n title: '에러!',\n content: '작업을 실패했습니다.',\n type: 'danger',\n delay: 5000\n });\n}\n\nexport function quickReject(errMsg: string): JQuery.Promise {\n if (errMsg === undefined) {\n errMsg = '작업을 실패했습니다.';\n }\n const deferred = $.Deferred();\n void deferred.reject(errMsg);\n return deferred.promise();\n}\n\nexport function nl2br(text: string): string {\n return text.replace(/\\n/g, \"
\");\n}\n/*\nfunction br2nl (text) { \n return text.replace(/<\\s*\\/?br\\s*[\\/]?>/gi, '\\n');\n}\n*/\n\nexport function getNpcColor(npcType: number): 'cyan' | 'skyblue' | null {\n if (npcType >= 2) {\n return 'cyan';\n }\n if (npcType == 1) {\n return 'skyblue';\n }\n return null;\n}\n\nexport function initTooltip($obj?: JQuery): void {\n if ($obj === undefined) {\n $obj = $('.obj_tooltip');\n } else if (!$obj.hasClass('obj_tooltip')) {\n $obj = $obj.find('.obj_tooltip');\n }\n console.log($obj);\n\n $obj.each(function () {\n const $target = $(this);\n\n if ($target.data('installHandler')) {\n return;\n }\n $target.data('installHandler', true);\n\n $target.mouseover(function () {\n const $objTooltip = $(this);\n if ($objTooltip.data('setObjTooltip')) {\n return;\n }\n\n let tooltipClassText = $objTooltip.data('tooltip-class');\n if (!tooltipClassText) {\n tooltipClassText = '';\n }\n const template = '
'\n .format(tooltipClassText);\n\n $objTooltip.tooltip({\n title: function () {\n return $.trim($(this).find('.tooltiptext').html());\n },\n template: template,\n html: true\n }).tooltip('show');\n\n $objTooltip.data('setObjTooltip', true);\n });\n });\n}","import { activeFlip, escapeHtml, isInt, mb_strwidth, mb_strimwidth, convertDictById, convertSet, hexToRgb, isBrightColor, convColorValue, numberWithCommas, linkifyStrWithOpt, TemplateEngine, getIconPath, combineObject, combineArray, activeFlipItem, errUnknown, errUnknownToast, quickReject, nl2br, getNpcColor, initTooltip } from \"./common_legacy\";\n\njQuery(function ($) {\n initTooltip();\n activeFlip();\n\n const customCSS = localStorage.getItem('sam_customCSS');\n if (customCSS) {\n const $style = $('');\n $style.text(customCSS);\n $style.appendTo($('head'));\n }\n});\n\ndeclare global {\n interface Window {\n /** @deprecated Module 사용할 것 */\n escapeHtml: typeof escapeHtml;\n /** @deprecated Module 사용할 것 */\n isInt: typeof isInt;\n /** @deprecated Module 사용할 것 */\n mb_strwidth: typeof mb_strwidth;\n /** @deprecated Module 사용할 것 */\n mb_strimwidth: typeof mb_strimwidth;\n /** @deprecated Module 사용할 것 */\n convertDictById: typeof convertDictById;\n /** @deprecated Module 사용할 것 */\n convertSet: typeof convertSet;\n /** @deprecated Module 사용할 것 */\n hexToRgb: typeof hexToRgb;\n /** @deprecated Module 사용할 것 */\n isBrightColor: typeof isBrightColor;\n /** @deprecated Module 사용할 것 */\n convColorValue: typeof convColorValue;\n /** @deprecated Module 사용할 것 */\n numberWithCommas: typeof numberWithCommas;\n /** @deprecated Module 사용할 것 */\n linkifyStrWithOpt: typeof linkifyStrWithOpt;\n /** @deprecated Module 사용할 것 */\n TemplateEngine: typeof TemplateEngine;\n /** @deprecated Module 사용할 것 */\n getIconPath: typeof getIconPath;\n /** @deprecated Module 사용할 것 */\n activeFlip: typeof activeFlip;\n /** @deprecated Module 사용할 것 */\n combineObject: typeof combineObject;\n /** @deprecated Module 사용할 것 */\n combineArray: typeof combineArray;\n /** @deprecated Module 사용할 것 */\n activeFlipItem: typeof activeFlipItem;\n /** @deprecated Module 사용할 것 */\n errUnknown: typeof errUnknown;\n /** @deprecated Module 사용할 것 */\n errUnknownToast: typeof errUnknownToast;\n /** @deprecated Module 사용할 것 */\n quickReject: typeof quickReject;\n /** @deprecated Module 사용할 것 */\n nl2br: typeof nl2br;\n /** @deprecated Module 사용할 것 */\n getNpcColor: typeof getNpcColor;\n /** @deprecated Module 사용할 것 */\n initTooltip: typeof initTooltip;\n }\n}\n\nwindow.escapeHtml = escapeHtml;\nwindow.isInt = isInt;\nwindow.mb_strwidth = mb_strwidth;\nwindow.mb_strimwidth = mb_strimwidth;\nwindow.convertDictById = convertDictById;\nwindow.convertSet = convertSet;\nwindow.hexToRgb = hexToRgb;\nwindow.isBrightColor = isBrightColor;\nwindow.convColorValue = convColorValue;\nwindow.numberWithCommas = numberWithCommas;\nwindow.linkifyStrWithOpt = linkifyStrWithOpt;\nwindow.TemplateEngine = TemplateEngine;\nwindow.getIconPath = getIconPath;\nwindow.activeFlip = activeFlip;\nwindow.combineObject = combineObject;\nwindow.combineArray = combineArray;\nwindow.activeFlipItem = activeFlipItem;\nwindow.errUnknown = errUnknown;\nwindow.errUnknownToast = errUnknownToast;\nwindow.quickReject = quickReject;\nwindow.nl2br = nl2br;\nwindow.getNpcColor = getNpcColor;\nwindow.initTooltip = initTooltip;"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_inherits","subClass","superClass","prototype","create","constructor","value","_typeof","obj","Symbol","iterator","_possibleConstructorReturn","call","_getPrototypeOf","getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_construct","Parent","args","Class","a","push","apply","Function","bind","arguments","_wrapNativeSuper","_cache","Map","undefined","fn","toString","indexOf","has","get","set","Wrapper","this","_defineProperty","NotNullExpected","protoProps","message","name","Error","entityMap","escapeHtml","string","String","replace","s","mb_strwidth","str","l","c","charCodeAt","hexToRgb","hex","result","exec","r","parseInt","g","b","linkifyStrWithOpt","text","window","linkifyStr","activeFlip","$obj","$","find","each","activeFlipItem","combineObject","item","columnList","newItem","columnIdx","$img","imageList","attr","data","split","idx","trim","click","arr","css","initTooltip","hasClass","console","log","$target","mouseover","$objTooltip","tooltipClassText","template","format","tooltip","title","html","match","number","jQuery","customCSS","localStorage","getItem","$style","appendTo","isInt","n","mb_strimwidth","start","width","trimmarker","trimmakerWidth","trimmedLength","trimmedStr","charAt","charWidth","next","nextWidth","join","convertDictById","values","v","id","convertSet","isBrightColor","color","cv","unwrap","convColorValue","substr","toUpperCase","Set","numberWithCommas","x","TemplateEngine","options","re","reExp","cursor","add","line","js","code","slice","index","err","error","getIconPath","imgsvr","picture","pathConfig","root","sharedIcon","combineArray","array","keys","errUnknown","alert","errUnknownToast","toast","content","type","delay","quickReject","errMsg","deferred","Deferred","reject","promise","nl2br","getNpcColor","npcType"],"sourceRoot":""} \ No newline at end of file diff --git a/hwe/js/inheritPoint.js b/hwe/js/inheritPoint.js index f5842275..d968b86e 100644 --- a/hwe/js/inheritPoint.js +++ b/hwe/js/inheritPoint.js @@ -1,2 +1,2 @@ -(()=>{var t={762:t=>{t.exports=function(t,e){for(var r,n=-1,o=t.length;++n{t.exports=function(t){return t}},297:(t,e,r)=>{var n=r(762),o=r(557);t.exports=function(t){return t&&t.length?n(t,o):0}}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var u=e[n]={exports:{}};return t[n](u,u.exports,r),u.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=r(297),e=r.n(t);function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function u(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:"";return o(this,a),h(l(t=n.call(this,e)),"name","RuntimeError"),t.message=e,t}return e=a,(r=[{key:"toString",value:function(){return this.message?this.name+": "+this.message:this.name}}])&&u(e.prototype,r),a}(f(Error)));function m(t){if(null==t)throw new b;return t}function d(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,u=[],i=!0,c=!1;try{for(r=r.call(t);!(i=(n=r.next()).done)&&(u.push(n.value),!e||u.length!==e);i=!0);}catch(t){c=!0,o=t}finally{try{i||null==r.return||r.return()}finally{if(c)throw o}}return u}}(t,e)||function(t,e){if(t){if("string"==typeof t)return w(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?w(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r{var t={762:t=>{t.exports=function(t,e){for(var r,n=-1,o=t.length;++n{t.exports=function(t){return t}},297:(t,e,r)=>{var n=r(762),o=r(557);t.exports=function(t){return t&&t.length?n(t,o):0}}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var u=e[n]={exports:{}};return t[n](u,u.exports,r),u.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:"";return u(this,o),b(c(t=n.call(this,e)),"name","RuntimeError"),t.message=e,t}return e=o,(r=[{key:"toString",value:function(){return this.message?this.name+": "+this.message:this.name}}])&&i(e.prototype,r),o}(h(Error)));function w(t){if(null==t)throw new m;return t}!function(){var t=w(document.querySelector("#inherit_sum_value")),r=w(document.querySelector("#inherit_previous_value")),n=w(document.querySelector("#inherit_new_value")),u=Math.floor(o()(Object.values(window.items))),i=Math.floor(window.items.previous),c=u-i;t.value=u.toLocaleString(),r.value=i.toLocaleString(),n.value=c.toLocaleString();for(var a=0,l=Object.entries(window.items);a true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseSum = require('./_baseSum'),\n identity = require('./identity');\n\n/**\n * Computes the sum of the values in `array`.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {number} Returns the sum.\n * @example\n *\n * _.sum([4, 2, 8, 6]);\n * // => 20\n */\nfunction sum(array) {\n return (array && array.length)\n ? baseSum(array, identity)\n : 0;\n}\n\nmodule.exports = sum;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","type ErrType = { new(msg?: string): T }\ntype Nullable = T | null | undefined\n\nexport class RuntimeError extends Error {\n public name = 'RuntimeError';\n constructor(public message: string = '') {\n super(message);\n }\n toString(): string {\n if (this.message) {\n return this.name + ': ' + this.message;\n }\n else {\n return this.name;\n }\n }\n}\n\nexport class NotNullExpected extends RuntimeError {\n public name = 'NotNullExpected';\n}\n\nexport function unwrap(result: Nullable): T {\n if (result === null || result === undefined) {\n throw new NotNullExpected();\n }\n return result;\n}\n\nexport function unwrap_err(result: Nullable, errType: ErrType, errMsg?: string): T {\n if (result === null || result === undefined) {\n throw new errType(errMsg);\n }\n return result;\n}","import \"../scss/inheritPoint.scss\";\n\nimport { sum } from \"lodash\";\nimport { unwrap } from \"./util\";\ndeclare global {\n interface Window { \n formStart: ()=>void;\n items: {[name: string]:number};\n helpText: {[name: string]:string};\n }\n}\n\nexport {}\n\nfunction formStart() {\n\n const dSum = unwrap(document.querySelector('#inherit_sum_value')) as HTMLInputElement ;\n const dOld = unwrap(document.querySelector('#inherit_previous_value')) as HTMLInputElement;\n const dNew = unwrap(document.querySelector('#inherit_new_value')) as HTMLInputElement;\n\n const sumPoint = Math.floor(sum(Object.values(window.items)));\n const oldPoint = Math.floor(window.items['previous']);\n const sumNewPoint = sumPoint - oldPoint;\n\n dSum.value = sumPoint.toLocaleString();\n dOld.value = oldPoint.toLocaleString();\n dNew.value = sumNewPoint.toLocaleString();\n\n for(const [key, val] of Object.entries(window.items)){\n const dItem = unwrap(document.querySelector(`#inherit_${key}_value`)) as HTMLInputElement ;\n dItem.value = Math.floor(val).toLocaleString();\n }\n\n for(const [key, text] of Object.entries(window.helpText)){\n const dText = unwrap(document.querySelector(`#inherit_${key} small.form-text`)) as HTMLElement;\n dText.innerHTML = text;\n }\n}\n\nformStart();"],"names":["module","exports","array","iteratee","result","index","length","current","undefined","value","baseSum","identity","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","NotNullExpected","message","this","name","Error","unwrap","dSum","document","querySelector","dOld","dNew","sumPoint","Math","floor","values","window","items","oldPoint","sumNewPoint","toLocaleString","entries","val","helpText","text","innerHTML","formStart"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"inheritPoint.js","mappings":"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","sources":["webpack://hidche_lib/./node_modules/lodash/_baseSum.js","webpack://hidche_lib/./node_modules/lodash/identity.js","webpack://hidche_lib/./node_modules/lodash/sum.js","webpack://hidche_lib/webpack/bootstrap","webpack://hidche_lib/webpack/runtime/compat get default export","webpack://hidche_lib/webpack/runtime/define property getters","webpack://hidche_lib/webpack/runtime/hasOwnProperty shorthand","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://hidche_lib/./hwe/ts/util.ts","webpack://hidche_lib/./hwe/ts/inheritPoint.ts"],"sourcesContent":["/**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\nfunction baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n}\n\nmodule.exports = baseSum;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseSum = require('./_baseSum'),\n identity = require('./identity');\n\n/**\n * Computes the sum of the values in `array`.\n *\n * @static\n * @memberOf _\n * @since 3.4.0\n * @category Math\n * @param {Array} array The array to iterate over.\n * @returns {number} Returns the sum.\n * @example\n *\n * _.sum([4, 2, 8, 6]);\n * // => 20\n */\nfunction sum(array) {\n return (array && array.length)\n ? baseSum(array, identity)\n : 0;\n}\n\nmodule.exports = sum;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","type ErrType = { new(msg?: string): T }\ntype Nullable = T | null | undefined\n\nexport class RuntimeError extends Error {\n public name = 'RuntimeError';\n constructor(public message: string = '') {\n super(message);\n }\n toString(): string {\n if (this.message) {\n return this.name + ': ' + this.message;\n }\n else {\n return this.name;\n }\n }\n}\n\nexport class NotNullExpected extends RuntimeError {\n public name = 'NotNullExpected';\n}\n\nexport function unwrap(result: Nullable): T {\n if (result === null || result === undefined) {\n throw new NotNullExpected();\n }\n return result;\n}\n\nexport function unwrap_err(result: Nullable, errType: ErrType, errMsg?: string): T {\n if (result === null || result === undefined) {\n throw new errType(errMsg);\n }\n return result;\n}","import \"../scss/inheritPoint.scss\";\n\nimport { sum } from \"lodash\";\nimport { unwrap } from \"./util\";\ndeclare global {\n interface Window { \n formStart: ()=>void;\n items: {[name: string]:number};\n helpText: {[name: string]:string};\n }\n}\n\nexport {}\n\nfunction formStart() {\n\n const dSum = unwrap(document.querySelector('#inherit_sum_value')) as HTMLInputElement ;\n const dOld = unwrap(document.querySelector('#inherit_previous_value')) as HTMLInputElement;\n const dNew = unwrap(document.querySelector('#inherit_new_value')) as HTMLInputElement;\n\n const sumPoint = Math.floor(sum(Object.values(window.items)));\n const oldPoint = Math.floor(window.items['previous']);\n const sumNewPoint = sumPoint - oldPoint;\n\n dSum.value = sumPoint.toLocaleString();\n dOld.value = oldPoint.toLocaleString();\n dNew.value = sumNewPoint.toLocaleString();\n\n for(const [key, val] of Object.entries(window.items)){\n const dItem = unwrap(document.querySelector(`#inherit_${key}_value`)) as HTMLInputElement ;\n dItem.value = Math.floor(val).toLocaleString();\n }\n\n for(const [key, text] of Object.entries(window.helpText)){\n const dText = unwrap(document.querySelector(`#inherit_${key} small.form-text`)) as HTMLElement;\n dText.innerHTML = text;\n }\n}\n\nformStart();"],"names":["module","exports","array","iteratee","result","index","length","current","undefined","value","baseSum","identity","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","_arrayLikeToArray","arr","len","i","arr2","Array","_slicedToArray","isArray","_i","Symbol","iterator","_s","_e","_arr","_n","_d","next","done","push","err","minLen","toString","slice","constructor","name","from","test","TypeError","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","configurable","writable","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","p","setPrototypeOf","__proto__","_inherits","subClass","superClass","create","_typeof","_possibleConstructorReturn","_getPrototypeOf","getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_construct","Parent","args","Class","apply","Function","bind","arguments","_wrapNativeSuper","_cache","Map","fn","indexOf","has","set","Wrapper","this","_defineProperty","NotNullExpected","protoProps","message","Error","unwrap","dSum","document","querySelector","dOld","dNew","sumPoint","Math","floor","values","window","items","oldPoint","sumNewPoint","toLocaleString","entries","val","helpText","text","innerHTML","formStart"],"sourceRoot":""} \ No newline at end of file diff --git a/hwe/js/troop.js b/hwe/js/troop.js index 5e5f127e..7bef2fcb 100644 --- a/hwe/js/troop.js +++ b/hwe/js/troop.js @@ -1,2 +1,2 @@ -(()=>{"use strict";function o(){alert("작업을 실패했습니다.")}Error,String.prototype.format=function(){for(var o=arguments.length,t=new Array(o),n=0;n{var t={757:(t,e,r)=>{t.exports=r(666)},669:(t,e,r)=>{t.exports=r(609)},448:(t,e,r)=>{"use strict";var n=r(867),o=r(26),i=r(372),a=r(327),s=r(97),c=r(109),u=r(985),f=r(61);t.exports=function(t){return new Promise((function(e,r){var l=t.data,p=t.headers;n.isFormData(l)&&delete p["Content-Type"];var h=new XMLHttpRequest;if(t.auth){var d=t.auth.username||"",y=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";p.Authorization="Basic "+btoa(d+":"+y)}var m=s(t.baseURL,t.url);if(h.open(t.method.toUpperCase(),a(m,t.params,t.paramsSerializer),!0),h.timeout=t.timeout,h.onreadystatechange=function(){if(h&&4===h.readyState&&(0!==h.status||h.responseURL&&0===h.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in h?c(h.getAllResponseHeaders()):null,i={data:t.responseType&&"text"!==t.responseType?h.response:h.responseText,status:h.status,statusText:h.statusText,headers:n,config:t,request:h};o(e,r,i),h=null}},h.onabort=function(){h&&(r(f("Request aborted",t,"ECONNABORTED",h)),h=null)},h.onerror=function(){r(f("Network Error",t,null,h)),h=null},h.ontimeout=function(){var e="timeout of "+t.timeout+"ms exceeded";t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),r(f(e,t,"ECONNABORTED",h)),h=null},n.isStandardBrowserEnv()){var v=(t.withCredentials||u(m))&&t.xsrfCookieName?i.read(t.xsrfCookieName):void 0;v&&(p[t.xsrfHeaderName]=v)}if("setRequestHeader"in h&&n.forEach(p,(function(t,e){void 0===l&&"content-type"===e.toLowerCase()?delete p[e]:h.setRequestHeader(e,t)})),n.isUndefined(t.withCredentials)||(h.withCredentials=!!t.withCredentials),t.responseType)try{h.responseType=t.responseType}catch(e){if("json"!==t.responseType)throw e}"function"==typeof t.onDownloadProgress&&h.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&h.upload&&h.upload.addEventListener("progress",t.onUploadProgress),t.cancelToken&&t.cancelToken.promise.then((function(t){h&&(h.abort(),r(t),h=null)})),l||(l=null),h.send(l)}))}},609:(t,e,r)=>{"use strict";var n=r(867),o=r(849),i=r(321),a=r(185);function s(t){var e=new i(t),r=o(i.prototype.request,e);return n.extend(r,i.prototype,e),n.extend(r,e),r}var c=s(r(655));c.Axios=i,c.create=function(t){return s(a(c.defaults,t))},c.Cancel=r(263),c.CancelToken=r(972),c.isCancel=r(502),c.all=function(t){return Promise.all(t)},c.spread=r(713),c.isAxiosError=r(268),t.exports=c,t.exports.default=c},263:t=>{"use strict";function e(t){this.message=t}e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,t.exports=e},972:(t,e,r)=>{"use strict";var n=r(263);function o(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var r=this;t((function(t){r.reason||(r.reason=new n(t),e(r.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var t;return{token:new o((function(e){t=e})),cancel:t}},t.exports=o},502:t=>{"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},321:(t,e,r)=>{"use strict";var n=r(867),o=r(327),i=r(782),a=r(572),s=r(185);function c(t){this.defaults=t,this.interceptors={request:new i,response:new i}}c.prototype.request=function(t){"string"==typeof t?(t=arguments[1]||{}).url=arguments[0]:t=t||{},(t=s(this.defaults,t)).method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var e=[a,void 0],r=Promise.resolve(t);for(this.interceptors.request.forEach((function(t){e.unshift(t.fulfilled,t.rejected)})),this.interceptors.response.forEach((function(t){e.push(t.fulfilled,t.rejected)}));e.length;)r=r.then(e.shift(),e.shift());return r},c.prototype.getUri=function(t){return t=s(this.defaults,t),o(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],(function(t){c.prototype[t]=function(e,r){return this.request(s(r||{},{method:t,url:e,data:(r||{}).data}))}})),n.forEach(["post","put","patch"],(function(t){c.prototype[t]=function(e,r,n){return this.request(s(n||{},{method:t,url:e,data:r}))}})),t.exports=c},782:(t,e,r)=>{"use strict";var n=r(867);function o(){this.handlers=[]}o.prototype.use=function(t,e){return this.handlers.push({fulfilled:t,rejected:e}),this.handlers.length-1},o.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},o.prototype.forEach=function(t){n.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=o},97:(t,e,r)=>{"use strict";var n=r(793),o=r(303);t.exports=function(t,e){return t&&!n(e)?o(t,e):e}},61:(t,e,r)=>{"use strict";var n=r(481);t.exports=function(t,e,r,o,i){var a=new Error(t);return n(a,e,r,o,i)}},572:(t,e,r)=>{"use strict";var n=r(867),o=r(527),i=r(502),a=r(655);function s(t){t.cancelToken&&t.cancelToken.throwIfRequested()}t.exports=function(t){return s(t),t.headers=t.headers||{},t.data=o(t.data,t.headers,t.transformRequest),t.headers=n.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),n.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),(t.adapter||a.adapter)(t).then((function(e){return s(t),e.data=o(e.data,e.headers,t.transformResponse),e}),(function(e){return i(e)||(s(t),e&&e.response&&(e.response.data=o(e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},481:t=>{"use strict";t.exports=function(t,e,r,n,o){return t.config=e,r&&(t.code=r),t.request=n,t.response=o,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},t}},185:(t,e,r)=>{"use strict";var n=r(867);t.exports=function(t,e){e=e||{};var r={},o=["url","method","data"],i=["headers","auth","proxy","params"],a=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],s=["validateStatus"];function c(t,e){return n.isPlainObject(t)&&n.isPlainObject(e)?n.merge(t,e):n.isPlainObject(e)?n.merge({},e):n.isArray(e)?e.slice():e}function u(o){n.isUndefined(e[o])?n.isUndefined(t[o])||(r[o]=c(void 0,t[o])):r[o]=c(t[o],e[o])}n.forEach(o,(function(t){n.isUndefined(e[t])||(r[t]=c(void 0,e[t]))})),n.forEach(i,u),n.forEach(a,(function(o){n.isUndefined(e[o])?n.isUndefined(t[o])||(r[o]=c(void 0,t[o])):r[o]=c(void 0,e[o])})),n.forEach(s,(function(n){n in e?r[n]=c(t[n],e[n]):n in t&&(r[n]=c(void 0,t[n]))}));var f=o.concat(i).concat(a).concat(s),l=Object.keys(t).concat(Object.keys(e)).filter((function(t){return-1===f.indexOf(t)}));return n.forEach(l,u),r}},26:(t,e,r)=>{"use strict";var n=r(61);t.exports=function(t,e,r){var o=r.config.validateStatus;r.status&&o&&!o(r.status)?e(n("Request failed with status code "+r.status,r.config,null,r.request,r)):t(r)}},527:(t,e,r)=>{"use strict";var n=r(867);t.exports=function(t,e,r){return n.forEach(r,(function(r){t=r(t,e)})),t}},655:(t,e,r)=>{"use strict";var n=r(867),o=r(16),i={"Content-Type":"application/x-www-form-urlencoded"};function a(t,e){!n.isUndefined(t)&&n.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var s,c={adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(s=r(448)),s),transformRequest:[function(t,e){return o(e,"Accept"),o(e,"Content-Type"),n.isFormData(t)||n.isArrayBuffer(t)||n.isBuffer(t)||n.isStream(t)||n.isFile(t)||n.isBlob(t)?t:n.isArrayBufferView(t)?t.buffer:n.isURLSearchParams(t)?(a(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):n.isObject(t)?(a(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"==typeof t)try{t=JSON.parse(t)}catch(t){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};n.forEach(["delete","get","head"],(function(t){c.headers[t]={}})),n.forEach(["post","put","patch"],(function(t){c.headers[t]=n.merge(i)})),t.exports=c},849:t=>{"use strict";t.exports=function(t,e){return function(){for(var r=new Array(arguments.length),n=0;n{"use strict";var n=r(867);function o(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,r){if(!e)return t;var i;if(r)i=r(e);else if(n.isURLSearchParams(e))i=e.toString();else{var a=[];n.forEach(e,(function(t,e){null!=t&&(n.isArray(t)?e+="[]":t=[t],n.forEach(t,(function(t){n.isDate(t)?t=t.toISOString():n.isObject(t)&&(t=JSON.stringify(t)),a.push(o(e)+"="+o(t))})))})),i=a.join("&")}if(i){var s=t.indexOf("#");-1!==s&&(t=t.slice(0,s)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}},303:t=>{"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},372:(t,e,r)=>{"use strict";var n=r(867);t.exports=n.isStandardBrowserEnv()?{write:function(t,e,r,o,i,a){var s=[];s.push(t+"="+encodeURIComponent(e)),n.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),n.isString(o)&&s.push("path="+o),n.isString(i)&&s.push("domain="+i),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},793:t=>{"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},268:t=>{"use strict";t.exports=function(t){return"object"==typeof t&&!0===t.isAxiosError}},985:(t,e,r)=>{"use strict";var n=r(867);t.exports=n.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function o(t){var n=t;return e&&(r.setAttribute("href",n),n=r.href),r.setAttribute("href",n),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return t=o(window.location.href),function(e){var r=n.isString(e)?o(e):e;return r.protocol===t.protocol&&r.host===t.host}}():function(){return!0}},16:(t,e,r)=>{"use strict";var n=r(867);t.exports=function(t,e){n.forEach(t,(function(r,n){n!==e&&n.toUpperCase()===e.toUpperCase()&&(t[e]=r,delete t[n])}))}},109:(t,e,r)=>{"use strict";var n=r(867),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,r,i,a={};return t?(n.forEach(t.split("\n"),(function(t){if(i=t.indexOf(":"),e=n.trim(t.substr(0,i)).toLowerCase(),r=n.trim(t.substr(i+1)),e){if(a[e]&&o.indexOf(e)>=0)return;a[e]="set-cookie"===e?(a[e]?a[e]:[]).concat([r]):a[e]?a[e]+", "+r:r}})),a):a}},713:t=>{"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},867:(t,e,r)=>{"use strict";var n=r(849),o=Object.prototype.toString;function i(t){return"[object Array]"===o.call(t)}function a(t){return void 0===t}function s(t){return null!==t&&"object"==typeof t}function c(t){if("[object Object]"!==o.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function u(t){return"[object Function]"===o.call(t)}function f(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),i(t))for(var r=0,n=t.length;r{var e=function(t){"use strict";var e,r=Object.prototype,n=r.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",s=o.toStringTag||"@@toStringTag";function c(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,r){return t[e]=r}}function u(t,e,r,n){var o=e&&e.prototype instanceof m?e:m,i=Object.create(o.prototype),a=new T(n||[]);return i._invoke=function(t,e,r){var n=l;return function(o,i){if(n===h)throw new Error("Generator is already running");if(n===d){if("throw"===o)throw i;return N()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=L(a,r);if(s){if(s===y)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===l)throw n=d,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=h;var c=f(t,e,r);if("normal"===c.type){if(n=r.done?d:p,c.arg===y)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n=d,r.method="throw",r.arg=c.arg)}}}(t,r,a),i}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var l="suspendedStart",p="suspendedYield",h="executing",d="completed",y={};function m(){}function v(){}function g(){}var w={};c(w,i,(function(){return this}));var b=Object.getPrototypeOf,x=b&&b(b(_([])));x&&x!==r&&n.call(x,i)&&(w=x);var E=g.prototype=m.prototype=Object.create(w);function j(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function O(t,e){function r(o,i,a,s){var c=f(t[o],t,i);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==typeof l&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,s)}),(function(t){r("throw",t,a,s)})):e.resolve(l).then((function(t){u.value=t,a(u)}),(function(t){return r("throw",t,a,s)}))}s(c.arg)}var o;this._invoke=function(t,n){function i(){return new e((function(e,o){r(t,n,e,o)}))}return o=o?o.then(i,i):i()}}function L(t,r){var n=t.iterator[r.method];if(n===e){if(r.delegate=null,"throw"===r.method){if(t.iterator.return&&(r.method="return",r.arg=e,L(t,r),"throw"===r.method))return y;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var o=f(n,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,y;var i=o.arg;return i?i.done?(r[t.resultName]=i.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function R(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function _(t){if(t){var r=t[i];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function r(){for(;++o=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var c=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(c&&u){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),R(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;R(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:_(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}(t.exports);try{regeneratorRuntime=e}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:"";return t(this,c),p(n(e=s.call(this,r)),"name","RuntimeError"),e.message=r,e}return o=c,(a=[{key:"toString",value:function(){return this.message?this.name+": "+this.message:this.name}}])&&e(o.prototype,a),c}(l(Error)),y=function(e){i(o,e);var r=h(o);function o(){var e;t(this,o);for(var i=arguments.length,a=new Array(i),s=0;s
이 름통무지자 금군 량도시병 종병 사훈련사기명 령삭턴
");o.find("thead td"),o.css("width","960px").css("margin","0").css("padding","0").css("left","50%").css("margin-left","-480px"),o.hide();var i=function(){var e=w(x().mark((function e(){var i,a,s,c;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={},(i=t("#on_mover .content")).html(""),e.next=5,j().get("".concat(n,"/b_genList.php"),{responseType:"text"});case 5:a=e.sent,s=a.data;try{c=t(s),function(){var e=void 0;if(c.each((function(){if("general_list"==t(this).attr("id"))return e=t(this),!1})),void 0===e)throw new d;return e}().find("tbody > tr").each((function(){var e=t(this),n=e.children(".i_troop");if("-"!=t.trim(n.text())){n.remove();var o=parseInt(e.data("general-id"));r[o]=e,e.hide(),i.append(e)}})),t(".troopUser").hover((function(){var e=t(this),n=e.closest("tr"),i=parseInt(e.data("general-id"));console.log(i);var a=m(n.offset()).top+m(n.outerHeight());o.css("top",a),r[i].show(),o.show()}),(function(){var e=t(this),n=parseInt(e.data("general-id"));r[n].hide(),o.hide()}))}catch(t){console.log(t)}case 8:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),a=t("table:eq(0) td:eq(0)");a.find("br:last").remove();var s=t('');s.click(w(x().mark((function t(){return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,i();case 2:case"end":return t.stop()}}),t)})))),a.append(s),window.userList=r,t("body").append(o)}(t)}))})()})(); //# sourceMappingURL=troop.js.map \ No newline at end of file diff --git a/hwe/js/troop.js.map b/hwe/js/troop.js.map index 09acc403..b6e59973 100644 --- a/hwe/js/troop.js.map +++ b/hwe/js/troop.js.map @@ -1 +1 @@ -{"version":3,"file":"troop.js","mappings":"mBA4SO,SAASA,IACZC,MAAM,eC1SwBC,MD4HlCC,OAAOC,UAAUC,OAAS,WAA6B,2BAAhBC,EAAgB,yBAAhBA,EAAgB,gBACnD,OAAOC,KAAKC,QAAQ,YAAY,SAAUC,EAAOC,GAC7C,YAA+B,IAAhBJ,EAAKI,GAA0BJ,EAAKI,GAAUD,ME/HrEE,QAAO,SAASC,GAEZA,EAAE,kBAAkBC,OAAM,SAASC,GAC/B,QAAIC,QAAQ,sBAGZH,EAAEI,KAAK,CACHC,IAAI,cACJC,SAAS,OACTC,KAAK,CACDC,OAAO,UAEZC,MAAK,SAASF,GACbG,QAAQC,IAAIJ,GACRA,EAAKK,SACLvB,MAAMkB,EAAKM,QACXC,SAASC,UAGbD,SAASC,WAEV3B,IACI,MAGXY,EAAE,mBAAmBC,OAAM,SAASC,GAkBhC,OAjBAF,EAAEI,KAAK,CACHC,IAAI,cACJC,SAAS,OACTC,KAAK,CACDC,OAAO,OACPQ,KAAKhB,EAAE,cAAciB,SAE1BR,MAAK,SAASF,GACbG,QAAQC,IAAIJ,GACRA,EAAKK,SACLvB,MAAMkB,EAAKM,QACXC,SAASC,UAGbD,SAASC,WAEV3B,IACI,KAGXY,EAAE,uBAAuBC,OAAM,SAASC,GAkBpC,OAjBAF,EAAEI,KAAK,CACHC,IAAI,cACJC,SAAS,OACTC,KAAK,CACDC,OAAO,OACPQ,KAAKhB,EAAE,cAAciB,SAE1BR,MAAK,SAASF,GACbG,QAAQC,IAAIJ,GACRA,EAAKK,SACLvB,MAAMkB,EAAKM,QACXC,SAASC,UAGbD,SAASC,WAEV3B,IACI,KAGXY,EAAE,iBAAiBC,OAAM,SAASC,GAkB9B,OAjBAF,EAAEI,KAAK,CACHC,IAAI,cACJC,SAAS,OACTC,KAAK,CACDC,OAAO,OACPU,IAAIlB,EAAE,UAAUiB,SAErBR,MAAK,SAASF,GACbG,QAAQC,IAAIJ,GACRA,EAAKK,SACLvB,MAAMkB,EAAKM,QACXC,SAASC,UAGbD,SAASC,WAEV3B,IACI,KAGXY,EAAE,iBAAiBC,OAAM,SAASC,GAkB9B,OAjBAF,EAAEI,KAAK,CACHC,IAAI,cACJC,SAAS,OACTC,KAAK,CACDC,OAAO,OACPW,MAAMnB,EAAE,oBAAoBiB,SAEjCR,MAAK,SAASF,GACbG,QAAQC,IAAIJ,GACRA,EAAKK,SACLvB,MAAMkB,EAAKM,QACXC,SAASC,UAGbD,SAASC,WAEV3B,IACI,S","sources":["webpack://hidche_lib/./hwe/ts/common_legacy.ts","webpack://hidche_lib/./hwe/ts/util.ts","webpack://hidche_lib/./hwe/ts/troop.ts"],"sourcesContent":["import { unwrap } from \"./util\";\n\ndeclare const jQuery: JQueryStatic;\n\n\n/** \n * <>& 등을 html에서도 그대로 보이도록 escape주는 함수\n * @see https://stackoverflow.com/questions/24816/escaping-html-strings-with-jquery\n */\nexport const escapeHtml = (() => {\n const entityMap: { [v: string]: string } = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/',\n '`': '`',\n '=': '='\n };\n\n return function (string: string) {\n return String(string).replace(/[&<>\"'`=/]/g, function (s: string) {\n return entityMap[s];\n });\n }\n})();\n\n/**\n * 변수가 정수인지 확인하는 함수\n * @param {*} n 정수인지 확인하기 위한 인자\n * @return {boolean} 정수인지 여부\n */\nexport function isInt(n: unknown): n is number {\n const v = n as number;\n return +v === v && !(v % 1);\n}\n\n\n//https://gist.github.com/demouth/3217440\n/**\n * mb_strwidth\n * @see http://php.net/manual/function.mb-strwidth.php\n */\nexport function mb_strwidth(str: string): number {\n const l = str.length;\n let length = 0;\n for (let i = 0; i < l; i++) {\n const c = str.charCodeAt(i);\n if (0x0000 <= c && c <= 0x0019) {\n length += 0;\n } else if (0x0020 <= c && c <= 0x1FFF) {\n length += 1;\n } else if (0x2000 <= c && c <= 0xFF60) {\n length += 2;\n } else if (0xFF61 <= c && c <= 0xFF9F) {\n length += 1;\n } else if (0xFFA0 <= c) {\n length += 2;\n }\n }\n return length;\n}\n\n\n/**\n * mb_strimwidth\n * @param String\n * @param int\n * @param int\n * @param String\n * @return String\n * @see http://www.php.net/manual/function.mb-strimwidth.php\n */\nexport function mb_strimwidth(str: string, start: number, width: number, trimmarker = ''): string {\n const trimmakerWidth = mb_strwidth(trimmarker);\n const l = str.length;\n let trimmedLength = 0;\n const trimmedStr: string[] = [];\n for (let i = start; i < l; i++) {\n const c = str.charAt(i);\n const charWidth = mb_strwidth(c);\n const next = str.charAt(i + 1);\n const nextWidth = mb_strwidth(next);\n\n trimmedLength += charWidth;\n trimmedStr.push(c);\n if (trimmedLength + trimmakerWidth + nextWidth > width) {\n trimmedStr.push(trimmarker);\n break;\n }\n }\n return trimmedStr.join('');\n}\n\n/**\n * object의 array를 id를 key로 삼는 object로 재 변환\n */\nexport function convertDictById(arr: ArrayLike): Record {\n const result: Record = {};\n for (const v of Object.values(arr)) {\n result[v.id] = v;\n }\n return result;\n}\n\n/**\n * array를 set 형태의 object로 변환\n */\nexport function convertSet(arr: ArrayLike): Record {\n const result: Record = {};\n for (const v of Object.values(arr)) {\n result[v] = true;\n }\n return result;\n}\n\n\n/** \n * {0}, {1}, {2}형태로 포맷해주는 함수\n */\n\ndeclare global {\n interface String {\n format(...args: string[]): string;\n }\n}\nString.prototype.format = function (...args: string[]) {\n return this.replace(/{(\\d+)}/g, function (match, number) {\n return (typeof args[number] != 'undefined') ? args[number] : match;\n });\n};\n\n\nexport function hexToRgb(hex: string): { r: number, g: number, b: number } | null {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n}\n\nexport function isBrightColor(color: string): boolean {\n const cv = unwrap(hexToRgb(color));\n if ((cv.r * 0.299 + cv.g * 0.587 + cv.b * 0.114) > 140) {\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * 게임내에서 지원하는 color type만 선택할 수 있도록 해주는 함수\n * @param {string} color #AAAAAA 또는 AAAAAA 형태로 작성된 RGB hex color string\n * @returns {string}\n */\nexport function convColorValue(color: string): string {\n if (color.charAt(0) == '#') {\n color = color.substr(1);\n }\n color = color.toUpperCase();\n\n const colorBase = new Set([\n '000080', '0000FF', '008000', '008080', '00BFFF', '00FF00', '00FFFF', '20B2AA',\n '2E8B57', '483D8B', '6495ED', '7B68EE', '7CFC00', '7FFFD4', '800000', '800080',\n '808000', '87CEEB', 'A0522D', 'A9A9A9', 'AFEEEE', 'BA55D3', 'E0FFFF', 'F5F5DC',\n 'FF0000', 'FF00FF', 'FF6347', 'FFA500', 'FFC0CB', 'FFD700', 'FFDAB9', 'FFFF00',\n 'FFFFFF'\n ]);\n\n if (!colorBase.has(color)) {\n return '000000';\n }\n\n return color;\n}\n\n\nexport function numberWithCommas(x: number): string {\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n}\n\n//linkify가 불러와 있어야함\ndeclare global {\n interface Window {\n linkifyStr: (v: string, k?: Record) => string;\n }\n}\nexport function linkifyStrWithOpt(text: string): string {\n return window.linkifyStr(text, {});\n}\n\n/**\n * 단순한 Template 함수. <%변수명%>으로 template 가능\n * @see https://github.com/krasimir/absurd/blob/master/lib/processors/html/helpers/TemplateEngine.js\n * @param {string} html \n * @param {object} options \n * @returns {string}\n */\nexport function TemplateEngine(html: string, options: Record = {}): string {\n const re = /<%(.+?)%>/g;\n const reExp = /(^( )?(var|if|for|else|switch|case|break|{|}|;))(.*)?/g;\n let cursor = 0;\n const add = function (line: string, js?: boolean) {\n js ? (code += line.match(reExp) ? line + '\\n' : 'r.push(' + line + ');\\n') :\n (code += line != '' ? 'r.push(\"' + line.replace(/\"/g, '\\\\\"') + '\");\\n' : '');\n return add;\n }\n options.e = escapeHtml;\n options.linkifyStr = linkifyStrWithOpt;\n for (; ;) {\n const match = re.exec(html);\n if (!match) {\n break;\n }\n add(html.slice(cursor, match.index))(match[1], true);\n cursor = match.index + match[0].length;\n }\n add(html.substr(cursor, html.length - cursor));\n\n let code = 'with(obj) { var r=[];\\n';\n code = (code + 'return r.join(\"\"); }').replace(/[\\r\\t\\n]/g, ' ');\n try {\n return new Function('obj', code).apply(options, [options]);\n } catch (err) {\n console.error(\"'\" + err.message + \"'\", \" in \\n\\nCode:\\n\", code, \"\\n\");\n throw err;\n }\n}\n\nexport function getIconPath(imgsvr: boolean | 1 | 0, picture: string): string {\n // ../d_shared/common_path.js 필요\n if (!imgsvr) {\n return window.pathConfig.sharedIcon + '/' + picture;\n } else {\n return window.pathConfig.root + '/d_pic/' + picture;\n }\n}\n\nexport function activeFlip($obj?: JQuery): void {\n let $result: JQuery;\n if ($obj === undefined) {\n $result = $('img[data-flip]');\n } else {\n $result = $obj.find('img[data-flip]');\n }\n\n $result.each(function () {\n activeFlipItem($(this));\n });\n\n}\n\nexport function combineObject(item: V[], columnList: K[]): Record {\n const newItem: Record = {};\n for (const columnIdx in columnList) {\n const columnName = columnList[columnIdx];\n newItem[columnName] = item[columnIdx];\n }\n return newItem;\n}\n\nexport function combineArray(array: V[][], columnList: K[]): Record[] {\n const result: Record[] = [];\n for (const key of array.keys()) {\n const item = array[key];\n result[key] = combineObject(item, columnList);\n }\n return result;\n}\n\nexport function activeFlipItem($img: JQuery): void {\n const imageList = [];\n imageList.push($img.attr('src'));\n $.each($img.data('flip').split(','), function (idx, value) {\n value = $.trim(value);\n if (!value) {\n return true;\n }\n imageList.push(value);\n });\n if (imageList.length <= 1) {\n return;\n }\n $img.data('computed_flip_array', imageList);\n $img.data('computed_flip_idx', 0);\n\n $img.click(function () {\n const arr = $img.data('computed_flip_array');\n let idx = $img.data('computed_flip_idx');\n idx = (idx + 1) % (arr.length);\n $img.attr('src', arr[idx]);\n $img.data('computed_flip_idx', idx);\n });\n $img.css('cursor', 'pointer');\n}\n\n\n\nexport function errUnknown(): void {\n alert('작업을 실패했습니다.');\n}\n\n\n\nexport function errUnknownToast(): void {\n jQuery.toast({\n title: '에러!',\n content: '작업을 실패했습니다.',\n type: 'danger',\n delay: 5000\n });\n}\n\nexport function quickReject(errMsg: string): JQuery.Promise {\n if (errMsg === undefined) {\n errMsg = '작업을 실패했습니다.';\n }\n const deferred = $.Deferred();\n void deferred.reject(errMsg);\n return deferred.promise();\n}\n\nexport function nl2br(text: string): string {\n return text.replace(/\\n/g, \"
\");\n}\n/*\nfunction br2nl (text) { \n return text.replace(/<\\s*\\/?br\\s*[\\/]?>/gi, '\\n');\n}\n*/\n\nexport function getNpcColor(npcType: number): 'cyan' | 'skyblue' | null {\n if (npcType >= 2) {\n return 'cyan';\n }\n if (npcType == 1) {\n return 'skyblue';\n }\n return null;\n}\n\nexport function initTooltip($obj?: JQuery): void {\n if ($obj === undefined) {\n $obj = $('.obj_tooltip');\n } else if (!$obj.hasClass('obj_tooltip')) {\n $obj = $obj.find('.obj_tooltip');\n }\n console.log($obj);\n\n $obj.each(function () {\n const $target = $(this);\n\n if ($target.data('installHandler')) {\n return;\n }\n $target.data('installHandler', true);\n\n $target.mouseover(function () {\n const $objTooltip = $(this);\n if ($objTooltip.data('setObjTooltip')) {\n return;\n }\n\n let tooltipClassText = $objTooltip.data('tooltip-class');\n if (!tooltipClassText) {\n tooltipClassText = '';\n }\n const template = '
'\n .format(tooltipClassText);\n\n $objTooltip.tooltip({\n title: function () {\n return $.trim($(this).find('.tooltiptext').html());\n },\n template: template,\n html: true\n }).tooltip('show');\n\n $objTooltip.data('setObjTooltip', true);\n });\n });\n}","type ErrType = { new(msg?: string): T }\ntype Nullable = T | null | undefined\n\nexport class RuntimeError extends Error {\n public name = 'RuntimeError';\n constructor(public message: string = '') {\n super(message);\n }\n toString(): string {\n if (this.message) {\n return this.name + ': ' + this.message;\n }\n else {\n return this.name;\n }\n }\n}\n\nexport class NotNullExpected extends RuntimeError {\n public name = 'NotNullExpected';\n}\n\nexport function unwrap(result: Nullable): T {\n if (result === null || result === undefined) {\n throw new NotNullExpected();\n }\n return result;\n}\n\nexport function unwrap_err(result: Nullable, errType: ErrType, errMsg?: string): T {\n if (result === null || result === undefined) {\n throw new errType(errMsg);\n }\n return result;\n}","import { errUnknown } from \"./common_legacy\";\n\njQuery(function($){\n //btnJoinTroop, btnLeaveTroop, btnKickTroop, btnCreateTroop, btnChangeTroopName\n $('#btnLeaveTroop').click(function(e){\n if(!confirm(\"정말 부대를 탈퇴하시겠습니까?\")){\n return false;\n }\n $.post({\n url:'j_troop.php',\n dataType:'json',\n data:{\n action:'부대탈퇴'\n }\n }).then(function(data){\n console.log(data);\n if(!data.result){\n alert(data.reason);\n location.reload();\n }\n \n location.reload();\n \n }, errUnknown);\n return false;\n });\n\n $('#btnCreateTroop').click(function(e){\n $.post({\n url:'j_troop.php',\n dataType:'json',\n data:{\n action:'부대창설',\n name:$('#nameplate').val()\n }\n }).then(function(data){\n console.log(data);\n if(!data.result){\n alert(data.reason);\n location.reload();\n }\n \n location.reload();\n \n }, errUnknown);\n return false;\n });\n\n $('#btnChangeTroopName').click(function(e){\n $.post({\n url:'j_troop.php',\n dataType:'json',\n data:{\n action:'부대변경',\n name:$('#nameplate').val()\n }\n }).then(function(data){\n console.log(data);\n if(!data.result){\n alert(data.reason);\n location.reload();\n }\n \n location.reload();\n \n }, errUnknown);\n return false;\n });\n\n $('#btnKickTroop').click(function(e){\n $.post({\n url:'j_troop.php',\n dataType:'json',\n data:{\n action:'부대추방',\n gen:$('#genNo').val()\n }\n }).then(function(data){\n console.log(data);\n if(!data.result){\n alert(data.reason);\n location.reload();\n }\n \n location.reload();\n \n }, errUnknown);\n return false;\n });\n\n $('#btnJoinTroop').click(function(e){\n $.post({\n url:'j_troop.php',\n dataType:'json',\n data:{\n action:'부대가입',\n troop:$('.troopId:checked').val()\n }\n }).then(function(data){\n console.log(data);\n if(!data.result){\n alert(data.reason);\n location.reload();\n }\n \n location.reload();\n \n }, errUnknown);\n return false;\n });\n\n \n});"],"names":["errUnknown","alert","Error","String","prototype","format","args","this","replace","match","number","jQuery","$","click","e","confirm","post","url","dataType","data","action","then","console","log","result","reason","location","reload","name","val","gen","troop"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"troop.js","mappings":"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","sources":["webpack://hidche_lib/./node_modules/@babel/runtime/regenerator/index.js","webpack://hidche_lib/./node_modules/axios/index.js","webpack://hidche_lib/./node_modules/axios/lib/adapters/xhr.js","webpack://hidche_lib/./node_modules/axios/lib/axios.js","webpack://hidche_lib/./node_modules/axios/lib/cancel/Cancel.js","webpack://hidche_lib/./node_modules/axios/lib/cancel/CancelToken.js","webpack://hidche_lib/./node_modules/axios/lib/cancel/isCancel.js","webpack://hidche_lib/./node_modules/axios/lib/core/Axios.js","webpack://hidche_lib/./node_modules/axios/lib/core/InterceptorManager.js","webpack://hidche_lib/./node_modules/axios/lib/core/buildFullPath.js","webpack://hidche_lib/./node_modules/axios/lib/core/createError.js","webpack://hidche_lib/./node_modules/axios/lib/core/dispatchRequest.js","webpack://hidche_lib/./node_modules/axios/lib/core/enhanceError.js","webpack://hidche_lib/./node_modules/axios/lib/core/mergeConfig.js","webpack://hidche_lib/./node_modules/axios/lib/core/settle.js","webpack://hidche_lib/./node_modules/axios/lib/core/transformData.js","webpack://hidche_lib/./node_modules/axios/lib/defaults.js","webpack://hidche_lib/./node_modules/axios/lib/helpers/bind.js","webpack://hidche_lib/./node_modules/axios/lib/helpers/buildURL.js","webpack://hidche_lib/./node_modules/axios/lib/helpers/combineURLs.js","webpack://hidche_lib/./node_modules/axios/lib/helpers/cookies.js","webpack://hidche_lib/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://hidche_lib/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://hidche_lib/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://hidche_lib/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://hidche_lib/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://hidche_lib/./node_modules/axios/lib/helpers/spread.js","webpack://hidche_lib/./node_modules/axios/lib/utils.js","webpack://hidche_lib/./node_modules/regenerator-runtime/runtime.js","webpack://hidche_lib/webpack/bootstrap","webpack://hidche_lib/webpack/runtime/compat get default export","webpack://hidche_lib/webpack/runtime/define property getters","webpack://hidche_lib/webpack/runtime/hasOwnProperty shorthand","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://hidche_lib/./hwe/ts/util.ts","webpack://hidche_lib/./hwe/ts/common_legacy.ts","webpack://hidche_lib/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://hidche_lib/./hwe/ts/troop.ts","webpack://hidche_lib/./hwe/ts/ext.plugin_troop.ts"],"sourcesContent":["module.exports = require(\"regenerator-runtime\");\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","type ErrType = { new(msg?: string): T }\ntype Nullable = T | null | undefined\n\nexport class RuntimeError extends Error {\n public name = 'RuntimeError';\n constructor(public message: string = '') {\n super(message);\n }\n toString(): string {\n if (this.message) {\n return this.name + ': ' + this.message;\n }\n else {\n return this.name;\n }\n }\n}\n\nexport class NotNullExpected extends RuntimeError {\n public name = 'NotNullExpected';\n}\n\nexport function unwrap(result: Nullable): T {\n if (result === null || result === undefined) {\n throw new NotNullExpected();\n }\n return result;\n}\n\nexport function unwrap_err(result: Nullable, errType: ErrType, errMsg?: string): T {\n if (result === null || result === undefined) {\n throw new errType(errMsg);\n }\n return result;\n}","import { unwrap } from \"./util\";\n\ndeclare const jQuery: JQueryStatic;\n\n\n/** \n * <>& 등을 html에서도 그대로 보이도록 escape주는 함수\n * @see https://stackoverflow.com/questions/24816/escaping-html-strings-with-jquery\n */\nexport const escapeHtml = (() => {\n const entityMap: { [v: string]: string } = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/',\n '`': '`',\n '=': '='\n };\n\n return function (string: string) {\n return String(string).replace(/[&<>\"'`=/]/g, function (s: string) {\n return entityMap[s];\n });\n }\n})();\n\n/**\n * 변수가 정수인지 확인하는 함수\n * @param {*} n 정수인지 확인하기 위한 인자\n * @return {boolean} 정수인지 여부\n */\nexport function isInt(n: unknown): n is number {\n const v = n as number;\n return +v === v && !(v % 1);\n}\n\n\n//https://gist.github.com/demouth/3217440\n/**\n * mb_strwidth\n * @see http://php.net/manual/function.mb-strwidth.php\n */\nexport function mb_strwidth(str: string): number {\n const l = str.length;\n let length = 0;\n for (let i = 0; i < l; i++) {\n const c = str.charCodeAt(i);\n if (0x0000 <= c && c <= 0x0019) {\n length += 0;\n } else if (0x0020 <= c && c <= 0x1FFF) {\n length += 1;\n } else if (0x2000 <= c && c <= 0xFF60) {\n length += 2;\n } else if (0xFF61 <= c && c <= 0xFF9F) {\n length += 1;\n } else if (0xFFA0 <= c) {\n length += 2;\n }\n }\n return length;\n}\n\n\n/**\n * mb_strimwidth\n * @param String\n * @param int\n * @param int\n * @param String\n * @return String\n * @see http://www.php.net/manual/function.mb-strimwidth.php\n */\nexport function mb_strimwidth(str: string, start: number, width: number, trimmarker = ''): string {\n const trimmakerWidth = mb_strwidth(trimmarker);\n const l = str.length;\n let trimmedLength = 0;\n const trimmedStr: string[] = [];\n for (let i = start; i < l; i++) {\n const c = str.charAt(i);\n const charWidth = mb_strwidth(c);\n const next = str.charAt(i + 1);\n const nextWidth = mb_strwidth(next);\n\n trimmedLength += charWidth;\n trimmedStr.push(c);\n if (trimmedLength + trimmakerWidth + nextWidth > width) {\n trimmedStr.push(trimmarker);\n break;\n }\n }\n return trimmedStr.join('');\n}\n\n/**\n * object의 array를 id를 key로 삼는 object로 재 변환\n */\nexport function convertDictById(arr: ArrayLike): Record {\n const result: Record = {};\n for (const v of Object.values(arr)) {\n result[v.id] = v;\n }\n return result;\n}\n\n/**\n * array를 set 형태의 object로 변환\n */\nexport function convertSet(arr: ArrayLike): Record {\n const result: Record = {};\n for (const v of Object.values(arr)) {\n result[v] = true;\n }\n return result;\n}\n\n\n/** \n * {0}, {1}, {2}형태로 포맷해주는 함수\n */\n\ndeclare global {\n interface String {\n format(...args: string[]): string;\n }\n}\nString.prototype.format = function (...args: string[]) {\n return this.replace(/{(\\d+)}/g, function (match, number) {\n return (typeof args[number] != 'undefined') ? args[number] : match;\n });\n};\n\n\nexport function hexToRgb(hex: string): { r: number, g: number, b: number } | null {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n}\n\nexport function isBrightColor(color: string): boolean {\n const cv = unwrap(hexToRgb(color));\n if ((cv.r * 0.299 + cv.g * 0.587 + cv.b * 0.114) > 140) {\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * 게임내에서 지원하는 color type만 선택할 수 있도록 해주는 함수\n * @param {string} color #AAAAAA 또는 AAAAAA 형태로 작성된 RGB hex color string\n * @returns {string}\n */\nexport function convColorValue(color: string): string {\n if (color.charAt(0) == '#') {\n color = color.substr(1);\n }\n color = color.toUpperCase();\n\n const colorBase = new Set([\n '000080', '0000FF', '008000', '008080', '00BFFF', '00FF00', '00FFFF', '20B2AA',\n '2E8B57', '483D8B', '6495ED', '7B68EE', '7CFC00', '7FFFD4', '800000', '800080',\n '808000', '87CEEB', 'A0522D', 'A9A9A9', 'AFEEEE', 'BA55D3', 'E0FFFF', 'F5F5DC',\n 'FF0000', 'FF00FF', 'FF6347', 'FFA500', 'FFC0CB', 'FFD700', 'FFDAB9', 'FFFF00',\n 'FFFFFF'\n ]);\n\n if (!colorBase.has(color)) {\n return '000000';\n }\n\n return color;\n}\n\n\nexport function numberWithCommas(x: number): string {\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n}\n\n//linkify가 불러와 있어야함\ndeclare global {\n interface Window {\n linkifyStr: (v: string, k?: Record) => string;\n }\n}\nexport function linkifyStrWithOpt(text: string): string {\n return window.linkifyStr(text, {});\n}\n\n/**\n * 단순한 Template 함수. <%변수명%>으로 template 가능\n * @see https://github.com/krasimir/absurd/blob/master/lib/processors/html/helpers/TemplateEngine.js\n * @param {string} html \n * @param {object} options \n * @returns {string}\n */\nexport function TemplateEngine(html: string, options: Record = {}): string {\n const re = /<%(.+?)%>/g;\n const reExp = /(^( )?(var|if|for|else|switch|case|break|{|}|;))(.*)?/g;\n let cursor = 0;\n const add = function (line: string, js?: boolean) {\n js ? (code += line.match(reExp) ? line + '\\n' : 'r.push(' + line + ');\\n') :\n (code += line != '' ? 'r.push(\"' + line.replace(/\"/g, '\\\\\"') + '\");\\n' : '');\n return add;\n }\n options.e = escapeHtml;\n options.linkifyStr = linkifyStrWithOpt;\n for (; ;) {\n const match = re.exec(html);\n if (!match) {\n break;\n }\n add(html.slice(cursor, match.index))(match[1], true);\n cursor = match.index + match[0].length;\n }\n add(html.substr(cursor, html.length - cursor));\n\n let code = 'with(obj) { var r=[];\\n';\n code = (code + 'return r.join(\"\"); }').replace(/[\\r\\t\\n]/g, ' ');\n try {\n return new Function('obj', code).apply(options, [options]);\n } catch (err) {\n console.error(\"'\" + err.message + \"'\", \" in \\n\\nCode:\\n\", code, \"\\n\");\n throw err;\n }\n}\n\nexport function getIconPath(imgsvr: boolean | 1 | 0, picture: string): string {\n // ../d_shared/common_path.js 필요\n if (!imgsvr) {\n return window.pathConfig.sharedIcon + '/' + picture;\n } else {\n return window.pathConfig.root + '/d_pic/' + picture;\n }\n}\n\nexport function activeFlip($obj?: JQuery): void {\n let $result: JQuery;\n if ($obj === undefined) {\n $result = $('img[data-flip]');\n } else {\n $result = $obj.find('img[data-flip]');\n }\n\n $result.each(function () {\n activeFlipItem($(this));\n });\n\n}\n\nexport function combineObject(item: V[], columnList: K[]): Record {\n const newItem: Record = {};\n for (const columnIdx in columnList) {\n const columnName = columnList[columnIdx];\n newItem[columnName] = item[columnIdx];\n }\n return newItem;\n}\n\nexport function combineArray(array: V[][], columnList: K[]): Record[] {\n const result: Record[] = [];\n for (const key of array.keys()) {\n const item = array[key];\n result[key] = combineObject(item, columnList);\n }\n return result;\n}\n\nexport function activeFlipItem($img: JQuery): void {\n const imageList = [];\n imageList.push($img.attr('src'));\n $.each($img.data('flip').split(','), function (idx, value) {\n value = $.trim(value);\n if (!value) {\n return true;\n }\n imageList.push(value);\n });\n if (imageList.length <= 1) {\n return;\n }\n $img.data('computed_flip_array', imageList);\n $img.data('computed_flip_idx', 0);\n\n $img.click(function () {\n const arr = $img.data('computed_flip_array');\n let idx = $img.data('computed_flip_idx');\n idx = (idx + 1) % (arr.length);\n $img.attr('src', arr[idx]);\n $img.data('computed_flip_idx', idx);\n });\n $img.css('cursor', 'pointer');\n}\n\n\n\nexport function errUnknown(): void {\n alert('작업을 실패했습니다.');\n}\n\n\n\nexport function errUnknownToast(): void {\n jQuery.toast({\n title: '에러!',\n content: '작업을 실패했습니다.',\n type: 'danger',\n delay: 5000\n });\n}\n\nexport function quickReject(errMsg: string): JQuery.Promise {\n if (errMsg === undefined) {\n errMsg = '작업을 실패했습니다.';\n }\n const deferred = $.Deferred();\n void deferred.reject(errMsg);\n return deferred.promise();\n}\n\nexport function nl2br(text: string): string {\n return text.replace(/\\n/g, \"
\");\n}\n/*\nfunction br2nl (text) { \n return text.replace(/<\\s*\\/?br\\s*[\\/]?>/gi, '\\n');\n}\n*/\n\nexport function getNpcColor(npcType: number): 'cyan' | 'skyblue' | null {\n if (npcType >= 2) {\n return 'cyan';\n }\n if (npcType == 1) {\n return 'skyblue';\n }\n return null;\n}\n\nexport function initTooltip($obj?: JQuery): void {\n if ($obj === undefined) {\n $obj = $('.obj_tooltip');\n } else if (!$obj.hasClass('obj_tooltip')) {\n $obj = $obj.find('.obj_tooltip');\n }\n console.log($obj);\n\n $obj.each(function () {\n const $target = $(this);\n\n if ($target.data('installHandler')) {\n return;\n }\n $target.data('installHandler', true);\n\n $target.mouseover(function () {\n const $objTooltip = $(this);\n if ($objTooltip.data('setObjTooltip')) {\n return;\n }\n\n let tooltipClassText = $objTooltip.data('tooltip-class');\n if (!tooltipClassText) {\n tooltipClassText = '';\n }\n const template = '
'\n .format(tooltipClassText);\n\n $objTooltip.tooltip({\n title: function () {\n return $.trim($(this).find('.tooltiptext').html());\n },\n template: template,\n html: true\n }).tooltip('show');\n\n $objTooltip.data('setObjTooltip', true);\n });\n });\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import { errUnknown } from \"./common_legacy\";\nimport { launchTroopPlugin } from \"./ext.plugin_troop\";\n\nimport \"../scss/troop.scss\";\n\njQuery(function($){\n //btnJoinTroop, btnLeaveTroop, btnKickTroop, btnCreateTroop, btnChangeTroopName\n $('#btnLeaveTroop').click(function(e){\n if(!confirm(\"정말 부대를 탈퇴하시겠습니까?\")){\n return false;\n }\n $.post({\n url:'j_troop.php',\n dataType:'json',\n data:{\n action:'부대탈퇴'\n }\n }).then(function(data){\n console.log(data);\n if(!data.result){\n alert(data.reason);\n location.reload();\n }\n \n location.reload();\n \n }, errUnknown);\n return false;\n });\n\n $('#btnCreateTroop').click(function(e){\n $.post({\n url:'j_troop.php',\n dataType:'json',\n data:{\n action:'부대창설',\n name:$('#nameplate').val()\n }\n }).then(function(data){\n console.log(data);\n if(!data.result){\n alert(data.reason);\n location.reload();\n }\n \n location.reload();\n \n }, errUnknown);\n return false;\n });\n\n $('#btnChangeTroopName').click(function(e){\n $.post({\n url:'j_troop.php',\n dataType:'json',\n data:{\n action:'부대변경',\n name:$('#nameplate').val()\n }\n }).then(function(data){\n console.log(data);\n if(!data.result){\n alert(data.reason);\n location.reload();\n }\n \n location.reload();\n \n }, errUnknown);\n return false;\n });\n\n $('#btnKickTroop').click(function(e){\n $.post({\n url:'j_troop.php',\n dataType:'json',\n data:{\n action:'부대추방',\n gen:$('#genNo').val()\n }\n }).then(function(data){\n console.log(data);\n if(!data.result){\n alert(data.reason);\n location.reload();\n }\n \n location.reload();\n \n }, errUnknown);\n return false;\n });\n\n $('#btnJoinTroop').click(function(e){\n $.post({\n url:'j_troop.php',\n dataType:'json',\n data:{\n action:'부대가입',\n troop:$('.troopId:checked').val()\n }\n }).then(function(data){\n console.log(data);\n if(!data.result){\n alert(data.reason);\n location.reload();\n }\n \n location.reload();\n \n }, errUnknown);\n return false;\n });\n\n \n launchTroopPlugin($);\n});","import axios from \"axios\";\nimport { RuntimeError, unwrap } from \"./util\";\n\ndeclare global {\n interface Window {\n userList: Record>;\n }\n}\n\nexport function launchTroopPlugin($: JQueryStatic): void {\n\n let userList: Record> = {};\n const basicPath = (() => {\n const path = document.location.pathname;\n return path.substring(0, path.lastIndexOf('/'));\n })();\n\n const $userFrame: JQuery = $(\"
\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"
이 름통무지자 금군 량도시병 종병 사훈련사기명 령삭턴
\");\n $userFrame.find('thead td');\n $userFrame.css('width', '960px').css('margin', '0').css('padding', '0').css('left', '50%').css('margin-left', '-480px');\n $userFrame.hide();\n\n\n const runAnalysis = async function () {\n userList = {};\n const $content = $('#on_mover .content');\n $content.html('');\n const response = await axios.get(`${basicPath}/b_genList.php`, {responseType: 'text'});\n const rawData = response.data;\n\n try {\n const $html = $(rawData); \n\n const tmpUsers: JQuery = (() => {\n let tmpUsers = undefined;\n $html.each(function () {\n const $this = $(this);\n if ($this.attr('id') == \"general_list\") {\n tmpUsers = $(this);\n return false;\n }\n });\n if (tmpUsers === undefined) {\n throw new RuntimeError();\n }\n return tmpUsers;\n })()\n\n\n tmpUsers.find(\"tbody > tr\").each(function () {\n const $this = $(this);\n const $부대 = $this.children('.i_troop');\n\n const 부대 = $.trim($부대.text());\n\n if (부대 == '-') {\n //부대 안탔음!\n return;\n }\n $부대.remove();\n\n const generalID = parseInt($this.data('general-id'));\n userList[generalID] = $this;\n $this.hide();\n $content.append($this);\n });\n\n $('.troopUser').hover(function () {\n const $this = $(this);\n const parent = $this.closest('tr');\n const generalID = parseInt($this.data('general-id'));\n console.log(generalID);\n const top = unwrap(parent.offset()).top + unwrap(parent.outerHeight());\n $userFrame.css('top', top);\n userList[generalID].show();\n $userFrame.show();\n }, function () {\n const $this = $(this);\n const generalID = parseInt($this.data('general-id'));\n userList[generalID].hide();\n $userFrame.hide();\n });\n }\n catch (err) {\n console.log(err);\n }\n\n\n };\n\n const $frame = $('table:eq(0) td:eq(0)');\n $frame.find('br:last').remove();\n\n const $btn = $('');\n $btn.click(async function () {\n await runAnalysis();\n });\n\n $frame.append($btn);\n\n\n window.userList = userList;\n\n $('body').append($userFrame);\n\n}"],"names":["module","exports","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","config","Promise","resolve","reject","requestData","data","requestHeaders","headers","isFormData","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","status","responseURL","indexOf","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","e","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","bind","Axios","mergeConfig","createInstance","defaultConfig","context","instance","prototype","extend","axios","create","instanceConfig","defaults","Cancel","CancelToken","isCancel","all","promises","spread","isAxiosError","default","message","this","toString","__CANCEL__","executor","TypeError","resolvePromise","token","reason","throwIfRequested","source","c","value","InterceptorManager","dispatchRequest","interceptors","arguments","chain","interceptor","unshift","fulfilled","rejected","push","length","shift","getUri","replace","handlers","use","eject","id","fn","h","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","error","Error","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","toJSON","name","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","target","isPlainObject","isArray","slice","mergeDeepProperties","prop","axiosKeys","concat","otherKeys","Object","keys","filter","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","call","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","JSON","stringify","parse","maxContentLength","maxBodyLength","thisArg","args","Array","i","apply","encode","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","isString","document","match","RegExp","decodeURIComponent","remove","now","test","payload","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","trim","substr","callback","arr","getPrototypeOf","isFunction","obj","l","hasOwnProperty","constructor","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","result","assignValue","a","b","str","stripBOM","content","charCodeAt","runtime","Op","hasOwn","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","state","GenStateSuspendedStart","arg","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","done","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","object","reverse","pop","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","Function","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","definition","o","get","_classCallCheck","Constructor","_defineProperties","props","descriptor","_assertThisInitialized","ReferenceError","_setPrototypeOf","p","_inherits","subClass","superClass","_typeof","_possibleConstructorReturn","_getPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_construct","Parent","Class","_wrapNativeSuper","_cache","Map","has","set","Wrapper","_defineProperty","RuntimeError","protoProps","NotNullExpected","unwrap","errUnknown","alert","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","String","format","jQuery","$","click","confirm","post","dataType","action","console","log","reload","troop","userList","basicPath","substring","lastIndexOf","$userFrame","find","css","hide","runAnalysis","$content","html","rawData","$html","tmpUsers","each","attr","$this","$부대","children","text","generalID","parseInt","append","hover","parent","closest","top","offset","outerHeight","show","$frame","$btn","launchTroopPlugin"],"sourceRoot":""} \ No newline at end of file diff --git a/hwe/css/troops.css b/hwe/scss/troop.scss similarity index 100% rename from hwe/css/troops.css rename to hwe/scss/troop.scss diff --git a/hwe/ts/ext.plugin_troop.ts b/hwe/ts/ext.plugin_troop.ts new file mode 100644 index 00000000..e514bc42 --- /dev/null +++ b/hwe/ts/ext.plugin_troop.ts @@ -0,0 +1,123 @@ +import axios from "axios"; +import { RuntimeError, unwrap } from "./util"; + +declare global { + interface Window { + userList: Record>; + } +} + +export function launchTroopPlugin($: JQueryStatic): void { + + let userList: Record> = {}; + const basicPath = (() => { + const path = document.location.pathname; + return path.substring(0, path.lastIndexOf('/')); + })(); + + const $userFrame: JQuery = $("
" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "
이 름통무지자 금군 량도시병 종병 사훈련사기명 령삭턴
"); + $userFrame.find('thead td'); + $userFrame.css('width', '960px').css('margin', '0').css('padding', '0').css('left', '50%').css('margin-left', '-480px'); + $userFrame.hide(); + + + const runAnalysis = async function () { + userList = {}; + const $content = $('#on_mover .content'); + $content.html(''); + const response = await axios.get(`${basicPath}/b_genList.php`, {responseType: 'text'}); + const rawData = response.data; + + try { + const $html = $(rawData); + + const tmpUsers: JQuery = (() => { + let tmpUsers = undefined; + $html.each(function () { + const $this = $(this); + if ($this.attr('id') == "general_list") { + tmpUsers = $(this); + return false; + } + }); + if (tmpUsers === undefined) { + throw new RuntimeError(); + } + return tmpUsers; + })() + + + tmpUsers.find("tbody > tr").each(function () { + const $this = $(this); + const $부대 = $this.children('.i_troop'); + + const 부대 = $.trim($부대.text()); + + if (부대 == '-') { + //부대 안탔음! + return; + } + $부대.remove(); + + const generalID = parseInt($this.data('general-id')); + userList[generalID] = $this; + $this.hide(); + $content.append($this); + }); + + $('.troopUser').hover(function () { + const $this = $(this); + const parent = $this.closest('tr'); + const generalID = parseInt($this.data('general-id')); + console.log(generalID); + const top = unwrap(parent.offset()).top + unwrap(parent.outerHeight()); + $userFrame.css('top', top); + userList[generalID].show(); + $userFrame.show(); + }, function () { + const $this = $(this); + const generalID = parseInt($this.data('general-id')); + userList[generalID].hide(); + $userFrame.hide(); + }); + } + catch (err) { + console.log(err); + } + + + }; + + const $frame = $('table:eq(0) td:eq(0)'); + $frame.find('br:last').remove(); + + const $btn = $(''); + $btn.click(async function () { + await runAnalysis(); + }); + + $frame.append($btn); + + + window.userList = userList; + + $('body').append($userFrame); + +} \ No newline at end of file diff --git a/hwe/ts/troop.ts b/hwe/ts/troop.ts index b4392d5b..1b6b8475 100644 --- a/hwe/ts/troop.ts +++ b/hwe/ts/troop.ts @@ -1,4 +1,7 @@ import { errUnknown } from "./common_legacy"; +import { launchTroopPlugin } from "./ext.plugin_troop"; + +import "../scss/troop.scss"; jQuery(function($){ //btnJoinTroop, btnLeaveTroop, btnKickTroop, btnCreateTroop, btnChangeTroopName @@ -110,4 +113,5 @@ jQuery(function($){ }); + launchTroopPlugin($); }); \ No newline at end of file diff --git a/package.json b/package.json index b5dcaea4..a10725f5 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "webpack", + "watch": "webpack watch", "lint": "eslint hwe/ts ts" }, "repository": { @@ -15,6 +16,8 @@ "author": "Hide_D", "license": "MIT", "dependencies": { + "@babel/runtime": "^7.15.3", + "axios": "^0.21.1", "core-js": "^3.16.1", "lodash": "^4.17.21", "vue": "^3.2.2" @@ -22,6 +25,7 @@ "devDependencies": { "@babel/cli": "^7.14.8", "@babel/core": "^7.15.0", + "@babel/plugin-transform-runtime": "^7.15.0", "@babel/preset-env": "^7.15.0", "@babel/preset-typescript": "^7.15.0", "@types/bootstrap": "^4.6.1",